qtmux: fix all timestamps once first_ts is determined
authorDavid Schleef <ds@schleef.org>
Wed, 13 Mar 2013 02:08:26 +0000 (19:08 -0700)
committerDavid Schleef <ds@schleef.org>
Fri, 22 Mar 2013 21:14:04 +0000 (14:14 -0700)
gst/isomp4/gstqtmux.c

index 3310aaa..2b4a4e2 100644 (file)
@@ -2155,6 +2155,9 @@ gst_qt_mux_add_buffer (GstQTMux * qtmux, GstQTPad * pad, GstBuffer * buf)
     if (GST_CLOCK_TIME_IS_VALID (GST_BUFFER_PTS (last_buf))) {
       pad->first_ts = GST_BUFFER_PTS (last_buf);
       check_and_subtract_ts (qtmux, &GST_BUFFER_DTS (last_buf), pad->first_ts);
+      check_and_subtract_ts (qtmux, &GST_BUFFER_PTS (last_buf), pad->first_ts);
+      check_and_subtract_ts (qtmux, &GST_BUFFER_DTS (buf), pad->first_ts);
+      check_and_subtract_ts (qtmux, &GST_BUFFER_PTS (buf), pad->first_ts);
     } else {
       GST_ERROR_OBJECT (qtmux, "First buffer for pad %s has no timestamp, "
           "using 0 as first timestamp", GST_PAD_NAME (pad->collect.pad));