VLC  4.0.0-dev
Data Structures | Macros | Typedefs | Enumerations | Functions
vlc_demux.h File Reference

Demultiplexer modules interface. More...

Include dependency graph for vlc_demux.h:

Go to the source code of this file.

Data Structures

struct  demux_meta_t
 

Macros

#define VLC_DEMUXER_EOF   0
 
#define VLC_DEMUXER_EGENERIC   -1
 
#define VLC_DEMUXER_SUCCESS   1
 
#define INPUT_UPDATE_TITLE   0x0010
 
#define INPUT_UPDATE_SEEKPOINT   0x0020
 
#define INPUT_UPDATE_META   0x0040
 
#define INPUT_UPDATE_TITLE_LIST   0x0100
 
#define add_file_extension(ext)   add_shortcut("ext-" ext)
 
#define demux_UpdateTitleFromStream(demux)
 
#define DEMUX_INIT_COMMON()
 

Typedefs

typedef struct demux_meta_t demux_meta_t
 
typedef struct vlc_demux_chained_t vlc_demux_chained_t
 

Enumerations

enum  demux_query_e {
  DEMUX_CAN_SEEK , DEMUX_CAN_PAUSE = 0x002 , DEMUX_CAN_CONTROL_PACE , DEMUX_GET_PTS_DELAY = 0x101 ,
  DEMUX_GET_META = 0x105 , DEMUX_GET_SIGNAL = 0x107 , DEMUX_GET_TYPE = 0x109 , DEMUX_SET_PAUSE_STATE = 0x200 ,
  DEMUX_SET_TITLE , DEMUX_SET_SEEKPOINT , DEMUX_TEST_AND_CLEAR_FLAGS , DEMUX_GET_TITLE ,
  DEMUX_GET_SEEKPOINT , DEMUX_GET_POSITION = 0x300 , DEMUX_SET_POSITION , DEMUX_GET_LENGTH ,
  DEMUX_GET_TIME , DEMUX_SET_TIME , DEMUX_GET_NORMAL_TIME , DEMUX_GET_TITLE_INFO ,
  DEMUX_SET_GROUP_DEFAULT , DEMUX_SET_GROUP_ALL , DEMUX_SET_GROUP_LIST , DEMUX_SET_ES ,
  DEMUX_SET_ES_LIST , DEMUX_SET_NEXT_DEMUX_TIME , DEMUX_GET_FPS , DEMUX_HAS_UNSUPPORTED_META ,
  DEMUX_GET_ATTACHMENTS , DEMUX_CAN_RECORD , DEMUX_SET_RECORD_STATE , DEMUX_CAN_CONTROL_RATE ,
  DEMUX_SET_RATE , DEMUX_NAV_ACTIVATE , DEMUX_NAV_UP , DEMUX_NAV_DOWN ,
  DEMUX_NAV_LEFT , DEMUX_NAV_RIGHT , DEMUX_NAV_POPUP , DEMUX_NAV_MENU ,
  DEMUX_FILTER_ENABLE , DEMUX_FILTER_DISABLE
}
 Control query identifiers for use with demux_t.pf_control. More...
 

Functions

demux_tdemux_New (vlc_object_t *p_obj, const char *module_name, const char *url, stream_t *s, es_out_t *out)
 
static void demux_Delete (demux_t *demux)
 
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)
 
int demux_Demux (demux_t *p_demux)
 
int demux_vaControl (demux_t *p_demux, int i_query, va_list args)
 
static int demux_Control (demux_t *p_demux, int i_query,...)
 
static void demux_UpdateTitleFromStream (demux_t *demux, int *restrict titlep, int *restrict seekpointp, unsigned *restrict updatep)
 
static bool demux_IsPathExtension (demux_t *p_demux, const char *psz_extension)
 
static bool demux_IsContentType (demux_t *demux, const char *type)
 
static bool demux_IsForced (demux_t *p_demux, const char *psz_name)
 
static int demux_SetPosition (demux_t *p_demux, double pos, bool precise, bool absolute)
 
static int demux_SetTime (demux_t *p_demux, vlc_tick_t time, bool precise, bool absolute)
 
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. More...
 
void demux_PacketizerDestroy (decoder_t *p_packetizer)
 This function will destroy a packetizer create by demux_PacketizerNew. More...
 
vlc_demux_chained_tvlc_demux_chained_New (vlc_object_t *parent, const char *name, es_out_t *out)
 Creates a chained demuxer. More...
 
void vlc_demux_chained_Delete (vlc_demux_chained_t *)
 Destroys a chained demuxer. More...
 
void vlc_demux_chained_Send (vlc_demux_chained_t *, block_t *block)
 Sends data to a chained demuxer. More...
 
int vlc_demux_chained_ControlVa (vlc_demux_chained_t *, int query, va_list args)
 Controls a chained demuxer. More...
 
static int vlc_demux_chained_Control (vlc_demux_chained_t *dc, int query,...)
 

Detailed Description

Demultiplexer modules interface.