int64_t i_preroll_end;
input_thread_t *p_input;
+ input_resource_t*p_resource;
input_clock_t *p_clock;
int i_last_rate;
p_owner->i_preroll_end = VLC_TS_INVALID;
p_owner->i_last_rate = INPUT_RATE_DEFAULT;
p_owner->p_input = p_input;
+ p_owner->p_resource = p_input->p->p_resource;
p_owner->p_aout = NULL;
p_owner->p_aout_input = NULL;
p_owner->p_vout = NULL;
stats_UpdateInteger( p_dec, p_input->p->counters.p_decoded_sub, 1, NULL );
vlc_mutex_unlock( &p_input->p->counters.counters_lock );
- p_vout = input_resource_HoldVout( p_input->p->p_resource );
+ p_vout = input_resource_HoldVout( p_owner->p_resource );
if( p_vout && p_owner->p_spu_vout == p_vout )
{
/* Preroll does not work very well with subtitle */
if( b_flush && p_owner->p_spu_vout )
{
- p_vout = input_resource_HoldVout( p_input->p->p_resource );
+ p_vout = input_resource_HoldVout( p_owner->p_resource );
if( p_vout && p_owner->p_spu_vout == p_vout )
vout_FlushSubpictureChannel( p_vout, p_owner->i_spu_channel );
aout_DecDelete( p_owner->p_aout, p_owner->p_aout_input );
if( p_owner->p_aout )
{
- input_resource_RequestAout( p_owner->p_input->p->p_resource,
- p_owner->p_aout );
+ input_resource_RequestAout( p_owner->p_resource, p_owner->p_aout );
input_SendEventAout( p_owner->p_input );
p_owner->p_aout = NULL;
}
vout_Reset( p_owner->p_vout );
/* */
- input_resource_RequestVout( p_owner->p_input->p->p_resource, p_owner->p_vout, NULL, 0, true );
+ input_resource_RequestVout( p_owner->p_resource, p_owner->p_vout, NULL,
+ 0, true );
input_SendEventVout( p_owner->p_input );
}
{
vout_thread_t *p_vout;
- p_vout = input_resource_HoldVout( p_owner->p_input->p->p_resource );
+ p_vout = input_resource_HoldVout( p_owner->p_resource );
if( p_vout )
{
if( p_owner->p_spu_vout == p_vout )
vout_thread_t *p_vout, video_format_t *p_fmt, bool b_recyle )
{
decoder_t *p_dec = p_private;
- input_thread_t *p_input = p_dec->p_owner->p_input;
+ decoder_owner_sys_t *p_owner = p_dec->p_owner;
+ input_thread_t *p_input = p_owner->p_input;
- p_vout = input_resource_RequestVout( p_input->p->p_resource, p_vout, p_fmt, 1, b_recyle );
+ p_vout = input_resource_RequestVout( p_owner->p_resource, p_vout, p_fmt, 1,
+ b_recyle );
input_SendEventVout( p_input );
return p_vout;
p_aout = p_owner->p_aout;
if( !p_aout )
- p_aout = input_resource_RequestAout( p_owner->p_input->p->p_resource, NULL );
+ p_aout = input_resource_RequestAout( p_owner->p_resource, NULL );
p_aout_input = aout_DecNew( p_dec, &p_aout,
&format, &p_dec->fmt_out.audio_replay_gain, &request_vout );
dpb_size = 2;
break;
}
- p_vout = input_resource_RequestVout( p_owner->p_input->p->p_resource,
+ p_vout = input_resource_RequestVout( p_owner->p_resource,
p_vout, &fmt,
dpb_size + 1 + DECODER_MAX_BUFFERING_COUNT,
true );
if( p_dec->b_die || p_dec->b_error )
break;
- p_vout = input_resource_HoldVout( p_owner->p_input->p->p_resource );
+ p_vout = input_resource_HoldVout( p_owner->p_resource );
if( p_vout )
break;
decoder_owner_sys_t *p_owner = p_dec->p_owner;
vout_thread_t *p_vout = NULL;
- p_vout = input_resource_HoldVout( p_owner->p_input->p->p_resource );
+ p_vout = input_resource_HoldVout( p_owner->p_resource );
if( !p_vout || p_owner->p_spu_vout != p_vout )
{
if( p_vout )