From 39657fa52fc93bf7ebb60477bc40245b23867b5c Mon Sep 17 00:00:00 2001 From: Youness Alaoui Date: Thu, 25 Aug 2011 23:35:55 +0000 Subject: [PATCH] hlsdemux: lock the fetcher mutex before stopping it --- gst/hls/gsthlsdemux.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gst/hls/gsthlsdemux.c b/gst/hls/gsthlsdemux.c index 10d2b91503..06f26a5578 100644 --- a/gst/hls/gsthlsdemux.c +++ b/gst/hls/gsthlsdemux.c @@ -375,7 +375,9 @@ gst_hls_demux_src_event (GstPad * pad, GstEvent * event) } demux->cancelled = TRUE; + g_mutex_lock (demux->fetcher_lock); gst_hls_demux_stop_fetcher (demux, TRUE); + g_mutex_unlock (demux->fetcher_lock); gst_task_pause (demux->task); g_cond_signal (demux->thread_cond); @@ -642,7 +644,9 @@ gst_hls_demux_stop_fetcher (GstHLSDemux * demux, gboolean cancelled) static void gst_hls_demux_stop (GstHLSDemux * demux) { + g_mutex_lock (demux->fetcher_lock); gst_hls_demux_stop_fetcher (demux, TRUE); + g_mutex_unlock (demux->fetcher_lock); if (GST_TASK_STATE (demux->task) != GST_TASK_STOPPED) gst_task_stop (demux->task); g_cond_signal (demux->thread_cond);