From f2a17692365b14e354d65bfe7ffc99cbd63b3d13 Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Wed, 27 Jul 2022 11:19:50 +0200 Subject: [PATCH] qtdemux: Don't stop task when resetting This is a regression that was introduced in cca2f555d14b5751f7f9d466b66127544dad5138 (yes, 9 years ago). The only place where a demuxer streaming thread should be stopped is when the sinkpad is deactivated from pull mode (i.e. PAUSED->READY). Attempting to stop the task in this function would cause this to happen when a FLUSH_STOP or STREAM_START event is received... which can cause deadlocks. Part-of: --- subprojects/gst-plugins-good/gst/isomp4/qtdemux.c | 1 - 1 file changed, 1 deletion(-) diff --git a/subprojects/gst-plugins-good/gst/isomp4/qtdemux.c b/subprojects/gst-plugins-good/gst/isomp4/qtdemux.c index 1c097f8..10789e6 100644 --- a/subprojects/gst-plugins-good/gst/isomp4/qtdemux.c +++ b/subprojects/gst-plugins-good/gst/isomp4/qtdemux.c @@ -1985,7 +1985,6 @@ gst_qtdemux_reset (GstQTDemux * qtdemux, gboolean hard) gint i; GST_DEBUG_OBJECT (qtdemux, "Resetting demux"); - gst_pad_stop_task (qtdemux->sinkpad); if (hard || qtdemux->upstream_format_is_time) { qtdemux->state = QTDEMUX_STATE_INITIAL; -- 2.7.4