sap.c File Reference

Include dependency graph for sap.c:


Data Structures

struct  sdp_media_t
struct  sdp_t
struct  attribute_t
struct  sap_announce_t
struct  services_discovery_sys_t
struct  demux_sys_t

Defines

#define MAX_LINE_LENGTH   256
#define SAP_PORT   9875
#define SAP_V4_GLOBAL_ADDRESS   "224.2.127.254"
#define SAP_V4_ORG_ADDRESS   "239.195.255.255"
#define SAP_V4_LOCAL_ADDRESS   "239.255.255.255"
#define SAP_V4_LINK_ADDRESS   "224.0.0.255"
#define ADD_SESSION   1
#define SAP_ADDR_TEXT   N_( "SAP multicast address" )
#define SAP_ADDR_LONGTEXT
#define SAP_IPV4_TEXT   N_( "IPv4 SAP" )
#define SAP_IPV4_LONGTEXT
#define SAP_IPV6_TEXT   N_( "IPv6 SAP" )
#define SAP_IPV6_LONGTEXT
#define SAP_SCOPE_TEXT   N_( "IPv6 SAP scope" )
#define SAP_SCOPE_LONGTEXT
#define SAP_TIMEOUT_TEXT   N_( "SAP timeout (seconds)" )
#define SAP_TIMEOUT_LONGTEXT
#define SAP_PARSE_TEXT   N_( "Try to parse the announce" )
#define SAP_PARSE_LONGTEXT
#define SAP_STRICT_TEXT   N_( "SAP Strict mode" )
#define SAP_STRICT_LONGTEXT
#define SAP_CACHE_TEXT   N_("Use SAP cache")
#define SAP_CACHE_LONGTEXT
#define MAX_SAP_BUFFER   5000

Typedefs

typedef struct sdp_t sdp_t
typedef struct attribute_t attribute_t
typedef struct sap_announce_t sap_announce_t

Functions

static int Open (vlc_object_t *)
 Probes and initializes.
static void Close (vlc_object_t *)
 Releases resources.
static int OpenDemux (vlc_object_t *)
 It opens an imem access_demux.
static void CloseDemux (vlc_object_t *)
 It closes an imem access_demux.
static int vlc_sd_probe_Open (vlc_object_t *obj)
int vlc_entry__main (module_t *p_module)
const char * vlc_entry_license__main (void)
static int Demux (demux_t *p_demux)
static int Control (demux_t *, int, va_list)
static void * Run (void *p_sd)
static int ParseConnection (vlc_object_t *p_obj, sdp_t *p_sdp)
static int ParseSAP (services_discovery_t *p_sd, const uint8_t *p_buffer, size_t i_read)
static sdp_tParseSDP (vlc_object_t *p_sd, const char *psz_sdp)
static sap_announce_tCreateAnnounce (services_discovery_t *, uint16_t, sdp_t *)
static int RemoveAnnounce (services_discovery_t *p_sd, sap_announce_t *p_announce)
static attribute_tMakeAttribute (const char *str)
static const char * GetAttribute (attribute_t **tab, unsigned n, const char *name)
static void FreeAttribute (attribute_t *a)
static const char * FindAttribute (const sdp_t *sdp, unsigned media, const char *name)
static bool IsSameSession (sdp_t *p_sdp1, sdp_t *p_sdp2)
static int InitSocket (services_discovery_t *p_sd, const char *psz_address, int i_port)
static int Decompress (const unsigned char *psz_src, unsigned char **_dst, int i_len)
static void FreeSDP (sdp_t *p_sdp)
static int min_int (int a, int b)
static bool IsWellKnownPayload (int type)
static int ParseSDPConnection (const char *str, struct sockaddr_storage *addr, socklen_t *addrlen, unsigned *number)

Define Documentation

#define ADD_SESSION   1

#define MAX_LINE_LENGTH   256

#define MAX_SAP_BUFFER   5000

Referenced by Run().

#define SAP_ADDR_LONGTEXT

Value:

N_( "The SAP module normally chooses itself the " \
                              "right addresses to listen to. However, you " \
                              "can specify a specific address." )

#define SAP_ADDR_TEXT   N_( "SAP multicast address" )

#define SAP_CACHE_LONGTEXT

Value:

N_( \
       "This enables a SAP caching mechanism. " \
       "This will result in lower SAP startup time, but you could end up " \
       "with items corresponding to legacy streams." )

#define SAP_CACHE_TEXT   N_("Use SAP cache")

#define SAP_IPV4_LONGTEXT

Value:

N_( \
      "Listen to IPv4 announcements on the standard addresses." )

#define SAP_IPV4_TEXT   N_( "IPv4 SAP" )

#define SAP_IPV6_LONGTEXT

Value:

N_( \
      "Listen to IPv6 announcements on the standard addresses." )

#define SAP_IPV6_TEXT   N_( "IPv6 SAP" )

#define SAP_PARSE_LONGTEXT

Value:

N_( \
       "This enables actual parsing of the announces by the SAP module. " \
       "Otherwise, all announcements are parsed by the \"live555\" " \
       "(RTP/RTSP) module." )

#define SAP_PARSE_TEXT   N_( "Try to parse the announce" )

#define SAP_PORT   9875

Referenced by Run().

#define SAP_SCOPE_LONGTEXT

Value:

N_( \
       "Scope for IPv6 announcements (default is 8)." )

#define SAP_SCOPE_TEXT   N_( "IPv6 SAP scope" )

#define SAP_STRICT_LONGTEXT

Value:

