VLC  3.0.21
Data Structures | Macros | Typedefs | Functions
demux.c File Reference
Include dependency graph for demux.c:

Data Structures

struct  demux_mapping
 
struct  demux_priv_t
 

Macros

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

Typedefs

typedef struct demux_priv_t demux_priv_t
 

Functions

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, const char *psz_location, stream_t *s, es_out_t *out)
 
static void demux_DestroyDemux (demux_t *demux)
 
static void demux_DestroyAccessDemux (demux_t *demux)
 
static void demux_DestroyDemuxFilter (demux_t *demux)
 
static int demux_Probe (void *func, va_list ap)
 
demux_tdemux_NewAdvanced (vlc_object_t *p_obj, input_thread_t *p_parent_input, const char *psz_access, const char *psz_demux, const char *psz_location, stream_t *s, es_out_t *out, bool b_preparsing)
 
void demux_Delete (demux_t *p_demux)
 
static int demux_ControlInternal (demux_t *demux, int query,...)
 
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_chain, 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")

Typedef Documentation

◆ demux_priv_t

typedef struct demux_priv_t demux_priv_t

Function Documentation

◆ demux_ControlInternal()

static int demux_ControlInternal ( demux_t demux,
int  query,
  ... 
)
static

References demux_t::pf_control.

◆ demux_DestroyAccessDemux()

static void demux_DestroyAccessDemux ( demux_t demux)
static

References demux_t::s.

Referenced by demux_NewAdvanced().

◆ demux_DestroyDemux()

static void demux_DestroyDemux ( demux_t demux)
static

References demux_t::s, and vlc_stream_Delete().

Referenced by demux_NewAdvanced().

◆ demux_DestroyDemuxFilter()

static void demux_DestroyDemuxFilter ( demux_t demux)
static

References demux_Delete(), and demux_t::p_next.

◆ demux_filter_enable_disable()

static bool demux_filter_enable_disable ( demux_t p_demux_chain,
const char *  psz_demux,
bool  b_enable 
)
static

Referenced by demux_FilterDisable().

◆ 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.

Parameters
sourceinput stream around which to build a filter chain
listcolon-separated list of stream filters (upstream first)
Returns
The last demux (filter) in the chain. The return value is always a valid (non-NULL) demux pointer.

◆ demux_FilterDisable()

bool demux_FilterDisable ( demux_t p_demux_chain,
const char *  psz_demux 
)

◆ demux_FilterEnable()

bool demux_FilterEnable ( demux_t p_demux_chain,
const char *  psz_demux 
)

◆ demux_FilterNew()

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

◆ demux_GetSeekpoint()

int demux_GetSeekpoint ( demux_t p_demux)

< No error

◆ demux_GetTitle()

int demux_GetTitle ( demux_t p_demux)

< No error

◆ demux_lookup()

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

References demux_mapping_cmp().

Referenced by DemuxNameFromExtension().

◆ demux_mapping_cmp()

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

References entry::key, and vlc_ascii_strcasecmp().

Referenced by demux_lookup().

◆ demux_NameFromMimeType()

static const char* demux_NameFromMimeType ( const char *  mime)
static

Referenced by demux_NewAdvanced().

◆ demux_NewAdvanced()

demux_t* demux_NewAdvanced ( vlc_object_t p_obj,
input_thread_t p_parent_input,
const char *  psz_access,
const char *  psz_demux,
const char *  psz_location,
stream_t s,
es_out_t out,
bool  b_preparsing 
)

◆ demux_Probe()

static int demux_Probe ( void *  func,
va_list  ap 
)
static

< Unspecified error

References msg_Err, demux_t::s, VLC_EGENERIC, VLC_OBJECT, vlc_stream_Seek(), and vlc_stream_Tell().

Referenced by demux_NewAdvanced().

◆ demux_TestAndClearFlags()

unsigned demux_TestAndClearFlags ( demux_t p_demux,
unsigned  flags 
)

< No error

Referenced by MainLoopDemux().

◆ DemuxNameFromExtension()

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