1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-08-09 10:22:46 +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, MockRTCPeerConnection,
MockRTCRtpTransceiver, MockRTCRtpTransceiver,
SCREENSHARE_STREAM_ID, SCREENSHARE_STREAM_ID,
MockRTCRtpSender,
} from "../../test-utils/webrtc"; } from "../../test-utils/webrtc";
import { CallFeed } from "../../../src/webrtc/callFeed"; import { CallFeed } from "../../../src/webrtc/callFeed";
import { EventType, IContent, ISendEventResponse, MatrixEvent, Room } from "../../../src"; 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 // since this is testing for the presence of a local sender, we need to add a transciever
// rather than just a source track // rather than just a source track
(call as any).transceivers.set( const mockTrack = new MockMediaStreamTrack("track_id", "video");
"m.usermedia:video", const mockTransceiver = new MockRTCRtpTransceiver(call.peerConn as unknown as MockRTCPeerConnection);
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( (call as any).pushNewLocalFeed(
new MockMediaStream("remote_stream1", [new MockMediaStreamTrack("track_id", "video")]), new MockMediaStream("remote_stream1", [mockTrack]),
SDPStreamMetadataPurpose.Usermedia, SDPStreamMetadataPurpose.Usermedia,
false, false,
); );

View File

@@ -514,7 +514,7 @@ export class MatrixCall extends TypedEventEmitter<CallEvent, CallEventHandlerMap
} }
private get hasUserMediaVideoSender(): boolean { 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 { public get localUsermediaFeed(): CallFeed | undefined {