input.c File Reference

Include dependency graph for input.c:


Defines

#define INIT_COUNTER(c, type, compute)
#define EXIT_COUNTER(c)
#define CL_CO(c)   stats_CounterClean( p_input->p->counters.p_##c ); p_input->p->counters.p_##c = NULL;
#define GET_META(field, s)

Functions

static void Destructor (input_thread_t *p_input)
 Input destructor (called when the object's refcount reaches 0).
static void * Run (vlc_object_t *p_this)
static void * RunAndDestroy (vlc_object_t *p_this)
static input_thread_tCreate (vlc_object_t *, input_item_t *, const char *, bool, sout_instance_t *)
static int Init (input_thread_t *p_input)
static void WaitDie (input_thread_t *p_input)
static void End (input_thread_t *p_input)
static void MainLoop (input_thread_t *p_input)
static int ControlPopNoLock (input_thread_t *, int *, vlc_value_t *)
static void ControlReduce (input_thread_t *)
static bool Control (input_thread_t *, int, vlc_value_t)
static int UpdateFromAccess (input_thread_t *)
static int UpdateFromDemux (input_thread_t *)
static void UpdateItemLength (input_thread_t *, int64_t i_length)
static void MRLSections (input_thread_t *, char *, int *, int *, int *, int *)
static input_source_tInputSourceNew (input_thread_t *)
static int InputSourceInit (input_thread_t *, input_source_t *, const char *, const char *psz_forced_demux)
static void InputSourceClean (input_source_t *)
static void SlaveDemux (input_thread_t *p_input)
static void SlaveSeek (input_thread_t *p_input)
static void InputMetaUser (input_thread_t *p_input, vlc_meta_t *p_meta)
static void InputUpdateMeta (input_thread_t *p_input, vlc_meta_t *p_meta)
static void DemuxMeta (input_thread_t *p_input, vlc_meta_t *p_meta, demux_t *p_demux)
static void AccessMeta (input_thread_t *p_input, vlc_meta_t *p_meta)
static void AppendAttachment (int *pi_attachment, input_attachment_t ***ppp_attachment, int i_new, input_attachment_t **pp_new)
input_thread_t__input_CreateThread (vlc_object_t *p_parent, input_item_t *p_item)
 Initialize an input thread and run it.
input_thread_t__input_CreateThreadExtended (vlc_object_t *p_parent, input_item_t *p_item, const char *psz_log, sout_instance_t *p_sout)
int __input_Read (vlc_object_t *p_parent, input_item_t *p_item, bool b_block)
 Initialize an input thread and run it.
int __input_Preparse (vlc_object_t *p_parent, input_item_t *p_item)
 Initialize an input and initialize it to preparse the item This function is blocking.
static void ObjectKillChildrens (input_thread_t *p_input, vlc_object_t *p_obj)
 Request a running input thread to stop and die.
void input_StopThread (input_thread_t *p_input)
sout_instance_tinput_DetachSout (input_thread_t *p_input)
static void InitStatistics (input_thread_t *p_input)
static void InitTitle (input_thread_t *p_input)
static void StartTitle (input_thread_t *p_input)
static void InitPrograms (input_thread_t *p_input)
void MRLSplit (char *psz_dup, const char **ppsz_access, const char **ppsz_demux, char **ppsz_path)
static bool next (char **src)
bool input_AddSubtitles (input_thread_t *p_input, char *psz_subtitle, bool b_check_extension)
vlc_event_manager_tinput_get_event_manager (input_thread_t *p_input)

Define Documentation

#define CL_CO (  )     stats_CounterClean( p_input->p->counters.p_##c ); p_input->p->counters.p_##c = NULL;

#define EXIT_COUNTER (  ) 

Value:

do { if( p_input->p->counters.p_##c ) \
                                   stats_CounterClean( p_input->p->counters.p_##c );\
                               p_input->p->counters.p_##c = NULL; } while(0)

#define GET_META ( field,
 ) 

Value:

var_Get( p_input, (s), &val );  \
    if( *val.psz_string ) \
        vlc_meta_Set( p_meta, vlc_meta_ ## field, val.psz_string ); \
    free( val.psz_string )

#define INIT_COUNTER ( c,
type,
compute   ) 

Value:

p_input->p->counters.p_##c = \
 stats_CounterCreate( p_input, VLC_VAR_##type, STATS_##compute);


Function Documentation

input_thread_t* __input_CreateThread ( vlc_object_t p_parent,
input_item_t p_item 
)

Initialize an input thread and run it.

You will need to monitor the thread to clean up after it is done

Parameters:
p_parent a vlc_object
p_item an input item
Returns:
a pointer to the spawned input thread

input_thread_t* __input_CreateThreadExtended ( vlc_object_t p_parent,
input_item_t p_item,
const char *  psz_log,
sout_instance_t p_sout 
)

int __input_Preparse ( vlc_object_t p_parent,
input_item_t p_item 
)

Initialize an input and initialize it to preparse the item This function is blocking.

It will only accept to parse files

Parameters:
p_parent a vlc_object_t
p_item an input item
Returns:
VLC_SUCCESS or an error

int __input_Read ( vlc_object_t p_parent,
input_item_t p_item,
bool  b_block 
)

Initialize an input thread and run it.

This thread will clean after itself, you can forget about it. It can work either in blocking or non-blocking mode

Parameters:
p_parent a vlc_object
p_item an input item
b_block should we block until read is finished ?
Returns:
the input object id if non blocking, an error code else

static void AccessMeta ( input_thread_t p_input,
vlc_meta_t p_meta 
) [static]

static void AppendAttachment ( int *  pi_attachment,
input_attachment_t ***  ppp_attachment,
int  i_new,
input_attachment_t **  pp_new 
) [static]

static bool Control ( input_thread_t ,
int  ,
vlc_value_t   
) [static]

static int ControlPopNoLock ( input_thread_t ,
int *  ,
vlc_value_t  
) [inline, static]

static void ControlReduce ( input_thread_t  )  [static]

static input_thread_t * Create ( vlc_object_t ,
input_item_t ,
const char *  ,
bool  ,
sout_instance_t  
) [static]

static void DemuxMeta ( input_thread_t p_input,
vlc_meta_t p_meta,
demux_t p_demux 
) [static]

static void Destructor ( input_thread_t p_input  )  [static]

Input destructor (called when the object's refcount reaches 0).

static void End ( input_thread_t p_input  )  [static]

static int Init ( input_thread_t p_input  )  [static]

static void InitPrograms ( input_thread_t p_input  )  [static]

static void InitStatistics ( input_thread_t p_input  )  [static]

static void InitTitle ( input_thread_t p_input  )  [static]

bool input_AddSubtitles ( input_thread_t p_input,
char *  psz_subtitle,
bool  b_check_extension 
)

sout_instance_t* input_DetachSout ( input_thread_t p_input  ) 

vlc_event_manager_t* input_get_event_manager ( input_thread_t p_input  ) 

void input_StopThread ( input_thread_t p_input  ) 

static void InputMetaUser ( input_thread_t p_input,
vlc_meta_t p_meta 
) [static]

static void InputSourceClean ( input_source_t  )  [static]

static int InputSourceInit ( input_thread_t ,
input_source_t ,
const char *  ,
const char *  psz_forced_demux 
) [static]

static input_source_t * InputSourceNew ( input_thread_t  )  [static]

static void InputUpdateMeta ( input_thread_t p_input,
vlc_meta_t p_meta 
) [static]

static void MainLoop ( input_thread_t p_input  )  [static]

static void MRLSections ( input_thread_t ,
char *  ,
int *  ,
int *  ,
int *  ,
int *   
) [static]

void MRLSplit ( char *  psz_dup,
const char **  ppsz_access,
const char **  ppsz_demux,
char **  ppsz_path 
)

static bool next ( char **  src  )  [inline, static]

static void ObjectKillChildrens ( input_thread_t p_input,
vlc_object_t p_obj 
) [static]

Request a running input thread to stop and die.

Parameters:
the input thread to stop

static void * Run ( vlc_object_t p_this  )  [static]

static void * RunAndDestroy ( vlc_object_t p_this  )  [static]

static void SlaveDemux ( input_thread_t p_input  )  [static]

static void SlaveSeek ( input_thread_t p_input  )  [static]

static void StartTitle ( input_thread_t p_input  )  [static]

static int UpdateFromAccess ( input_thread_t  )  [static]

static int UpdateFromDemux ( input_thread_t  )  [static]

static void UpdateItemLength ( input_thread_t ,
int64_t  i_length 
) [static]

static void WaitDie ( input_thread_t p_input  )  [static]


Generated on Wed Aug 13 08:05:24 2008 for VLC by  doxygen 1.5.1