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

Go to the source code of this file.

Macros

#define SESSION_DESCRIPTION_INIT_LINE_ENDING   "\\r\\n"
 
#define SESSION_DESCRIPTION_INIT_LINE_ENDING_WITHOUT_CR   "\\n"
 
#define SESSION_DESCRIPTION_INIT_TEMPLATE_HEAD   "{\"type\": \"%s\", \"sdp\": \""
 
#define SESSION_DESCRIPTION_INIT_TEMPLATE_TAIL   "\"}"
 
#define SDP_OFFER_VALUE   "offer"
 
#define SDP_ANSWER_VALUE   "answer"
 
#define MEDIA_SECTION_AUDIO_VALUE   "audio"
 
#define MEDIA_SECTION_VIDEO_VALUE   "video"
 
#define SDP_TYPE_KEY   "type"
 
#define SDP_KEY   "sdp"
 
#define CANDIDATE_KEY   "candidate"
 
#define SSRC_KEY   "ssrc"
 
#define BUNDLE_KEY   "BUNDLE"
 
#define MID_KEY   "mid"
 
#define H264_VALUE   "H264/90000"
 
#define H265_VALUE   "H265/90000"
 
#define OPUS_VALUE   "opus/48000"
 
#define VP8_VALUE   "VP8/90000"
 
#define MULAW_VALUE   "PCMU/8000"
 
#define ALAW_VALUE   "PCMA/8000"
 
#define RTX_VALUE   "rtx/90000"
 
#define RTX_CODEC_VALUE   "apt="
 
#define FMTP_VALUE   "fmtp:"
 
#define RTPMAP_VALUE   "rtpmap"
 
#define MAX_PAYLOAD_TYPE_LENGTH   (UINT64) 10
 
#define DEFAULT_PAYLOAD_MULAW   (UINT64) 0
 
#define DEFAULT_PAYLOAD_ALAW   (UINT64) 8
 
#define DEFAULT_PAYLOAD_OPUS   (UINT64) 111
 
#define DEFAULT_PAYLOAD_VP8   (UINT64) 96
 
#define DEFAULT_PAYLOAD_H264   (UINT64) 125
 
#define DEFAULT_PAYLOAD_H265   (UINT64) 127
 
#define DEFAULT_PAYLOAD_MULAW_STR   (PCHAR) "0"
 
#define DEFAULT_PAYLOAD_ALAW_STR   (PCHAR) "8"
 
#define DEFAULT_H264_FMTP   (PCHAR) "level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f"
 
#define DEFAULT_H265_FMTP
 
#define DEFAULT_OPUS_FMTP   (PCHAR) "minptime=10;useinbandfec=1"
 
#define H264_PROFILE_42E01F   0x42e01f
 
#define H264_FMTP_SUBPROFILE_MASK   0xFFFF00
 
#define H264_FMTP_PROFILE_LEVEL_MASK   0x0000FF
 
#define DTLS_ROLE_ACTPASS   (PCHAR) "actpass"
 
#define DTLS_ROLE_ACTIVE   (PCHAR) "active"
 
#define VIDEO_CLOCKRATE   (UINT64) 90000
 
#define OPUS_CLOCKRATE   (UINT64) 48000
 
#define PCM_CLOCKRATE   (UINT64) 8000
 
#define TWCC_SDP_ATTR   "transport-cc"
 
#define TWCC_EXT_URL   (PCHAR) "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"
 
#define CODEC_RTPMAP_PAYLOAD_TYPES_HASH_TABLE_BUCKET_LENGTH   2
 

Functions

STATUS setPayloadTypesFromOffer (PHashTable, PHashTable, PSessionDescription)
 
STATUS setPayloadTypesForOffer (PHashTable)
 
STATUS setTransceiverPayloadTypes (PHashTable, PHashTable, PDoubleList)
 
STATUS populateSessionDescription (PKvsPeerConnection, PSessionDescription, PSessionDescription)
 
STATUS findTransceiversByRemoteDescription (PKvsPeerConnection, PSessionDescription, PHashTable, PHashTable)
 
