VLC 4.0.0-dev
Loading...
Searching...
No Matches

Stream output modules interface. More...

Include dependency graph for vlc_sout.h:

Go to the source code of this file.

Data Structures

struct  sout_access_out_t
 Stream output access_output. More...
 
struct  sout_mux_t
 Muxer structure. More...
 
struct  sout_input_t
 
struct  sout_stream_operations
 
struct  sout_stream_t
 

Macros

#define sout_AccessOutNew(obj, access, name)    sout_AccessOutNew( VLC_OBJECT(obj), access, name )
 
#define sout_EncoderCreate(o, s)   sout_EncoderCreate(VLC_OBJECT(o),s)
 
#define sout_AnnounceRegisterSDP(o, sdp, addr)    sout_AnnounceRegisterSDP(VLC_OBJECT (o), sdp, addr)
 
#define sout_AnnounceUnRegister(o, a)    sout_AnnounceUnRegister(VLC_OBJECT (o), a)
 

Typedefs

typedef struct vlc_frame_t vlc_frame_t
 

Enumerations

enum  access_out_query_e { ACCESS_OUT_CONTROLS_PACE , ACCESS_OUT_CAN_SEEK }
 
enum  sout_mux_query_e { MUX_CAN_ADD_STREAM_WHILE_MUXING , MUX_GET_MIME }
 
enum  sout_stream_query_e { SOUT_STREAM_WANTS_SUBSTREAMS , SOUT_STREAM_ID_SPU_HIGHLIGHT , SOUT_STREAM_IS_SYNCHRONOUS }
 Stream output control list. More...
 

Functions

sout_access_out_tsout_AccessOutNew (vlc_object_t *, const char *psz_access, const char *psz_name)
 
void sout_AccessOutDelete (sout_access_out_t *)
 
int sout_AccessOutSeek (sout_access_out_t *, uint64_t)
 
ssize_t sout_AccessOutRead (sout_access_out_t *, block_t *)
 
ssize_t sout_AccessOutWrite (sout_access_out_t *, block_t *)
 
int sout_AccessOutControl (sout_access_out_t *, int,...)
 sout_AccessOutControl
 
static bool sout_AccessOutCanControlPace (sout_access_out_t *p_ao)
 
sout_mux_tsout_MuxNew (sout_access_out_t *, const char *)
 
sout_input_tsout_MuxAddStream (sout_mux_t *, const es_format_t *)
 
void sout_MuxDeleteStream (sout_mux_t *, sout_input_t *)
 
void sout_MuxDelete (sout_mux_t *)
 
int sout_MuxSendBuffer (sout_mux_t *, sout_input_t *, block_t *)
 
int sout_MuxGetStream (sout_mux_t *, unsigned, vlc_tick_t *)
 
void sout_MuxFlush (sout_mux_t *, sout_input_t *)
 
static int sout_MuxControl (sout_mux_t *p_mux, int i_query,...)
 
sout_stream_tsout_StreamNew (vlc_object_t *parent, const char *config)
 Allocate an empty Stream Output object.
 
void sout_StreamChainDelete (sout_stream_t *first, sout_stream_t *end)
 
sout_stream_tsout_StreamChainNew (vlc_object_t *parent, const char *psz_chain, sout_stream_t *p_next)
 Creates a complete "stream_out" modules chain.
 
void * sout_StreamIdAdd (sout_stream_t *s, const es_format_t *fmt, const char *es_id)
 Add an ES to the stream output.
 
void sout_StreamIdDel (sout_stream_t *s, void *id)
 Delete an ES from the stream output.
 
int sout_StreamIdSend (sout_stream_t *s, void *id, vlc_frame_t *f)
 Pass a vlc_frame_t to the stream output.
 
void sout_StreamFlush (sout_stream_t *s, void *id)
 Signal a flush of an ES to the stream output.
 
void sout_StreamSetPCR (sout_stream_t *, vlc_tick_t pcr)
 Signal a PCR update to the stream output.
 
struct vlc_sout_clock_bussout_ClockMainCreate (sout_stream_t *)
 
void sout_ClockMainDelete (struct vlc_sout_clock_bus *)
 
void sout_ClockMainSetFirstPcr (struct vlc_sout_clock_bus *, vlc_tick_t pcr)
 
vlc_clock_tsout_ClockCreate (struct vlc_sout_clock_bus *, const es_format_t *)
 
void sout_ClockDelete (vlc_clock_t *)
 
int sout_StreamControlVa (sout_stream_t *, int i_query, va_list args)
 
static int sout_StreamControl (sout_stream_t *s, int i_query,...)
 Various controls forwarded through the stream output chain.
 
static bool sout_StreamIsSynchronous (sout_stream_t *s)
 
encoder_tsout_EncoderCreate (vlc_object_t *, size_t)
 
session_descriptor_tsout_AnnounceRegisterSDP (vlc_object_t *, const char *, const char *)
 Registers a new session with the announce handler, using a pregenerated SDP.
 
void sout_AnnounceUnRegister (vlc_object_t *, session_descriptor_t *)
 Unregisters an existing session.
 

Detailed Description

Stream output modules interface.