summaryrefslogtreecommitdiff
path: root/ges
diff options
context:
space:
mode:
authorThibault Saunier <tsaunier@igalia.com>2019-03-28 11:29:05 -0300
committerThibault Saunier <tsaunier@igalia.com>2019-04-15 17:11:48 -0400
commit7f0810bae78e88f423c3f2c05a16fe973977e045 (patch)
treedcbb04e8701c1ed2a35cb8ec13a88cedee896818 /ges
parent49b004fe30713894dba7d18d1833d8836ff14bda (diff)
Fix splitting control bindings leaks
Diffstat (limited to 'ges')
-rw-r--r--ges/ges-track-element.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ges/ges-track-element.c b/ges/ges-track-element.c
index ca18bd50..d7006b38 100644
--- a/ges/ges-track-element.c
+++ b/ges/ges-track-element.c
@@ -424,6 +424,7 @@ _update_control_bindings (GESTimelineElement * element, GstClockTime inpoint,
if (next->timestamp > inpoint)
break;
}
+ g_list_free (values);
value_at_pos =
interpolate_values_for_position (first, next, inpoint, absolute);
@@ -443,6 +444,7 @@ _update_control_bindings (GESTimelineElement * element, GstClockTime inpoint,
if (prev->timestamp < duration + inpoint)
break;
}
+ g_list_free (values);
value_at_pos =
interpolate_values_for_position (prev, last, duration + inpoint,
@@ -464,6 +466,7 @@ _update_control_bindings (GESTimelineElement * element, GstClockTime inpoint,
&& value->timestamp > duration + inpoint)
gst_timed_value_control_source_unset (source, value->timestamp);
}
+ g_list_free (values);
}
g_free (specs);
@@ -1246,6 +1249,7 @@ _split_binding (GESTrackElement * element, GESTrackElement * new_element,
last_value = value;
}
+ g_list_free (values);
}
static void
@@ -1264,6 +1268,7 @@ _copy_binding (GESTrackElement * element, GESTrackElement * new_element,
gst_timed_value_control_source_set (new_source, value->timestamp,
value->value);
}
+ g_list_free (values);
}
/* position == GST_CLOCK_TIME_NONE means that we do a simple copy