X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fvideo_filter%2Fswscale.c;h=3651b81e3aaba26346f294537f3c932fb2bdd76a;hb=3f35c5171d9181434ebb16ffbdec7f7d62c28b8d;hp=24d603416d741c4073c8c67f042b0c6fdcf904ad;hpb=dd066314d5dde1a5d828d2c51c0296dd7b04bac7;p=vlc diff --git a/modules/video_filter/swscale.c b/modules/video_filter/swscale.c index 24d603416d..3651b81e3a 100644 --- a/modules/video_filter/swscale.c +++ b/modules/video_filter/swscale.c @@ -191,6 +191,8 @@ static int OpenScaler( vlc_object_t *p_this ) free( p_sys ); return VLC_EGENERIC; } + if( p_sys->ctx ) sws_freeContext( p_sys->ctx ); + p_sys->ctx = NULL; msg_Dbg( p_filter, "%ix%i chroma: %4.4s -> %ix%i chroma: %4.4s", p_filter->fmt_in.video.i_width, p_filter->fmt_in.video.i_height, @@ -231,7 +233,8 @@ static int CheckInit( filter_t *p_filter ) if( ( p_filter->fmt_in.video.i_width != p_sys->fmt_in.video.i_width ) || ( p_filter->fmt_in.video.i_height != p_sys->fmt_in.video.i_height ) || ( p_filter->fmt_out.video.i_width != p_sys->fmt_out.video.i_width ) || - ( p_filter->fmt_out.video.i_height != p_sys->fmt_out.video.i_height ) ) + ( p_filter->fmt_out.video.i_height != p_sys->fmt_out.video.i_height ) || + !p_sys->ctx ) { int i_fmt_in, i_fmt_out;