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 SAP_TIMESHIFT_TEXT   N_("Allow timeshifting")
#define SAP_TIMESHIFT_LONGTEXT
#define MAX_SAP_BUFFER   5000

Typedefs

typedef sdp_t sdp_t
typedef attribute_t attribute_t
typedef sap_announce_t sap_announce_t

Functions

static int Open (vlc_object_t *)
static void Close (vlc_object_t *)
static int OpenDemux (vlc_object_t *)
static void CloseDemux (vlc_object_t *)
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 (services_discovery_t *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 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

#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

#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_TIMESHIFT_LONGTEXT

Value:

N_( "This automatically enables timeshifting " \
        "for streams discovered through SAP announcements." )

#define SAP_TIMESHIFT_TEXT   N_("Allow timeshifting")

#define SAP_V4_GLOBAL_ADDRESS   "224.2.127.254"

#define SAP_V4_LINK_ADDRESS   "224.0.0.255"

#define SAP_V4_LOCAL_ADDRESS   "239.255.255.255"

#define SAP_V4_ORG_ADDRESS   "239.195.255.255"


Typedef Documentation

typedef struct attribute_t attribute_t

typedef struct sap_announce_t sap_announce_t

typedef struct sdp_t sdp_t


Function Documentation

static void Close ( vlc_object_t  )  [static]

static void CloseDemux ( vlc_object_t  )  [static]

static int Control ( demux_t ,
int  ,
va_list   
) [static]

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

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

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]

static void FreeSDP ( sdp_t p_sdp  )  [static]

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

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

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

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

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

static int Open ( vlc_object_t  )  [static]

static int OpenDemux ( vlc_object_t  )  [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]

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

static void Run ( services_discovery_t p_sd  )  [static]

int vlc_entry__main ( module_t p_module  ) 

const char* vlc_entry_license__main ( void   ) 


Generated on Wed Aug 13 08:05:47 2008 for VLC by  doxygen 1.5.1