summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Duponchelle <mathieu.duponchelle@epitech.eu>2013-05-25 03:05:40 +0200
committerNicolas Dufresne <nicolas.dufresne@collabora.com>2013-05-28 17:04:21 -0400
commit7ac0f028b1ebe0a3a8e06c98b1773a200335ebea (patch)
tree9c5979520df596a7fba053f76e522d9296068903
parente710031b1dd5a442f8ecb9520cb563e1e28fdd84 (diff)
gnlcomposition: When removing a ghostpad, remove the probe_handlers associated to its target.
-rw-r--r--gnl/gnlcomposition.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/gnl/gnlcomposition.c b/gnl/gnlcomposition.c
index 7e28897..fb15056 100644
--- a/gnl/gnlcomposition.c
+++ b/gnl/gnlcomposition.c
@@ -1182,9 +1182,17 @@ gnl_composition_remove_ghostpad (GnlComposition * comp)
GST_DEBUG_OBJECT (comp, "Removing ghostpad");
+ if (priv->ghosteventprobe) {
+ GstPad *target;
+
+ target = gst_ghost_pad_get_target ((GstGhostPad *) priv->ghostpad);
+ if (target)
+ gst_pad_remove_probe (target, priv->ghosteventprobe);
+ priv->ghosteventprobe = 0;
+ }
+
gnl_object_remove_ghost_pad (GNL_OBJECT (comp), priv->ghostpad);
priv->ghostpad = NULL;
- priv->ghosteventprobe = 0;
priv->toplevelentry = NULL;
}