free( psz_nowplaying );
}
static vout_thread_t *RequestVout( input_resource_t *p_resource,
- vout_thread_t *p_vout, video_format_t *p_fmt,
+ vout_thread_t *p_vout,
+ video_format_t *p_fmt, unsigned dpb_size,
bool b_recycle )
{
vlc_assert_locked( &p_resource->lock );
}
/* */
- 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),
+ .change_fmt = true,
+ .fmt = p_fmt,
+ .dpb_size = dpb_size,
+ };
+ p_vout = vout_Request( p_resource->p_input, &cfg );
if( !p_vout )
return NULL;
vout_Flush( p_vout, 1 );
vout_FlushSubpictureChannel( p_vout, -1 );
- p_resource->p_vout_free = p_vout;
+ vout_configuration_t cfg = {
+ .vout = p_vout,
+ .input = NULL,
+ .change_fmt = false,
+ .fmt = NULL,
+ .dpb_size = 0,
+ };
+ p_resource->p_vout_free = vout_Request( p_resource->p_input, &cfg );
}
return NULL;
}
}
vout_thread_t *input_resource_RequestVout( input_resource_t *p_resource,
- vout_thread_t *p_vout, video_format_t *p_fmt, bool b_recycle )
+ vout_thread_t *p_vout,
+ video_format_t *p_fmt, unsigned dpb_size,
+ bool b_recycle )
{
vlc_mutex_lock( &p_resource->lock );
- vout_thread_t *p_ret = RequestVout( p_resource, p_vout, p_fmt, b_recycle );
+ vout_thread_t *p_ret = RequestVout( p_resource, p_vout, p_fmt, dpb_size, b_recycle );
vlc_mutex_unlock( &p_resource->lock );
return p_ret;
void input_resource_TerminateVout( input_resource_t *p_resource )
{
- input_resource_RequestVout( p_resource, NULL, NULL, false );
+ input_resource_RequestVout( p_resource, NULL, NULL, 0, false );
}
bool input_resource_HasVout( input_resource_t *p_resource )
{