livekit / client-sdk-swift

LiveKit Swift Client SDK. Easily build live audio or video experiences into your mobile app, game or website.
https://livekit.io
Apache License 2.0
173 stars 84 forks source link

Subscribed quality updates are not ignored when dynacast is disabled #394

Closed silviudeac closed 4 weeks ago

silviudeac commented 1 month ago

Describe the bug On iOS clients subscribed quality updates are not ignored when dynacast is set to false which causes updates to outgoing video as a reaction to these events. This feature is handled correctly according to spec in both Android and JavaScript LiveKit clients by ignoring the updates and not performing any changes to outbound video.

SDK Version 2.0.7 added using SPM

iOS/macOS Version iOS 17.5.1, iOS 16.3

Steps to Reproduce

Expected behavior I expected subscribe quality updates to be ignored when dynacast is disabled. This is the behaviour on both Android and JavaScript clients, but on iOS this flag RoomOptions.dynacast is ignored in the handler for subscribed quality changes. See correct behaviour on JavaScript and Android:

Screenshots no screenshots

Logs Debug LiveKitSDK : [LiveKit] Room.signalClient(_:didUpdateSubscribedCodecs:qualities:forTrackSid:) [Publish/Backup] Qualities: SubscribedQuality(quality: low, enabled: true), SubscribedQuality(quality: medium, enabled: false), SubscribedQuality(quality: high, enabled: false), Codecs: SubscribedCodec(codec: h264, qualities: SubscribedQuality(quality: low, enabled: true), SubscribedQuality(quality: medium, enabled: false), SubscribedQuality(quality: high, enabled: false)

hiroshihorie commented 1 month ago

Thanks for the report, will patch this.

hiroshihorie commented 4 weeks ago

This should be fixed in v2.0.10, thanks for reporting !