Enums

String enums of the specifications.

Members compare equal to their spec strings and print as them: RTCSignalingState.have_local_offer == 'have-local-offer'. Hyphens in the values become underscores in the member names. Parameters that take an enum take its string value too, as typed by the ...Value literal next to it.

class webrtc.enums.RTCPeerConnectionState

The overall state of a connection, combined from its ICE and DTLS transports.

See MDN: RTCPeerConnection/connectionState.

new = 'new'

No transport has started connecting yet

connecting = 'connecting'

A transport is connecting, and none has failed

connected = 'connected'

Every transport in use is connected

disconnected = 'disconnected'

A transport lost connectivity, and may recover

failed = 'failed'

A transport failed and needs an ICE restart

closed = 'closed'

The connection was closed

class webrtc.enums.RTCSignalingState

Where a connection is in the offer/answer exchange.

See MDN: RTCPeerConnection/signalingState.

stable = 'stable'

No offer/answer exchange is in progress

have_local_offer = 'have-local-offer'

A local offer is set, waiting for an answer

have_local_pranswer = 'have-local-pranswer'

A remote offer and a local provisional answer are set

have_remote_offer = 'have-remote-offer'

A remote offer is set, waiting for a local answer

have_remote_pranswer = 'have-remote-pranswer'

A local offer and a remote provisional answer are set

closed = 'closed'

The connection was closed

class webrtc.enums.RTCIceConnectionState

The state of the ICE transports of a connection, taken together.

See MDN: RTCPeerConnection/iceConnectionState.

new = 'new'

No transport is checking candidates yet

checking = 'checking'

A transport is checking candidate pairs, and none is connected

connected = 'connected'

Every transport has a usable pair

completed = 'completed'

Every transport finished checking and has a usable pair

failed = 'failed'

A transport found no usable pair

disconnected = 'disconnected'

A transport lost connectivity, and may recover

closed = 'closed'

The connection was closed

class webrtc.enums.RTCIceGatheringState

The candidate gathering state of the ICE transports of a connection, taken together.

See MDN: RTCPeerConnection/iceGatheringState.

new = 'new'

No transport has started gathering

gathering = 'gathering'

A transport is gathering candidates

complete = 'complete'

Every transport finished gathering

class webrtc.enums.RTCSdpType

The type of a session description.

See MDN: RTCSessionDescription/type.

offer = 'offer'

An offer, which starts an exchange

pranswer = 'pranswer'

A provisional answer, which can still be replaced

answer = 'answer'

The final answer, which ends an exchange

rollback = 'rollback'

Discards a pending offer and returns to the last stable state

webrtc.enums.RTCSdpTypeValue

The string values of RTCSdpType, which parameters accept in place of its members

alias of Literal[‘offer’, ‘pranswer’, ‘answer’, ‘rollback’]

class webrtc.enums.MediaStreamTrackState

Whether a track still delivers media.

See MDN: MediaStreamTrack/readyState.

live = 'live'

The track delivers media, or will when it’s unmuted

ended = 'ended'

The track was stopped or its source ended, and it won’t deliver media again

class webrtc.enums.MediaStreamSourceState

The state of the native source of a track. This library adds it. The specifications have no such enum.

initializing = 'initializing'

The source is starting

live = 'live'

The source produces media

ended = 'ended'

The source stopped permanently

muted = 'muted'

The source produces no media for now

class webrtc.enums.RTCRtpTransceiverDirection

Whether a transceiver sends media, receives it, both or neither.

See MDN: RTCRtpTransceiver/direction.

sendrecv = 'sendrecv'

Sends and receives

sendonly = 'sendonly'

Sends only

recvonly = 'recvonly'

Receives only

inactive = 'inactive'

Neither sends nor receives

stopped = 'stopped'

Stopped, which isn’t a direction that can be set

webrtc.enums.RTCRtpTransceiverDirectionValue

The string values of RTCRtpTransceiverDirection, which parameters accept in place of its members

alias of Literal[‘sendrecv’, ‘sendonly’, ‘recvonly’, ‘inactive’, ‘stopped’]

class webrtc.enums.MediaType

The kind of a track or a transceiver.

Tracks are audio or video. The data and unsupported kinds come from the media sections of the native WebRTC engine.

See MDN: MediaStreamTrack/kind.

audio = 'audio'

