summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Popa <stefanpopa2209@gmail.com>2017-08-17 07:28:46 +0000
committerThibault Saunier <thibault.saunier@osg.samsung.com>2017-09-01 09:38:45 -0300
commit5b321dbe3a31e7030b0b9f083fb94ff1117eb923 (patch)
treee8251ea18b2341524105cd379befdcf75b079657
parent4db3800f983975d6b1e4dc0a4adcb90caac46f53 (diff)
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 <thibault.saunier@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D1842
-rw-r--r--ges/ges-track-element.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/ges/ges-track-element.c b/ges/ges-track-element.c
index 23369f8a86..6ac0ca0dbc 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)