Skip to main content

Module session

Module session 

Source
Expand description

The whole session description, plus the well-known attribute keys. The session description — a whole SDP document.

A SessionDescription is the session-level fields (v=, o=, s=, t=, …) followed by any number of MediaDescriptions. unmarshal parses one from a string and marshal prints it back; the round trip is faithful, including attributes this crate does not interpret.

The ATTR_KEY_* constants name the a= attributes WebRTC relies on — mid, msid, setup, rtcp-mux, extmap and the direction flags — and the SEMANTIC_TOKEN_* constants name the grouping semantics used with a=group and a=msid-semantic.

Structs§

Origin
Origin defines the structure for the “o=” field which provides the originator of the session plus a session identifier and version number.
RepeatTime
RepeatTime describes the “r=” fields of the session description which represents the intervals and durations for repeated scheduled sessions.
SessionDescription
SessionDescription is a a well-defined format for conveying sufficient information to discover and participate in a multimedia session.
TimeDescription
TimeDescription describes “t=”, “r=” fields of the session description which are used to specify the start and stop times for a session as well as repeat intervals and durations for the scheduled session.
TimeZone
TimeZone defines the structured object for “z=” line which describes repeated sessions scheduling.
Timing
Timing defines the “t=” field’s structured representation for the start and stop times.

Constants§

ATTR_KEY_CANDIDATE
Constants for SDP attributes used in JSEP
ATTR_KEY_CONNECTION_SETUP
a=setup: the DTLS role — active, passive or actpass.
ATTR_KEY_END_OF_CANDIDATES
a=end-of-candidates: ICE gathering for this section is complete.
ATTR_KEY_EXTMAP_ALLOW_MIXED
a=extmap-allow-mixed: one- and two-byte header extensions may be mixed.
ATTR_KEY_EXT_MAP
a=extmap: maps an RTP header-extension URI to an id.
ATTR_KEY_GROUP
a=group: groups m-lines, as BUNDLE does.
ATTR_KEY_ICELITE
a=ice-lite: the endpoint is an ICE-lite implementation.
ATTR_KEY_IDENTITY
a=identity: an identity assertion for the session.
ATTR_KEY_INACTIVE
a=inactive: neither send nor receive.
ATTR_KEY_MAX_MESSAGE_SIZE
a=max-message-size: the largest SCTP message this endpoint accepts.
ATTR_KEY_MID
a=mid: the media identification tag that names this m-line.
ATTR_KEY_MSID
a=msid: associates a track with a media stream.
ATTR_KEY_MSID_SEMANTIC
a=msid-semantic: declares the semantics used by a=msid.
ATTR_KEY_RECV_ONLY
a=recvonly: receive only.
ATTR_KEY_RTCPMUX
a=rtcp-mux: RTP and RTCP share one port.
ATTR_KEY_RTCPRSIZE
a=rtcp-rsize: reduced-size RTCP is supported.
ATTR_KEY_SEND_ONLY
a=sendonly: send only.
ATTR_KEY_SEND_RECV
a=sendrecv: send and receive.
ATTR_KEY_SSRC
a=ssrc: declares an SSRC and its attributes.
ATTR_KEY_SSRC_GROUP
a=ssrc-group: relates SSRCs, such as an RTX stream to its primary.
SEMANTIC_TOKEN_FLOW_IDENTIFICATION
FID: flow identification — the SSRCs carry the same content, as RTX does.
SEMANTIC_TOKEN_FORWARD_ERROR_CORRECTION
FEC: one SSRC carries error-correction data for another.
SEMANTIC_TOKEN_FORWARD_ERROR_CORRECTION_FRAMEWORK
FEC-FR: the FEC framework grouping semantic.
SEMANTIC_TOKEN_LIP_SYNCHRONIZATION
Constants for semantic tokens used in JSEP
SEMANTIC_TOKEN_WEBRTC_MEDIA_STREAMS
WMS: WebRTC media streams, used with a=msid-semantic.

Type Aliases§

EmailAddress
EmailAddress describes a structured representations for the “e=” line which specifies email contact information for the person responsible for the conference.
PhoneNumber
PhoneNumber describes a structured representations for the “p=” line specify phone contact information for the person responsible for the conference.
SessionName
SessionName describes a structured representations for the “s=” field and is the textual session name.
Version
Version describes the value provided by the “v=” field which gives the version of the Session Description Protocol.