Audio

video = 'video'

Video

data = 'data'

The media section of data channels

unsupported = 'unsupported'

A media section of a kind the native WebRTC engine doesn’t handle

webrtc.enums.MediaTypeValue

The string values of MediaType, which parameters accept in place of its members

alias of Literal[‘audio’, ‘video’, ‘data’, ‘unsupported’]

class webrtc.enums.MediaDeviceKind

The kind of a media device.

See MDN: MediaDeviceInfo/kind.

audioinput = 'audioinput'

A microphone or another audio input

audiooutput = 'audiooutput'

Speakers, headphones or another audio output

videoinput = 'videoinput'

A camera or another video input

class webrtc.enums.VideoFacingModeEnum

The direction a camera faces, relative to the user.

See MDN: MediaTrackConstraints/facingMode.

user = 'user'

Towards the user, like a front camera

environment = 'environment'

Away from the user, like a back camera

left = 'left'

Towards the left of the user

right = 'right'

Towards the right of the user

class webrtc.enums.VideoResizeModeEnum

Whether the video of a source may be cropped and scaled to meet the constraints of a track.

none = 'none'

The video keeps the resolution and frame rate of the source

crop_and_scale = 'crop-and-scale'

The video may be cropped, scaled down and have frames dropped

class webrtc.enums.EchoCancellationModeEnum

Which audio played out is removed as echo from a microphone.

See MDN: MediaTrackConstraints/echoCancellation.

all = 'all'

Any audio the system plays

remote_only = 'remote-only'

Only the audio received from remote peers

class webrtc.enums.RTCIceComponent

Whether an ICE transport or candidate carries RTP or RTCP.

See MDN: RTCIceCandidate/component.

rtp = 'rtp'

RTP, or RTP and RTCP multiplexed together

rtcp = 'rtcp'

RTCP on its own transport

class webrtc.enums.RTCIceRole

The role of an ICE agent. The controlling agent picks the candidate pair.

See MDN: RTCIceTransport/role.

controlling = 'controlling'

Nominates the candidate pair in use

controlled = 'controlled'

Accepts the pair the other agent nominates

unknown = 'unknown'

Not decided yet

class webrtc.enums.RTCIceTransportState

The state of an ICE transport.

See MDN: RTCIceTransport/state.

new = 'new'

The transport is gathering candidates or waiting for remote ones, and hasn’t started checks

checking = 'checking'

Candidate pairs are being checked, and none works yet

connected = 'connected'

A usable pair was found, and checks may go on

completed = 'completed'

Checks finished, and a usable pair was found

disconnected = 'disconnected'

Connectivity was lost, and may recover

failed = 'failed'

Checks finished without a usable pair

closed = 'closed'

The transport was closed

class webrtc.enums.RTCIceGathererState

The candidate gathering state of an ICE transport.

See MDN: RTCIceTransport/gatheringState.

new = 'new'

Gathering hasn’t started

gathering = 'gathering'

Candidates are being gathered

complete = 'complete'

Gathering finished

class webrtc.enums.RTCDtlsTransportState

The state of a DTLS transport.

See MDN: RTCDtlsTransport/state.

new = 'new'

The handshake hasn’t started

connecting = 'connecting'

The handshake is in progress

connected = 'connected'

The handshake succeeded

closed = 'closed'

Either side closed the transport

failed = 'failed'

The handshake or the fingerprint check failed

class webrtc.enums.RTCSctpTransportState

The state of an SCTP transport.

See MDN: RTCSctpTransport/state.

connecting = 'connecting'

The association is being set up

connected = 'connected'

The association is up, and channels can open

closed = 'closed'

The association was closed

class webrtc.enums.RTCDataChannelState

The state of a data channel.

See MDN: RTCDataChannel/readyState.

connecting = 'connecting'

The channel is being opened, and messages can’t be sent yet

open = 'open'

Messages can be sent and received

closing = 'closing'

The channel will close once the messages already queued are sent

closed = 'closed'

The channel was closed, or couldn’t be opened

class webrtc.enums.RTCPriorityType

The priority of a data channel or an encoding, relative to the others of the connection.

Each level gets twice the bandwidth share of the one below it.

See MDN: RTCRtpSender/setParameters.

very_low = 'very-low'

The lowest priority, with half the share of low

low = 'low'

