Merge "libdvr: Request to support "appending recording" [1/1]" into r-tv-dev
diff --git a/src/dvr_wrapper.c b/src/dvr_wrapper.c
index af45b8b..3b5fd1f 100644
--- a/src/dvr_wrapper.c
+++ b/src/dvr_wrapper.c
@@ -1104,8 +1104,19 @@
   ctx->record.param_open = *params;
   ctx->record.event_fn = params->event_fn;
   ctx->record.event_userdata = params->event_userdata;
-  ctx->record.next_segment_id = 0;
-  ctx->current_segment_id = 0;
+
+  uint32_t segment_nb = 0;
+  uint64_t *p_segment_ids = NULL;
+  uint64_t new_segment_id = 0;
+  error = dvr_segment_get_list(params->location, &segment_nb, &p_segment_ids);
+  if (error == DVR_SUCCESS && segment_nb>0) {
+    new_segment_id = p_segment_ids[segment_nb-1]+1;
+    free(p_segment_ids);
+  }
+  DVR_WRAPPER_DEBUG("new_segment_id:%lld\n", new_segment_id);
+
+  ctx->record.next_segment_id = new_segment_id;
+  ctx->current_segment_id = new_segment_id;
   INIT_LIST_HEAD(&ctx->segments);
   ctx->sn = get_sn();
 
diff --git a/test/dvr_wrapper_test/dvr_wrapper_test.c b/test/dvr_wrapper_test/dvr_wrapper_test.c
index 42db6fa..fa86985 100644
--- a/test/dvr_wrapper_test/dvr_wrapper_test.c
+++ b/test/dvr_wrapper_test/dvr_wrapper_test.c
@@ -512,6 +512,7 @@
     pids_info->pids[1].pid = apid;
     pids_info->pids[0].type = DVR_STREAM_TYPE_VIDEO << 24 | vfmt;
     pids_info->pids[1].type = DVR_STREAM_TYPE_AUDIO << 24 | afmt;
+    rec_start_params.save_rec_file=1;
     error = dvr_wrapper_start_record(recorder, &rec_start_params);
     if (error)
     {