diff --git a/changelogs/client_server/newsfragments/1742.clarification b/changelogs/client_server/newsfragments/1742.clarification new file mode 100644 index 000000000..84f21b9ee --- /dev/null +++ b/changelogs/client_server/newsfragments/1742.clarification @@ -0,0 +1 @@ +Clarify that `sdpMid` and `sdpMLineIndex` are not required in `m.call.candidates`. \ No newline at end of file diff --git a/data/event-schemas/schema/m.call.candidates.yaml b/data/event-schemas/schema/m.call.candidates.yaml index 6aa162296..d43ede986 100644 --- a/data/event-schemas/schema/m.call.candidates.yaml +++ b/data/event-schemas/schema/m.call.candidates.yaml @@ -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 \ No newline at end of file