Go to the documentation of this file.
35 #include <sys/types.h>
97 #define sout_AccessOutNew( obj, access, name ) \
98 sout_AccessOutNew( VLC_OBJECT(obj), access, name )
185 va_start( args, i_query );
186 i_result = p_mux->
pf_control( p_mux, i_query, args );
227 return s->
pf_add( s, fmt );
254 va_start( args, i_query );
268 #define sout_EncoderCreate(o) sout_EncoderCreate(VLC_OBJECT(o))
275 #define sout_AnnounceRegisterSDP(o, sdp, addr) \
276 sout_AnnounceRegisterSDP(VLC_OBJECT (o), sdp, addr)
277 #define sout_AnnounceUnRegister(o, a) \
278 sout_AnnounceUnRegister(VLC_OBJECT (o), a)
287 const struct sockaddr *src,
size_t slen,
288 const struct sockaddr *addr,
size_t alen)
VLC_USED;
290 const char *protocol,
int dport,
unsigned pt,
291 bool bw_indep,
unsigned bw,
const char *ptname,
292 unsigned clockrate,
unsigned channels,
void sout_MuxDeleteStream(sout_mux_t *, sout_input_t *)
Definition: missing.c:136
#define VLC_FORMAT(x, y)
Definition: vlc_common.h:100
#define VLC_API
Definition: fourcc_gen.c:30
#define VLC_COMMON_MEMBERS
Backward compatibility macro.
Definition: vlc_common.h:457
Definition: vlc_memstream.h:27
sout_input_t ** pp_inputs
Definition: vlc_sout.h:139
char * psz_mux
Definition: vlc_sout.h:127
static void sout_StreamIdDel(sout_stream_t *s, sout_stream_id_sys_t *id)
Definition: vlc_sout.h:229
void sout_MuxFlush(sout_mux_t *, sout_input_t *)
Definition: missing.c:161
sout_stream_query_e
Definition: vlc_sout.h:192
int i_out_pace_nocontrol
count of output that can't control the space
Definition: vlc_sout.h:55
void sdp_AddMedia(struct vlc_memstream *, const char *type, const char *protocol, int dport, unsigned pt, bool bw_indep, unsigned bw, const char *ptname, unsigned clockrate, unsigned channels, const char *fmtp)
Definition: missing.c:43
sout_access_out_sys_t * p_sys
Definition: vlc_sout.h:80
#define sout_EncoderCreate(o)
Definition: vlc_sout.h:266
Definition: vlc_sout.h:196
Definition: vlc_sout.h:159
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_common.h:150
Description module.
Definition: vlc_sout.h:295
int(* pf_control)(sout_stream_t *, int, va_list)
Definition: vlc_sout.h:212
sout_stream_t * sout_StreamChainNew(sout_instance_t *p_sout, const char *psz_chain, sout_stream_t *p_next, sout_stream_t **p_last)
Definition: missing.c:173
module_t * p_module
Definition: vlc_sout.h:123
int sout_MuxGetStream(sout_mux_t *, unsigned, vlc_tick_t *)
Definition: stream_output.c:543
Definition: vlc_sout.h:193
sout_stream_t * p_stream
Definition: vlc_sout.h:58
config_chain_t * p_cfg
Definition: vlc_sout.h:204
sout_input_t * sout_MuxAddStream(sout_mux_t *, const es_format_t *)
Definition: missing.c:124
module_t * p_module
Definition: vlc_sout.h:200
struct sout_stream_id_sys_t sout_stream_id_sys_t
Definition: vlc_sout.h:63
struct sout_description_data_t sout_description_data_t
Description module.
void(* pf_flush)(sout_stream_t *, sout_stream_id_sys_t *)
Definition: vlc_sout.h:213
Internal state for block queues.
Definition: fifo.c:37
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:354
int sout_AccessOutSeek(sout_access_out_t *, off_t)
Definition: missing.c:88
Stream output access_output.
Definition: vlc_sout.h:72
bool b_add_stream_any_time
Definition: vlc_sout.h:147
static sout_stream_id_sys_t * sout_StreamIdAdd(sout_stream_t *s, const es_format_t *fmt)
Definition: vlc_sout.h:223
#define sout_AccessOutNew(obj, access, name)
Definition: vlc_sout.h:96
struct sout_access_out_sys_t sout_access_out_sys_t
Definition: vlc_common.h:266
Definition: vlc_sout.h:158
sout_mux_query_e
Definition: vlc_sout.h:153
int vlc_sdp_Start(struct vlc_memstream *, vlc_object_t *obj, const char *cfgpref, const struct sockaddr *src, size_t slen, const struct sockaddr *addr, size_t alen)
Definition: missing.c:182
int(* pf_control)(sout_access_out_t *, int, va_list)
Definition: vlc_sout.h:84
int sout_AccessOutControl(sout_access_out_t *, int,...)
sout_AccessOutControl
Definition: missing.c:61
Definition: vlc_sout.h:156
vlc_mutex_t lock
Definition: vlc_sout.h:57
static bool sout_AccessOutCanControlPace(sout_access_out_t *p_ao)
Definition: vlc_sout.h:104
ssize_t(* pf_write)(sout_access_out_t *, block_t *)
Definition: vlc_sout.h:83
sout_stream_sys_t * p_sys
Definition: vlc_sout.h:215
Definition: vlc_configuration.h:155
Internal module descriptor.
Definition: modules.h:79
struct sout_stream_sys_t sout_stream_sys_t
Definition: vlc_common.h:272
static int sout_StreamIdSend(sout_stream_t *s, sout_stream_id_sys_t *id, block_t *b)
Definition: vlc_sout.h:235
ssize_t sout_AccessOutWrite(sout_access_out_t *, block_t *)
Definition: missing.c:94
sout_access_out_t * p_access
Definition: vlc_sout.h:130
int(* pf_mux)(sout_mux_t *)
Definition: vlc_sout.h:134
Definition: vlc_sout.h:91
#define sout_AnnounceRegisterSDP(o, sdp, addr)
Definition: vlc_sout.h:272
char * psz_name
Definition: vlc_sout.h:203
sout_stream_id_sys_t *(* pf_add)(sout_stream_t *, const es_format_t *)
Definition: vlc_sout.h:208
Definition: vlc_codec.h:211
const char * psz_name
Definition: vlc_codecs.h:315
void sout_StreamChainDelete(sout_stream_t *p_first, sout_stream_t *p_last)
Definition: missing.c:167
config_chain_t * p_cfg
Definition: vlc_sout.h:86
access_out_query_e
Definition: vlc_sout.h:89
sout_instance_t * p_sout
Definition: vlc_sout.h:125
int(* pf_seek)(sout_access_out_t *, off_t)
Definition: vlc_sout.h:81
Muxer structure.
Definition: vlc_sout.h:120
module_t * p_module
Definition: vlc_sout.h:76
config_chain_t * p_cfg
Definition: vlc_sout.h:128
void(* pf_delstream)(sout_mux_t *, sout_input_t *)
Definition: vlc_sout.h:133
sout_mux_sys_t * p_sys
Definition: vlc_sout.h:142
The main vlc_object_t structure.
Definition: vlc_objects.h:39
void(* pf_del)(sout_stream_t *, sout_stream_id_sys_t *)
Definition: vlc_sout.h:209
pthread_mutex_t vlc_mutex_t
Mutex.
Definition: vlc_threads.h:267
ssize_t(* pf_read)(sout_access_out_t *, block_t *)
Definition: vlc_sout.h:82
char * psz_access
Definition: vlc_sout.h:77
int(* pf_addstream)(sout_mux_t *, sout_input_t *)
Definition: vlc_sout.h:132
#define VLC_USED
Definition: fourcc_gen.c:31
static void sout_StreamFlush(sout_stream_t *s, sout_stream_id_sys_t *id)
Definition: vlc_sout.h:241
char * psz_path
Definition: vlc_sout.h:79
const char name[16]
Definition: httpd.c:1251
Definition: vlc_sout.h:92
ssize_t sout_AccessOutRead(sout_access_out_t *, block_t *)
Definition: missing.c:82
char * psz_sout
Definition: vlc_sout.h:52
void sdp_AddAttribute(struct vlc_memstream *, const char *name, const char *fmt,...)
Definition: missing.c:55
void sout_MuxDelete(sout_mux_t *)
Definition: missing.c:130
int sout_MuxSendBuffer(sout_mux_t *, sout_input_t *, block_t *)
Definition: missing.c:155
bool b_waiting_stream
Definition: vlc_sout.h:148
vlc_tick_t i_add_stream_start
Definition: vlc_sout.h:150
int(* pf_send)(sout_stream_t *, sout_stream_id_sys_t *, block_t *)
Definition: vlc_sout.h:211
sem_t vlc_sem_t
Semaphore.
Definition: vlc_threads.h:297
sout_mux_t * sout_MuxNew(sout_instance_t *, const char *, sout_access_out_t *)
Definition: missing.c:148
int(* pf_control)(sout_mux_t *, int, va_list)
Definition: vlc_sout.h:135
struct sout_mux_sys_t sout_mux_sys_t
Definition: vlc_common.h:269
static int sout_MuxControl(sout_mux_t *p_mux, int i_query,...)
Definition: vlc_sout.h:179
void sout_AccessOutDelete(sout_access_out_t *)
Definition: missing.c:67
sout_instance_t * p_sout
Definition: vlc_sout.h:201
int i_nb_inputs
Definition: vlc_sout.h:138
bool pace_nocontrol
Definition: vlc_sout.h:216
Stream output instance (FIXME: should be private to src/ to avoid invalid unsynchronized access)
Definition: vlc_sout.h:48
Definition: vlc_block.h:111
sout_stream_t * p_next
Definition: vlc_sout.h:205
#define sout_AnnounceUnRegister(o, a)
Definition: vlc_sout.h:274
static int sout_StreamControl(sout_stream_t *s, int i_query,...)
Definition: vlc_sout.h:248