social.colibri.beta.voice.defs

Repository @colibri.social did:plc:mprdjqjluoswa7awzggaggj3 namespace authority
Details · defs
Kinddefs
Authorityvoice.beta.colibri.social
Indexed

Showing version bafyreigxk5vgdft7pkkspsmunuhiprtladyxuwb6hpwp2oms2ibm2eehy4. Show the latest

cid bafyreigxk5vgdft7pkkspsmunuhiprtladyxuwb6hpwp2oms2ibm2eehy4

Checks

Valid
JSONDownload
{
  "$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
}