STATUS setReceiversSsrc (PSessionDescription, PDoubleList)
 
PCHAR fmtpForPayloadType (UINT64, PSessionDescription)
 
UINT64 getH264FmtpScore (PCHAR)
 

Macro Definition Documentation

◆ ALAW_VALUE

#define ALAW_VALUE   "PCMA/8000"

◆ BUNDLE_KEY

#define BUNDLE_KEY   "BUNDLE"

◆ CANDIDATE_KEY

#define CANDIDATE_KEY   "candidate"

◆ CODEC_RTPMAP_PAYLOAD_TYPES_HASH_TABLE_BUCKET_LENGTH

#define CODEC_RTPMAP_PAYLOAD_TYPES_HASH_TABLE_BUCKET_LENGTH   2

◆ DEFAULT_H264_FMTP

#define DEFAULT_H264_FMTP   (PCHAR) "level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f"

◆ DEFAULT_H265_FMTP

#define DEFAULT_H265_FMTP
Value:
(PCHAR) "profile-space=0;profile-id=0;tier-flag=0;level-id=0;interop-constraints=000000000000;sprop-vps=QAEMAf//" \
"AIAAAAMAAAMAAAMAAAMAALUCQA==;sprop-sps=QgEBAIAAAAMAAAMAAAMAAAMAAKACgIAtH+W1kkbQzkkktySqSfKSyA==;sprop-pps=RAHBpVgeSA=="

◆ DEFAULT_OPUS_FMTP

#define DEFAULT_OPUS_FMTP   (PCHAR) "minptime=10;useinbandfec=1"

◆ DEFAULT_PAYLOAD_ALAW

#define DEFAULT_PAYLOAD_ALAW   (UINT64) 8

◆ DEFAULT_PAYLOAD_ALAW_STR

#define DEFAULT_PAYLOAD_ALAW_STR   (PCHAR) "8"

◆ DEFAULT_PAYLOAD_H264

#define DEFAULT_PAYLOAD_H264   (UINT64) 125

◆ DEFAULT_PAYLOAD_H265

#define DEFAULT_PAYLOAD_H265   (UINT64) 127

◆ DEFAULT_PAYLOAD_MULAW

#define DEFAULT_PAYLOAD_MULAW   (UINT64) 0

◆ DEFAULT_PAYLOAD_MULAW_STR

#define DEFAULT_PAYLOAD_MULAW_STR   (PCHAR) "0"

◆ DEFAULT_PAYLOAD_OPUS

#define DEFAULT_PAYLOAD_OPUS   (UINT64) 111

◆ DEFAULT_PAYLOAD_VP8

#define DEFAULT_PAYLOAD_VP8   (UINT64) 96

◆ DTLS_ROLE_ACTIVE

#define DTLS_ROLE_ACTIVE   (PCHAR) "active"

◆ DTLS_ROLE_ACTPASS

#define DTLS_ROLE_ACTPASS   (PCHAR) "actpass"

◆ FMTP_VALUE

#define FMTP_VALUE   "fmtp:"

◆ H264_FMTP_PROFILE_LEVEL_MASK

#define H264_FMTP_PROFILE_LEVEL_MASK   0x0000FF

◆ H264_FMTP_SUBPROFILE_MASK

#define H264_FMTP_SUBPROFILE_MASK   0xFFFF00

◆ H264_PROFILE_42E01F

#define H264_PROFILE_42E01F   0x42e01f

◆ H264_VALUE

#define H264_VALUE   "H264/90000"

◆ H265_VALUE

#define H265_VALUE   "H265/90000"

◆ MAX_PAYLOAD_TYPE_LENGTH

#define MAX_PAYLOAD_TYPE_LENGTH   (UINT64) 10

◆ MEDIA_SECTION_AUDIO_VALUE

#define MEDIA_SECTION_AUDIO_VALUE   "audio"

◆ MEDIA_SECTION_VIDEO_VALUE

#define MEDIA_SECTION_VIDEO_VALUE   "video"

