diff --git a/gst/videoconvert/videoconvert.c b/gst/videoconvert/videoconvert.c index aac5abd922..55f9c2df87 100644 --- a/gst/videoconvert/videoconvert.c +++ b/gst/videoconvert/videoconvert.c @@ -90,7 +90,7 @@ videoconvert_convert_free (VideoConvert * convert) { gint i; - for (i = 0; i < convert->lines; i++) + for (i = 0; i < convert->n_tmplines; i++) g_free (convert->tmplines[i]); g_free (convert->tmplines); g_free (convert->errline); @@ -418,6 +418,7 @@ videoconvert_convert_compute_resample (VideoConvert * convert) lines = MAX (convert->down_n_lines, convert->up_n_lines); + convert->n_tmplines = lines; convert->tmplines = g_malloc (lines * sizeof (gpointer)); for (i = 0; i < lines; i++) convert->tmplines[i] = g_malloc (sizeof (guint16) * (width + 8) * 4); diff --git a/gst/videoconvert/videoconvert.h b/gst/videoconvert/videoconvert.h index 13c0c5778e..bc0aa7a00e 100644 --- a/gst/videoconvert/videoconvert.h +++ b/gst/videoconvert/videoconvert.h @@ -48,6 +48,7 @@ struct _VideoConvert { guint lines; + guint n_tmplines; gpointer *tmplines; guint16 *errline;