summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Decina <alessandro.decina@collabora.co.uk>2009-01-07 12:12:36 +0000
committerEdward Hervey <bilboed@bilboed.com>2009-01-07 12:12:36 +0000
commit2a07eb70c3f4bdc1fc8de77556c44ab088d80435 (patch)
treebcd300b1c6503b6f0032819de21ce85c5ba05dcd
parenta9abce199c7bb10493955dc48657b3cfc04bb2a0 (diff)
gnl/gnlcomposition.c: Release objects lock temporarily when emitting no-more-pads.GIT_CONVERSION
Original commit message from CVS: Patch by: Alessandro Decina <alessandro.decina@collabora.co.uk> * gnl/gnlcomposition.c: (gnl_composition_ghost_pad_set_target): Release objects lock temporarily when emitting no-more-pads. This should not affect anything considering that the composition is in the process of being built at that point and no actions should be attempting to modify it while that lock is released. Fixes #566796
-rw-r--r--ChangeLog10
-rw-r--r--gnl/gnlcomposition.c5
2 files changed, 14 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c380432..32690a1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2009-01-07 Edward Hervey <edward.hervey@collabora.co.uk>
+
+ Patch by: Alessandro Decina <alessandro.decina@collabora.co.uk>
+ * gnl/gnlcomposition.c: (gnl_composition_ghost_pad_set_target):
+ Release objects lock temporarily when emitting no-more-pads.
+ This should not affect anything considering that the composition is
+ in the process of being built at that point and no actions should
+ be attempting to modify it while that lock is released.
+ Fixes #566796
+
2008-12-28 Edward Hervey <edward.hervey@collabora.co.uk>
* gnl/gnlcomposition.c: (refine_start_stop_in_region_above_priority):
diff --git a/gnl/gnlcomposition.c b/gnl/gnlcomposition.c
index a002a55..51b3fcb 100644
--- a/gnl/gnlcomposition.c
+++ b/gnl/gnlcomposition.c
@@ -1000,8 +1000,11 @@ gnl_composition_ghost_pad_set_target (GnlComposition * comp, GstPad * target)
gst_pad_set_active (comp->private->ghostpad, TRUE);
if (!(gst_element_add_pad (GST_ELEMENT (comp), comp->private->ghostpad)))
GST_WARNING ("Couldn't add the ghostpad");
- else
+ else {
+ COMP_OBJECTS_UNLOCK (comp);
gst_element_no_more_pads (GST_ELEMENT (comp));
+ COMP_OBJECTS_LOCK (comp);
+ }
}
GST_DEBUG_OBJECT (comp, "END");
}