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
This commit is contained in:
Stefan Popa 2017-08-17 07:28:46 +00:00 committed by Thibault Saunier
parent 4db3800f98
commit 5b321dbe3a

View file

@ -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)