qtmux: Do not check timecode data for mp4 container
authorVivia Nikolaidou <vivia@ahiru.eu>
Tue, 16 May 2017 09:56:15 +0000 (12:56 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Mon, 29 May 2017 07:46:53 +0000 (10:46 +0300)
Timecode trak is only supported for mov right now, not for mp4. That
code would otherwise create an invalid trak if the muxed video contained
timecode metadata.

https://bugzilla.gnome.org/show_bug.cgi?id=782684

gst/isomp4/gstqtmux.c

index a635036..c0c5608 100644 (file)
@@ -2599,6 +2599,10 @@ gst_qt_mux_update_timecode (GstQTMux * qtmux, GstQTPad * qtpad)
   GstBuffer *buf;
   GstMapInfo map;
   guint64 offset = qtpad->tc_pos;
+  GstQTMuxClass *qtmux_klass = (GstQTMuxClass *) (G_OBJECT_GET_CLASS (qtmux));
+
+  if (qtmux_klass->format != GST_QT_MUX_FORMAT_QT)
+    return GST_FLOW_OK;
 
   g_assert (qtpad->tc_pos != -1);
 
@@ -3112,6 +3116,10 @@ gst_qt_mux_check_and_update_timecode (GstQTMux * qtmux, GstQTPad * pad,
   GstBuffer *tc_buf;
   gsize szret;
   guint32 frames_since_daily_jam;
+  GstQTMuxClass *qtmux_klass = (GstQTMuxClass *) (G_OBJECT_GET_CLASS (qtmux));
+
+  if (qtmux_klass->format != GST_QT_MUX_FORMAT_QT)
+    return ret;
 
   if (buf == NULL || (pad->tc_trak != NULL && pad->tc_pos == -1))
     return ret;