Revert "Remove pad-removed handlers after setting the decodebins to NULL."
authorMichael Smith <msmith@syncword.(none)>
Wed, 11 Feb 2009 04:38:58 +0000 (20:38 -0800)
committerMichael Smith <msmith@syncword.(none)>
Wed, 11 Feb 2009 04:38:58 +0000 (20:38 -0800)
This reverts commit b36d8f3e119f9edc5993c08025614ee32642972e.

This brought back some deadlocks. A small leak is better, for now. Need to
figure out a way to fix the leak properly.

gst/playback/gstplaybin2.c

index b86b03d..6244994 100644 (file)
@@ -2139,13 +2139,13 @@ activate_group (GstPlayBin * playbin, GstSourceGroup * group)
   if (group->uridecodebin) {
     GST_DEBUG_OBJECT (playbin, "reusing existing uridecodebin");
     REMOVE_SIGNAL (group->uridecodebin, group->pad_added_id);
+    REMOVE_SIGNAL (group->uridecodebin, group->pad_removed_id);
     REMOVE_SIGNAL (group->uridecodebin, group->no_more_pads_id);
     REMOVE_SIGNAL (group->uridecodebin, group->notify_source_id);
     REMOVE_SIGNAL (group->uridecodebin, group->drained_id);
     REMOVE_SIGNAL (group->uridecodebin, group->autoplug_factories_id);
     REMOVE_SIGNAL (group->uridecodebin, group->autoplug_select_id);
     gst_element_set_state (group->uridecodebin, GST_STATE_NULL);
-    REMOVE_SIGNAL (group->uridecodebin, group->pad_removed_id);
     uridecodebin = group->uridecodebin;
   } else {
     GST_DEBUG_OBJECT (playbin, "making new uridecodebin");
@@ -2198,9 +2198,9 @@ activate_group (GstPlayBin * playbin, GstSourceGroup * group)
     if (group->suburidecodebin) {
       GST_DEBUG_OBJECT (playbin, "reusing existing suburidecodebin");
       REMOVE_SIGNAL (group->suburidecodebin, group->sub_pad_added_id);
+      REMOVE_SIGNAL (group->suburidecodebin, group->sub_pad_removed_id);
       REMOVE_SIGNAL (group->suburidecodebin, group->sub_no_more_pads_id);
       gst_element_set_state (group->suburidecodebin, GST_STATE_NULL);
-      REMOVE_SIGNAL (group->suburidecodebin, group->sub_pad_removed_id);
       suburidecodebin = group->suburidecodebin;
     } else {
       GST_DEBUG_OBJECT (playbin, "making new suburidecodebin");