docs-matrix-spec/data/event-schemas/schema/m.call.candidates.yaml
Kévin Commaille 9068c336f4
Clarify that sdpMid and sdpMLineIndex are not required in m.call.candidates (#1742)
* Convert m.call.candidates schema to YAML

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Clarify that sdpMid and sdpMLineIndex are not required in `m.call.candidates`

MSC2746, merged in v1.17,
introduced the end-of-candidates candidate,
where only the `candidate` property is set to an empty string.

Besides, the [WebRTC specification](https://www.w3.org/TR/webrtc/)
says that only one of those fields is required in a normal candidate.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Add changelog

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Link to the "End-of-candidates" section, and clarify what "empty" means

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

---------

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2024-03-07 21:13:38 -05:00

49 lines
No EOL
1.5 KiB
YAML

type: object
description: |-
This event is sent by callers after sending an invite and by the callee after
answering. Its purpose is to give the other party additional ICE candidates to
try using to communicate.
allOf:
- $ref: core-event-schema/room_event.yaml
properties:
content:
type: object
allOf:
- $ref: core-event-schema/call_event.yaml
properties:
candidates:
type: array
description: Array of objects describing the candidates.
items:
type: object
title: Candidate
properties:
sdpMid:
type: string
description: |-
The SDP media type this candidate is intended for.
At least one of `sdpMid` or `sdpMLineIndex` is required, unless
this an end-of-candidates candidate.
sdpMLineIndex:
type: number
description: |-
The index of the SDP 'm' line this candidate is intended for.
At least one of `sdpMid` or `sdpMLineIndex` is required, unless
this an end-of-candidates candidate.
candidate:
type: string
description: |-
The SDP 'a' line of the candidate.
If this is an [end-of-candidates](/client-server-api/#end-of-candidates)
candidate, this is the empty string.
required:
- candidate
required:
- candidates
type:
type: string
enum:
- m.call.candidates