From 5b321dbe3a31e7030b0b9f083fb94ff1117eb923 Mon Sep 17 00:00:00 2001 From: Stefan Popa Date: Thu, 17 Aug 2017 07:28:46 +0000 Subject: [PATCH] track_element: Always emit "control-binding-removed" signal. When setting a new control binding on a track element, the old control binding (if any) is going to be removed. Make sure the "control-binding-removed" signal is emitted in this case. Fixes https://phabricator.freedesktop.org/T7340#95666 Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D1842 --- ges/ges-track-element.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/ges/ges-track-element.c b/ges/ges-track-element.c index 23369f8..6ac0ca0 100644 --- a/ges/ges-track-element.c +++ b/ges/ges-track-element.c @@ -1489,13 +1489,8 @@ ges_track_element_set_control_source (GESTrackElement * object, if (direct || direct_absolute) { /* First remove existing binding */ - binding = - (GstControlBinding *) g_hash_table_lookup (priv->bindings_hashtable, - property_name); - if (binding) { - GST_LOG ("Removing old binding %p for property %s", binding, - property_name); - gst_object_remove_control_binding (GST_OBJECT (element), binding); + if (ges_track_element_remove_control_binding (object, property_name)) { + GST_LOG ("Removed old binding for property %s", property_name); } if (direct_absolute) -- 2.7.4