Amazon Kinesis Webrtc C SDK
Loading...
Searching...
No Matches
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   (PCHAR) "level-id=93;profile-id=1"
#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
#define RTC_RTP_TRANSCEIVER_DIRECTION_SENDRECV_STR   ((PCHAR) "sendrecv")
#define RTC_RTP_TRANSCEIVER_DIRECTION_SENDONLY_STR   ((PCHAR) "sendonly")
#define RTC_RTP_TRANSCEIVER_DIRECTION_RECVONLY_STR   ((PCHAR) "recvonly")
#define RTC_RTP_TRANSCEIVER_DIRECTION_INACTIVE_STR   ((PCHAR) "inactive")

Functions

STATUS setPayloadTypesFromOffer (PHashTable, PHashTable, PSessionDescription)
STATUS setPayloadTypesForOffer (PHashTable)
STATUS getRtxCodecKeyForCodec (RTC_CODEC, PUINT64)
STATUS setTransceiverPayloadTypes (PHashTable, PHashTable, PDoubleList)
STATUS populateSessionDescription (PKvsPeerConnection, PSessionDescription, PSessionDescription)
RTC_RTP_TRANSCEIVER_DIRECTION intersectTransceiverDirection (RTC_RTP_TRANSCEIVER_DIRECTION, RTC_RTP_TRANSCEIVER_DIRECTION)
RTC_RTP_TRANSCEIVER_DIRECTION parseTransceiverDirection (PCHAR, RTC_RTP_TRANSCEIVER_DIRECTION *)
STATUS writeTransceiverDirection (PCHAR, UINT32, RTC_RTP_TRANSCEIVER_DIRECTION)
STATUS findTransceiversByRemoteDescription (PKvsPeerConnection, PSessionDescription, PHashTable, PHashTable)
STATUS setReceiversSsrc (PSessionDescription, PDoubleList, PHashTable)
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   (PCHAR) "level-id=93;profile-id=1"

◆ 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

◆ RTC_RTP_TRANSCEIVER_DIRECTION_INACTIVE_STR

#define RTC_RTP_TRANSCEIVER_DIRECTION_INACTIVE_STR   ((PCHAR) "inactive")

◆ RTC_RTP_TRANSCEIVER_DIRECTION_RECVONLY_STR

#define RTC_RTP_TRANSCEIVER_DIRECTION_RECVONLY_STR   ((PCHAR) "recvonly")

◆ RTC_RTP_TRANSCEIVER_DIRECTION_SENDONLY_STR

#define RTC_RTP_TRANSCEIVER_DIRECTION_SENDONLY_STR   ((PCHAR) "sendonly")

◆ RTC_RTP_TRANSCEIVER_DIRECTION_SENDRECV_STR

#define RTC_RTP_TRANSCEIVER_DIRECTION_SENDRECV_STR   ((PCHAR) "sendrecv")

◆ 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:

◆ getRtxCodecKeyForCodec()

STATUS getRtxCodecKeyForCodec ( RTC_CODEC codec,
PUINT64 pRtxCodecKey )
Here is the caller graph for this function:

◆ intersectTransceiverDirection()

Here is the caller graph for this function:

◆ parseTransceiverDirection()

RTC_RTP_TRANSCEIVER_DIRECTION parseTransceiverDirection ( PCHAR str,
RTC_RTP_TRANSCEIVER_DIRECTION * pDirection )
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,
PHashTable codecTable )
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:

◆ writeTransceiverDirection()

STATUS writeTransceiverDirection ( PCHAR buf,
UINT32 len,
RTC_RTP_TRANSCEIVER_DIRECTION direction )
Here is the caller graph for this function: