diff --git a/CHANGELOG.md b/CHANGELOG.md index 3cf37d9..3b31b51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,12 @@ ## 0.5.6 * Using WebRTC version M93. -* New `dynacast` option to `RoomOptions`. +* New `dynacast` option to `RoomOptions`. Dynacast dynamically pauses + video layers that are not being consumed by any subscribers, significantly + reducing publishing CPU and bandwidth usage. (currently defaults to off) * Rename `optimizeVideo` to `adaptiveStream` and improve stability. + AdaptiveStream lets LiveKit automatically manage quality of subscribed + video tracks to optimize for bandwidth and CPU. ## 0.5.5 diff --git a/lib/src/options.dart b/lib/src/options.dart index 3edbad3..d0eefc8 100644 --- a/lib/src/options.dart +++ b/lib/src/options.dart @@ -44,12 +44,13 @@ class RoomOptions { /// Default options used when publishing a [LocalAudioTrack]. final AudioPublishOptions defaultAudioPublishOptions; - /// When this is turned on, the following optimizations will be made: - /// - [RemoteTrackPublication] will be enabled/disabled based on the corresponding - /// [VideoTrackRenderer]'s visibility on screen. - /// - Re-sizing a [VideoTrackRenderer] will signal the server to send down - /// a relavant quality layer (if simulcast is enabled on the publisher) - /// Defaults to false. + /// AdaptiveStream lets LiveKit automatically manage quality of subscribed + /// video tracks to optimize for bandwidth and CPU. + /// When attached video elements are visible, it'll choose an appropriate + /// resolution based on the size of largest video element it's attached to. + /// + /// When none of the video elements are visible, it'll temporarily pause + /// the data flow until they are visible again. final bool adaptiveStream; /// enable Dynacast, off by default. With Dynacast dynamically pauses