From f0ba7a5ca49840d07aebc539a3153894c4d66c3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 7 Jul 2016 18:24:59 +0300 Subject: [PATCH] matroskamux: Remove suspicious checks for pads being active and linked We should add all pads, no matter if they are linked or active or not at this point. Skipping some that are not will cause different behaviour than with other muxers. --- gst/matroska/matroska-mux.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/gst/matroska/matroska-mux.c b/gst/matroska/matroska-mux.c index 1f5142871c..4922496f80 100644 --- a/gst/matroska/matroska-mux.c +++ b/gst/matroska/matroska-mux.c @@ -2875,22 +2875,21 @@ gst_matroska_mux_start (GstMatroskaMux * mux) for (collected = mux->collect->data; collected; collected = g_slist_next (collected)) { GstMatroskaPad *collect_pad; - GstPad *thepad; collect_pad = (GstMatroskaPad *) collected->data; - thepad = collect_pad->collect.pad; - if (gst_pad_is_linked (thepad) && gst_pad_is_active (thepad) && - collect_pad->track->codec_id != NULL) { - collect_pad->track->num = tracknum++; - child = gst_ebml_write_master_start (ebml, GST_MATROSKA_ID_TRACKENTRY); - gst_matroska_mux_track_header (mux, collect_pad->track); - gst_ebml_write_master_finish (ebml, child); - /* some remaining pad/track setup */ - collect_pad->default_duration_scaled = - gst_util_uint64_scale (collect_pad->track->default_duration, - 1, mux->time_scale); - } + /* This will cause an error at a later time */ + if (collect_pad->track->codec_id == NULL) + continue; + + collect_pad->track->num = tracknum++; + child = gst_ebml_write_master_start (ebml, GST_MATROSKA_ID_TRACKENTRY); + gst_matroska_mux_track_header (mux, collect_pad->track); + gst_ebml_write_master_finish (ebml, child); + /* some remaining pad/track setup */ + collect_pad->default_duration_scaled = + gst_util_uint64_scale (collect_pad->track->default_duration, + 1, mux->time_scale); } gst_ebml_write_master_finish (ebml, master);