QVisu
Qt-based visualization for smart homes
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Stream

Classes

struct  stream_t
 

Macros

#define stream_MemoryNew(a, b, c, d)   stream_MemoryNew( VLC_OBJECT(a), b, c, d )
 
#define stream_UrlNew(a, b)   stream_UrlNew( VLC_OBJECT(a), b )
 

Typedefs

typedef struct stream_text_t stream_text_t
 

Enumerations

enum  stream_query_e {
  STREAM_CAN_SEEK, STREAM_CAN_FASTSEEK, STREAM_CAN_PAUSE, STREAM_CAN_CONTROL_PACE,
  STREAM_SET_POSITION, STREAM_GET_POSITION, STREAM_GET_SIZE, STREAM_CONTROL_ACCESS,
  STREAM_UPDATE_SIZE, STREAM_GET_TITLE_INFO = 0x102, STREAM_GET_META, STREAM_GET_CONTENT_TYPE,
  STREAM_GET_SIGNAL, STREAM_SET_PAUSE_STATE = 0x200, STREAM_SET_TITLE, STREAM_SET_SEEKPOINT,
  STREAM_SET_RECORD_STATE
}
 

Functions

VLC_API int stream_Read (stream_t *s, void *p_read, int i_read)
 
VLC_API int stream_Peek (stream_t *s, const uint8_t **pp_peek, int i_peek)
 
VLC_API int stream_vaControl (stream_t *s, int i_query, va_list args)
 
VLC_API void stream_Delete (stream_t *s)
 
VLC_API int stream_Control (stream_t *s, int i_query,...)
 
VLC_API block_tstream_Block (stream_t *s, int i_size)
 
VLC_API block_tstream_BlockRemaining (stream_t *s, int i_max_size)
 
VLC_API char * stream_ReadLine (stream_t *)
 
VLC_API stream_tstream_DemuxNew (demux_t *p_demux, const char *psz_demux, es_out_t *out)
 
VLC_API void stream_DemuxSend (stream_t *s, block_t *p_block)
 
VLC_API int stream_DemuxControlVa (stream_t *s, int, va_list)
 
VLC_API stream_tstream_MemoryNew (vlc_object_t *p_obj, uint8_t *p_buffer, uint64_t i_size, bool b_preserve_memory)
 
VLC_API stream_tstream_UrlNew (vlc_object_t *p_this, const char *psz_url)
 
VLC_API stream_tstream_FilterNew (stream_t *p_source, const char *psz_stream_filter)
 

Detailed Description

This will allow you to easily handle read/seek in demuxer modules.

Enumeration Type Documentation

Possible commands to send to stream_Control() and stream_vaControl()

Enumerator
STREAM_CAN_SEEK 

arg1= bool * res=cannot fail

STREAM_CAN_FASTSEEK 

arg1= bool * res=cannot fail

STREAM_CAN_PAUSE 

arg1= bool * res=cannot fail

STREAM_CAN_CONTROL_PACE 

arg1= bool * res=cannot fail

STREAM_SET_POSITION 

arg1= uint64_t res=can fail

STREAM_GET_POSITION 

arg1= uint64_t * res=cannot fail

STREAM_GET_SIZE 

arg1= uint64_t * res=cannot fail (0 if no sense)

STREAM_GET_TITLE_INFO 

arg1=input_title_t*** arg2=int* res=can fail

STREAM_GET_META 

arg1= vlc_meta_t ** res=can fail

STREAM_GET_CONTENT_TYPE 

arg1= char ** res=can fail

STREAM_GET_SIGNAL 

arg1=double *pf_quality, arg2=double *pf_strength res=can fail

STREAM_SET_PAUSE_STATE 

arg1= bool res=can fail

STREAM_SET_TITLE 

arg1= int res=can fail

STREAM_SET_SEEKPOINT 

arg1= int res=can fail

STREAM_SET_RECORD_STATE 

arg1=bool, arg2=const char *psz_ext (if arg1 is true) res=can fail

Function Documentation

VLC_API int stream_DemuxControlVa ( stream_t s,
int  ,
va_list   
)

Perform a demux (i.e. DEMUX_...) control request on a stream handle created by stream_DemuxNew().

VLC_API stream_t* stream_DemuxNew ( demux_t p_demux,
const char *  psz_demux,
es_out_t out 
)

Create a special stream and a demuxer, this allows chaining demuxers You must delete it using stream_Delete.

VLC_API void stream_DemuxSend ( stream_t s,
block_t p_block 
)

Send data to a stream handle created by stream_DemuxNew().

VLC_API stream_t* stream_FilterNew ( stream_t p_source,
const char *  psz_stream_filter 
)

Try to add a stream filter to an open stream.

Returns
New stream to use, or NULL if the filter could not be added.
VLC_API stream_t* stream_MemoryNew ( vlc_object_t p_obj,
uint8_t *  p_buffer,
uint64_t  i_size,
bool  b_preserve_memory 
)

Create a stream_t reading from memory. You must delete it using stream_Delete.

VLC_API stream_t* stream_UrlNew ( vlc_object_t p_this,
const char *  psz_url 
)

Create a stream_t reading from a URL. You must delete it using stream_Delete.