Release Notes for Client SDK v1.18
1.18.8.39086
Release date: December 13, 2023
Client SDK
Improvements
- [LS1-1571] Improved efficiency of SCTP/Data Stream Connectivity establishment.
- [LS1-1572] Improved efficiency of ICE Keep-Alives, reducing impact on server and client performance.
Bug Fixes
- [LS1-860/LS1-1360] Fixed a bug with SFU connections where updating the downstream connection could accidentally unmute the upstream.
- [LS1-1573] Alleviated memory leaks in Cocoa on connection shutdown.
- [LS1-1599] Fixed a race condition affecting Chrome 119 where Chrome was displaying error
“Could not replace local track attached to 1 stream for connection…“
when establishing connection. - [LS1-1601] Fixed a bug where reflexive local candidates weren’t included in connection webhook events.
1.18.7.35868
Release date: October 19, 2023
Client SDK
Improvements
- [LS1-1531/LS1-1532] Improved efficiency of processing RTP packets.
Bug Fixes
- [LS1-1473] Fixed a bug where trying to change video input device in a P2P connection fails when using no audio input device.
- [LS1-1530] Fixed an issue in Android SDK that resulted in an application crash when joining a channel and being kicked from it simultaneously.
- [LS1-1535] Fixed an issue where logs would indicate that media stream synchronization (aka lipsync) was not possible because the remote peer was not sending RTP timestamp. Logs would not, however, indicate that RTP Sender was sending RTP timestamps in the subsequent RTP packets indicating that media stream synchronization was possible after all.
- [LS1-1543] Fixed a bug that was causing a null reference exception when attempting to log the active ICE candidate pair in JavaScript SDK under certain conditions. This typically happened for peer to peer connections that were established using remote peer reflexive candidates.
- [LS1-1550] Fixed a bug where receive-only P2P connections wouldn’t open on Safari.
Examples
Improvements
- [LS1-1566] The default Gateway URL for all examples is now
v1.liveswitch.fm
.
1.18.6.34743
Release date: September 27, 2023
Client SDK
Improvements
- [LS1-1507] Updated certain connection establishment logs from DEBUG to INFO level.
Bug Fixes
- [LS1-1483] Fixed an issue that resulted in the audio/video downstream being muted if the upstream had muted and then unmuted before any remote clients joined.
- [LS1-1486] Fixed a bug where reflexive local candidates weren’t included in the stats callbacks.
- [LS1-1489] Removed a restriction preventing H.264 from being used on Safari.
- [LS1-1508] Added event registration methods for media device changes on LocalMedia in the Javascript and TypeScript SDKs.
- [LS1-1516] Fixed a bug where WebRTC stats were not properly populated for Firefox and Safari clients such that IP address was missing for ICE candidates.
- [LS1-1517] Fixed a bug where the example app wasn’t able to record streams on the local device in the iOS SDK.
Examples
Bug Fixes
- [LS1-1230] Fixed crash in the examples for Unity, Xamarin, and Maui when enabling audio-only.
- [LS1-1508] Utilized media device change event in Chat web example to update selection list on adding and removing devices.
1.18.5.32382
Release date: August 11, 2023
Client SDK
Bug Fixes
- [LS1-1479] Fixed a bug that would cause browser clients to stream at 480p resolution even though a higher resolution was requested.
1.18.4.32099
Release date: August 8, 2023
Client SDK
Bug Fixes
- [LS1-1477] Fixed a bug preventing connections over local peer reflexive candidates generated on the local subnet under certain circumstances.
1.18.3.31579
Release date: August 3, 2023
Client SDK
Improvements
- [LS1-1440] Made improvements in high-latency networks so that connections become connected much quicker.
Bug Fixes
- [LS1-1439] Fixed an issue preventing Android SDK from running on Android 8.1 and Android 9 when using ImageViewSink.
- [LS1-1435] Fixed a bug where a client might not send all of the candidates it had gathered.
- [LS1-1369] Fixed a bug where, when Connection.IceGatherPolicy was set to NoHost, media connectivity was being established over the relay server, even if a more direct route over public Internet (i.e. over a local server reflexive candidate) was available, causing unnecessary load on the relay server and increased latency. Further, this bug resulted in invalid reporting of active candidate pairs when no IceGatherPolicy restriction was set - clients were erroneously reporting being connected from a private IP port when in fact connectivity was happening over a public IP port.
1.18.2.30619
Release date: July 11, 2023
Client SDK
Bug Fixes
- [LS1-1437] Fixed an issue that prevented connections from succeeding if local media constraints such as frame or resolution were not set.
1.18.1.30316
Release date: July 7, 2023
Client SDK
Bug Fixes
- [LS1-1436] Fixed an issue on Firefox where the video resolution was not always obtained when registering with the Media Server, resulting in an overcalculation of the Media Server's used capacity.
1.18.0.29884
Release date: July 5, 2023
.NET MAUI
New Features
- [LS1-1372] Added new client SDK libraries that can be used to develop iOS and Android applications using the .NET Multi-platform App UI (.NET MAUI) cross-platform framework. The libraries support .NET 6.0+ and are available through the NuGet package manager.
Client SDK
New Features
- [LS1-1387] Added round-trip time stats to the media receiver report and media receiver stats. Media sender stats updated to ensure that round trip times are taken from ICE layer allowing for more precise calculations.
- [LS1-1398] Connection Failure messages now contain all the route ICE Transport attempted before failing connection (if connection failed due to not being able to establish network connectivity with peer). Failed routes are logged only if at least DEBUG level is enabled and only for Media Servers and non-web based clients.
- [LS1-1354] Added configurable DeadStreamTimeout to ManagedConnection class.
Improvements
- [LS1-1361] Improved Cocoa memory handling related to destroying local and remote media.
Bug Fixes
- [LS1-1402] Fixed a bug where audio packets were being held for too long when packet loss was occurring.
- [LS1-1393] Fixed a bug where data stream sending would get stuck under certain conditions.
- [LS1-1243] Fixed a bug where a connection wasn't changing state to failed.
- [LS1-1352] Fixed an issue where Sender Report timestamp values could be incorrect, which could produce excessively large recording durations. This may also improve intermittent lip sync issues.
- [LS1-1379] Fixed a bug causing a memory leak in logging in Cocoa.
- [LS1-1157] Fixed a slow memory leak in iOS SDK related to logging.
- [LS1-1357] Fixed a bug in RTP JitterBuffer, where a null reference exception could be thrown at connection shutdown.
- [LS1-1370] Fixed a problem causing a black screen when screen sharing in Safari 16.3 and earlier in macOS Ventura. Safari 16.4 and later versions, as well as macOS Big Sur were not affected.
- [LS1-1392] Fixed a bug in Chrome where the MediaTrackStats weren't being populated.
- [LS1-533] Remove link time optimization in Opus library which resolves a compile failure when trying to include the LiveSwitch libraries in an XCFramework package. The build error contains “unable to find any architecture information in the binary.”
- [LS1-1374] Fixed a bug in the FM.LiveSwitch NuGet package that resulted in a warning about the Mono.Posix library when loaded on .NET Core projects.
Example
Improvements
- [LS1-1355] Updated macOS Example to demonstrate best practices to avoid memory leaks in Cocoa.