You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-12-01 04:43:29 +03:00
Add a method for setting remoteSDPStreamMetadata
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
This commit is contained in:
@@ -612,7 +612,7 @@ export class MatrixCall extends EventEmitter {
|
|||||||
|
|
||||||
const sdpStreamMetadata = invite[SDPStreamMetadataKey];
|
const sdpStreamMetadata = invite[SDPStreamMetadataKey];
|
||||||
if (sdpStreamMetadata) {
|
if (sdpStreamMetadata) {
|
||||||
this.remoteSDPStreamMetadata = sdpStreamMetadata;
|
this.updateRemoteSDPStreamMetadata(sdpStreamMetadata);
|
||||||
} else {
|
} else {
|
||||||
logger.debug("Did not get any SDPStreamMetadata! Can not send/receive multiple streams");
|
logger.debug("Did not get any SDPStreamMetadata! Can not send/receive multiple streams");
|
||||||
}
|
}
|
||||||
@@ -1221,7 +1221,7 @@ export class MatrixCall extends EventEmitter {
|
|||||||
|
|
||||||
const sdpStreamMetadata = event.getContent()[SDPStreamMetadataKey];
|
const sdpStreamMetadata = event.getContent()[SDPStreamMetadataKey];
|
||||||
if (sdpStreamMetadata) {
|
if (sdpStreamMetadata) {
|
||||||
this.remoteSDPStreamMetadata = sdpStreamMetadata;
|
this.updateRemoteSDPStreamMetadata(sdpStreamMetadata);
|
||||||
} else {
|
} else {
|
||||||
logger.warn("Did not get any SDPStreamMetadata! Can not send/receive multiple streams");
|
logger.warn("Did not get any SDPStreamMetadata! Can not send/receive multiple streams");
|
||||||
}
|
}
|
||||||
@@ -1296,9 +1296,9 @@ export class MatrixCall extends EventEmitter {
|
|||||||
|
|
||||||
const prevLocalOnHold = this.isLocalOnHold();
|
const prevLocalOnHold = this.isLocalOnHold();
|
||||||
|
|
||||||
const metadata = event.getContent()[SDPStreamMetadataKey];
|
const sdpStreamMetadata = event.getContent()[SDPStreamMetadataKey];
|
||||||
if (metadata) {
|
if (sdpStreamMetadata) {
|
||||||
this.remoteSDPStreamMetadata = metadata;
|
this.updateRemoteSDPStreamMetadata(sdpStreamMetadata);
|
||||||
} else {
|
} else {
|
||||||
logger.warn("Received negotiation event without SDPStreamMetadata!");
|
logger.warn("Received negotiation event without SDPStreamMetadata!");
|
||||||
}
|
}
|
||||||
@@ -1328,19 +1328,22 @@ export class MatrixCall extends EventEmitter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public onSDPStreamMetadataChangedReceived(event: MatrixEvent): void {
|
private updateRemoteSDPStreamMetadata(metadata: SDPStreamMetadata): void {
|
||||||
// TODO: What if the values is missing
|
|
||||||
const content = event.getContent<MCallSDPStreamMetadataChanged>();
|
|
||||||
const metadata = content[SDPStreamMetadataKey];
|
|
||||||
this.remoteSDPStreamMetadata = metadata;
|
this.remoteSDPStreamMetadata = metadata;
|
||||||
for (const feed of this.getRemoteFeeds()) {
|
for (const feed of this.getRemoteFeeds()) {
|
||||||
const streamId = feed.stream.id;
|
const streamId = feed.stream.id;
|
||||||
feed.setAudioMuted(metadata[streamId].audio_muted);
|
feed.setAudioMuted(metadata[streamId]?.audio_muted ?? feed.isAudioMuted());
|
||||||
feed.setVideoMuted(metadata[streamId].video_muted);
|
feed.setVideoMuted(metadata[streamId]?.video_muted ?? feed.isVideoMuted());
|
||||||
feed.purpose = metadata[streamId].purpose;
|
feed.purpose = metadata[streamId]?.purpose ?? feed.purpose;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public onSDPStreamMetadataChangedReceived(event: MatrixEvent): void {
|
||||||
|
const content = event.getContent<MCallSDPStreamMetadataChanged>();
|
||||||
|
const metadata = content[SDPStreamMetadataKey];
|
||||||
|
this.updateRemoteSDPStreamMetadata(metadata);
|
||||||
|
}
|
||||||
|
|
||||||
async onAssertedIdentityReceived(event: MatrixEvent) {
|
async onAssertedIdentityReceived(event: MatrixEvent) {
|
||||||
if (!event.getContent().asserted_identity) return;
|
if (!event.getContent().asserted_identity) return;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user