demux_t *p_demux;
/* Title infos for that input */
- bool b_title_demux; /* Titles/Seekpoints provided by demux */
+ bool b_title_demux; /* Titles/Seekpoints provided by demux */
int i_title;
input_title_t **title;
bool b_can_rate_control;
bool b_rescale_ts;
- bool b_eof; /* eof of demuxer */
+ bool b_eof; /* eof of demuxer */
double f_fps;
/* Clock average variation */
vlc_event_manager_t event_manager;
/* Global properties */
- bool b_can_pause;
- bool b_can_rate_control;
+ bool b_can_pause;
+ bool b_can_rate_control;
int i_rate;
/* */
input_attachment_t **attachment;
/* Output */
- es_out_t *p_es_out;
+ es_out_t *p_es_out;
sout_instance_t *p_sout; /* XXX Move it to es_out ? */
- bool b_out_pace_control; /* idem ? */
+ bool b_out_pace_control; /* idem ? */
/* Main input properties */
input_source_t input;
p_i->p_meta->i_status &= ~ITEM_ART_FETCHED;
}
+void input_item_SetHasErrorWhenReading( input_item_t *p_i, bool error );
/**********************************************************************
* Item metadata
/* var.c */
void input_ControlVarInit ( input_thread_t * );
-void input_ControlVarClean( input_thread_t * );
+void input_ControlVarStop( input_thread_t * );
void input_ControlVarNavigation( input_thread_t * );
void input_ControlVarTitle( input_thread_t *, int i_title );
mtime_t last_update;
int i_synchro_state;
- bool b_master;
+ bool b_master;
int i_rate;
static inline void input_ChangeStateWithVarCallback( input_thread_t *p_input, int state, bool callback )
{
- bool changed = (p_input->i_state != state);
+ const bool changed = p_input->i_state != state;
+
+ p_input->i_state = state;
+
+ input_item_SetHasErrorWhenReading( p_input->p->input.p_item, (state == ERROR_S) );
+
if( callback )
- var_SetInteger( p_input, "state", p_input->i_state = state );
+ {
+ var_SetInteger( p_input, "state", state );
+ }
else
{
vlc_value_t val;
- val.i_int = PLAYING_S;
+ val.i_int = state;
var_Change( p_input, "state", VLC_VAR_SETVALUE, &val, NULL );
}
if( changed )
/* UTF-16 and UTF-32 file reading */
vlc_iconv_t conv;
int i_char_width;
- bool b_little_endian;
+ bool b_little_endian;
};
#include <libvlc.h>