The default priority

medium = 'medium'

Twice the share of low

high = 'high'

Four times the share of low

webrtc.enums.RTCPriorityTypeValue

The string values of RTCPriorityType, which parameters accept in place of its members

alias of Literal[‘very-low’, ‘low’, ‘medium’, ‘high’]

class webrtc.enums.RTCDegradationPreference

What a video sender gives up first when bandwidth or CPU runs short.

See MDN: RTCRtpSender/setParameters.

maintain_framerate = 'maintain-framerate'

Keeps the frame rate and lowers the resolution

maintain_resolution = 'maintain-resolution'

Keeps the resolution and lowers the frame rate

balanced = 'balanced'

Lowers both, as the native WebRTC engine sees fit

maintain_framerate_and_resolution = 'maintain-framerate-and-resolution'

Keeps both and lowers only the quality of the encoding

webrtc.enums.RTCDegradationPreferenceValue

The string values of RTCDegradationPreference, which parameters accept in place of its members

alias of Literal[‘maintain-framerate’, ‘maintain-resolution’, ‘balanced’, ‘maintain-framerate-and-resolution’]

class webrtc.enums.RTCIceTransportPolicy

Which ICE candidates a connection may use.

See MDN: RTCPeerConnection/RTCPeerConnection.

all = 'all'

Any candidate

relay = 'relay'

Only candidates relayed through a TURN server, which hides the host’s addresses

webrtc.enums.RTCIceTransportPolicyValue

The string values of RTCIceTransportPolicy, which parameters accept in place of its members

alias of Literal[‘all’, ‘relay’]

class webrtc.enums.RTCBundlePolicy

How media sections share transports when the remote peer may not support bundling.

See MDN: RTCPeerConnection/RTCPeerConnection.

balanced = 'balanced'

A transport per media kind until the remote peer accepts bundling

max_compat = 'max-compat'

A transport per media section until the remote peer accepts bundling

max_bundle = 'max-bundle'

One transport for every media section, which needs a remote peer that supports bundling

webrtc.enums.RTCBundlePolicyValue

The string values of RTCBundlePolicy, which parameters accept in place of its members

alias of Literal[‘balanced’, ‘max-compat’, ‘max-bundle’]

class webrtc.enums.RTCRtcpMuxPolicy

Whether RTCP shares the transport of RTP.

See MDN: RTCPeerConnection/RTCPeerConnection.

negotiate = 'negotiate'

RTCP may use its own transport; removed from the specification

require = 'require'

RTCP shares the transport of RTP, and a remote description without RTCP multiplexing fails

webrtc.enums.RTCRtcpMuxPolicyValue

The string values of RTCRtcpMuxPolicy, which parameters accept in place of its members

alias of Literal[‘negotiate’, ‘require’]

class webrtc.enums.RTCRtpHeaderEncryptionPolicy

Whether RTP header extensions are encrypted with cryptex (RFC 9335).

disable = 'disable'

Never encrypts them

negotiate = 'negotiate'

Encrypts them when the remote peer supports it

require = 'require'

Always encrypts them, so a remote description without cryptex fails

webrtc.enums.RTCRtpHeaderEncryptionPolicyValue

The string values of RTCRtpHeaderEncryptionPolicy, which parameters accept in place of its members

alias of Literal[‘disable’, ‘negotiate’, ‘require’]

class webrtc.enums.RTCIceCandidateType

Where the address of an ICE candidate comes from.

See MDN: RTCIceCandidate/type.

host = 'host'

An address of a local network interface

srflx = 'srflx'

The public address a STUN server saw (server reflexive)

prflx = 'prflx'

An address learned from the checks of the remote peer (peer reflexive)

relay = 'relay'

An address allocated on a TURN server

class webrtc.enums.RTCIceProtocol

The transport protocol of an ICE candidate.

See MDN: RTCIceCandidate/protocol.

udp = 'udp'

UDP

tcp = 'tcp'

TCP

class webrtc.enums.RTCIceTcpCandidateType

How a TCP ICE candidate opens its connections.

See MDN: RTCIceCandidate/tcpType.

active = 'active'

Opens connections but doesn’t accept them

passive = 'passive'

Accepts connections but doesn’t open them

so = 'so'

Both sides try to open the connection at once (simultaneous open)

class webrtc.enums.RTCIceServerTransportProtocol

