Data Structures | Defines | Typedefs | Enumerations | Functions

vlc_sout.h File Reference

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

Include dependency graph for vlc_sout.h:

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_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 *, 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_tsout_MuxNew (sout_instance_t *, const char *, sout_access_out_t *)
sout_input_tsout_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_tsout_StreamChainNew (sout_instance_t *p_sout, char *psz_chain, sout_stream_t *p_next, sout_stream_t **p_last)
static sout_stream_id_tsout_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_tsout_EncoderCreate (vlc_object_t *obj)
session_descriptor_tsout_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,...)

Detailed Description

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


Define Documentation

#define sout_AccessOutNew (   obj,
  access,
  name 
)    sout_AccessOutNew( VLC_OBJECT(obj), access, name )
#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 Documentation

Description module.


Enumeration Type Documentation

Enumerator:
ACCESS_OUT_CONTROLS_PACE 
Enumerator:
MUX_CAN_ADD_STREAM_WHILE_MUXING 
MUX_GET_ADD_STREAM_WAIT 
MUX_GET_MIME 

Function Documentation

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]
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 
)
ssize_t sout_AccessOutRead ( sout_access_out_t ,
block_t  
)
int sout_AccessOutSeek ( sout_access_out_t ,
off_t   
)
ssize_t sout_AccessOutWrite ( sout_access_out_t ,
block_t  
)
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.

Parameters:
obj a VLC object
psz_sdp the SDP to register
psz_dst session address (needed for SAP address auto detection)
Returns:
the new session descriptor structure

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.

Parameters:
obj a VLC object
p_session the session descriptor
Returns:
VLC_SUCCESS or an error

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  
)
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  
)
void sout_MuxSendBuffer ( sout_mux_t ,
sout_input_t ,
block_t  
)
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 
) [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]
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 
)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines