From: Tim-Philipp Müller Date: Tue, 19 Apr 2011 13:33:42 +0000 (+0100) Subject: flvdemux: fix deadlock on setting index on flvdemux X-Git-Tag: 1.19.3~509^2~7136^2~605 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bb23575f6bccacf8bec440328cbab82374c49e8b;p=platform%2Fupstream%2Fgstreamer.git flvdemux: fix deadlock on setting index on flvdemux --- diff --git a/gst/flv/gstflvdemux.c b/gst/flv/gstflvdemux.c index 3ce7de4..fae7e41 100644 --- a/gst/flv/gstflvdemux.c +++ b/gst/flv/gstflvdemux.c @@ -3101,12 +3101,16 @@ gst_flv_demux_set_index (GstElement * element, GstIndex * index) gst_object_unref (demux->index); if (index) { demux->index = gst_object_ref (index); - gst_index_get_writer_id (index, GST_OBJECT (element), &demux->index_id); demux->own_index = FALSE; } else demux->index = NULL; GST_OBJECT_UNLOCK (demux); + /* object lock might be taken again */ + if (index) + gst_index_get_writer_id (index, GST_OBJECT (element), &demux->index_id); + GST_DEBUG_OBJECT (demux, "Set index %" GST_PTR_FORMAT, demux->index); + } static GstIndex *