The protocol between the client and the TURN server of a relay candidate.

See MDN: RTCIceCandidateStats/relayProtocol.

udp = 'udp'

UDP

tcp = 'tcp'

TCP

tls = 'tls'

TLS over TCP

webrtc.enums.RTCIceServerTransportProtocolValue

The string values of RTCIceServerTransportProtocol, which parameters accept in place of its members

alias of Literal[‘udp’, ‘tcp’, ‘tls’]

class webrtc.enums.RTCStatsType

The type of a stats object, which tells which stats class it is.

See MDN: RTCStatsReport.

codec = 'codec'

webrtc.RTCCodecStats

inbound_rtp = 'inbound-rtp'

webrtc.RTCInboundRtpStreamStats

outbound_rtp = 'outbound-rtp'

webrtc.RTCOutboundRtpStreamStats

remote_inbound_rtp = 'remote-inbound-rtp'

webrtc.RTCRemoteInboundRtpStreamStats

remote_outbound_rtp = 'remote-outbound-rtp'

webrtc.RTCRemoteOutboundRtpStreamStats

media_source = 'media-source'

webrtc.RTCAudioSourceStats or webrtc.RTCVideoSourceStats

media_playout = 'media-playout'

webrtc.RTCAudioPlayoutStats

peer_connection = 'peer-connection'

webrtc.RTCPeerConnectionStats

data_channel = 'data-channel'

webrtc.RTCDataChannelStats

transport = 'transport'

webrtc.RTCTransportStats

candidate_pair = 'candidate-pair'

webrtc.RTCIceCandidatePairStats

local_candidate = 'local-candidate'

webrtc.RTCIceCandidateStats of a local candidate

remote_candidate = 'remote-candidate'

webrtc.RTCIceCandidateStats of a remote candidate

certificate = 'certificate'

webrtc.RTCCertificateStats

class webrtc.enums.RTCQualityLimitationReason

What limits the resolution or frame rate of a video sender the most.

See MDN: RTCOutboundRtpStreamStats/qualityLimitationReason.

none = 'none'

Nothing

cpu = 'cpu'

The CPU, which can’t encode fast enough

bandwidth = 'bandwidth'

The estimated bandwidth

other = 'other'

Something else

class webrtc.enums.RTCDtlsRole

The role of a DTLS transport in the handshake.

See MDN: RTCTransportStats/dtlsRole.

client = 'client'

Starts the handshake

server = 'server'

Answers the handshake

unknown = 'unknown'

Not decided yet

class webrtc.enums.RTCStatsIceCandidatePairState

The state of an ICE candidate pair in the checklist.

See MDN: RTCIceCandidatePairStats/state.

frozen = 'frozen'

Waits for a check of another pair of the same foundation

waiting = 'waiting'

Waits to be checked

in_progress = 'in-progress'

Being checked

failed = 'failed'

The check failed

succeeded = 'succeeded'

The check succeeded

class webrtc.enums.RTCErrorDetailType

The WebRTC-specific cause of an webrtc.RTCError.

See MDN: RTCError/errorDetail.

data_channel_failure = 'data-channel-failure'

A data channel failed (see webrtc.RTCError.sctp_cause_code)

dtls_failure = 'dtls-failure'

The DTLS handshake failed or a DTLS alert was received

fingerprint_failure = 'fingerprint-failure'

The certificate of the remote peer doesn’t match the fingerprint of its description

sctp_failure = 'sctp-failure'

The SCTP association failed (see webrtc.RTCError.sctp_cause_code)

sdp_syntax_error = 'sdp-syntax-error'

A description doesn’t parse (see webrtc.RTCError.sdp_line_number)

hardware_encoder_not_available = 'hardware-encoder-not-available'

A hardware encoder was required and none is available

hardware_encoder_error = 'hardware-encoder-error'

The hardware encoder failed

webrtc.enums.RTCErrorDetailTypeValue

The string values of webrtc.RTCErrorDetailType, which parameters accept in place of its members

alias of Literal[‘data-channel-failure’, ‘dtls-failure’, ‘fingerprint-failure’, ‘sctp-failure’, ‘sdp-syntax-error’, ‘hardware-encoder-not-available’, ‘hardware-encoder-error’]

class webrtc.enums.BinaryType

