Search Results for

    Show / Hide Table of Contents

    LiveSwitch 1.26 Release

    LiveSwitch 1.26 includes the following notable change:

    • OpenSSL 3.5.4 — All native SDK platforms have been upgraded from OpenSSL 1.x to OpenSSL 3.5.4, adding TLS 1.3 support and retiring an end-of-life cryptography library.

    Release Notes for Client SDK 1.26

    1.26.0.21097

    Release date: June 01, 2026

    Client SDK

    Breaking Changes
    • [LS1-3686] [Web] The TypeScript SDK's LocalMedia constructor now has typed overloads. Passing two separate MediaStream objects as audio and video arguments is no longer supported and will produce a compiler error — use a single synchronized MediaStream via the new new LocalMedia(stream) overload instead. When using this overload, the SDK treats the stream as caller-owned and will not stop the tracks on your behalf, making it suitable for pipelines such as background blur or canvas-based video sources.
    New Features
    • [LS1-3517] Native camera sources now support changing resolution and frame rate at runtime via new ChangeResolution, ChangeFrameRate, and ChangeConfig methods on CameraSourceBase.
    Improvements
    • [LS1-1782] [Android] Replaced deprecated API calls, including screen capture and screen sharing APIs, ensuring compatibility with the latest Android platform releases.
    • [LS1-2584] Upgraded all native SDK platforms to OpenSSL 3.5.4, adding TLS 1.3 support and retiring an end-of-life cryptography library.
    • [LS1-3306] Updated cryptographic hashing from MD5 to SHA-256 across all SDKs.
    • [LS1-3338] [MAUI Android] Echo cancellation is now enabled by default on AudioRecordSource instead of relying on the application to enable it.
    • [LS1-3546] Improved browser video and audio synchronisation under variable network or device conditions by implementing the WebRTC playout-delay RTP header extension. The LiveSwitch Media Server also injects the extension on all downlink video streams, ensuring the improvement applies even when the upstream client does not support it.
    • [LS1-3587] [Android] Modernized the example app UI to match the iOS sample app.
    • [LS1-3683] [MAUI Android] Restored libaudioprocessing to the MAUI Android SDK with 16KB memory page size alignment. The library was previously removed to maintain Google Play Store compliance when Android made 16KB page size support compulsory; it is now rebuilt to meet the requirement, restoring audio processing capabilities for MAUI Android apps targeting Android 15+.
    Bug Fixes
    • [LS1-2873] [MAUI Android] Fixed an issue in the example where audio and video might not flow during P2P calls.
    • [LS1-3389] [Unity Android] Fixed an issue in the example where every log message would get duplicated.
    • [LS1-3466] [Android] Fixed an issue where screen sharing orientation did not update from portrait to landscape when rotating the device during an active share, causing the video to remain locked in the initial orientation and appear letterboxed.
    • [LS1-3540] [iOS] [macOS] Fixed an intermittent crash that occurred when closing WebRTC connections.
    • [LS1-3571] [Android] Fixed an issue in the example where double-tapping to switch between front and back camera was not working.
    • [LS1-3578] Fixed a race condition where gracefully closing a connected session could suppress the client:connection.closed analytics event.
    • [LS1-3596] Fixed an issue where round-trip time was not being calculated correctly under high-latency or throttled network conditions.
    • [LS1-3597] Fixed an issue where closing a connection could hang indefinitely and suppress the connection.closed event when an ICE transport failure occurred during graceful shutdown.
    • [LS1-3605] Fixed an intermittent issue where RSA key generation could produce components with incorrect byte lengths.
    • [LS1-3606] Fixed a race condition where a server-side upstream close notification arriving during a client-initiated close could cause the connection to fail instead of closing cleanly, causing Close() to raise an unexpected error and Unregister() to block for an extended period.
    • [LS1-3620] Fixed an issue where MediaTrackInfo JSON deserialization incorrectly mapped the stopped field to Muted instead of Stopped.
    • [LS1-3665] [Android] Fixed an issue where video buffer cleanup was incorrectly dispatched to the main thread, causing frame skips in group calls with multiple remote participants.
    • [LS1-3692] Fixed an issue introduced in 1.25.3 where calling Channel.CloseAll() would leave the channel unable to create new connections without re-registering.
    • [LS1-3699] [Android] Fixed an issue where screenshare would crash on Samsung devices after an orientation change.
    • [LS1-3700] [macOS] Fixed an issue where local media would fail to start when using certain external USB cameras with fixed frame rates (such as the Logitech C525).
    • [LS1-3701] [Web] Fixed an issue where "Could not process bitrate request" errors would occur during teardown of SFU connections.
    • [LS1-3707] [Web] Fixed an issue where TypeScript projects with strictNullChecks enabled would encounter a ts(2416) compiler error when importing the LiveSwitch TypeScript SDK in 1.25.x.

    In This Article
    Back to top Copyright © LiveSwitch Inc. All Rights Reserved.Documentation for LiveSwitch Version 1.26.0