VLC  4.0.0-dev
Data Structures | Macros | Functions
demux.c File Reference
Include dependency graph for demux.c:

Data Structures

struct  demux_mapping
struct  vlc_demux_private


#define static_control_match(foo)   static_assert((unsigned) DEMUX_##foo == STREAM_##foo, "Mismatch")


static int demux_mapping_cmp (const void *k, const void *v)
static demux_mappingdemux_lookup (char const *key, demux_mapping *data, size_t size)
static const char * demux_NameFromMimeType (const char *mime)
static const char * DemuxNameFromExtension (char const *ext, bool b_preparsing)
demux_tdemux_New (vlc_object_t *p_obj, const char *psz_name, stream_t *s, es_out_t *out)
static void demux_DestroyDemux (demux_t *demux)
static int demux_Probe (void *func, bool forced, va_list ap)
demux_tdemux_NewAdvanced (vlc_object_t *p_obj, input_thread_t *p_input, const char *psz_demux, const char *url, stream_t *s, es_out_t *out, bool b_preparsing)
int demux_vaControl (demux_t *demux, int query, va_list args)
int demux_vaControlHelper (stream_t *s, int64_t i_start, int64_t i_end, int64_t i_bitrate, int i_align, int i_query, va_list args)
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...
unsigned demux_TestAndClearFlags (demux_t *p_demux, unsigned flags)
int demux_GetTitle (demux_t *p_demux)
int demux_GetSeekpoint (demux_t *p_demux)
static demux_tdemux_FilterNew (demux_t *p_next, const char *p_name)
demux_tdemux_FilterChainNew (demux_t *p_demux, const char *psz_chain)
 Builds an explicit chain of demux filters. More...
static bool demux_filter_enable_disable (demux_t *p_demux, const char *psz_demux, bool b_enable)
bool demux_FilterEnable (demux_t *p_demux_chain, const char *psz_demux)
bool demux_FilterDisable (demux_t *p_demux_chain, const char *psz_demux)

Macro Definition Documentation

◆ static_control_match

#define static_control_match (   foo)    static_assert((unsigned) DEMUX_##foo == STREAM_##foo, "Mismatch")

Referenced by demux_vaControlHelper().

Function Documentation

◆ demux_DestroyDemux()

static void demux_DestroyDemux ( demux_t demux)

◆ demux_filter_enable_disable()

static bool demux_filter_enable_disable ( demux_t p_demux,
const char *  psz_demux,
bool  b_enable 

◆ demux_FilterChainNew()

demux_t* demux_FilterChainNew ( demux_t source,
const char *  list 

Builds an explicit chain of demux filters.

This function creates a chain of filters according to a supplied list.

See also stream_FilterChainNew(). Those two functions have identical semantics and ownership rules, except for the use of demux vs stream.

sourceinput stream around which to build a filter chain
listcolon-separated list of stream filters (upstream first)
Like stream_FilterAutoNew(), this function takes ownership of the source input stream, and transfers it to the first demux filter in the constructed chain. Any use of the source after the function call is invalid and undefined (unless the chain ends up empty).
The last demux (filter) in the chain. The return value is always a valid (non-NULL) demux pointer.

References config_ChainCreate(), config_ChainDestroy(), demux_FilterNew(), psz_name, and strdup().

Referenced by ControlInsertDemuxFilter(), and InputSourceInit().

◆ demux_FilterDisable()

bool demux_FilterDisable ( demux_t p_demux_chain,
const char *  psz_demux 

References demux_filter_enable_disable().

Referenced by Control().

◆ demux_FilterEnable()

bool demux_FilterEnable ( demux_t p_demux_chain,
const char *  psz_demux 

References demux_filter_enable_disable().

Referenced by Control().

◆ demux_FilterNew()

static demux_t* demux_FilterNew ( demux_t p_next,
const char *  p_name 

◆ demux_GetSeekpoint()

int demux_GetSeekpoint ( demux_t p_demux)

◆ demux_GetTitle()

int demux_GetTitle ( demux_t p_demux)

◆ demux_lookup()

static demux_mapping* demux_lookup ( char const *  key,
demux_mapping data,
size_t  size 

◆ demux_mapping_cmp()

static int demux_mapping_cmp ( const void *  k,
const void *  v 

References demux_mapping::key, and vlc_ascii_strcasecmp().

Referenced by demux_lookup().

◆ demux_NameFromMimeType()

static const char* demux_NameFromMimeType ( const char *  mime)

◆ demux_NewAdvanced()

demux_t* demux_NewAdvanced ( vlc_object_t p_obj,
input_thread_t p_input,
const char *  psz_demux,
const char *  url,
stream_t s,
es_out_t out,
bool  b_preparsing 

◆ demux_Probe()

static int demux_Probe ( void *  func,
bool  forced,
va_list  ap 

◆ demux_TestAndClearFlags()

unsigned demux_TestAndClearFlags ( demux_t p_demux,
unsigned  flags 

◆ DemuxNameFromExtension()

static const char* DemuxNameFromExtension ( char const *  ext,
bool  b_preparsing