-
-
Notifications
You must be signed in to change notification settings - Fork 104
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Clarify that sdpMid and sdpMLineIndex are not required in `m.call.can…
…didates` (#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>
- Loading branch information
Showing
2 changed files
with
50 additions
and
45 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Clarify that `sdpMid` and `sdpMLineIndex` are not required in `m.call.candidates`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,45 +1,49 @@ | ||
{ | ||
"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." | ||
}, | ||
"sdpMLineIndex": { | ||
"type": "number", | ||
"description": "The index of the SDP 'm' line this candidate is intended for." | ||
}, | ||
"candidate": { | ||
"type": "string", | ||
"description": "The SDP 'a' line of the candidate." | ||
} | ||
}, | ||
"required": ["candidate", "sdpMLineIndex", "sdpMid"] | ||
} | ||
} | ||
}, | ||
"required": ["candidates"] | ||
}, | ||
"type": { | ||
"type": "string", | ||
"enum": ["m.call.candidates"] | ||
} | ||
} | ||
} | ||
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 |