VLC 4.0.0-dev
No Matches
demux.c File Reference
Include dependency graph for demux.c:

Data Structures

struct  demux_mapping
struct  vlc_demux_private
struct  packetizer_owner


#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 const char * demux_NameFromMimeType (const char *mime)
demux_tdemux_New (vlc_object_t *p_obj, const char *module, const char *url, 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 *module, const char *url, stream_t *s, es_out_t *out, bool b_preparsing)
static int demux_ReadDir (stream_t *s, input_item_node_t *p_node)
int demux_Demux (demux_t *demux)
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 (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.
void demux_PacketizerDestroy (decoder_t *p_packetizer)
 This function will destroy a packetizer create by demux_PacketizerNew.
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.
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")

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()

◆ demux_GetSeekpoint()

int demux_GetSeekpoint ( demux_t p_demux)

◆ demux_GetTitle()

int demux_GetTitle ( demux_t p_demux)

◆ demux_mapping_cmp()

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

◆ demux_NameFromMimeType()

static const char * demux_NameFromMimeType ( const char *  mime)

◆ demux_NewAdvanced()

◆ demux_Probe()

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

◆ demux_ReadDir()

static int demux_ReadDir ( stream_t s,
input_item_node_t p_node 

◆ demux_TestAndClearFlags()

unsigned demux_TestAndClearFlags ( demux_t p_demux,
unsigned  flags