VLC 4.0.0-dev
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 bool vlc_demux_CanSeek (demux_t *demux)
 
static bool vlc_demux_CanPause (demux_t *demux)
 
static bool vlc_demux_CanPace (demux_t *demux)
 
static bool vlc_demux_CanRate (demux_t *demux)
 
static bool vlc_demux_CanRecord (demux_t *demux)
 
static bool vlc_demux_HasUnsupportedMeta (demux_t *demux)
 
static int vlc_demux_GetPtsDelay (demux_t *demux, vlc_tick_t *pts_delay)
 
static int vlc_demux_GetSeekpoint (demux_t *demux, int *seekpoint)
 
static int vlc_demux_GetSignal (demux_t *demux, double *quality, double *strength)
 
static int vlc_demux_GetTitle (demux_t *demux, int *title)
 
static int vlc_demux_GetMeta (demux_t *demux, vlc_meta_t *meta)
 
static int vlc_demux_GetType (demux_t *demux, int *type)
 
static int vlc_demux_GetTitleInfo (demux_t *demux, input_title_t ***title_info, int *size, int *pi_title_offset, int *pi_seekpoint_offset)
 
static int vlc_demux_GetPosition (demux_t *demux, double *position)
 
static int vlc_demux_GetLength (demux_t *demux, vlc_tick_t *length)
 
static int vlc_demux_GetTime (demux_t *demux, vlc_tick_t *time)
 
static int vlc_demux_GetNormalTime (demux_t *demux, vlc_tick_t *normal_time)
 
static int vlc_demux_GetFPS (demux_t *demux, double *fps)
 
static int vlc_demux_GetAttachments (demux_t *demux, input_attachment_t ***attachments)
 
static int vlc_demux_SetPauseState (demux_t *demux, bool pause_state)
 
static int vlc_demux_SetSeekPoint (demux_t *demux, int seekpoint)
 
static int vlc_demux_SetTitle (demux_t *demux, int title)
 
static int vlc_demux_SetRate (demux_t *demux, float rate)
 
static int vlc_demux_SetRecordState (demux_t *demux, bool record_state, const char *dir_path, const char *ext)
 
static int vlc_demux_NavActivate (demux_t *demux)
 
static int vlc_demux_NavUp (demux_t *demux)
 
static int vlc_demux_NavDown (demux_t *demux)
 
static int vlc_demux_NavLeft (demux_t *demux)
 
static int vlc_demux_NavRight (demux_t *demux)
 
static int vlc_demux_NavPopup (demux_t *demux)
 
static int vlc_demux_NavMenu (demux_t *demux)
 
static int vlc_demux_FilterEnable (demux_t *demux)
 
static int vlc_demux_FilterDisable (demux_t *demux)
 
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 (vlc_object_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.