VLC 4.0.0-dev
|
#include <vlc_stream.h>
Data Fields | |
struct vlc_object_t | obj |
char * | psz_name |
char * | psz_url |
Full URL or MRL (can be NULL) More... | |
const char * | psz_location |
Location (URL with the scheme stripped) More... | |
char * | psz_filepath |
Local file path (if applicable) More... | |
bool | b_preparsing |
True if this access is used to preparse. More... | |
input_item_t * | p_input_item |
Input item (can be NULL) More... | |
stream_t * | s |
Input stream. More... | |
es_out_t * | out |
ssize_t(* | pf_read )(stream_t *, void *buf, size_t len) |
Read data. More... | |
block_t *(* | pf_block )(stream_t *, bool *restrict eof) |
Read data block. More... | |
int(* | pf_readdir )(stream_t *, input_item_node_t *) |
Read directory. More... | |
int(* | pf_demux )(stream_t *) |
int(* | pf_seek )(stream_t *, uint64_t) |
Seek. More... | |
int(* | pf_control )(stream_t *, int i_query, va_list) |
Stream control. More... | |
const struct vlc_stream_operations * | ops |
Implementation of the Stream/Demux API. More... | |
void * | p_sys |
Private data pointer. More... | |
stream_t definition
bool stream_t::b_preparsing |
True if this access is used to preparse.
Referenced by access_New(), demux_NewAdvanced(), and vlc_stream_CustomNew().
struct vlc_object_t stream_t::obj |
Referenced by demux_Probe().
const struct vlc_stream_operations* stream_t::ops |
Implementation of the Stream/Demux API.
If NULL all operations will be redirected to stream_t::pf_control.
Referenced by demux_Demux(), demux_NewAdvanced(), demux_ReadDir(), demux_vaControl(), InputDemuxNew(), InputSourceInit(), MainLoop(), stream_AccessNew(), vlc_stream_CustomNew(), vlc_stream_Delete(), vlc_stream_FilterNew(), vlc_stream_ReadBlock(), vlc_stream_ReadDir(), vlc_stream_ReadLine(), vlc_stream_ReadRaw(), vlc_stream_Seek(), and vlc_stream_vaControl().
es_out_t* stream_t::out |
input_item_t* stream_t::p_input_item |
Input item (can be NULL)
Referenced by access_New(), demux_Demux(), demux_FilterNew(), demux_NewAdvanced(), se_AttachWrapper(), stream_AccessNew(), vlc_stream_CustomNew(), and vlc_stream_FilterNew().
void* stream_t::p_sys |
Private data pointer.
Referenced by AStreamControl(), AStreamDestroy(), AStreamReadBlock(), AStreamReadStream(), AStreamSeek(), Close(), Control(), demux_FilterNew(), demux_NewAdvanced(), FileControl(), FileRead(), FileSeek(), LiveControl(), LiveRead(), Open(), OpenSDP(), OpenURL(), se_AttachWrapper(), se_ReadDir(), se_StreamBlock(), se_StreamControl(), se_StreamRead(), se_StreamSeek(), stream_AccessNew(), and vlc_stream_CustomNew().
Read data block.
Callback to read a block of data. The data is read into a block of memory allocated by the stream. For some streams, data can be read more efficiently in block of a certain size, and/or using a custom allocator for buffers. In such case, this callback should be provided instead of stream_t::pf_read; otherwise, this should be NULL.
This is the legacy implementor, using vlc_stream_operations should be prefered.
eof | storage space for end-of-stream flag [OUT] (*eof is always false when invoking pf_block(); pf_block() should set *eof to true if it detects the end of the stream) |
Referenced by InputDemuxNew(), Open(), se_InitStream(), stream_AccessNew(), vlc_stream_CustomNew(), vlc_stream_fifo_New(), vlc_stream_FilterNew(), vlc_stream_ReadBlock(), vlc_stream_ReadLine(), and vlc_stream_ReadRaw().
int(* stream_t::pf_control) (stream_t *, int i_query, va_list) |
Stream control.
Legacy way of implementing callbacks. vlc_stream_operations should be prefered.
Referenced by access_New(), demux_NewAdvanced(), demux_vaControl(), Open(), OpenSDP(), OpenURL(), se_InitDirectory(), se_InitStream(), stream_AccessNew(), vlc_stream_AttachmentNew(), vlc_stream_CustomNew(), vlc_stream_fifo_New(), vlc_stream_MemoryNew(), and vlc_stream_vaControl().
int(* stream_t::pf_demux) (stream_t *) |
Referenced by demux_Demux(), demux_NewAdvanced(), InputSourceInit(), MainLoop(), OpenSDP(), OpenURL(), and vlc_stream_CustomNew().
ssize_t(* stream_t::pf_read) (stream_t *, void *buf, size_t len) |
Read data.
Callback to read data from the stream into a caller-supplied buffer.
This is the legacy implementor, using vlc_stream_operations should be prefered.
This may be NULL if the stream is actually a directory rather than a byte stream, or if stream_t::pf_block is non-NULL.
buf | buffer to read data into |
len | buffer length (in bytes) |
-1 | no data available yet |
0 | end of stream (incl. fatal error) |
positive | number of bytes read (no more than len) |
Referenced by InputDemuxNew(), Open(), se_InitStream(), stream_AccessNew(), vlc_stream_AttachmentNew(), vlc_stream_CustomNew(), vlc_stream_FilterNew(), vlc_stream_MemoryNew(), vlc_stream_ReadBlock(), vlc_stream_ReadLine(), and vlc_stream_ReadRaw().
int(* stream_t::pf_readdir) (stream_t *, input_item_node_t *) |
Read directory.
Callback to fill an item node from a directory (see doc/browsing.txt for details).
This is the legacy implementor, using vlc_stream_operations should be prefered.
NULL if the stream is not a directory.
Referenced by demux_Demux(), demux_NewAdvanced(), demux_ReadDir(), InputDemuxNew(), MainLoop(), Preparse(), se_InitDirectory(), vlc_stream_CustomNew(), and vlc_stream_ReadDir().
int(* stream_t::pf_seek) (stream_t *, uint64_t) |
Seek.
Callback to set the stream pointer (in bytes from start).
This is the legacy implementor, using vlc_stream_operations should be prefered.
May be NULL if seeking is not supported.
Referenced by Open(), se_InitStream(), stream_AccessNew(), vlc_stream_AttachmentNew(), vlc_stream_CustomNew(), vlc_stream_fifo_New(), vlc_stream_MemoryNew(), and vlc_stream_Seek().
char* stream_t::psz_filepath |
Local file path (if applicable)
Referenced by access_New(), demux_DestroyDemux(), demux_FilterNew(), demux_IsPathExtension(), demux_NewAdvanced(), stream_HasExtension(), StreamDelete(), vlc_access_Destroy(), vlc_stream_CustomNew(), and vlc_stream_FilterNew().
const char* stream_t::psz_location |
Location (URL with the scheme stripped)
Referenced by access_New(), accessNewAttachment(), demux_FilterNew(), demux_IsPathExtension(), demux_NewAdvanced(), OpenURL(), and vlc_stream_CustomNew().
char* stream_t::psz_name |
char* stream_t::psz_url |
Full URL or MRL (can be NULL)
Referenced by access_New(), accessNewAttachment(), demux_FilterNew(), demux_NewAdvanced(), Open(), se_InitDirectory(), se_InitStream(), stream_AccessNew(), stream_CommonDelete(), stream_HasExtension(), vlc_stream_CustomNew(), vlc_stream_extractor_CreateMRL(), and vlc_stream_FilterNew().
stream_t* stream_t::s |
Input stream.
Depending on the module capability:
Referenced by demux_DestroyDemux(), demux_FilterNew(), demux_IsContentType(), demux_NewAdvanced(), demux_Probe(), demux_UpdateTitleFromStream(), OpenSDP(), StreamDelete(), vlc_stream_CustomNew(), and vlc_stream_FilterNew().