diff options
author | Edward Hervey <edward.hervey@collabora.co.uk> | 2012-11-03 18:03:58 +0100 |
---|---|---|
committer | Edward Hervey <edward.hervey@collabora.co.uk> | 2012-11-03 18:11:25 +0100 |
commit | bbfc05b1962128c779f9ffd98678454bc4e0ec1a (patch) | |
tree | e62ad6643ba5734327f864dd46f7d83ae41b8ac0 | |
parent | e479d2c33db2ca6b99f59ad176b3f3095bc75ce4 (diff) |
composition: Only care about source pads that go away
sink pads are handled by operations
-rw-r--r-- | gnl/gnlcomposition.c | 22 |
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; + } } } } |