VLC 4.0.0-dev
|
Data Structures | |
struct | vlc_stream_filter_private |
Functions | |
static void | StreamDelete (stream_t *s) |
stream_t * | vlc_stream_FilterNew (stream_t *p_source, const char *psz_stream_filter) |
Try to add a stream filter to an open stream. More... | |
stream_t * | stream_FilterAutoNew (stream_t *p_source) |
Probes stream filters automatically. More... | |
stream_t * | stream_FilterChainNew (stream_t *p_source, const char *psz_chain) |
Builds an explicit chain of stream filters. More... | |
Probes stream filters automatically.
This function automatically and repeatedly probes for applicable stream filters to append downstream of an existing stream. Any such filter will convert the stream into another stream, e.g. decompressing it or extracting the list of contained files (playlist).
This function transfers ownership of the supplied stream to the following stream filter, of the first stream filter to the second stream filter, and so on. Any attempt to access the original stream filter directly is explicitly undefined.
If, and only if, no filters were probed successfully, a pointer to the unchanged source stream will be returned. Otherwise, this returns a stream filter. The return value is thus guaranteed to be non-NULL.
source | input stream around which to build a filter chain |
References msg_Dbg, and vlc_stream_FilterNew().
Referenced by InputDemuxNew(), and vlc_stream_NewURL().
Builds an explicit chain of stream filters.
This function creates a chain of filters according to a supplied list.
See also stream_FilterAutoNew(). Those two functions have identical semantics; the only difference lies in how the list of probed filters is determined (manually versus automatically).
If the list is empty, or if probing each of the requested filters failed, this function will return a pointer to the supplied source stream.
source | input stream around which to build a filter chain |
list | colon-separated list of stream filters (upstream first) |
References msg_Warn, name, strdup(), strtok_r(), unlikely, and vlc_stream_FilterNew().
Referenced by InputDemuxNew(), se_AttachWrapper(), and stream_AccessNew().
|
static |
References vlc_stream_filter_private::module, module_unneed, stream_t::psz_filepath, stream_t::s, vlc_stream_Delete(), and vlc_stream_Private().
Referenced by vlc_stream_FilterNew().