What the binary messages of a webrtc.RTCDataChannel are delivered as.

See MDN: RTCDataChannel/binaryType.

arraybuffer = 'arraybuffer'

bytes

blob = 'blob'

webrtc.Blob

webrtc.enums.BinaryTypeValue

The string values of BinaryType, which parameters accept in place of its members

alias of Literal[‘arraybuffer’, ‘blob’]

class webrtc.enums.EndingType

How a webrtc.Blob writes the line endings of its string parts.

See MDN: Blob/Blob.

transparent = 'transparent'

As they are

native = 'native'

As the platform’s, which are \r\n on Windows and \n elsewhere

webrtc.enums.EndingTypeValue

The string values of EndingType, which parameters accept in place of its members

alias of Literal[‘transparent’, ‘native’]

class webrtc.enums.VideoPixelFormat

The layout of the pixels of a webrtc.VideoFrame.

I4xx formats are planar Y, U and V, plus alpha with A. Chroma is subsampled 4:2:0 in I420 and 4:2:2 in I422, and has full resolution in I444. Samples are 8-bit, or 10- and 12-bit stored in 16 bits with P10 and P12.

See MDN: VideoFrame/format.

I420 = 'I420'

8-bit Y, U, V, 4:2:0

I420P10 = 'I420P10'

10-bit Y, U, V, 4:2:0

I420P12 = 'I420P12'

12-bit Y, U, V, 4:2:0

I420A = 'I420A'

8-bit Y, U, V, alpha, 4:2:0

I420AP10 = 'I420AP10'

10-bit Y, U, V, alpha, 4:2:0

I420AP12 = 'I420AP12'

12-bit Y, U, V, alpha, 4:2:0

I422 = 'I422'

8-bit Y, U, V, 4:2:2

I422P10 = 'I422P10'

10-bit Y, U, V, 4:2:2

I422P12 = 'I422P12'

12-bit Y, U, V, 4:2:2

I422A = 'I422A'

8-bit Y, U, V, alpha, 4:2:2

I422AP10 = 'I422AP10'

10-bit Y, U, V, alpha, 4:2:2

I422AP12 = 'I422AP12'

12-bit Y, U, V, alpha, 4:2:2

I444 = 'I444'

8-bit Y, U, V, 4:4:4

I444P10 = 'I444P10'

10-bit Y, U, V, 4:4:4

I444P12 = 'I444P12'

12-bit Y, U, V, 4:4:4

I444A = 'I444A'

8-bit Y, U, V, alpha, 4:4:4

I444AP10 = 'I444AP10'

10-bit Y, U, V, alpha, 4:4:4

I444AP12 = 'I444AP12'

12-bit Y, U, V, alpha, 4:4:4

NV12 = 'NV12'

8-bit Y plane and a plane of interleaved U and V, 4:2:0

RGBA = 'RGBA'

8-bit red, green, blue and alpha per pixel

RGBX = 'RGBX'

8-bit red, green, blue and an unused byte per pixel

BGRA = 'BGRA'

8-bit blue, green, red and alpha per pixel

BGRX = 'BGRX'

8-bit blue, green, red and an unused byte per pixel

webrtc.enums.VideoPixelFormatValue

The string values of VideoPixelFormat, which parameters accept in place of its members

alias of Literal[‘I420’, ‘I420P10’, ‘I420P12’, ‘I420A’, ‘I420AP10’, ‘I420AP12’, ‘I422’, ‘I422P10’, ‘I422P12’, ‘I422A’, ‘I422AP10’, ‘I422AP12’, ‘I444’, ‘I444P10’, ‘I444P12’, ‘I444A’, ‘I444AP10’, ‘I444AP12’, ‘NV12’, ‘RGBA’, ‘RGBX’, ‘BGRA’, ‘BGRX’]

class webrtc.enums.VideoColorPrimaries

The color primaries of a webrtc.VideoColorSpace.

See MDN: VideoColorSpace/primaries.

bt709 = 'bt709'

BT.709, used by HD video and sRGB

bt470bg = 'bt470bg'

BT.470 B/G, used by PAL video

smpte170m = 'smpte170m'

SMPTE 170M, used by NTSC video

bt2020 = 'bt2020'

BT.2020, used by UHD video

smpte432 = 'smpte432'

SMPTE EG 432-1, used by Display P3

