qtmux: make sure duration is a valid number for last buffer
authorMatej Knopp <matej.knopp@gmail.com>
Sat, 14 Sep 2013 13:55:22 +0000 (15:55 +0200)
committerSebastian Dröge <slomo@circular-chaos.org>
Mon, 16 Sep 2013 10:14:00 +0000 (12:14 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=707340

gst/isomp4/gstqtmux.c

index c35a9f3..dba3aaf 100644 (file)
@@ -2151,6 +2151,12 @@ gst_qt_mux_add_buffer (GstQTMux * qtmux, GstQTPad * pad, GstBuffer * buf)
     }
   }
 
+  if (last_buf && !buf && !GST_BUFFER_DURATION_IS_VALID (last_buf)) {
+    /* this is last buffer; there is no next buffer so we need valid number as duration */
+    last_buf = gst_buffer_make_writable (last_buf);
+    GST_BUFFER_DURATION (last_buf) = 0;
+  }
+
   if (last_buf == NULL) {
 #ifndef GST_DISABLE_GST_DEBUG
     if (buf == NULL) {