From bb23575f6bccacf8bec440328cbab82374c49e8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Tue, 19 Apr 2011 14:33:42 +0100 Subject: [PATCH] flvdemux: fix deadlock on setting index on flvdemux --- gst/flv/gstflvdemux.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gst/flv/gstflvdemux.c b/gst/flv/gstflvdemux.c index 3ce7de4c7c..fae7e4153f 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 *