Crate medea_client_api_proto
source ·Expand description
Medea Client API protocol
Client API protocol implementation for Medea media server.
Cargo features
client
(default): EnablesDeserialize
implementation forEvent
s, andSerialize
implementation forCommand
s.server
: EnablesDeserialize
implementation forCommand
s, andSerialize
implementation forEvent
s.extended-stats
: Enables unused RTC Stats DTOs.
Contribution guide
Avoid using 64 bit types. medea-jason
uses wasm-bindgen to interop with JS, and exposing 64 bit types to JS will make wasm-bindgen to use BigInt64Array / BigUint64Array in its JS glue, which are not implemented or were implemented too recently in some UAs.
So, it’s better to keep protocol 64-bit-types-clean to avoid things breaking by accident.
License
Copyright © 2019-2023 Instrumentisto Team, https://github.com/instrumentisto
This software is subject to the terms of the Blue Oak Model License 1.0.0. If a copy of the BlueOak-1.0.0 license was not distributed with this file, You can obtain one at https://blueoakcouncil.org/license/1.0.0.
Modules
- State of the Media Server which will be used for Client and Server synchronization.
- Contains DTOs for RTCPeerConnection metrics.
Structs
- Settings of an audio
Track
. - Description which is sent in Close WebSocket frame from Media Server to Web Client.
- Credential used for a
Member
authentication. - Representation of RTCIceCandidateInit object.
- ID of a
Member
. - ID of a
Peer
. - ID of a
Room
. - RPC settings of Web Client received from Media Server.
- Track with a
Direction
. - ID of a
MediaTrack
. - Patch of a
Track
which Web Client can request with aCommand::UpdateTracks
. - Patch of a
Track
which Media Server can send with anEvent::PeerUpdated
. - Settings of a video
Track
.
Enums
- Message by Web Client to Media Server.
- Reason of disconnecting Web Client from Media Server.
- Possible commands sent by Web Client to Media Server.
- Estimated connection quality.
- Possible directions of a
Track
. - Possible WebSocket messages sent from Media Server to Web Client.
PeerConnection
’s ICE connection state.- Media exchange direction of a
Track
. - Possible media sources of a video
Track
. - Possible media types of a
Track
. Peer
’s negotiation role.PeerConnection
’s connection state.- Web Client’s
PeerConnection
metrics. Track
update which should be applied to thePeer
.- Message sent by Media Server to Web Client.