webrtc.enums.VideoColorPrimariesValue

The string values of VideoColorPrimaries, which parameters accept in place of its members

alias of Literal[‘bt709’, ‘bt470bg’, ‘smpte170m’, ‘bt2020’, ‘smpte432’]

class webrtc.enums.VideoTransferCharacteristics

The transfer characteristics of a webrtc.VideoColorSpace.

See MDN: VideoColorSpace/transfer.

bt709 = 'bt709'

BT.709

smpte170m = 'smpte170m'

SMPTE 170M

iec61966_2_1 = 'iec61966-2-1'

IEC 61966-2-1, the sRGB curve

linear = 'linear'

Linear light

pq = 'pq'

Perceptual quantizer (SMPTE ST 2084), used by HDR video

hlg = 'hlg'

Hybrid log-gamma (ARIB STD-B67), used by HDR video

webrtc.enums.VideoTransferCharacteristicsValue

The string values of VideoTransferCharacteristics, which parameters accept in place of its members

alias of Literal[‘bt709’, ‘smpte170m’, ‘iec61966-2-1’, ‘linear’, ‘pq’, ‘hlg’]

class webrtc.enums.VideoMatrixCoefficients

The matrix coefficients of a webrtc.VideoColorSpace, which convert between RGB and YUV.

See MDN: VideoColorSpace/matrix.

rgb = 'rgb'

No conversion, because the samples are already RGB

bt709 = 'bt709'

BT.709

bt470bg = 'bt470bg'

BT.470 B/G

smpte170m = 'smpte170m'

SMPTE 170M

bt2020_ncl = 'bt2020-ncl'

BT.2020, non-constant luminance

webrtc.enums.VideoMatrixCoefficientsValue

The string values of VideoMatrixCoefficients, which parameters accept in place of its members

alias of Literal[‘rgb’, ‘bt709’, ‘bt470bg’, ‘smpte170m’, ‘bt2020-ncl’]

class webrtc.enums.AlphaOption

Whether a webrtc.VideoFrame created from another one keeps its alpha channel.

See MDN: VideoFrame/VideoFrame.

keep = 'keep'

Keeps the alpha channel

discard = 'discard'

Drops the alpha channel and uses the matching format without alpha

webrtc.enums.AlphaOptionValue

The string values of AlphaOption, which parameters accept in place of its members

alias of Literal[‘keep’, ‘discard’]

class webrtc.enums.PredefinedColorSpace

The color space webrtc.VideoFrame.copy_to() writes RGB pixels in. Only srgb is supported.

See MDN: VideoFrame/copyTo.

srgb = 'srgb'

sRGB

srgb_linear = 'srgb-linear'

sRGB primaries with linear light

display_p3 = 'display-p3'

Display P3

display_p3_linear = 'display-p3-linear'

Display P3 primaries with linear light

webrtc.enums.PredefinedColorSpaceValue

The string values of PredefinedColorSpace, which parameters accept in place of its members

alias of Literal[‘srgb’, ‘srgb-linear’, ‘display-p3’, ‘display-p3-linear’]

class webrtc.enums.AudioSampleFormat

The type of the samples of an webrtc.AudioData, and whether channels are interleaved or planar.

See MDN: AudioData/format.

u8 = 'u8'

Unsigned 8-bit, interleaved

s16 = 's16'

Signed 16-bit, interleaved

s32 = 's32'

Signed 32-bit, interleaved

f32 = 'f32'

32-bit float, interleaved

u8_planar = 'u8-planar'

Unsigned 8-bit, a plane per channel

s16_planar = 's16-planar'

Signed 16-bit, a plane per channel

s32_planar = 's32-planar'

Signed 32-bit, a plane per channel

f32_planar = 'f32-planar'

32-bit float, a plane per channel

webrtc.enums.AudioSampleFormatValue

The string values of AudioSampleFormat, which parameters accept in place of its members

alias of Literal[‘u8’, ‘s16’, ‘s32’, ‘f32’, ‘u8-planar’, ‘s16-planar’, ‘s32-planar’, ‘f32-planar’]

class webrtc.enums.ReadableStreamReaderMode

The type of reader webrtc.ReadableStream.get_reader() returns. Its only member is rejected.

See MDN: ReadableStream/getReader.

byob = 'byob'

A reader that fills a buffer of the caller. It needs a byte stream, and this library has none

