summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hervey <edward.hervey@collabora.co.uk>2012-11-03 18:03:58 +0100
committerEdward Hervey <edward.hervey@collabora.co.uk>2012-11-03 18:11:25 +0100
commitbbfc05b1962128c779f9ffd98678454bc4e0ec1a (patch)
treee62ad6643ba5734327f864dd46f7d83ae41b8ac0
parente479d2c33db2ca6b99f59ad176b3f3095bc75ce4 (diff)
composition: Only care about source pads that go away
sink pads are handled by operations
-rw-r--r--gnl/gnlcomposition.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/gnl/gnlcomposition.c b/gnl/gnlcomposition.c
index 43fb289..924cdfe 100644
--- a/gnl/gnlcomposition.c
+++ b/gnl/gnlcomposition.c
@@ -2644,16 +2644,18 @@ object_pad_removed (GnlObject * object, GstPad * pad, GnlComposition * comp)
GST_DEBUG_OBJECT (comp, "pad %s:%s was removed", GST_DEBUG_PAD_NAME (pad));
- /* remove ghostpad if it's the current top stack object */
- if (GST_PAD_IS_SRC (pad) && priv->current &&
- GNL_OBJECT (priv->current->data) == object && priv->ghostpad)
- gnl_composition_remove_ghostpad (comp);
- else {
- GnlCompositionEntry *entry = COMP_ENTRY (comp, object);
-
- if (entry->probeid) {
- gst_pad_remove_probe (pad, entry->probeid);
- entry->probeid = 0;
+ if (GST_PAD_IS_SRC (pad)) {
+ /* remove ghostpad if it's the current top stack object */
+ if (priv->current && GNL_OBJECT (priv->current->data) == object
+ && priv->ghostpad)
+ gnl_composition_remove_ghostpad (comp);
+ else {
+ GnlCompositionEntry *entry = COMP_ENTRY (comp, object);
+
+ if (entry->probeid) {
+ gst_pad_remove_probe (pad, entry->probeid);
+ entry->probeid = 0;
+ }
}
}
}