if( !p_owner->p_clock || !i_ts )
return i_ts;
- return input_clock_GetTS( p_owner->p_clock, NULL, p_owner->p_input->i_pts_delay, i_ts );
+ return input_clock_GetTS( p_owner->p_clock, NULL, p_owner->p_input->p->i_pts_delay, i_ts );
}
static int DecoderGetDisplayRate( decoder_t *p_dec )
{
vlc_assert_locked( &p_owner->lock );
- const mtime_t i_ts_delay = p_owner->p_input->i_pts_delay;
+ const mtime_t i_ts_delay = p_owner->p_input->p->i_pts_delay;
const mtime_t i_es_delay = p_owner->i_ts_delay;
if( p_clock )
if( !i_ret )
{
/* FIXME pcr != exactly what wanted */
- const mtime_t i_used = /*(i_stream_duration - p_sys->p_input->i_pts_delay)*/ p_sys->i_buffering_extra_system - p_sys->i_buffering_extra_initial;
+ const mtime_t i_used = /*(i_stream_duration - p_sys->p_input->p->i_pts_delay)*/ p_sys->i_buffering_extra_system - p_sys->i_buffering_extra_initial;
i_date -= i_used;
}
p_sys->i_buffering_extra_initial = 0;
if( p_sys->i_preroll_end >= 0 )
i_preroll_duration = __MAX( p_sys->i_preroll_end - i_stream_start, 0 );
- const mtime_t i_buffering_duration = p_sys->p_input->i_pts_delay +
+ const mtime_t i_buffering_duration = p_sys->p_input->p->i_pts_delay +
i_preroll_duration +
p_sys->i_buffering_extra_stream - p_sys->i_buffering_extra_initial;
if( i_ret )
return;
- p_sys->i_buffering_extra_initial = 1 + i_stream_duration - p_sys->p_input->i_pts_delay; /* FIXME < 0 ? */
+ p_sys->i_buffering_extra_initial = 1 + i_stream_duration - p_sys->p_input->p->i_pts_delay; /* FIXME < 0 ? */
p_sys->i_buffering_extra_system =
p_sys->i_buffering_extra_stream = p_sys->i_buffering_extra_initial;
}
}
const mtime_t i_consumed = i_system_duration * INPUT_RATE_DEFAULT / p_sys->i_rate - i_stream_duration;
- i_delay = p_sys->p_input->i_pts_delay - i_consumed;
+ i_delay = p_sys->p_input->p->i_pts_delay - i_consumed;
}
if( i_delay < 0 )
return 0;
p_input->p->p_es_out = NULL;
p_input->p->p_sout = NULL;
p_input->p->b_out_pace_control = false;
- p_input->i_pts_delay = 0;
+ p_input->p->i_pts_delay = 0;
p_input->p->i_cr_average = 0;
vlc_gc_incref( p_item ); /* Released in Destructor() */
p_input->p->b_can_rate_control = p_master->b_can_rate_control;
/* Fix pts delay */
- if( p_input->i_pts_delay < 0 )
- p_input->i_pts_delay = 0;
+ if( p_input->p->i_pts_delay < 0 )
+ p_input->p->i_pts_delay = 0;
/* If the desynchronisation requested by the user is < 0, we need to
* cache more data. */
const int i_desynch = var_GetInteger( p_input, "audio-desync" );
if( i_desynch < 0 )
- p_input->i_pts_delay -= i_desynch * 1000;
+ p_input->p->i_pts_delay -= i_desynch * 1000;
/* Update cr_average depending on the caching */
- p_input->p->i_cr_average *= (10 * p_input->i_pts_delay / 200000);
+ p_input->p->i_cr_average *= (10 * p_input->p->i_pts_delay / 200000);
p_input->p->i_cr_average /= 10;
if( p_input->p->i_cr_average < 10 )
p_input->p->i_cr_average = 10;
/* Get infos from access_demux */
demux_Control( in->p_demux,
DEMUX_GET_PTS_DELAY, &i_pts_delay );
- p_input->i_pts_delay = __MAX( p_input->i_pts_delay, i_pts_delay );
+ p_input->p->i_pts_delay = __MAX( p_input->p->i_pts_delay, i_pts_delay );
in->b_title_demux = true;
if( demux_Control( in->p_demux, DEMUX_GET_TITLE_INFO,
{
access_Control( in->p_access,
ACCESS_GET_PTS_DELAY, &i_pts_delay );
- p_input->i_pts_delay = __MAX( p_input->i_pts_delay, i_pts_delay );
+ p_input->p->i_pts_delay = __MAX( p_input->p->i_pts_delay, i_pts_delay );
in->b_title_demux = false;
if( access_Control( in->p_access, ACCESS_GET_TITLE_INFO,