VLC  3.0.0-git
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Data Fields
stream_t Struct Reference

stream_t definition More...

Collaboration diagram for stream_t:
Collaboration graph
[legend]

Data Fields

struct vlc_common_members obj
 
module_tp_module
 
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...
 
stream_tp_source
 
ssize_t(* pf_read )(stream_t *, void *buf, size_t len)
 Read data. More...
 
block_t *(* pf_block )(stream_t *, bool *eof)
 Read data block. More...
 
int(* pf_readdir )(stream_t *, input_item_node_t *)
 Read directory. More...
 
int(* pf_seek )(stream_t *, uint64_t)
 Seek. More...
 
int(* pf_control )(stream_t *, int i_query, va_list)
 Stream control. More...
 
void * p_sys
 Private data pointer. More...
 
input_thread_tp_input
 

Detailed Description

stream_t definition

Field Documentation

bool stream_t::b_preparsing

True if this access is used to preparse.

Referenced by access_New().

struct vlc_common_members stream_t::obj

Referenced by vlc_stream_FilterNew().

input_thread_t* stream_t::p_input
module_t* stream_t::p_module
stream_t* stream_t::p_source
void* stream_t::p_sys
block_t*(* stream_t::pf_block)(stream_t *, bool *eof)

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.

Parameters
eofstorage 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)
Returns
a data block, NULL if no data available yet, on error and at end-of-stream

Referenced by Open(), stream_AccessNew(), vlc_stream_CommonNew(), vlc_stream_fifo_New(), vlc_stream_ReadBlock(), vlc_stream_ReadLine(), and vlc_stream_ReadRaw().

int(* stream_t::pf_control)(stream_t *, int i_query, va_list)
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 may be NULL if the stream is actually a directory rather than a byte stream, or if stream_t::pf_block is non-NULL.

Parameters
bufbuffer to read data into
lenbuffer length (in bytes)
Return values
-1no data available yet
0end of stream (incl. fatal error)
positivenumber of bytes read (no more than len)

Referenced by Open(), stream_AccessNew(), vlc_stream_CommonNew(), 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).

NULL if the stream is not a directory.

Referenced by AStreamReadDir(), stream_AccessNew(), vlc_stream_CommonNew(), and vlc_stream_ReadDir().

int(* stream_t::pf_seek)(stream_t *, uint64_t)

Seek.

Callback to set the stream pointer (in bytes from start).

May be NULL if seeking is not supported.

Referenced by Open(), stream_AccessNew(), vlc_stream_CommonNew(), 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(), and vlc_access_Destroy().

const char* stream_t::psz_location

Location (URL with the scheme stripped)

Referenced by access_New().

char* stream_t::psz_name

Referenced by access_New(), and vlc_access_Destroy().

char* stream_t::psz_url

The documentation for this struct was generated from the following file: