Amazon Kinesis Webrtc C SDK
Sdp.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SdpConnectionInformation
 
struct  SdpOrigin
 
struct  SdpTimeDescription
 
struct  SdpTimeZone
 
struct  SdpEncryptionKey
 
struct  SdpAttributes
 
struct  SdpMediaDescription
 
struct  SessionDescription
 

Macros

#define SDP_ATTRIBUTE_MARKER   "a="
 
#define SDP_BANDWIDTH_MARKER   "b="
 
#define SDP_CONNECTION_INFORMATION_MARKER   "c="
 
#define SDP_EMAIL_ADDRESS_MARKER   "e="
 
#define SDP_ENCRYPTION_KEY_MARKER   "k="
 
#define SDP_INFORMATION_MARKER   "i="
 
#define SDP_MEDIA_NAME_MARKER   "m="
 
#define SDP_ORIGIN_MARKER   "o="
 
#define SDP_PHONE_NUMBER_MARKER   "p="
 
#define SDP_SESSION_NAME_MARKER   "s="
 
#define SDP_TIME_DESCRIPTION_MARKER   "t="
 
#define SDP_TIMEZONE_MARKER   "z="
 
#define SDP_URI_MARKER   "u="
 
#define SDP_VERSION_MARKER   "v="
 
#define SDP_LINE_SEPARATOR   "\r\n"
 
#define SDP_CANDIDATE_TYPE_HOST   "host"
 
#define SDP_CANDIDATE_TYPE_SERFLX   "srflx"
 
#define SDP_CANDIDATE_TYPE_PRFLX   "prflx"
 
#define SDP_CANDIDATE_TYPE_RELAY   "relay"
 
#define SDP_CANDIDATE_TYPE_UNKNOWN   "unknown"
 
#define SDP_ATTRIBUTE_LENGTH   2
 
#define MAX_SDP_OFFSET_LENGTH   255
 
#define MAX_SDP_ENCRYPTION_KEY_METHOD_LENGTH   255
 
#define MAX_SDP_ENCRYPTION_KEY_LENGTH   255
 
#define MAX_SDP_NETWORK_TYPE_LENGTH   7
 
#define MAX_SDP_ADDRESS_TYPE_LENGTH   7
 
#define MAX_SDP_CONNECTION_ADDRESS_LENGTH   63
 
#define MAX_SDP_SESSION_USERNAME_LENGTH   32
 
#define MAX_SDP_ATTRIBUTE_NAME_LENGTH   32
 
#define MAX_SDP_ATTRIBUTE_VALUE_LENGTH   512
 
#define MAX_SDP_MEDIA_NAME_LENGTH   255
 
#define MAX_SDP_MEDIA_TITLE_LENGTH   127
 
#define MAX_SDP_SESSION_INFORMATION_LENGTH   127
 
#define MAX_SDP_SESSION_NAME_LENGTH   255
 
#define MAX_SDP_SESSION_URI_LENGTH   255
 
#define MAX_SDP_SESSION_EMAIL_ADDRESS_LENGTH   255
 
#define MAX_SDP_SESSION_PHONE_NUMBER_LENGTH   255
 
#define MAX_SDP_TOKEN_LENGTH   128
 
#define MAX_SDP_FMTP_VALUES   64
 
#define MAX_SDP_SESSION_TIME_DESCRIPTION_COUNT   2
 
#define MAX_SDP_SESSION_TIMEZONE_COUNT   2
 
#define MAX_SDP_SESSION_MEDIA_COUNT   5
 
#define MAX_SDP_MEDIA_BANDWIDTH_COUNT   2
 
#define MAX_SDP_ATTRIBUTES_COUNT   256
 

Typedefs

typedef struct SdpConnectionInformationPSdpConnectionInformation
 
typedef struct SdpOriginPSdpOrigin
 
typedef struct SdpTimeDescriptionPSdpTimeDescription
 
typedef struct SdpTimeZonePSdpTimeZone
 
typedef struct SdpEncryptionKeyPSdpEncryptionKey
 
typedef struct SdpAttributesPSdpAttributes
 
