VLC 4.0.0-dev
|
Go to the source code of this file.
Functions | |
stream_t * | vlc_stream_CustomNew (vlc_object_t *parent, void(*destroy)(stream_t *), size_t extra_size, const char *type_name) |
Allocates a VLC stream object. More... | |
void * | vlc_stream_Private (stream_t *stream) |
void | stream_CommonDelete (stream_t *s) |
stream_t * | vlc_stream_AttachmentNew (vlc_object_t *p_this, input_attachment_t *attachment) |
stream_t * | stream_AccessNew (vlc_object_t *, input_thread_t *, es_out_t *, bool, const char *) |
This function creates a raw stream_t from an URL. More... | |
stream_t * | stream_FilterAutoNew (stream_t *source) |
Probes stream filters automatically. More... | |
stream_t * | stream_FilterChainNew (stream_t *source, const char *list) |
Builds an explicit chain of stream filters. More... | |
int | stream_extractor_AttachParsed (stream_t **stream, const char *data, char const **out_extra) |
Attach Stream Extractors according to specified data. More... | |
stream_t * stream_AccessNew | ( | vlc_object_t * | parent, |
input_thread_t * | input, | ||
es_out_t * | out, | ||
bool | preparsing, | ||
const char * | url | ||
) |
This function creates a raw stream_t from an URL.
References access_New(), AStreamControl(), AStreamDestroy(), AStreamReadBlock(), AStreamReadStream(), AStreamSeek(), vlc_access_stream_private::input, input_GetItem(), stream_t::ops, stream_t::p_input_item, stream_t::p_sys, stream_t::pf_block, stream_t::pf_control, stream_t::pf_read, stream_t::pf_seek, stream_t::psz_url, strdup(), stream_FilterChainNew(), unlikely, VLC_OBJECT, vlc_object_delete, vlc_stream_CustomNew(), vlc_stream_Delete(), and vlc_stream_Private().
Referenced by InputDemuxNew(), and vlc_stream_NewURL().
void stream_CommonDelete | ( | stream_t * | s | ) |
References stream_priv_t::block, block_Release, stream_priv_t::conv, stream_priv_t::peek, stream_t::psz_url, stream_priv, stream_priv_t::text, vlc_iconv_close(), and vlc_object_delete.
Referenced by access_New(), demux_FilterNew(), demux_NewAdvanced(), se_AttachWrapper(), vlc_stream_AttachmentNew(), vlc_stream_Delete(), and vlc_stream_FilterNew().
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().
stream_t * vlc_stream_AttachmentNew | ( | vlc_object_t * | p_this, |
input_attachment_t * | attachment | ||
) |
References vlc_stream_attachment_private::attachment, Control(), input_attachment_t::i_data, vlc_stream_memory_private::i_pos, vlc_stream_memory_private::i_size, vlc_stream_attachment_private::memory, vlc_stream_memory_private::p_buffer, input_attachment_t::p_data, stream_t::pf_control, stream_t::pf_read, stream_t::pf_seek, stream_t::psz_name, Read(), Seek(), strdup(), stream_AttachmentDelete(), stream_CommonDelete(), unlikely, vlc_stream_CustomNew(), and vlc_stream_Private().
Referenced by accessNewAttachment().
stream_t * vlc_stream_CustomNew | ( | vlc_object_t * | parent, |
void(*)(stream_t *) | destroy, | ||
size_t | extra_size, | ||
const char * | type_name | ||
) |
Allocates a VLC stream object.
References stream_t::b_preparsing, stream_priv_t::block, stream_priv_t::char_width, stream_priv_t::conv, stream_priv_t::destroy, stream_priv_t::eof, stream_priv_t::little_endian, stream_priv_t::offset, stream_t::ops, stream_t::out, stream_t::p_input_item, stream_t::p_sys, stream_priv_t::peek, stream_t::pf_block, stream_t::pf_control, stream_t::pf_demux, stream_t::pf_read, stream_t::pf_readdir, stream_t::pf_seek, stream_t::psz_filepath, stream_t::psz_location, stream_t::psz_name, stream_t::psz_url, stream_t::s, stream_priv_t::stream, stream_priv_t::text, unlikely, and vlc_custom_create.
Referenced by access_New(), demux_FilterNew(), demux_NewAdvanced(), stream_AccessNew(), vlc_stream_AttachmentNew(), vlc_stream_CommonNew(), vlc_stream_fifo_New(), vlc_stream_FilterNew(), and vlc_stream_MemoryNew().
void * vlc_stream_Private | ( | stream_t * | stream | ) |
References stream_priv.
Referenced by access_New(), AStreamReadBlock(), AStreamReadStream(), Control(), demux_DestroyDemux(), demux_filter_enable_disable(), demux_FilterNew(), demux_NewAdvanced(), Read(), Seek(), stream_AccessNew(), stream_AttachmentDelete(), stream_MemoryDelete(), StreamDelete(), vlc_access_Destroy(), vlc_stream_AttachmentNew(), vlc_stream_fifo_New(), vlc_stream_fifo_Writer(), vlc_stream_FilterNew(), and vlc_stream_MemoryNew().