◆ MID_KEY

#define MID_KEY   "mid"

◆ MULAW_VALUE

#define MULAW_VALUE   "PCMU/8000"

◆ OPUS_CLOCKRATE

#define OPUS_CLOCKRATE   (UINT64) 48000

◆ OPUS_VALUE

#define OPUS_VALUE   "opus/48000"

◆ PCM_CLOCKRATE

#define PCM_CLOCKRATE   (UINT64) 8000

◆ RTPMAP_VALUE

#define RTPMAP_VALUE   "rtpmap"

◆ RTX_CODEC_VALUE

#define RTX_CODEC_VALUE   "apt="

◆ RTX_VALUE

#define RTX_VALUE   "rtx/90000"

◆ SDP_ANSWER_VALUE

#define SDP_ANSWER_VALUE   "answer"

◆ SDP_KEY

#define SDP_KEY   "sdp"

◆ SDP_OFFER_VALUE

#define SDP_OFFER_VALUE   "offer"

◆ SDP_TYPE_KEY

#define SDP_TYPE_KEY   "type"

◆ SESSION_DESCRIPTION_INIT_LINE_ENDING

#define SESSION_DESCRIPTION_INIT_LINE_ENDING   "\\r\\n"

◆ SESSION_DESCRIPTION_INIT_LINE_ENDING_WITHOUT_CR

#define SESSION_DESCRIPTION_INIT_LINE_ENDING_WITHOUT_CR   "\\n"

◆ SESSION_DESCRIPTION_INIT_TEMPLATE_HEAD

#define SESSION_DESCRIPTION_INIT_TEMPLATE_HEAD   "{\"type\": \"%s\", \"sdp\": \""

◆ SESSION_DESCRIPTION_INIT_TEMPLATE_TAIL

#define SESSION_DESCRIPTION_INIT_TEMPLATE_TAIL   "\"}"

◆ SSRC_KEY

#define SSRC_KEY   "ssrc"

◆ TWCC_EXT_URL

#define TWCC_EXT_URL   (PCHAR) "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"

◆ TWCC_SDP_ATTR

#define TWCC_SDP_ATTR   "transport-cc"

◆ VIDEO_CLOCKRATE

#define VIDEO_CLOCKRATE   (UINT64) 90000

◆ VP8_VALUE

#define VP8_VALUE   "VP8/90000"

Function Documentation

◆ findTransceiversByRemoteDescription()

STATUS findTransceiversByRemoteDescription ( PKvsPeerConnection  pKvsPeerConnection,
PSessionDescription  pRemoteSessionDescription,
PHashTable  pUnknownCodecPayloadTypesTable,
PHashTable  pUnknownCodecRtpmapTable 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ fmtpForPayloadType()

PCHAR fmtpForPayloadType ( UINT64  payloadType,
PSessionDescription  pSessionDescription 
)
Here is the caller graph for this function:

◆ getH264FmtpScore()

UINT64 getH264FmtpScore ( PCHAR  fmtp)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ populateSessionDescription()

STATUS populateSessionDescription ( PKvsPeerConnection  pKvsPeerConnection,
PSessionDescription  pRemoteSessionDescription,
PSessionDescription  pLocalSessionDescription 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setPayloadTypesForOffer()

STATUS setPayloadTypesForOffer ( PHashTable  codecTable)
Here is the caller graph for this function:

◆ setPayloadTypesFromOffer()

STATUS setPayloadTypesFromOffer ( PHashTable  codecTable,
PHashTable  rtxTable,
PSessionDescription  pSessionDescription 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setReceiversSsrc()

STATUS setReceiversSsrc ( PSessionDescription  pRemoteSessionDescription,
PDoubleList  pTransceivers 
)
Here is the caller graph for this function:

◆ setTransceiverPayloadTypes()

STATUS setTransceiverPayloadTypes ( PHashTable  codecTable,
PHashTable  rtxTable,
PDoubleList  pTransceivers 
)
Here is the call graph for this function:
Here is the caller graph for this function: