VLC  2.2.0-git
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
Demux

Data Structures

struct  demux_t
struct  demux_meta_t

Macros

#define INPUT_UPDATE_TITLE   0x0010
#define INPUT_UPDATE_SEEKPOINT   0x0020
#define INPUT_UPDATE_META   0x0040
#define INPUT_UPDATE_TITLE_LIST   0x0100
#define DEMUX_INIT_COMMON()

Typedefs

typedef struct demux_meta_t demux_meta_t

Enumerations

enum  demux_query_e {
  DEMUX_GET_POSITION, DEMUX_SET_POSITION, DEMUX_GET_LENGTH, DEMUX_GET_TIME,
  DEMUX_SET_TIME, DEMUX_GET_TITLE_INFO, DEMUX_SET_TITLE, DEMUX_SET_SEEKPOINT,
  DEMUX_SET_GROUP, DEMUX_SET_ES, DEMUX_SET_NEXT_DEMUX_TIME, DEMUX_GET_FPS,
  DEMUX_GET_META, DEMUX_HAS_UNSUPPORTED_META, DEMUX_GET_ATTACHMENTS, DEMUX_CAN_RECORD,
  DEMUX_SET_RECORD_STATE, DEMUX_GET_SIGNAL, DEMUX_CAN_PAUSE = 0x1000, DEMUX_SET_PAUSE_STATE,
  DEMUX_GET_PTS_DELAY, DEMUX_CAN_CONTROL_PACE, DEMUX_CAN_CONTROL_RATE, DEMUX_SET_RATE,
  DEMUX_CAN_SEEK, DEMUX_NAV_ACTIVATE, DEMUX_NAV_UP, DEMUX_NAV_DOWN,
  DEMUX_NAV_LEFT, DEMUX_NAV_RIGHT
}

Functions

int demux_vaControlHelper (stream_t *, int64_t i_start, int64_t i_end, int64_t i_bitrate, int i_align, int i_query, va_list args)
static void demux_UpdateTitleFromStream (demux_t *demux)
static bool demux_IsPathExtension (demux_t *p_demux, const char *psz_extension)
static bool demux_IsForced (demux_t *p_demux, const char *psz_name)
decoder_tdemux_PacketizerNew (demux_t *p_demux, es_format_t *p_fmt, const char *psz_msg)
 This function will create a packetizer suitable for a demuxer that parses elementary stream.
void demux_PacketizerDestroy (decoder_t *p_packetizer)
 This function will destroy a packetizer create by demux_PacketizerNew.
input_thread_tdemux_GetParentInput (demux_t *p_demux)
 This function will return the parent input of this demux.

Detailed Description

Macro Definition Documentation

#define DEMUX_INIT_COMMON ( )
Value:
do { \
p_demux->pf_control = Control; \
p_demux->pf_demux = Demux; \
p_demux->p_sys = calloc( 1, sizeof( demux_sys_t ) ); \
if( !p_demux->p_sys ) return VLC_ENOMEM;\
} while(0)
#define INPUT_UPDATE_META   0x0040

Referenced by UpdateGenericFromDemux().

#define INPUT_UPDATE_SEEKPOINT   0x0020
#define INPUT_UPDATE_TITLE   0x0010
#define INPUT_UPDATE_TITLE_LIST   0x0100

Referenced by MainLoopDemux().

Typedef Documentation

typedef struct demux_meta_t demux_meta_t

Enumeration Type Documentation

Enumerator:
DEMUX_GET_POSITION 
DEMUX_SET_POSITION 
DEMUX_GET_LENGTH 
DEMUX_GET_TIME 
DEMUX_SET_TIME 
DEMUX_GET_TITLE_INFO 
DEMUX_SET_TITLE 
DEMUX_SET_SEEKPOINT 
DEMUX_SET_GROUP 
DEMUX_SET_ES 
DEMUX_SET_NEXT_DEMUX_TIME 
DEMUX_GET_FPS 
DEMUX_GET_META 
DEMUX_HAS_UNSUPPORTED_META 
DEMUX_GET_ATTACHMENTS 
DEMUX_CAN_RECORD 
DEMUX_SET_RECORD_STATE 
DEMUX_GET_SIGNAL 
DEMUX_CAN_PAUSE 
DEMUX_SET_PAUSE_STATE 
DEMUX_GET_PTS_DELAY 
DEMUX_CAN_CONTROL_PACE 
DEMUX_CAN_CONTROL_RATE 
DEMUX_SET_RATE 
DEMUX_CAN_SEEK 
DEMUX_NAV_ACTIVATE 
DEMUX_NAV_UP 
DEMUX_NAV_DOWN 
DEMUX_NAV_LEFT 
DEMUX_NAV_RIGHT 

Function Documentation

input_thread_t* demux_GetParentInput ( demux_t p_demux)

This function will return the parent input of this demux.

It is retained. Can return NULL.

References demux_t::p_input, and vlc_object_hold.

static bool demux_IsForced ( demux_t p_demux,
const char *  psz_name 
)
inlinestatic

References demux_t::psz_demux.

static bool demux_IsPathExtension ( demux_t p_demux,
const char *  psz_extension 
)
inlinestatic
void demux_PacketizerDestroy ( decoder_t p_packetizer)

This function will destroy a packetizer create by demux_PacketizerNew.

References es_format_Clean(), decoder_t::fmt_in, module_unneed, decoder_t::p_description, decoder_t::p_module, vlc_meta_Delete(), and vlc_object_release.

decoder_t* demux_PacketizerNew ( demux_t p_demux,
es_format_t p_fmt,
const char *  psz_msg 
)

This function will create a packetizer suitable for a demuxer that parses elementary stream.

The provided es_format_t will be cleaned on error or by demux_PacketizerDestroy.

References es_format_t::b_packetized, es_format_Clean(), es_format_Init(), decoder_t::fmt_in, decoder_t::fmt_out, module_need, msg_Err, decoder_t::p_module, decoder_t::pf_decode_audio, decoder_t::pf_decode_sub, decoder_t::pf_decode_video, decoder_t::pf_packetize, UNKNOWN_ES, vlc_custom_create, and vlc_object_release.

static void demux_UpdateTitleFromStream ( demux_t demux)
inlinestatic
int demux_vaControlHelper ( stream_t ,
int64_t  i_start,
int64_t  i_end,
int64_t  i_bitrate,
int  i_align,
int  i_query,
va_list  args 
)

< No error

< Unspecified error

< No error

< Unspecified error

< No error

< Unspecified error

< Unspecified error

< No error

< Unspecified error

< Unspecified error

< No error

< Unspecified error

< Unspecified error

< Unspecified error

References DEMUX_CAN_RECORD, DEMUX_GET_ATTACHMENTS, DEMUX_GET_FPS, DEMUX_GET_LENGTH, DEMUX_GET_META, DEMUX_GET_POSITION, DEMUX_GET_PTS_DELAY, DEMUX_GET_SIGNAL, DEMUX_GET_TIME, DEMUX_GET_TITLE_INFO, DEMUX_HAS_UNSUPPORTED_META, DEMUX_SET_ES, DEMUX_SET_GROUP, DEMUX_SET_NEXT_DEMUX_TIME, DEMUX_SET_POSITION, DEMUX_SET_RECORD_STATE, DEMUX_SET_TIME, msg_Err, STREAM_GET_META, stream_Seek(), stream_Size(), stream_Tell(), stream_vaControl(), VLC_EGENERIC, and VLC_SUCCESS.