diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c index c4aa9c5f44..e3e2d9ddf7 100644 --- a/gst/isomp4/qtdemux.c +++ b/gst/isomp4/qtdemux.c @@ -1973,10 +1973,6 @@ gst_qtdemux_reset (GstQTDemux * qtdemux, gboolean hard) qtdemux->have_group_id = FALSE; qtdemux->group_id = G_MAXUINT; - if (qtdemux->protection_system_ids) { - g_ptr_array_free (qtdemux->protection_system_ids, TRUE); - qtdemux->protection_system_ids = NULL; - } g_queue_foreach (&qtdemux->protection_event_queue, (GFunc) gst_event_unref, NULL); g_queue_clear (&qtdemux->protection_event_queue); @@ -2001,6 +1997,10 @@ gst_qtdemux_reset (GstQTDemux * qtdemux, gboolean hard) qtdemux->timescale = 0; qtdemux->got_moov = FALSE; qtdemux->pending_configure = FALSE; + if (qtdemux->protection_system_ids) { + g_ptr_array_free (qtdemux->protection_system_ids, TRUE); + qtdemux->protection_system_ids = NULL; + } } else if (qtdemux->mss_mode) { gst_flow_combiner_reset (qtdemux->flowcombiner); for (n = 0; n < qtdemux->n_streams; n++)