78#define sout_AccessOutNew( obj, access, name ) \
79 sout_AccessOutNew( VLC_OBJECT(obj), access, name )
163 va_start( args, i_query );
164 i_result = p_mux->
pf_control( p_mux, i_query, args );
415 va_start( args, i_query );
436#define sout_EncoderCreate(o,s) sout_EncoderCreate(VLC_OBJECT(o),s)
443#define sout_AnnounceRegisterSDP(o, sdp, addr) \
444 sout_AnnounceRegisterSDP(VLC_OBJECT (o), sdp, addr)
445#define sout_AnnounceUnRegister(o, a) \
446 sout_AnnounceUnRegister(VLC_OBJECT (o), a)
#define VLC_USED
Definition fourcc_gen.c:32
#define VLC_API
Definition fourcc_gen.c:31
int sout_AccessOutSeek(sout_access_out_t *, uint64_t)
Definition stream_output.c:276
static bool sout_AccessOutCanControlPace(sout_access_out_t *p_ao)
Definition vlc_sout.h:87
access_out_query_e
Definition vlc_sout.h:73
ssize_t sout_AccessOutWrite(sout_access_out_t *, block_t *)
Definition stream_output.c:295
int sout_AccessOutControl(sout_access_out_t *, int,...)
sout_AccessOutControl
Definition stream_output.c:303
#define sout_AccessOutNew(obj, access, name)
Definition vlc_sout.h:79
void sout_AccessOutDelete(sout_access_out_t *)
Definition stream_output.c:258
ssize_t sout_AccessOutRead(sout_access_out_t *, block_t *)
Definition stream_output.c:286
@ ACCESS_OUT_CAN_SEEK
Definition vlc_sout.h:75
@ ACCESS_OUT_CONTROLS_PACE
Definition vlc_sout.h:74
void sout_MuxDelete(sout_mux_t *)
Definition stream_output.c:383
sout_input_t * sout_MuxAddStream(sout_mux_t *, const es_format_t *)
Definition stream_output.c:399
sout_mux_t * sout_MuxNew(sout_access_out_t *, const char *)
Definition stream_output.c:320
static int sout_MuxControl(sout_mux_t *p_mux, int i_query,...)
Definition vlc_sout.h:159
int sout_MuxGetStream(sout_mux_t *, unsigned, vlc_tick_t *)
Definition stream_output.c:508
void sout_MuxFlush(sout_mux_t *, sout_input_t *)
Definition stream_output.c:499
void sout_MuxDeleteStream(sout_mux_t *, sout_input_t *)
Definition stream_output.c:441
int sout_MuxSendBuffer(sout_mux_t *, sout_input_t *, block_t *)
Definition stream_output.c:475
sout_mux_query_e
Definition vlc_sout.h:135
@ MUX_GET_MIME
Definition vlc_sout.h:139
@ MUX_CAN_ADD_STREAM_WHILE_MUXING
Definition vlc_sout.h:137
static bool sout_StreamIsSynchronous(sout_stream_t *s)
Definition vlc_sout.h:422
void sout_StreamIdDel(sout_stream_t *s, void *id)
Delete an ES from the stream output.
Definition stream_output.c:718
static int sout_StreamControl(sout_stream_t *s, int i_query,...)
Various controls forwarded through the stream output chain.
Definition vlc_sout.h:411
void sout_StreamChainDelete(sout_stream_t *first, sout_stream_t *end)
Definition stream_output.c:853
void * sout_StreamIdAdd(sout_stream_t *s, const es_format_t *fmt, const char *es_id)
Add an ES to the stream output.
Definition stream_output.c:706
int sout_StreamControlVa(sout_stream_t *, int i_query, va_list args)
Definition stream_output.c:757
void sout_StreamFlush(sout_stream_t *s, void *id)
Signal a flush of an ES to the stream output.
Definition stream_output.c:737
void sout_ClockMainDelete(struct vlc_sout_clock_bus *)
Definition stream_output.c:816
#define sout_AnnounceRegisterSDP(o, sdp, addr)
Definition vlc_sout.h:444
#define sout_AnnounceUnRegister(o, a)
Definition vlc_sout.h:446
vlc_clock_t * sout_ClockCreate(struct vlc_sout_clock_bus *, const es_format_t *)
Definition stream_output.c:830
sout_stream_t * sout_StreamNew(vlc_object_t *parent, const char *config)
Allocate an empty Stream Output object.
Definition stream_output.c:883
void sout_ClockDelete(vlc_clock_t *)
Definition stream_output.c:841
void sout_ClockMainSetFirstPcr(struct vlc_sout_clock_bus *, vlc_tick_t pcr)
Definition stream_output.c:822
#define sout_EncoderCreate(o, s)
Definition vlc_sout.h:437
struct vlc_sout_clock_bus * sout_ClockMainCreate(sout_stream_t *)
Definition stream_output.c:789
sout_stream_query_e
Stream output control list.
Definition vlc_sout.h:178
sout_stream_t * sout_StreamChainNew(vlc_object_t *parent, const char *psz_chain, sout_stream_t *p_next)
Creates a complete "stream_out" modules chain.
Definition stream_output.c:933
int sout_StreamIdSend(sout_stream_t *s, void *id, vlc_frame_t *f)
Pass a vlc_frame_t to the stream output.
Definition stream_output.c:725
void sout_StreamSetPCR(sout_stream_t *, vlc_tick_t pcr)
Signal a PCR update to the stream output.
Definition stream_output.c:747
@ SOUT_STREAM_ID_SPU_HIGHLIGHT
Signal the currently selected subtitle track that should be displayed to the stream output.
Definition vlc_sout.h:210
@ SOUT_STREAM_WANTS_SUBSTREAMS
Some ES such as closed captions are considered optional and shouldn't be added to the stream output m...
Definition vlc_sout.h:193
@ SOUT_STREAM_IS_SYNCHRONOUS
A synchronous stream output is a stream paced by the input clock.
Definition vlc_sout.h:226
Definition vlc_configuration.h:320
Definition vlc_codec.h:255
Internal module descriptor.
Definition modules.h:76
Stream output access_output.
Definition vlc_sout.h:56
config_chain_t * p_cfg
Definition vlc_sout.h:69
char * psz_path
Definition vlc_sout.h:62
module_t * p_module
Definition vlc_sout.h:59
int(* pf_control)(sout_access_out_t *, int, va_list)
Definition vlc_sout.h:67
int(* pf_seek)(sout_access_out_t *, uint64_t)
Definition vlc_sout.h:64
struct vlc_object_t obj
Definition vlc_sout.h:57
ssize_t(* pf_write)(sout_access_out_t *, block_t *)
Definition vlc_sout.h:66
char * psz_access
Definition vlc_sout.h:60
ssize_t(* pf_read)(sout_access_out_t *, block_t *)
Definition vlc_sout.h:65
void * p_sys
Definition vlc_sout.h:63
Muxer structure.
Definition vlc_sout.h:104
module_t * p_module
Definition vlc_sout.h:106
void * p_sys
Definition vlc_sout.h:123
int i_nb_inputs
Definition vlc_sout.h:119
bool b_add_stream_any_time
Definition vlc_sout.h:128
int(* pf_mux)(sout_mux_t *)
Definition vlc_sout.h:115
int(* pf_control)(sout_mux_t *, int, va_list)
Definition vlc_sout.h:116
struct vlc_object_t obj
Definition vlc_sout.h:105
void(* pf_delstream)(sout_mux_t *, sout_input_t *)
Definition vlc_sout.h:114
sout_input_t ** pp_inputs
Definition vlc_sout.h:120
vlc_tick_t i_add_stream_start
Definition vlc_sout.h:131
sout_access_out_t * p_access
Definition vlc_sout.h:111
char * psz_mux
Definition vlc_sout.h:108
bool b_waiting_stream
Definition vlc_sout.h:129
int(* pf_addstream)(sout_mux_t *, sout_input_t *)
Definition vlc_sout.h:113
config_chain_t * p_cfg
Definition vlc_sout.h:109
Definition vlc_sout.h:230
void(* set_pcr)(sout_stream_t *, vlc_tick_t)
Implementation of sout_StreamSetPCR().
Definition vlc_sout.h:266
int(* control)(sout_stream_t *, int, va_list)
Implementation of sout_StreamControl().
Definition vlc_sout.h:254
void(* close)(sout_stream_t *)
Definition vlc_sout.h:270
void(* del)(sout_stream_t *, void *)
Implementation of sout_StreamIdDel().
Definition vlc_sout.h:242
int(* send)(sout_stream_t *, void *, vlc_frame_t *)
Implementation of sout_StreamIdSend().
Definition vlc_sout.h:248
void(* flush)(sout_stream_t *, void *)
Implementation of sout_StreamFlush().
Definition vlc_sout.h:260
Definition vlc_sout.h:274
const struct sout_stream_operations * ops
Definition vlc_sout.h:281
char * psz_name
Definition vlc_sout.h:277
struct vlc_object_t obj
Definition vlc_sout.h:275
config_chain_t * p_cfg
Definition vlc_sout.h:278
void * p_sys
Definition vlc_sout.h:282
sout_stream_t * p_next
Definition vlc_sout.h:279
Internal state for block queues.
Definition fifo.c:39
Definition vlc_frame.h:123
VLC object common members.
Definition vlc_objects.h:53
Definition stream_output.c:686
const char * psz_name
Definition text_style.c:33
This file is a collection of common definitions and types.
This file defines the elementary streams format types.
int64_t vlc_tick_t
High precision date or time interval.
Definition vlc_tick.h:48