Skip to content

Commit 9d3ac66

Browse files
authored
Merge pull request #2902 from robintown/group-call-participants
Refactor GroupCall participant management
2 parents 7fd55a6 + a4ad4ed commit 9d3ac66

File tree

11 files changed

+796
-671
lines changed

11 files changed

+796
-671
lines changed

spec/test-utils/webrtc.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,7 @@ export class MockCallMatrixClient extends TypedEventEmitter<EmittedEvents, Emitt
431431
export class MockCallFeed {
432432
constructor(
433433
public userId: string,
434+
public deviceId: string | undefined,
434435
public stream: MockMediaStream,
435436
) {}
436437

spec/unit/webrtc/call.spec.ts

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,13 @@ const fakeIncomingCall = async (client: TestClient, call: MatrixCall, version: s
8181
call.getFeeds().push(new CallFeed({
8282
client: client.client,
8383
userId: "remote_user_id",
84-
// @ts-ignore Mock
85-
stream: new MockMediaStream("remote_stream_id", [new MockMediaStreamTrack("remote_tack_id")]),
86-
id: "remote_feed_id",
84+
deviceId: undefined,
85+
stream: new MockMediaStream(
86+
"remote_stream_id", [new MockMediaStreamTrack("remote_tack_id", "audio")],
87+
) as unknown as MediaStream,
8788
purpose: SDPStreamMetadataPurpose.Usermedia,
89+
audioMuted: false,
90+
videoMuted: false,
8891
}));
8992
await callPromise;
9093
};
@@ -447,7 +450,7 @@ describe('Call', function() {
447450

448451
client.client.getRoom = () => {
449452
return {
450-
getMember: (userId) => {
453+
getMember: (userId: string) => {
451454
if (userId === opponentMember.userId) {
452455
return opponentMember;
453456
}
@@ -521,10 +524,12 @@ describe('Call', function() {
521524
it("should correctly generate local SDPStreamMetadata", async () => {
522525
const callPromise = call.placeCallWithCallFeeds([new CallFeed({
523526
client: client.client,
524-
// @ts-ignore Mock
525-
stream: new MockMediaStream("local_stream1", [new MockMediaStreamTrack("track_id", "audio")]),
527+
stream: new MockMediaStream(
528+
"local_stream1", [new MockMediaStreamTrack("track_id", "audio")],
529+
) as unknown as MediaStream,
526530
roomId: call.roomId,
527531
userId: client.getUserId(),
532+
deviceId: undefined,
528533
purpose: SDPStreamMetadataPurpose.Usermedia,
529534
audioMuted: false,
530535
videoMuted: false,
@@ -534,8 +539,10 @@ describe('Call', function() {
534539
call.getOpponentMember = jest.fn().mockReturnValue({ userId: "@bob:bar.uk" });
535540

536541
(call as any).pushNewLocalFeed(
537-
new MockMediaStream("local_stream2", [new MockMediaStreamTrack("track_id", "video")]),
538-
SDPStreamMetadataPurpose.Screenshare, "feed_id2",
542+
new MockMediaStream(
543+
"local_stream2", [new MockMediaStreamTrack("track_id", "video")],
544+
) as unknown as MediaStream,
545+
SDPStreamMetadataPurpose.Screenshare,
539546
);
540547
await call.setMicrophoneMuted(true);
541548

@@ -563,20 +570,18 @@ describe('Call', function() {
563570
new CallFeed({
564571
client: client.client,
565572
userId: client.getUserId(),
566-
// @ts-ignore Mock
567-
stream: localUsermediaStream,
573+
deviceId: undefined,
574+
stream: localUsermediaStream as unknown as MediaStream,
568575
purpose: SDPStreamMetadataPurpose.Usermedia,
569-
id: "local_usermedia_feed_id",
570576
audioMuted: false,
571577
videoMuted: false,
572578
}),
573579
new CallFeed({
574580
client: client.client,
575581
userId: client.getUserId(),
576-
// @ts-ignore Mock
577-
stream: localScreensharingStream,
582+
deviceId: undefined,
583+
stream: localScreensharingStream as unknown as MediaStream,
578584
purpose: SDPStreamMetadataPurpose.Screenshare,
579-
id: "local_screensharing_feed_id",
580585
audioMuted: false,
581586
videoMuted: false,
582587
}),

0 commit comments

Comments
 (0)