VLC  2.1.0-git
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | 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 (FIXME: should be private to src/ to avoid invalid unsynchronized access) 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...

Macros

#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 *)
int sout_AnnounceUnRegister (vlc_object_t *, session_descriptor_t *)
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.

Macro Definition 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,
 
)    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 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)
inlinestatic
int sout_AccessOutControl ( sout_access_out_t ,
int  ,
  ... 
)

sout_AccessOutControl

< Unspecified error

References sout_access_out_t::pf_control, and VLC_EGENERIC.

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  
)

< Unspecified error

References sout_access_out_t::pf_read, and VLC_EGENERIC.

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 ,
const char *  ,
const char *   
)
int sout_AnnounceUnRegister ( vlc_object_t ,
session_descriptor_t  
)
encoder_t* sout_EncoderCreate ( vlc_object_t obj)
sout_input_t* sout_MuxAddStream ( sout_mux_t ,
es_format_t  
)
static int sout_MuxControl ( sout_mux_t p_mux,
int  i_query,
  ... 
)
inlinestatic

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 
)
inlinestatic

References sout_stream_t::pf_add.

static int sout_StreamIdDel ( sout_stream_t s,
sout_stream_id_t id 
)
inlinestatic

References sout_stream_t::pf_del.

static int sout_StreamIdSend ( sout_stream_t s,
sout_stream_id_t id,
block_t b 
)
inlinestatic
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 
)