typedef struct SdpMediaDescriptionPSdpMediaDescription
 
typedef struct SessionDescriptionPSessionDescription
 

Functions

STATUS deserializeSessionDescription (PSessionDescription, PCHAR)
 
STATUS serializeSessionDescription (PSessionDescription, PCHAR, PUINT32)
 
STATUS parseMediaName (PSessionDescription, PCHAR, UINT32)
 
STATUS parseSessionAttributes (PSessionDescription, PCHAR, UINT32)
 
STATUS parseMediaAttributes (PSessionDescription, PCHAR, UINT32)
 

Macro Definition Documentation

◆ MAX_SDP_ADDRESS_TYPE_LENGTH

#define MAX_SDP_ADDRESS_TYPE_LENGTH   7

◆ MAX_SDP_ATTRIBUTE_NAME_LENGTH

#define MAX_SDP_ATTRIBUTE_NAME_LENGTH   32

◆ MAX_SDP_ATTRIBUTE_VALUE_LENGTH

#define MAX_SDP_ATTRIBUTE_VALUE_LENGTH   512

◆ MAX_SDP_ATTRIBUTES_COUNT

#define MAX_SDP_ATTRIBUTES_COUNT   256

◆ MAX_SDP_CONNECTION_ADDRESS_LENGTH

#define MAX_SDP_CONNECTION_ADDRESS_LENGTH   63

◆ MAX_SDP_ENCRYPTION_KEY_LENGTH

#define MAX_SDP_ENCRYPTION_KEY_LENGTH   255

◆ MAX_SDP_ENCRYPTION_KEY_METHOD_LENGTH

#define MAX_SDP_ENCRYPTION_KEY_METHOD_LENGTH   255

◆ MAX_SDP_FMTP_VALUES

#define MAX_SDP_FMTP_VALUES   64

◆ MAX_SDP_MEDIA_BANDWIDTH_COUNT

#define MAX_SDP_MEDIA_BANDWIDTH_COUNT   2

◆ MAX_SDP_MEDIA_NAME_LENGTH

#define MAX_SDP_MEDIA_NAME_LENGTH   255

◆ MAX_SDP_MEDIA_TITLE_LENGTH

#define MAX_SDP_MEDIA_TITLE_LENGTH   127

◆ MAX_SDP_NETWORK_TYPE_LENGTH

#define MAX_SDP_NETWORK_TYPE_LENGTH   7

◆ MAX_SDP_OFFSET_LENGTH

#define MAX_SDP_OFFSET_LENGTH   255

◆ MAX_SDP_SESSION_EMAIL_ADDRESS_LENGTH

#define MAX_SDP_SESSION_EMAIL_ADDRESS_LENGTH   255

◆ MAX_SDP_SESSION_INFORMATION_LENGTH

#define MAX_SDP_SESSION_INFORMATION_LENGTH   127

◆ MAX_SDP_SESSION_MEDIA_COUNT

#define MAX_SDP_SESSION_MEDIA_COUNT   5

https://tools.ietf.org/html/rfc4566#section-5.14

reserving enough for audio, video, text, application and message for now

◆ MAX_SDP_SESSION_NAME_LENGTH

#define MAX_SDP_SESSION_NAME_LENGTH   255

◆ MAX_SDP_SESSION_PHONE_NUMBER_LENGTH

#define MAX_SDP_SESSION_PHONE_NUMBER_LENGTH   255

◆ MAX_SDP_SESSION_TIME_DESCRIPTION_COUNT

#define MAX_SDP_SESSION_TIME_DESCRIPTION_COUNT   2

◆ MAX_SDP_SESSION_TIMEZONE_COUNT

#define MAX_SDP_SESSION_TIMEZONE_COUNT   2

◆ MAX_SDP_SESSION_URI_LENGTH

#define MAX_SDP_SESSION_URI_LENGTH   255

◆ MAX_SDP_SESSION_USERNAME_LENGTH

#define MAX_SDP_SESSION_USERNAME_LENGTH   32

◆ MAX_SDP_TOKEN_LENGTH

