From 0af5fa03281c4ddb5e008049f73c82195a984661 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 25 Jan 2023 11:16:19 +0000 Subject: [PATCH] Actually check we have a sender, not just a transceiver --- spec/unit/webrtc/call.spec.ts | 11 ++++++----- src/webrtc/call.ts | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/spec/unit/webrtc/call.spec.ts b/spec/unit/webrtc/call.spec.ts index 838809691..8bedb34f8 100644 --- a/spec/unit/webrtc/call.spec.ts +++ b/spec/unit/webrtc/call.spec.ts @@ -42,6 +42,7 @@ import { MockRTCPeerConnection, MockRTCRtpTransceiver, SCREENSHARE_STREAM_ID, + MockRTCRtpSender, } from "../../test-utils/webrtc"; import { CallFeed } from "../../../src/webrtc/callFeed"; import { EventType, IContent, ISendEventResponse, MatrixEvent, Room } from "../../../src"; @@ -539,13 +540,13 @@ describe("Call", function () { // since this is testing for the presence of a local sender, we need to add a transciever // rather than just a source track - (call as any).transceivers.set( - "m.usermedia:video", - new MockRTCRtpTransceiver(call.peerConn as unknown as MockRTCPeerConnection), - ); + const mockTrack = new MockMediaStreamTrack("track_id", "video"); + const mockTransceiver = new MockRTCRtpTransceiver(call.peerConn as unknown as MockRTCPeerConnection); + mockTransceiver.sender = new MockRTCRtpSender(mockTrack) as unknown as RTCRtpSender; + (call as any).transceivers.set("m.usermedia:video", mockTransceiver); (call as any).pushNewLocalFeed( - new MockMediaStream("remote_stream1", [new MockMediaStreamTrack("track_id", "video")]), + new MockMediaStream("remote_stream1", [mockTrack]), SDPStreamMetadataPurpose.Usermedia, false, ); diff --git a/src/webrtc/call.ts b/src/webrtc/call.ts index f601c90f6..98c8e027b 100644 --- a/src/webrtc/call.ts +++ b/src/webrtc/call.ts @@ -514,7 +514,7 @@ export class MatrixCall extends TypedEventEmitter