X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=modules%2Fvideo_filter%2Ftransform.c;h=0df5e2d8ac34b05e15c2e14b6157c5ea9de8260a;hb=2649d28f49d3dc1cafced0ca9153d93e27592d91;hp=dc880d2efc4d26464e9084986002ca1f13b81ce1;hpb=00b95848260cd44f140a05da8aa5baf13580e2d3;p=vlc diff --git a/modules/video_filter/transform.c b/modules/video_filter/transform.c index dc880d2efc..0df5e2d8ac 100644 --- a/modules/video_filter/transform.c +++ b/modules/video_filter/transform.c @@ -140,7 +140,7 @@ static int Create( vlc_object_t *p_this ) p_vout->p_cfg ); /* Look what method was requested */ - psz_method = var_CreateGetNonEmptyString( p_vout, "transform-type" ); + psz_method = var_CreateGetNonEmptyStringCommand( p_vout, "transform-type" ); switch( p_vout->fmt_in.i_chroma ) { @@ -276,12 +276,18 @@ static void End( vout_thread_t *p_vout ) { int i_index; + DEL_PARENT_CALLBACKS( SendEventsToChild ); + + DEL_CALLBACKS( p_vout->p_sys->p_vout, SendEvents ); + /* Free the fake output buffers we allocated */ for( i_index = I_OUTPUTPICTURES ; i_index ; ) { i_index--; free( PP_OUTPUTPICTURE[ i_index ]->p_data_orig ); } + + vout_CloseAndRelease( p_vout->p_sys->p_vout ); } /***************************************************************************** @@ -293,15 +299,6 @@ static void Destroy( vlc_object_t *p_this ) { vout_thread_t *p_vout = (vout_thread_t *)p_this; - if( p_vout->p_sys->p_vout ) - { - DEL_CALLBACKS( p_vout->p_sys->p_vout, SendEvents ); - vlc_object_detach( p_vout->p_sys->p_vout ); - vlc_object_release( p_vout->p_sys->p_vout ); - } - - DEL_PARENT_CALLBACKS( SendEventsToChild ); - free( p_vout->p_sys ); }