VLC
4.0.0-dev
|
![]() |
Modules | |
Encoder | |
Audio, video and text encoders. | |
Access output | |
Raw output byte streams. | |
Multiplexer | |
Multiplexers (file formatters) | |
Files | |
file | vlc_sout.h |
Stream output modules interface. | |
Data Structures | |
struct | sout_instance_t |
Stream output instance (FIXME: should be private to src/ to avoid invalid unsynchronized access) More... | |
struct | sout_stream_t |
Macros | |
#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) |
Enumerations | |
enum | sout_stream_query_e { SOUT_STREAM_EMPTY, SOUT_STREAM_WANTS_SUBSTREAMS, SOUT_STREAM_ID_SPU_HIGHLIGHT } |
Functions | |
void | sout_StreamChainDelete (sout_stream_t *p_first, sout_stream_t *p_last) |
sout_stream_t * | sout_StreamChainNew (sout_instance_t *p_sout, const char *psz_chain, sout_stream_t *p_next, sout_stream_t **p_last) |
static void * | sout_StreamIdAdd (sout_stream_t *s, const es_format_t *fmt) |
static void | sout_StreamIdDel (sout_stream_t *s, void *id) |
static int | sout_StreamIdSend (sout_stream_t *s, void *id, block_t *b) |
static void | sout_StreamFlush (sout_stream_t *s, void *id) |
static int | sout_StreamControlVa (sout_stream_t *s, int i_query, va_list args) |
static int | sout_StreamControl (sout_stream_t *s, int i_query,...) |
encoder_t * | sout_EncoderCreate (vlc_object_t *, size_t) |
session_descriptor_t * | sout_AnnounceRegisterSDP (vlc_object_t *, const char *, const char *) |
Registers a new session with the announce handler, using a pregenerated SDP. More... | |
void | sout_AnnounceUnRegister (vlc_object_t *, session_descriptor_t *) |
Unregisters an existing session. More... | |
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) |
#define sout_AnnounceRegisterSDP | ( | o, | |
sdp, | |||
addr | |||
) | sout_AnnounceRegisterSDP(VLC_OBJECT (o), sdp, addr) |
#define sout_AnnounceUnRegister | ( | o, | |
a | |||
) | sout_AnnounceUnRegister(VLC_OBJECT (o), a) |
#define sout_EncoderCreate | ( | o, | |
s | |||
) | sout_EncoderCreate(VLC_OBJECT(o),s) |
Referenced by CreateEncoder(), and sout_StreamControl().
enum sout_stream_query_e |
session_descriptor_t* sout_AnnounceRegisterSDP | ( | vlc_object_t * | obj, |
const char * | sdp, | ||
const char * | dst | ||
) |
Registers a new session with the announce handler, using a pregenerated SDP.
obj | a VLC object |
sdp | the SDP to register |
dst | session address (needed for SAP address auto detection) |
References session_descriptor_t::addr, AddressCreate(), AddressDestroy(), session_descriptor_t::data, sap_address_t::group, vlc_memstream::length, session_descriptor_t::length, msg_Dbg, msg_Err, NI_MAXNUMERICHOST, sap_address_t::node, session_descriptor_t::node, sap_address_t::orig, vlc_memstream::ptr, RunThread(), sap_address_t::session_count, sap_address_t::sessions, sap_address_t::thread, unlikely, vlc_assert_unreachable, vlc_clone(), vlc_cond_signal(), vlc_getaddrinfo(), vlc_getnameinfo(), vlc_list_append(), vlc_list_foreach, vlc_memstream_close(), vlc_memstream_open(), vlc_memstream_putc(), vlc_memstream_puts(), vlc_memstream_write(), vlc_mutex_lock(), vlc_mutex_unlock(), VLC_THREAD_PRIORITY_LOW, vlc_tick_now(), VLC_UNUSED, and sap_address_t::wait.
void sout_AnnounceUnRegister | ( | vlc_object_t * | obj, |
session_descriptor_t * | session | ||
) |
Unregisters an existing session.
obj | a VLC object |
session | the session descriptor |
References session_descriptor_t::addr, AddressDestroy(), session_descriptor_t::data, msg_Dbg, sap_address_t::node, session_descriptor_t::node, sap_address_t::session_count, sap_address_t::sessions, sap_address_t::thread, vlc_assert_unreachable, vlc_cond_signal(), vlc_join(), vlc_list_is_empty(), vlc_list_remove(), vlc_mutex_lock(), vlc_mutex_unlock(), VLC_UNUSED, and sap_address_t::wait.
encoder_t* sout_EncoderCreate | ( | vlc_object_t * | , |
size_t | |||
) |
References msg_Err, and vlc_custom_create.
void sout_StreamChainDelete | ( | sout_stream_t * | p_first, |
sout_stream_t * | p_last | ||
) |
References sout_stream_t::p_next, sout_StreamDelete(), and vlc_assert_unreachable.
Referenced by sout_DeleteInstance().
sout_stream_t* sout_StreamChainNew | ( | sout_instance_t * | p_sout, |
const char * | psz_chain, | ||
sout_stream_t * | p_next, | ||
sout_stream_t ** | p_last | ||
) |
References config_ChainCreate(), config_ChainDestroy(), modules, name, psz_name, sout_StreamDelete(), sout_StreamNew(), strdup(), vlc_array_append_or_abort(), vlc_array_clear(), vlc_array_count(), vlc_array_init(), vlc_array_item_at_index, and vlc_assert_unreachable.
Referenced by sout_NewInstance().
|
inlinestatic |
References sout_EncoderCreate, sout_StreamControlVa(), and VLC_API.
Referenced by sout_InputControlVa(), sout_InputIsEmpty(), and sout_NewInstance().
|
inlinestatic |
References sout_stream_t::pf_control, and VLC_EGENERIC.
Referenced by sout_StreamControl().
|
inlinestatic |
References sout_stream_t::pf_flush.
Referenced by sout_InputFlush().
|
inlinestatic |
References sout_stream_t::pf_add.
Referenced by sout_InputNew().
|
inlinestatic |
References sout_stream_t::pf_del.
Referenced by sout_InputDelete().
|
inlinestatic |
References sout_stream_t::pf_send.
Referenced by sout_InputSendBuffer().
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 | ||
) |
References VLC_UNUSED.