basesrc: use segment start if DTS for first buffer is unset
authorDavid Svensson Fors <davidsf@axis.com>
Tue, 10 Dec 2013 14:53:54 +0000 (15:53 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Tue, 17 Dec 2013 09:47:55 +0000 (10:47 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=720199

libs/gst/base/gstbasesrc.c

index f84aa5e..39dd04b 100644 (file)
@@ -2187,7 +2187,11 @@ gst_base_src_do_sync (GstBaseSrc * basesrc, GstBuffer * buffer)
       if (do_timestamp) {
         dts = running_time;
       } else {
-        dts = 0;
+        if (GST_CLOCK_TIME_IS_VALID (basesrc->segment.start)) {
+          dts = basesrc->segment.start;
+        } else {
+          dts = 0;
+        }
       }
       GST_BUFFER_DTS (buffer) = dts;