qtdemux: take configured start time into account
authorWim Taymans <wim.taymans@collabora.co.uk>
Thu, 20 Jan 2011 11:14:08 +0000 (12:14 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Mon, 24 Jan 2011 15:48:17 +0000 (16:48 +0100)
when creating the newsegment event, take the configured start time
into account.

gst/qtdemux/qtdemux.c

index dbb8228..01701a2 100644 (file)
@@ -3018,9 +3018,16 @@ gst_qtdemux_activate_segment (GstQTDemux * qtdemux, QtDemuxStream * stream,
     start = MIN (segment->media_start + seg_time, stop);
     time = offset;
   } else {
-    start = segment->media_start;
+    if (segment->media_start >= qtdemux->segment.start) {
+      start = segment->media_start;
+      time = segment->time;
+    } else {
+      start = qtdemux->segment.start;
+      time = segment->time + (qtdemux->segment.start - segment->media_start);
+    }
+
+    start = MAX (segment->media_start, qtdemux->segment.start);
     stop = MIN (segment->media_start + seg_time, stop);
-    time = segment->time;
   }
 
   GST_DEBUG_OBJECT (qtdemux, "newsegment %d from %" GST_TIME_FORMAT