if (unlikely(field == NULL))
{
msg_Err(filter, "corrupt VDPAU video surface");
- return NULL;
+ goto error;
}
vlc_vdp_video_frame_t *psys = field->frame;
picture_t *pic = picture_NewFromFormat(&fmt);
if (unlikely(pic == NULL))
- return NULL;
+ goto error;
pic = VideoExport(filter, src, pic);
if (pic == NULL)
src = VideoImport(filter, pic);
}
return src;
+error:
+ picture_Release(src);
+ return NULL;
}
static inline VdpVideoSurface picture_GetVideoSurface(const picture_t *pic)