bool b_preparsing;
bool b_dead;
- bool b_can_pace_control;
-
/* All other data is input_thread is PRIVATE. You can't access it
* outside of src/input */
input_thread_private_t *p;
/* We do not have a wake up date if the input cannot have its speed
* controlled or sout is imposing its own or while buffering
*
- * FIXME for !p_input->b_can_pace_control a wkeup time is still needed to avoid too strong buffering */
- if( !p_input->b_can_pace_control ||
+ * FIXME for !p_input->p->b_can_pace_control a wkeup time is still needed to avoid too strong buffering */
+ if( !p_input->p->b_can_pace_control ||
p_input->p->b_out_pace_control ||
p_sys->b_buffering )
return 0;
/* search program
* TODO do not use mdate() but proper stream acquisition date */
input_clock_Update( p_pgrm->p_clock, VLC_OBJECT(p_sys->p_input),
- p_sys->p_input->b_can_pace_control || p_sys->b_buffering, i_pcr, mdate() );
+ p_sys->p_input->p->b_can_pace_control || p_sys->b_buffering, i_pcr, mdate() );
/* Check buffering state on master clock update */
if( p_sys->b_buffering && p_pgrm == p_sys->p_pgrm )
EsOutDecodersStopBuffering( out, false );
if( p_sys->b_delayed )
{
- assert( !p_sys->p_input->b_can_pace_control );
+ assert( !p_sys->p_input->p->b_can_pace_control );
*pi_wakeup = 0;
}
else
else
{
i_ret = VLC_EGENERIC;
- if( !p_sys->p_input->b_can_pace_control )
+ if( !p_sys->p_input->p->b_can_pace_control )
{
if( !p_sys->b_delayed )
TsStart( p_out );
else
{
i_ret = VLC_EGENERIC;
- if( !p_sys->p_input->b_can_pace_control )
+ if( !p_sys->p_input->p->b_can_pace_control )
{
if( !p_sys->b_delayed )
TsStart( p_out );
/* Init Common fields */
p_input->b_eof = false;
- p_input->b_can_pace_control = true;
+ p_input->p->b_can_pace_control = true;
p_input->p->i_start = 0;
p_input->p->i_time = 0;
p_input->p->i_stop = 0;
}
/* Global flag */
- p_input->b_can_pace_control = p_master->b_can_pace_control;
+ p_input->p->b_can_pace_control = p_master->b_can_pace_control;
p_input->p->b_can_pause = p_master->b_can_pause;
p_input->p->b_can_rate_control = p_master->b_can_rate_control;
{
p_input->p->b_out_pace_control = (p_input->p->p_sout->i_out_pace_nocontrol > 0);
- if( p_input->b_can_pace_control && p_input->p->b_out_pace_control )
+ if( p_input->p->b_can_pace_control && p_input->p->b_out_pace_control )
{
/* We don't want a high input priority here or we'll
* end-up sucking up all the CPU time */
i_rate = INPUT_RATE_DEFAULT;
}
if( i_rate != p_input->p->i_rate &&
- !p_input->b_can_pace_control && p_input->p->b_can_rate_control )
+ !p_input->p->b_can_pace_control && p_input->p->b_can_rate_control )
{
int i_ret;
if( p_input->p->input.p_access )
if( p_input->p->input.b_rescale_ts )
{
- const int i_rate_source = (p_input->b_can_pace_control || p_input->p->b_can_rate_control ) ? i_rate : INPUT_RATE_DEFAULT;
+ const int i_rate_source = (p_input->p->b_can_pace_control || p_input->p->b_can_rate_control ) ? i_rate : INPUT_RATE_DEFAULT;
es_out_SetRate( p_input->p->p_es_out, i_rate_source, i_rate );
}
/* Global properties */
bool b_can_pause;
bool b_can_rate_control;
+ bool b_can_pace_control;
double f_fps;
int i_state;