From 3dfab51b9282ac2f2455342f4dfd95e1e64d1f03 Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Tue, 23 Dec 2014 01:51:10 -0300 Subject: [PATCH] adaptivedemux: make sure task has stopped before freeing it Otherwise the thread will be running and its memory will get freed. This leads to memory corruption --- gst-libs/gst/adaptivedemux/gstadaptivedemux.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c index 74a2cc7a3d..a109702e6c 100644 --- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c +++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c @@ -733,10 +733,10 @@ gst_adaptive_demux_stream_free (GstAdaptiveDemuxStream * stream) g_cond_signal (&stream->fragment_download_cond); gst_task_stop (stream->download_task); - GST_LOG_OBJECT (demux, "Waiting for task to finish"); - gst_task_join (stream->download_task); - GST_LOG_OBJECT (demux, "Finished"); } + GST_LOG_OBJECT (demux, "Waiting for task to finish"); + gst_task_join (stream->download_task); + GST_LOG_OBJECT (demux, "Finished"); gst_object_unref (stream->download_task); g_rec_mutex_clear (&stream->download_lock); stream->download_task = NULL;