Demux


Data Structures

struct  demux_t
struct  demux_meta_t

Defines

#define DEMUX_INIT_COMMON()
#define STANDARD_DEMUX_INIT_MSG(msg)
#define DEMUX_BY_EXTENSION(ext)
#define DEMUX_BY_EXTENSION_MSG(ext, msg)
#define DEMUX_BY_EXTENSION_OR_FORCED(ext, module)
#define DEMUX_BY_EXTENSION_OR_FORCED_MSG(ext, module, msg)
#define CHECK_PEEK(zepeek, size)
#define CHECK_PEEK_GOTO(zepeek, size)
#define POKE(peek, stuff, size)   (strncasecmp( (const char *)peek, stuff, size )==0)
#define COMMON_INIT_PACKETIZER(location)
#define INIT_APACKETIZER(location, a, b, c, d)
#define INIT_VPACKETIZER(location, a, b, c, d)
#define LOAD_PACKETIZER_OR_FAIL(location, msg)
#define DESTROY_PACKETIZER(location)

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_NEXT_DEMUX_TIME, DEMUX_GET_FPS, DEMUX_GET_META,
  DEMUX_HAS_UNSUPPORTED_META, DEMUX_GET_ATTACHMENTS, 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
}

Functions

int demux_vaControlHelper (stream_t *, int64_t i_start, int64_t i_end, int i_bitrate, int i_align, int i_query, va_list args)
static bool demux_IsPathExtension (demux_t *p_demux, const char *psz_extension)
static bool demux_IsForced (demux_t *p_demux, const char *psz_name)

Define Documentation

#define CHECK_PEEK ( zepeek,
size   ) 

Value:

if( stream_Peek( p_demux->s , &zepeek, size ) < size ){ \
        msg_Dbg( p_demux, "not enough data" ); return VLC_EGENERIC; }

#define CHECK_PEEK_GOTO ( zepeek,
size   ) 

Value:

if( stream_Peek( p_demux->s , &zepeek, size ) < size ) { \
        msg_Dbg( p_demux, "not enough data" ); goto error; }

#define COMMON_INIT_PACKETIZER ( location   ) 

Value:

location = vlc_object_create( p_demux, VLC_OBJECT_PACKETIZER ); \
    location->pf_decode_audio = 0; \
    location->pf_decode_video = 0; \
    location->pf_decode_sub = 0; \
    location->pf_packetize = 0; \

#define DEMUX_BY_EXTENSION ( ext   ) 

Value:

demux_t *p_demux = (demux_t *)p_this; \
    if( !demux_IsPathExtension( p_demux, ext ) ) \
        return VLC_EGENERIC; \
    DEMUX_INIT_COMMON();

#define DEMUX_BY_EXTENSION_MSG ( ext,
msg   ) 

Value:

demux_t *p_demux = (demux_t *)p_this; \
    if( !demux_IsPathExtension( p_demux, ext ) ) \
        return VLC_EGENERIC; \
    STANDARD_DEMUX_INIT_MSG( msg );

#define DEMUX_BY_EXTENSION_OR_FORCED ( ext,
module   ) 

Value:

demux_t *p_demux = (demux_t *)p_this; \
    if( !demux_IsPathExtension( p_demux, ext ) && !demux_IsForced( p_demux, module ) ) \
        return VLC_EGENERIC; \
    DEMUX_INIT_COMMON();

#define DEMUX_BY_EXTENSION_OR_FORCED_MSG ( ext,
module,
msg   ) 

Value:

demux_t *p_demux = (demux_t *)p_this; \
    if( !demux_IsPathExtension( p_demux, ext ) && !demux_IsForced( p_demux, module ) ) \
        return VLC_EGENERIC; \
    STANDARD_DEMUX_INIT_MSG( msg );

 
#define DEMUX_INIT_COMMON (  ) 

Value:

do {            \
    p_demux->pf_control = Control;          \
    p_demux->pf_demux = Demux;              \
    MALLOC_ERR( p_demux->p_sys, demux_sys_t ); \
    memset( p_demux->p_sys, 0, sizeof( demux_sys_t ) ); } while(0)

#define DESTROY_PACKETIZER ( location   ) 

Value:

if( location->p_module ) module_Unneed( location, location->p_module ); \
    vlc_object_release( location );

#define INIT_APACKETIZER ( location,
a,
b,
c,
 ) 

Value:

COMMON_INIT_PACKETIZER(location ); \
    es_format_Init( &location->fmt_in, AUDIO_ES, \
                    VLC_FOURCC( a, b, c, d ) );

#define INIT_VPACKETIZER ( location,
a,
b,
c,
 ) 

Value:

COMMON_INIT_PACKETIZER(location ); \
    es_format_Init( &location->fmt_in, VIDEO_ES, \
                    VLC_FOURCC( a, b, c, d ) );

#define LOAD_PACKETIZER_OR_FAIL ( location,
msg   ) 

Value:

location->p_module = \
        module_Need( location, "packetizer", NULL, 0 ); \
    if( location->p_module == NULL ) \
    { \
        vlc_object_release( location ); \
        msg_Err( p_demux, "cannot find packetizer for " # msg ); \
        free( p_sys ); \
        return VLC_EGENERIC; \
    }

#define POKE ( peek,
stuff,
size   )     (strncasecmp( (const char *)peek, stuff, size )==0)

#define STANDARD_DEMUX_INIT_MSG ( msg   ) 

Value:

do { \
    DEMUX_INIT_COMMON();                    \
    msg_Dbg( p_demux, msg ); } while(0)


Enumeration Type Documentation

enum demux_query_e

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_NEXT_DEMUX_TIME 
DEMUX_GET_FPS 
DEMUX_GET_META 
DEMUX_HAS_UNSUPPORTED_META 
DEMUX_GET_ATTACHMENTS 
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 


Function Documentation

static bool demux_IsForced ( demux_t p_demux,
const char *  psz_name 
) [inline, static]

static bool demux_IsPathExtension ( demux_t p_demux,
const char *  psz_extension 
) [inline, static]

int demux_vaControlHelper ( stream_t ,
int64_t  i_start,
int64_t  i_end,
int  i_bitrate,
int  i_align,
int  i_query,
va_list  args 
)


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