social.colibri.beta.voice.defs
Details · defs
| Kind | defs |
|---|---|
| Authority | voice.beta.colibri.social |
| Indexed |
Showing version bafyreigxk5vgdft7pkkspsmunuhiprtladyxuwb6hpwp2oms2ibm2eehy4. Show the latest
Checks
Validunlimited-stringdefs.closeProducer.properties.producerIdNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.codecUnsupported.properties.producerIdNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.connectTransport.properties.transportIdNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.consume.properties.producerIdNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.consume.properties.transportIdNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.consumerOptions.properties.idNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.consumerOptions.properties.kindNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.consumerOptions.properties.producerIdNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.createTransport.properties.directionNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.disconnected.properties.reasonNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.error.properties.errorNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.error.properties.messageNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.produce.properties.kindNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.produce.properties.sourceNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.produce.properties.transportIdNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.producerInfo.properties.kindNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.producerInfo.properties.producerIdNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.producerInfo.properties.sourceNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.producerRemoved.properties.producerIdNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.resumeConsumer.properties.consumerIdNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.setConsumerPreference.properties.consumerIdNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.transportOptions.properties.directionNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.transportOptions.properties.idNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"ack": {
"description": "Answers a heartbeat.",
"properties": {},
"required": [],
"type": "object"
},
"closeProducer": {
"description": "Closes a producer this connection owns.",
"properties": {
"producerId": {
"description": "The producer to close.",
"type": "string"
}
},
"required": [
"producerId"
],
"type": "object"
},
"codecUnsupported": {
"description": "A viewer in the voice channel can't decode the video codec of this client's screen share. The client can produce the screen share again with a more widely supported codec. Sent at most once per producer, only to the client that owns it.",
"properties": {
"producerId": {
"description": "The screen share producer a viewer couldn't consume.",
"type": "string"
}
},
"required": [
"producerId"
],
"type": "object"
},
"connectTransport": {
"description": "Completes DTLS negotiation for a transport this connection created.",
"properties": {
"dtlsParameters": {
"description": "The opaque mediasoup DTLS parameters blob.",
"type": "unknown"
},
"transportId": {
"description": "The transport to connect.",
"type": "string"
}
},
"required": [
"transportId",
"dtlsParameters"
],
"type": "object"
},
"consume": {
"description": "Starts consuming another peer's producer on a receive transport this connection created.",
"properties": {
"producerId": {
"description": "The producer to consume.",
"type": "string"
},
"rtpCapabilities": {
"description": "This connection's opaque mediasoup RTP capabilities blob.",
"type": "unknown"
},
"transportId": {
"description": "The receive transport to consume on.",
"type": "string"
}
},
"required": [
"transportId",
"producerId",
"rtpCapabilities"
],
"type": "object"
},
"consumerOptions": {
"description": "Parameters for consuming one producer.",
"properties": {
"id": {
"description": "The consumer's identifier.",
"type": "string"
},
"kind": {
"description": "The media kind.",
"knownValues": [
"audio",
"video"
],
"type": "string"
},
"producerId": {
"description": "The producer being consumed.",
"type": "string"
},
"rtpParameters": {
"description": "The opaque mediasoup RTP parameters blob.",
"type": "unknown"
}
},
"required": [
"id",
"producerId",
"kind",
"rtpParameters"
],
"type": "object"
},
"createTransport": {
"description": "Requests a new WebRTC transport for the joined channel.",
"properties": {
"direction": {
"description": "Whether this transport will send or receive media.",
"knownValues": [
"send",
"recv"
],
"type": "string"
}
},
"required": [
"direction"
],
"type": "object"
},
"disconnected": {
"description": "The server removed this client from the voice channel. Sent only to the client it applies to.",
"properties": {
"reason": {
"description": "Why it happened.",
"knownValues": [
"moderator",
"superseded",
"channelGone",
"forbidden"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"error": {
"description": "Something the client sent could not be acted on.",
"properties": {
"error": {
"description": "Error name.",
"knownValues": [
"InvalidFrame",
"NotJoined",
"ChannelNotFound",
"NotVoiceChannel",
"Forbidden",
"NotFound"
],
"type": "string"
},
"message": {
"description": "Human-readable detail.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object"
},
"getRtpCapabilities": {
"description": "Requests the router's RTP capabilities for the joined channel.",
"properties": {},
"required": [],
"type": "object"
},
"heartbeat": {
"description": "Keeps the connection alive. The server answers with an ack.",
"properties": {},
"required": [],
"type": "object"
},
"join": {
"description": "Joins a voice channel. A connection must join before sending any other frame, and joining a second channel leaves the first.",
"properties": {
"channel": {
"description": "The voice channel to join.",
"format": "space-ref",
"type": "string"
}
},
"required": [
"channel"
],
"type": "object"
},
"joined": {
"description": "Confirms this connection has joined a voice channel.",
"properties": {
"channel": {
"description": "The voice channel now joined.",
"format": "space-ref",
"type": "string"
}
},
"required": [
"channel"
],
"type": "object"
},
"leave": {
"description": "Leaves the voice channel this connection is joined to.",
"properties": {},
"required": [],
"type": "object"
},
"moderationChanged": {
"description": "A peer's mute or deafen state changed, whether they did it themselves or a moderator did it to them.",
"properties": {
"deafened": {
"description": "Whether incoming audio is silenced, for any reason.",
"type": "boolean"
},
"did": {
"description": "Whose state changed.",
"format": "did",
"type": "string"
},
"muted": {
"description": "Whether the microphone is muted, for any reason.",
"type": "boolean"
},
"serverDeafened": {
"description": "Whether a moderator deafened them. When this is true the peer cannot undeafen themselves.",
"type": "boolean"
},
"serverMuted": {
"description": "Whether a moderator muted them. When this is true the peer cannot unmute themselves.",
"type": "boolean"
}
},
"required": [
"did",
"muted",
"deafened"
],
"type": "object"
},
"moved": {
"description": "A moderator moved this client to another voice channel. The server has already removed it from the previous one. Sent only to the client it applies to.",
"properties": {
"channel": {
"description": "The voice channel to join.",
"format": "space-ref",
"type": "string"
}
},
"required": [
"channel"
],
"type": "object"
},
"peerJoined": {
"description": "Another peer joined the voice channel this connection is in.",
"properties": {
"did": {
"description": "Who joined.",
"format": "did",
"type": "string"
}
},
"required": [
"did"
],
"type": "object"
},
"peerLeft": {
"description": "A peer left the voice channel this connection is in.",
"properties": {
"did": {
"description": "Who left.",
"format": "did",
"type": "string"
}
},
"required": [
"did"
],
"type": "object"
},
"produce": {
"description": "Starts producing media on a send transport this connection created.",
"properties": {
"kind": {
"description": "The media kind.",
"knownValues": [
"audio",
"video"
],
"type": "string"
},
"rtpParameters": {
"description": "The opaque mediasoup RTP parameters blob.",
"type": "unknown"
},
"source": {
"description": "What this producer captures.",
"knownValues": [
"microphone",
"camera",
"screen"
],
"type": "string"
},
"transportId": {
"description": "The send transport to produce on.",
"type": "string"
}
},
"required": [
"transportId",
"kind",
"rtpParameters",
"source"
],
"type": "object"
},
"producerInfo": {
"description": "A media producer available to consume.",
"properties": {
"did": {
"description": "Who is producing this media.",
"format": "did",
"type": "string"
},
"kind": {
"description": "The media kind.",
"knownValues": [
"audio",
"video"
],
"type": "string"
},
"paused": {
"description": "Whether the producer is currently paused.",
"type": "boolean"
},
"producerId": {
"description": "The producer's identifier.",
"type": "string"
},
"source": {
"description": "What the producer captures.",
"knownValues": [
"microphone",
"camera",
"screen"
],
"type": "string"
}
},
"required": [
"producerId",
"did",
"kind"
],
"type": "object"
},
"producerRemoved": {
"description": "A peer's producer closed.",
"properties": {
"did": {
"description": "Whose producer this was.",
"format": "did",
"type": "string"
},
"producerId": {
"description": "The producer that closed.",
"type": "string"
}
},
"required": [
"producerId",
"did"
],
"type": "object"
},
"resumeConsumer": {
"description": "Resumes a consumer this connection created, which is created paused by default.",
"properties": {
"consumerId": {
"description": "The consumer to resume.",
"type": "string"
}
},
"required": [
"consumerId"
],
"type": "object"
},
"rtpCapabilities": {
"description": "The RTP capabilities a WebRTC endpoint supports.",
"properties": {
"payload": {
"description": "The opaque mediasoup capability blob.",
"type": "unknown"
}
},
"type": "object"
},
"setConsumerPreference": {
"description": "Sets the highest simulcast or SVC layers a consumer this connection created should receive, and whether it should receive media at all. The server picks layers within the transport's bandwidth estimate and keeps a consumer paused while deafen silences it.",
"properties": {
"consumerId": {
"description": "The consumer to update.",
"type": "string"
},
"paused": {
"description": "Whether the viewer wants this consumer paused, for example while its tile is off screen.",
"type": "boolean"
},
"spatialLayer": {
"description": "The highest spatial layer to receive, where 0 is the lowest resolution.",
"minimum": 0,
"type": "integer"
},
"temporalLayer": {
"description": "The highest temporal layer to receive. When absent, the server uses the highest one available.",
"minimum": 0,
"type": "integer"
}
},
"required": [
"consumerId",
"spatialLayer",
"paused"
],
"type": "object"
},
"setSelfState": {
"description": "Updates this connection's own mute or deafen state. An absent field leaves the current value unchanged.",
"properties": {
"deafened": {
"description": "Whether incoming audio is silenced.",
"type": "boolean"
},
"muted": {
"description": "Whether the microphone is muted.",
"type": "boolean"
}
},
"required": [],
"type": "object"
},
"setSpeaking": {
"description": "Reports whether this connection's user is speaking, as detected on their device. Once a connection sends this, the server stops detecting speech from its audio level. The server reports false while the user is muted.",
"properties": {
"speaking": {
"description": "Whether the user is currently speaking.",
"type": "boolean"
}
},
"required": [
"speaking"
],
"type": "object"
},
"speakingUpdate": {
"description": "A change in whether someone is currently speaking.",
"properties": {
"did": {
"description": "Who this update is about.",
"format": "did",
"type": "string"
},
"level": {
"description": "An audio level in dBFS.",
"type": "integer"
},
"speaking": {
"description": "Whether they are currently speaking.",
"type": "boolean"
}
},
"required": [
"did",
"speaking"
],
"type": "object"
},
"transportOptions": {
"description": "Parameters for creating one side of a WebRTC transport.",
"properties": {
"direction": {
"description": "Which side of the call this transport carries.",
"knownValues": [
"send",
"recv"
],
"type": "string"
},
"dtlsParameters": {
"description": "The opaque mediasoup DTLS parameters blob.",
"type": "unknown"
},
"iceCandidates": {
"description": "The mediasoup ICE candidates, one opaque blob per candidate. This is an array, not a single object, because that is what a WebRTC transport hands back.",
"items": {
"description": "One opaque mediasoup ICE candidate.",
"type": "unknown"
},
"type": "array"
},
"iceParameters": {
"description": "The opaque mediasoup ICE parameters blob.",
"type": "unknown"
},
"iceServers": {
"description": "STUN and TURN servers the client should use while gathering candidates. Absent when the server has none configured.",
"items": {
"description": "One opaque RTCIceServer entry.",
"type": "unknown"
},
"type": "array"
},
"id": {
"description": "The transport's identifier.",
"type": "string"
}
},
"required": [
"id",
"iceParameters",
"iceCandidates",
"dtlsParameters"
],
"type": "object"
}
},
"id": "social.colibri.beta.voice.defs",
"lexicon": 1
}