We need to copy the pixels before messing with them, not least
because the buffer creation code below assumes it's ok to take
ownership.
Fixes crash caused by double-free.
https://bugzilla.gnome.org/show_bug.cgi?id=668483
if (wanted_width != rectangle->width || wanted_height != rectangle->height) {
video_blend_scale_linear_RGBA (&info, wanted_height, wanted_width);
+ } else {
+ /* if we don't have to scale, we have to modify the alpha values, so we
+ * need to make a copy of the pixel memory (and we take ownership below) */
+ info.pixels = g_memdup (info.pixels, info.size);
}
if (!gst_video_overlay_rectangle_is_same_alpha_type (rectangle->flags, flags)) {