Skip to content

Commit e879b30

Browse files
authored
[Enhancement]ScreenShare audio subscription (#973)
1 parent dade6d4 commit e879b30

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

Sources/StreamVideo/WebRTC/v2/Extensions/CallParticipant+Convenience.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,16 @@ extension CallParticipant {
5656
type: .screenShare
5757
)
5858
)
59+
60+
/// We subscribe to screenShareAudio anytime a user is screenSharing. In the future
61+
/// that should be driven by events to know if the user is actually publishing audio.
62+
result.append(
63+
.init(
64+
for: userId,
65+
sessionId: sessionId,
66+
type: .screenShareAudio
67+
)
68+
)
5969
}
6070

6171
return result

StreamVideoTests/WebRTC/v2/Extensions/CallParticipant_TrackSubscriptionTests.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,9 @@ final class CallParticipant_TrackSubscriptionTests: XCTestCase, @unchecked Senda
6363
let result = participant.trackSubscriptionDetails(incomingVideoQualitySettings: incomingSettings)
6464

6565
// Then
66-
XCTAssertEqual(result.count, 1)
66+
XCTAssertEqual(result.count, 2)
6767
XCTAssertEqual(result.first?.trackType, .screenShare)
68+
XCTAssertEqual(result.last?.trackType, .screenShareAudio)
6869
}
6970

7071
func test_trackSubscriptionDetails_givenParticipantHasVideoAndVideoIsDisabled_whenVideoDisabled_thenDoesNotAddVideoTrackDetails(

StreamVideoTests/WebRTC/v2/WebRTCJoinRequestFactory_Tests.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ final class WebRTCJoinRequestFactory_Tests: XCTestCase, @unchecked Sendable {
427427
incomingVideoQualitySettings: .none
428428
).sorted { $0.sessionID <= $1.sessionID }
429429

430-
XCTAssertEqual(result.count, 3)
430+
XCTAssertEqual(result.count, 4)
431431
XCTAssertEqual(result[0].userID, "1")
432432
XCTAssertEqual(result[0].sessionID, "1")
433433
XCTAssertEqual(result[0].trackType, .video)
@@ -438,7 +438,10 @@ final class WebRTCJoinRequestFactory_Tests: XCTestCase, @unchecked Sendable {
438438
XCTAssertEqual(result[1].trackType, .audio)
439439
XCTAssertEqual(result[2].userID, "3")
440440
XCTAssertEqual(result[2].sessionID, "3")
441-
XCTAssertEqual(result[2].trackType, .screenShare)
441+
XCTAssertEqual(result[2].trackType, .screenShareAudio)
442+
XCTAssertEqual(result[3].userID, "3")
443+
XCTAssertEqual(result[3].sessionID, "3")
444+
XCTAssertEqual(result[3].trackType, .screenShare)
442445
}
443446

444447
// MARK: - buildPreferredPublishOptions

0 commit comments

Comments
 (0)