N_( \
       "When this is set, the SAP parser will discard some non-compliant " \
       "announcements." )

#define SAP_STRICT_TEXT   N_( "SAP Strict mode" )

#define SAP_TIMEOUT_LONGTEXT

Value:

N_( \
       "Delay after which SAP items get deleted if no new announcement " \
       "is received." )

#define SAP_TIMEOUT_TEXT   N_( "SAP timeout (seconds)" )

#define SAP_V4_GLOBAL_ADDRESS   "224.2.127.254"

Referenced by Run().

#define SAP_V4_LINK_ADDRESS   "224.0.0.255"

Referenced by Run().

#define SAP_V4_LOCAL_ADDRESS   "239.255.255.255"

Referenced by Run().

#define SAP_V4_ORG_ADDRESS   "239.195.255.255"

Referenced by Run().


Typedef Documentation

typedef struct attribute_t attribute_t

typedef struct sdp_t sdp_t


Function Documentation

static void Close ( vlc_object_t p_this  )  [static]

Releases resources.

Close the module.

Destroys the X11 window.

Disconnect from the X server.

Close a SDL video output.

It destroys an OpenGL vout display.

Terminate a vout display created by Open.

It destroyes a Direct3D vout display.

Terminate an output method created by Open.

Release the drawable.

Close a libcaca video output.

Close a aa video output method.

Close the filter.

Terminate a splitter module.

This function closes a clone video splitter module.

Common close function.

Releases allocate resources.

Close: Destructor.

Parameters:
p_this pointer to this filter object
p_this,: the filter object

static void CloseDemux ( vlc_object_t p_this  )  [static]

It closes an imem access_demux.

References msg_Dbg, and demux_t::p_sys.

static int Control ( demux_t p_demux,
int  i_query,
va_list  args 
) [static]

References VLC_EGENERIC, and VLC_UNUSED.

sap_announce_t * CreateAnnounce ( services_discovery_t p_sd,
uint16_t  i_hash,
sdp_t p_sdp 
) [static]

static int Decompress ( const unsigned char *  psz_src,
unsigned char **  _dst,
int  i_len 
) [static]

Referenced by ParseSAP().

static int Demux ( demux_t p_demux  )  [static]

static const char * FindAttribute ( const sdp_t sdp,
unsigned  media,
const char *  name 
) [static]

static void FreeAttribute ( attribute_t a  )  [inline, static]

Referenced by FreeSDP().

static void FreeSDP ( sdp_t p_sdp  )  [static]

static const char * GetAttribute ( attribute_t **  tab,
unsigned  n,
const char *  name 
) [static]

References strcasecmp(), and attribute_t::value.

Referenced by CreateAnnounce(), and FindAttribute().

static int InitSocket ( services_discovery_t p_sd,
const char *  psz_address,
int  i_port 
) [static]

References INSERT_ELEM, net_ListenUDP1(), VLC_EGENERIC, and VLC_SUCCESS.

Referenced by Run().

static bool IsSameSession ( sdp_t p_sdp1,
sdp_t p_sdp2 
) [static]

static bool IsWellKnownPayload ( int  type  )  [static]

Referenced by OpenDemux(), and ParseSAP().

static attribute_t * MakeAttribute ( const char *  str  )  [inline, static]

References a, EnsureUTF8(), attribute_t::name, attribute_t::value, and value.

Referenced by ParseSDP().

static int min_int ( int  a,
int  b 
) [inline, static]

Referenced by Run().

static int Open ( vlc_object_t p_this  )  [static]

Probes and initializes.

Status of this demuxer: Real Media format -----------------.

Basic chorus/flanger/delay audio filter This implements a variable delay filter for VLC.

Todo:

  • Improve CDDB support (non-blocking, cache, .

Open the module.

Create an X11 window.

Probe the X server.

This function initializes SDL vout method.

It creates an OpenGL vout display.

This function allocates and initialize the DirectX vout display.

It creates a Direct3D vout display.

This function allocates and initializes a FB vout method.

Find the drawable set by libvlc application.

This function initializes libcaca vout method.

This function allocates and initializes a aa vout method.

This function allocates and initializes a Wall splitter module.

Open the filter.

This function allocates and initializes a Clone splitter module.

Open: initialize and create stuff.

Connect to the sftp server and ask for a file.

Parameters:
p_this,: the vlc_object
Returns:
VLC_SUCCESS if everything was fine
Parameters:
p_this 
p_this,: the filter object
Returns:
VLC_SUCCESS or vlc error codes

Todo:
Reinstate meta codec name

static int OpenDemux ( vlc_object_t p_this  )  [static]

static int ParseConnection ( vlc_object_t p_obj,
sdp_t p_sdp 
) [static]

static int ParseSAP ( services_discovery_t p_sd,
const uint8_t *  p_buffer,
size_t  i_read 
) [static]

static sdp_t * ParseSDP ( vlc_object_t p_sd,
const char *  psz_sdp 
) [static]

static int ParseSDPConnection ( const char *  str,
struct sockaddr_storage *  addr,
socklen_t *  addrlen,
unsigned *  number 
) [static]

References inet_pton.

Referenced by ParseSDP().

static int RemoveAnnounce ( services_discovery_t p_sd,
sap_announce_t p_announce 
) [static]

static void * Run ( void *  p_sd  )  [static]

int vlc_entry__main ( module_t p_module  ) 

const char* vlc_entry_license__main ( void   ) 

static int vlc_sd_probe_Open ( vlc_object_t obj  )  [static]


Generated on Tue May 25 08:05:37 2010 for VLC by  doxygen 1.5.6