Skip to content

Conversation

@Stream-SDK-Bot
Copy link
Collaborator

✅ Added

  • ClientCapabilities have been added to support remote subscriber track pause. #888
@Stream-SDK-Bot Stream-SDK-Bot requested a review from a team as a code owner July 21, 2025 11:03
@github-actions
Copy link

Public Interface

+ public struct TrackType: RawRepresentable, Codable, Hashable, ExpressibleByStringLiteral, Sendable  +  + public let rawValue: String +  +  + public init(rawValue: String) + public init(stringLiteral value: String) + extension TrackType  +  + public static let audio: Self + public static let video: Self + public static let screenshare: Self + public enum ClientCapability: Hashable, Sendable, CaseIterable  +  + case subscriberVideoPause - public enum ApplicationState: Sendable, Equatable  + public enum ApplicationState: String, Sendable, Equatable  public struct LogSubsystem: OptionSet, CustomStringConvertible, Sendable - public var description: String + public static let webRTCInternal -  + public var description: String -  +  - public init(rawValue: Int) +  + public init(rawValue: Int) public class Call: @unchecked Sendable, WSEventsSubscriber + public func enableClientCapabilities(_ capabilities: Set<ClientCapability>)async  + public func disableClientCapabilities(_ capabilities: Set<ClientCapability>)async public enum LogConfig + public static var webRTCLogsEnabled: Bool public struct CallParticipant: Identifiable, Sendable, Hashable - public var userId: String + public var pausedTracks: Set<TrackType> - public var name: String + public var userId: String - public var profileImageURL: URL? + public var name: String - public var isPinned: Bool + public var profileImageURL: URL? - public var isPinnedRemotely: Bool + public var isPinned: Bool - public var shouldDisplayTrack: Bool + public var isPinnedRemotely: Bool -  + public var shouldDisplayTrack: Bool -  +  - public init(id: String,userId: String,roles: [String],name: String,profileImageURL: URL?,trackLookupPrefix: String?,hasVideo: Bool,hasAudio: Bool,isScreenSharing: Bool,showTrack: Bool,track: RTCVideoTrack? = nil,trackSize: CGSize = CGSize(width: 1024, height: 720),screenshareTrack: RTCVideoTrack? = nil,isSpeaking: Bool = false,isDominantSpeaker: Bool,sessionId: String,connectionQuality: ConnectionQuality,joinedAt: Date,audioLevel: Float,audioLevels: [Float],pin: PinInfo?) +  -  + public init(id: String,userId: String,roles: [String],name: String,profileImageURL: URL?,trackLookupPrefix: String?,hasVideo: Bool,hasAudio: Bool,isScreenSharing: Bool,showTrack: Bool,track: RTCVideoTrack? = nil,trackSize: CGSize = CGSize(width: 1024, height: 720),screenshareTrack: RTCVideoTrack? = nil,isSpeaking: Bool = false,isDominantSpeaker: Bool,sessionId: String,connectionQuality: ConnectionQuality,joinedAt: Date,audioLevel: Float,audioLevels: [Float],pin: PinInfo?,pausedTracks: Set<TrackType>) -  +  - public static func ==(lhs: CallParticipant,rhs: CallParticipant)-> Bool +  - public func withUpdated(trackSize: CGSize)-> CallParticipant + public static func ==(lhs: CallParticipant,rhs: CallParticipant)-> Bool - public func withUpdated(track: RTCVideoTrack?)-> CallParticipant + public func withUpdated(trackSize: CGSize)-> CallParticipant - public func withUpdated(screensharingTrack: RTCVideoTrack?)-> CallParticipant + public func withUpdated(track: RTCVideoTrack?)-> CallParticipant - public func withUpdated(audio: Bool)-> CallParticipant + public func withUpdated(screensharingTrack: RTCVideoTrack?)-> CallParticipant - public func withUpdated(video: Bool)-> CallParticipant + public func withUpdated(audio: Bool)-> CallParticipant - public func withUpdated(screensharing: Bool)-> CallParticipant + public func withUpdated(video: Bool)-> CallParticipant - public func withUpdated(showTrack: Bool)-> CallParticipant + public func withUpdated(screensharing: Bool)-> CallParticipant - public func withUpdated(trackLookupPrefix: String)-> CallParticipant + public func withUpdated(showTrack: Bool)-> CallParticipant - public func withUpdated(isSpeaking: Bool,audioLevel: Float)-> CallParticipant + public func withUpdated(trackLookupPrefix: String)-> CallParticipant - public func withUpdated(dominantSpeaker: Bool)-> CallParticipant + public func withUpdated(isSpeaking: Bool,audioLevel: Float)-> CallParticipant - public func withUpdated(connectionQuality: ConnectionQuality)-> CallParticipant + public func withUpdated(dominantSpeaker: Bool)-> CallParticipant - public func withUpdated(pin: PinInfo?)-> CallParticipant + public func withUpdated(connectionQuality: ConnectionQuality)-> CallParticipant + public func withUpdated(pin: PinInfo?)-> CallParticipant + public func withPausedTrack(_ trackType: TrackType)-> CallParticipant + public func withUnpausedTrack(_ trackType: TrackType)-> CallParticipant - public struct LobbyInfo: Equatable  + public struct LobbyInfo: Equatable, Sendable 
@github-actions
Copy link

1 Warning
⚠️ Big PR

Generated by 🚫 Danger

@Stream-SDK-Bot
Copy link
Collaborator Author

SDK Size

title previous release current release diff status
StreamVideo 8.05 MB 8.16 MB +119 KB 🟢
StreamVideoSwiftUI 2.27 MB 2.29 MB +16 KB 🟢
StreamVideoUIKit 2.4 MB 2.41 MB +16 KB 🟢
StreamWebRTC 9.85 MB 9.85 MB 0 KB 🟢
@github-actions
Copy link

Build for regression testing №259 has been uploaded to TestFlight 🎁

@testableapple testableapple deleted the release/1.29.0 branch July 21, 2025 13:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

5 participants