playbin2: Don't hold the playbin lock in the autoplug-continue callback
authorAkihiro Tsukada <tskd2@yahoo.co.jp>
Tue, 17 Apr 2012 07:54:09 +0000 (09:54 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Tue, 17 Apr 2012 07:54:09 +0000 (09:54 +0200)
It's not necessary there as the group lock already protects everything
we access here and causes deadlocks in some cases.

Fixes bug #673708.

gst/playback/gstplaybin2.c

index 0074394..08cae9b 100644 (file)
@@ -3179,7 +3179,6 @@ autoplug_continue_cb (GstElement * element, GstPad * pad, GstCaps * caps,
   GstElement *sink;
   GstPad *sinkpad = NULL;
 
-  GST_PLAY_BIN_LOCK (group->playbin);
   GST_SOURCE_GROUP_LOCK (group);
 
   if ((sink = group->playbin->text_sink))
@@ -3256,7 +3255,6 @@ autoplug_continue_cb (GstElement * element, GstPad * pad, GstCaps * caps,
 
 done:
   GST_SOURCE_GROUP_UNLOCK (group);
-  GST_PLAY_BIN_UNLOCK (group->playbin);
 
   GST_DEBUG_OBJECT (group->playbin,
       "continue autoplugging group %p for %s:%s, %" GST_PTR_FORMAT ": %d",