Clones an SDP
Return RTP header extension ID if the extension exists in SDP. Return -1 otherwise
Returns the total number of unique Rtp header extensions.
Checks whether the SDP has candidates for any m-line
Checks whether the SDP has candidates for all m-lines
Return if extension ID exists in the SDP
Checks if SDP has a video section.
Returns the VideoCodecCapability
which corresponds to the first payload type in the
m-line (e.g. m=video 9 UDP/+++ <highest priority payload type> <payload type> <payload type> ...
),
parsing the rest of the SDP for relevant information to construct it.
Returns undefined if there is no video send section or no codecs in the send section
This function is currently unused/deprecated and will be removed in a future PR.
Splits SDP string into lines
List of parsed media sections sections in order they occur on SDP.
Returns all VideoCodecCapability
that can be found in the camera section, in order of priority as defined in
m-line (e.g. m=video 9 UDP/+++ <highest priority payload type> <payload type> <payload type> ...
),
parsing the rest of the SDP for relevant information to construct it.
Returns an empty list if there is no video send section or no codecs in the send section
Removes H.264 from the send section.
Extracts the ssrc for the sendrecv video media section in SDP
Returns whether the sendrecv video sections if exist have two different SSRCs in SDPs
Inserts a parameter to the SDP local offer setting the desired average audio bitrate
Dependency descriptors can be used by the backend to designate spatial or temporal layers on a single encoding. Along with the video layers allocation exension this will result in the ability for remote attendees to subscribe to individual layers below the top.
Modifies the active camera section to include a specified starting bitrate for video sending by adding a 'x-google-start-bitrate' fmtp line paramter for each payload type associated with video.
If no active camera section is found in the SDP, returns the original SDP object.
Update the SDP to include stereo
Munges Unified-Plan SDP from different browsers to conform to one format TODO: will remove this soon.
Based off the provided preferences, this function will reorder the payload types listed in the m=video
line.
This will be applied to the a=sendrecv
section so it can be applied on either local or remote SDPs. It can be used to
'polyfill' RTCRtpSender.setCodecPreferences' on the offer, but it can also be used on remote SDPs to force the codec actually being send, since the send codec is currently dependent on the remote answer (i.e.
setCodecPreferences` doesn't actually
have any impact unless the remote side respects the order of codecs which is not true of the Chime SDK media backends).
Removes candidates of a given type from SDP
If the send transceiver is in a state where the layers allocation extension is not matching up with the dependency descriptor extension, or we simply don't want to allow for the seperation of spatial or temporal layers, we can remove the dependency descriptor from the SDP.
Note: Care should be taken when calling this function since withDependencyDescriptorRtpHeaderExtension
if called again will require an accurate ID value. Thus it is recommended to only call withoutDependencyDescriptorRtpHeaderExtension
after setting the local description.
Removes server reflexive candidate from SDP
Returns the candidate type assocaited with the sdpline.
Returns an enum of candidateType for the given string.
Extract the SSRCs from the group line.
a=ssrc-group:
Here we loop through each line in the SDP and construct an array containing the fmtp attribute for all the audio m lines that use the opus codec. If it doesn't use opus codec we add null to the array which tells updateOpusFmtpAttributes that no update is needed for that particular fmtp attribute line
Return RTP header extension ID if the extension exists in section. Return -1 otherwise
Checks if the candidate is a valid RTP candidate
Constructs a new SDP with the given set of SDP lines.
Extracts the lines from the sdp blob that matches the given prefix.
Format the sdp string into separate lines.
split the different sdp sections
Update the fmtp lines in each audio m section that correspond to the opus codec with the parameters specifief in additionalParams
Generated using TypeDoc
SDP includes a few helper functions for parsing sdp string.