X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Finput%2Fresource.c;h=b015be8fba1cd7b9d9236a7ca90ad6de98167414;hb=4b9c63a36eded246ad9ef1ea0de0cf7b38d29ad9;hp=bfe3e894c58ea1a6d1fd097b7b9dc81199cd2428;hpb=776b826403cda061217ede59b2d89b26e3dca166;p=vlc diff --git a/src/input/resource.c b/src/input/resource.c index bfe3e894c5..b015be8fba 100644 --- a/src/input/resource.c +++ b/src/input/resource.c @@ -32,7 +32,7 @@ #include #include -#include +#include #include #include #include "../libvlc.h" @@ -242,7 +242,12 @@ static vout_thread_t *RequestVout( input_resource_t *p_resource, } /* */ - p_vout = vout_Request( p_resource->p_input, p_vout, p_fmt ); + vout_configuration_t cfg = { + .vout = p_vout, + .input = VLC_OBJECT(p_resource->p_input), + .fmt = p_fmt, + }; + p_vout = vout_Request( p_resource->p_input, &cfg ); if( !p_vout ) return NULL; @@ -273,9 +278,14 @@ static vout_thread_t *RequestVout( input_resource_t *p_resource, { msg_Dbg( p_resource->p_input, "saving a free vout" ); vout_Flush( p_vout, 1 ); - spu_ClearChannel( vout_GetSpu( p_vout ), -1 ); - - p_resource->p_vout_free = p_vout; + vout_FlushSubpictureChannel( p_vout, -1 ); + + vout_configuration_t cfg = { + .vout = p_vout, + .input = NULL, + .fmt = p_fmt, + }; + p_resource->p_vout_free = vout_Request( p_resource->p_input, &cfg ); } return NULL; }