#define MAX_SDP_TOKEN_LENGTH   128

◆ SDP_ATTRIBUTE_LENGTH

#define SDP_ATTRIBUTE_LENGTH   2

◆ SDP_ATTRIBUTE_MARKER

#define SDP_ATTRIBUTE_MARKER   "a="

◆ SDP_BANDWIDTH_MARKER

#define SDP_BANDWIDTH_MARKER   "b="

◆ SDP_CANDIDATE_TYPE_HOST

#define SDP_CANDIDATE_TYPE_HOST   "host"

◆ SDP_CANDIDATE_TYPE_PRFLX

#define SDP_CANDIDATE_TYPE_PRFLX   "prflx"

◆ SDP_CANDIDATE_TYPE_RELAY

#define SDP_CANDIDATE_TYPE_RELAY   "relay"

◆ SDP_CANDIDATE_TYPE_SERFLX

#define SDP_CANDIDATE_TYPE_SERFLX   "srflx"

◆ SDP_CANDIDATE_TYPE_UNKNOWN

#define SDP_CANDIDATE_TYPE_UNKNOWN   "unknown"

◆ SDP_CONNECTION_INFORMATION_MARKER

#define SDP_CONNECTION_INFORMATION_MARKER   "c="

◆ SDP_EMAIL_ADDRESS_MARKER

#define SDP_EMAIL_ADDRESS_MARKER   "e="

◆ SDP_ENCRYPTION_KEY_MARKER

#define SDP_ENCRYPTION_KEY_MARKER   "k="

◆ SDP_INFORMATION_MARKER

#define SDP_INFORMATION_MARKER   "i="

◆ SDP_LINE_SEPARATOR

#define SDP_LINE_SEPARATOR   "\r\n"

◆ SDP_MEDIA_NAME_MARKER

#define SDP_MEDIA_NAME_MARKER   "m="

◆ SDP_ORIGIN_MARKER

#define SDP_ORIGIN_MARKER   "o="

◆ SDP_PHONE_NUMBER_MARKER

#define SDP_PHONE_NUMBER_MARKER   "p="

◆ SDP_SESSION_NAME_MARKER

#define SDP_SESSION_NAME_MARKER   "s="

◆ SDP_TIME_DESCRIPTION_MARKER

#define SDP_TIME_DESCRIPTION_MARKER   "t="

◆ SDP_TIMEZONE_MARKER

#define SDP_TIMEZONE_MARKER   "z="

◆ SDP_URI_MARKER

#define SDP_URI_MARKER   "u="

◆ SDP_VERSION_MARKER

#define SDP_VERSION_MARKER   "v="

Typedef Documentation

◆ PSdpAttributes

typedef struct SdpAttributes * PSdpAttributes

◆ PSdpConnectionInformation

◆ PSdpEncryptionKey

◆ PSdpMediaDescription

◆ PSdpOrigin

typedef struct SdpOrigin * PSdpOrigin

◆ PSdpTimeDescription

◆ PSdpTimeZone

typedef struct SdpTimeZone * PSdpTimeZone

◆ PSessionDescription

Function Documentation

◆ deserializeSessionDescription()

STATUS deserializeSessionDescription ( PSessionDescription  pSessionDescription,
PCHAR  sdpBytes 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ parseMediaAttributes()

STATUS parseMediaAttributes ( PSessionDescription  pSessionDescription,
PCHAR  pch,
UINT32  lineLen 
)
Here is the caller graph for this function:

◆ parseMediaName()

STATUS parseMediaName ( PSessionDescription  pSessionDescription,
PCHAR  pch,
UINT32  lineLen 
)
Here is the caller graph for this function:

◆ parseSessionAttributes()

STATUS parseSessionAttributes ( PSessionDescription  pSessionDescription,
PCHAR  pch,
UINT32  lineLen 
)
Here is the caller graph for this function:

◆ serializeSessionDescription()

STATUS serializeSessionDescription ( PSessionDescription  pSessionDescription,
PCHAR  sdpBytes,
PUINT32  sdpBytesLength 
)
Here is the call graph for this function:
Here is the caller graph for this function: