This file defines structures and functions for stream output in vlc. More...

Go to the source code of this file.
Data Structures | |
| struct | sout_instance_t |
| Stream output instance. More... | |
| struct | sout_access_out_t |
| Stream output access_output. More... | |
| struct | sout_mux_t |
| Muxer structure. More... | |
| struct | sout_input_t |
| struct | sout_stream_t |
| struct | sout_description_data_t |
| Description module. More... | |
Defines | |
| #define | sout_AccessOutNew(obj, access, name) sout_AccessOutNew( VLC_OBJECT(obj), access, name ) |
| #define | sout_EncoderCreate(o) sout_EncoderCreate(VLC_OBJECT(o)) |
| #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 sout_stream_id_t | sout_stream_id_t |
| typedef struct sout_description_data_t | sout_description_data_t |
| Description module. | |
Enumerations | |
| enum | access_out_query_e { ACCESS_OUT_CONTROLS_PACE } |
| enum | sout_mux_query_e { MUX_CAN_ADD_STREAM_WHILE_MUXING, MUX_GET_ADD_STREAM_WAIT, MUX_GET_MIME } |
Functions | |
| sout_access_out_t * | sout_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 *, off_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_t * | sout_MuxNew (sout_instance_t *, const char *, sout_access_out_t *) |
| sout_input_t * | sout_MuxAddStream (sout_mux_t *, es_format_t *) |
| void | sout_MuxDeleteStream (sout_mux_t *, sout_input_t *) |
| void | sout_MuxDelete (sout_mux_t *) |
| void | sout_MuxSendBuffer (sout_mux_t *, sout_input_t *, block_t *) |
| int | sout_MuxGetStream (sout_mux_t *, int, mtime_t *) |
| static int | sout_MuxControl (sout_mux_t *p_mux, int i_query,...) |
| void | sout_StreamChainDelete (sout_stream_t *p_first, sout_stream_t *p_last) |
| sout_stream_t * | sout_StreamChainNew (sout_instance_t *p_sout, char *psz_chain, sout_stream_t *p_next, sout_stream_t **p_last) |
| static sout_stream_id_t * | sout_StreamIdAdd (sout_stream_t *s, es_format_t *fmt) |
| static int | sout_StreamIdDel (sout_stream_t *s, sout_stream_id_t *id) |
| static int | sout_StreamIdSend (sout_stream_t *s, sout_stream_id_t *id, block_t *b) |
| encoder_t * | sout_EncoderCreate (vlc_object_t *obj) |
| session_descriptor_t * | sout_AnnounceRegisterSDP (vlc_object_t *, const char *, const char *) |
| Registers a new session with the announce handler, using a pregenerated SDP. | |
| int | sout_AnnounceUnRegister (vlc_object_t *, session_descriptor_t *) |
| Unregisters an existing session. | |
| char * | vlc_sdp_Start (vlc_object_t *obj, const char *cfgpref, const struct sockaddr *src, size_t srclen, const struct sockaddr *addr, size_t addrlen) |
| char * | sdp_AddMedia (char **sdp, 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) |
| char * | sdp_AddAttribute (char **sdp, const char *name, const char *fmt,...) |
This file defines structures and functions for stream output in vlc.
| #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 | ) | sout_EncoderCreate(VLC_OBJECT(o)) |
Referenced by CreateEncoder().
| typedef struct sout_description_data_t sout_description_data_t |
Description module.
| typedef struct sout_stream_id_t sout_stream_id_t |
| enum access_out_query_e |
| enum sout_mux_query_e |
| char* sdp_AddAttribute | ( | char ** | sdp, | |
| const char * | name, | |||
| const char * | fmt, | |||
| ... | ||||
| ) |
References ap, va_end(), va_start(), and vsdp_AddAttribute().
Referenced by sdp_AddMedia(), and vlc_sdp_Start().
| char* sdp_AddMedia | ( | char ** | sdp, | |
| 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 | |||
| ) |
References sdp_AddAttribute().
| static bool sout_AccessOutCanControlPace | ( | sout_access_out_t * | p_ao | ) | [inline, static] |
References ACCESS_OUT_CONTROLS_PACE, and sout_AccessOutControl().
| int sout_AccessOutControl | ( | sout_access_out_t * | , | |
| int | , | |||
| ... | ||||
| ) |
sout_AccessOutControl
References ap, sout_access_out_t::pf_control, va_end(), and va_start().
Referenced by sout_AccessOutCanControlPace().
| void sout_AccessOutDelete | ( | sout_access_out_t * | ) |
| sout_access_out_t* sout_AccessOutNew | ( | vlc_object_t * | , | |
| const char * | psz_access, | |||
| const char * | psz_name | |||
| ) |
References config_ChainCreate(), sout_access_out_t::i_sent_bytes, sout_access_out_t::i_writes, module_need, msg_Err, sout_access_out_t::p_cfg, sout_access_out_t::p_module, sout_access_out_t::p_sys, sout_access_out_t::pf_control, sout_access_out_t::pf_read, sout_access_out_t::pf_seek, sout_access_out_t::pf_write, sout_access_out_t::psz_access, sout_access_out_t::psz_path, strdup(), vlc_custom_create, and vlc_object_release.
| ssize_t sout_AccessOutRead | ( | sout_access_out_t * | , | |
| block_t * | ||||
| ) |
References sout_access_out_t::pf_read.
| int sout_AccessOutSeek | ( | sout_access_out_t * | , | |
| off_t | ||||
| ) |
References sout_access_out_t::pf_seek.
| ssize_t sout_AccessOutWrite | ( | sout_access_out_t * | , | |
| block_t * | ||||
| ) |
References sout_access_out_t::pf_write.
| session_descriptor_t* sout_AnnounceRegisterSDP | ( | vlc_object_t * | obj, | |
| const char * | psz_sdp, | |||
| const char * | psz_dst | |||
| ) |
Registers a new session with the announce handler, using a pregenerated SDP.
| obj | a VLC object | |
| psz_sdp | the SDP to register | |
| psz_dst | session address (needed for SAP address auto detection) |
References session_descriptor_t::addr, session_descriptor_t::addrlen, freeaddrinfo(), libvlc_priv(), msg_Dbg, msg_Err, session_descriptor_t::psz_sdp, SAP_Add(), SAP_Create(), sap_destroy(), sap_mutex, strdup(), vlc_getaddrinfo(), vlc_mutex_lock(), vlc_mutex_unlock(), VLC_OBJECT, vlc_object_hold, vlc_object_release, and vlc_object_set_destructor.
| int sout_AnnounceUnRegister | ( | vlc_object_t * | obj, | |
| session_descriptor_t * | p_session | |||
| ) |
Unregisters an existing session.
| obj | a VLC object | |
| p_session | the session descriptor |
References libvlc_priv(), msg_Dbg, session_descriptor_t::psz_sdp, SAP_Del(), sap_mutex, vlc_mutex_lock(), vlc_mutex_unlock(), and vlc_object_release.
| encoder_t* sout_EncoderCreate | ( | vlc_object_t * | obj | ) |
References msg_Err, and vlc_custom_create.
| sout_input_t* sout_MuxAddStream | ( | sout_mux_t * | , | |
| es_format_t * | ||||
| ) |
References sout_mux_t::b_add_stream_any_time, sout_mux_t::b_waiting_stream, block_FifoNew(), block_FifoRelease(), sout_mux_t::i_nb_inputs, msg_Dbg, msg_Err, sout_input_t::p_fifo, sout_input_t::p_fmt, sout_mux_t::p_sout, sout_input_t::p_sout, sout_input_t::p_sys, sout_mux_t::pf_addstream, sout_mux_t::pp_inputs, TAB_APPEND, and TAB_REMOVE.
| static int sout_MuxControl | ( | sout_mux_t * | p_mux, | |
| int | i_query, | |||
| ... | ||||
| ) | [inline, static] |
References va_end(), and va_start().
Referenced by sout_MuxNew().
| void sout_MuxDelete | ( | sout_mux_t * | ) |
| void sout_MuxDeleteStream | ( | sout_mux_t * | , | |
| sout_input_t * | ||||
| ) |
| int sout_MuxGetStream | ( | sout_mux_t * | , | |
| int | , | |||
| mtime_t * | ||||
| ) |
| sout_mux_t* sout_MuxNew | ( | sout_instance_t * | , | |
| const char * | , | |||
| sout_access_out_t * | ||||
| ) |
References sout_mux_t::b_add_stream_any_time, sout_mux_t::b_waiting_stream, config_ChainCreate(), FREENULL, sout_mux_t::i_add_stream_start, sout_mux_t::i_nb_inputs, sout_instance_t::i_out_pace_nocontrol, module_need, msg_Dbg, MUX_CAN_ADD_STREAM_WHILE_MUXING, MUX_GET_ADD_STREAM_WAIT, sout_mux_t::p_access, sout_mux_t::p_cfg, sout_mux_t::p_module, sout_mux_t::p_sout, sout_mux_t::p_sys, sout_mux_t::pf_addstream, sout_mux_t::pf_control, sout_mux_t::pf_delstream, sout_mux_t::pf_mux, sout_mux_t::pp_inputs, sout_mux_t::psz_mux, sout_MuxControl(), vlc_custom_create, and vlc_object_release.
| void sout_MuxSendBuffer | ( | sout_mux_t * | , | |
| sout_input_t * | , | |||
| block_t * | ||||
| ) |
| void sout_StreamChainDelete | ( | sout_stream_t * | p_first, | |
| sout_stream_t * | p_last | |||
| ) |
References sout_stream_t::p_next, and sout_StreamDelete().
Referenced by sout_DeleteInstance().
| sout_stream_t* sout_StreamChainNew | ( | sout_instance_t * | p_sout, | |
| 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(), vlc_array_clear(), vlc_array_count(), vlc_array_init(), and vlc_array_item_at_index().
Referenced by sout_NewInstance().
| static sout_stream_id_t* sout_StreamIdAdd | ( | sout_stream_t * | s, | |
| es_format_t * | fmt | |||
| ) | [inline, static] |
References sout_stream_t::pf_add.
| static int sout_StreamIdDel | ( | sout_stream_t * | s, | |
| sout_stream_id_t * | id | |||
| ) | [inline, static] |
References sout_stream_t::pf_del.
| static int sout_StreamIdSend | ( | sout_stream_t * | s, | |
| sout_stream_id_t * | id, | |||
| block_t * | b | |||
| ) | [inline, static] |
References sout_stream_t::pf_send.
| char* vlc_sdp_Start | ( | vlc_object_t * | obj, | |
| const char * | cfgpref, | |||
| const struct sockaddr * | src, | |||
| size_t | srclen, | |||
| const struct sockaddr * | addr, | |||
| size_t | addrlen | |||
| ) |
References description, name, sdp_AddAttribute(), sdp_Start(), and var_GetNonEmptyString.
1.7.1