VLC  3.0.0-git
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

◆ b_preparsing

bool stream_t::b_preparsing

True if this access is used to preparse.

Referenced by access_New().

◆ obj

struct vlc_common_members stream_t::obj

◆ p_input

input_thread_t* stream_t::p_input

◆ p_module

module_t* stream_t::p_module

◆ p_source

stream_t* stream_t::p_source

◆ p_sys

void* stream_t::p_sys

◆ pf_block

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(), se_InitStream(), stream_AccessNew(), vlc_stream_CommonNew(), vlc_stream_fifo_New(), vlc_stream_ReadBlock(), vlc_stream_ReadLine(), and vlc_stream_ReadRaw().

◆ pf_control

int(* stream_t::pf_control) (stream_t *, int i_query, va_list)

◆ pf_read

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(), se_InitStream(), stream_AccessNew(), vlc_stream_CommonNew(), vlc_stream_MemoryNew(), vlc_stream_ReadBlock(), vlc_stream_ReadLine(), and vlc_stream_ReadRaw().

◆ pf_readdir

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(), se_InitDirectory(), stream_AccessNew(), vlc_stream_CommonNew(), and vlc_stream_ReadDir().

◆ pf_seek

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(), se_InitStream(), stream_AccessNew(), vlc_stream_CommonNew(), vlc_stream_fifo_New(), vlc_stream_MemoryNew(), and vlc_stream_Seek().

◆ psz_filepath

char* stream_t::psz_filepath

Local file path (if applicable)

Referenced by access_New(), stream_HasExtension(), and vlc_access_Destroy().

◆ psz_location

const char* stream_t::psz_location

Location (URL with the scheme stripped)

Referenced by access_New().

◆ psz_name

char* stream_t::psz_name

Referenced by access_New(), and vlc_access_Destroy().

◆ psz_url

char* stream_t::psz_url

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