deinterlace: Don't leak metas

There is no correlation between the frame being NULL and the metas not being
present.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319>
This commit is contained in:
Edward Hervey 2022-11-03 14:06:58 +01:00 committed by GStreamer Marge Bot
parent 094d27585e
commit aa61662632

View file

@ -781,16 +781,17 @@ gst_deinterlace_pop_history (GstDeinterlace * self)
static void
gst_deinterlace_delete_meta_at (GstDeinterlace * self, gint idx)
{
if (self->field_history[idx].frame) {
if (self->field_history[idx].tc) {
gst_video_time_code_free (self->field_history[idx].tc);
self->field_history[idx].tc = NULL;
}
if (self->field_history[idx].caption) {
g_free (self->field_history[idx].caption->data);
g_free (self->field_history[idx].caption);
self->field_history[idx].caption = NULL;
}
GST_DEBUG_OBJECT (self, "idx:%d frame %p", idx,
self->field_history[idx].frame);
if (self->field_history[idx].tc) {
gst_video_time_code_free (self->field_history[idx].tc);
self->field_history[idx].tc = NULL;
}
if (self->field_history[idx].caption) {
g_free (self->field_history[idx].caption->data);
g_free (self->field_history[idx].caption);
self->field_history[idx].caption = NULL;
}
}