webrtc.enums.ReadableStreamReaderModeValue

The string values of ReadableStreamReaderMode, which parameters accept in place of its members

alias of Literal[‘byob’]

class webrtc.enums.EncodedVideoChunkType

Whether an encoded video frame is a key frame.

See MDN: RTCEncodedVideoFrame/type.

key = 'key'

A key frame, which decodes on its own

delta = 'delta'

A delta frame, which needs the frames before it

class webrtc.enums.RTCRtpScriptTransformType

What the worker of an webrtc.RTCRtpScriptTransform outputs.

The value is accepted but has no effect. Frames are packetized as usual, because the native WebRTC engine has no SFrame packetization.

sframe = 'sframe'

The worker outputs SFrame-encrypted frames

webrtc.enums.RTCRtpScriptTransformTypeValue

The string values of RTCRtpScriptTransformType, which parameters accept in place of its members

alias of Literal[‘sframe’]

class webrtc.enums.SFrameCipherSuite

An SFrame cipher suite of RFC 9605 or draft-barnes-sframe-iana-256.

The CTR suites authenticate with a truncated HMAC tag, whose bit length ends the name. The GCM suites use a 128-bit tag.

AES_128_CTR_HMAC_SHA256_80 = 'AES_128_CTR_HMAC_SHA256_80'

AES-128-CTR, HMAC-SHA-256, 80-bit tag

AES_128_CTR_HMAC_SHA256_64 = 'AES_128_CTR_HMAC_SHA256_64'

AES-128-CTR, HMAC-SHA-256, 64-bit tag

AES_128_CTR_HMAC_SHA256_32 = 'AES_128_CTR_HMAC_SHA256_32'

AES-128-CTR, HMAC-SHA-256, 32-bit tag

AES_128_GCM_SHA256_128 = 'AES_128_GCM_SHA256_128'

AES-128-GCM, SHA-256 key derivation, 128-bit tag

AES_256_GCM_SHA512_128 = 'AES_256_GCM_SHA512_128'

AES-256-GCM, SHA-512 key derivation, 128-bit tag

AES_256_CTR_HMAC_SHA512_80 = 'AES_256_CTR_HMAC_SHA512_80'

AES-256-CTR, HMAC-SHA-512, 80-bit tag

AES_256_CTR_HMAC_SHA512_64 = 'AES_256_CTR_HMAC_SHA512_64'

AES-256-CTR, HMAC-SHA-512, 64-bit tag

AES_256_CTR_HMAC_SHA512_32 = 'AES_256_CTR_HMAC_SHA512_32'

AES-256-CTR, HMAC-SHA-512, 32-bit tag

webrtc.enums.SFrameCipherSuiteValue

The string values of SFrameCipherSuite, which parameters accept in place of its members

alias of Literal[‘AES_128_CTR_HMAC_SHA256_80’, ‘AES_128_CTR_HMAC_SHA256_64’, ‘AES_128_CTR_HMAC_SHA256_32’, ‘AES_128_GCM_SHA256_128’, ‘AES_256_GCM_SHA512_128’, ‘AES_256_CTR_HMAC_SHA512_80’, ‘AES_256_CTR_HMAC_SHA512_64’, ‘AES_256_CTR_HMAC_SHA512_32’]

class webrtc.enums.SFrameType

Whether an webrtc.RTCRtpSFrameEncryptor encrypts whole frames or each RTP packet.

per_frame = 'per-frame'

Encrypts each frame before packetization

per_packet = 'per-packet'

Would encrypt each RTP packet, but isn’t supported because the native WebRTC engine has no SFrame packetization

webrtc.enums.SFrameTypeValue

The string values of SFrameType, which parameters accept in place of its members

alias of Literal[‘per-frame’, ‘per-packet’]

class webrtc.enums.SFrameTransformErrorEventType

Why an SFrame decryptor dropped a frame.

authentication = 'authentication'

The frame didn’t authenticate with the key of its key id

key_id = 'keyID'

No key is set for the key id of the frame

syntax = 'syntax'

The frame isn’t valid SFrame

webrtc.enums.SFrameTransformErrorEventTypeValue

The string values of SFrameTransformErrorEventType, which parameters accept in place of its members

alias of Literal[‘authentication’, ‘keyID’, ‘syntax’]