1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-08-07 23:02:56 +03:00

Actually check we have a sender, not just a transceiver

This commit is contained in:
David Baker
2023-01-25 11:16:19 +00:00
parent b328b72cd5
commit 0af5fa0328
2 changed files with 7 additions and 6 deletions

View File

@@ -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,
);

View File

@@ -514,7 +514,7 @@ export class MatrixCall extends TypedEventEmitter<CallEvent, CallEventHandlerMap
}
private get hasUserMediaVideoSender(): boolean {
return this.transceivers.has(getTransceiverKey(SDPStreamMetadataPurpose.Usermedia, "video"));
return Boolean(this.transceivers.get(getTransceiverKey(SDPStreamMetadataPurpose.Usermedia, "video"))?.sender);
}
public get localUsermediaFeed(): CallFeed | undefined {