Release Notes for LiveSwitch Server 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 / Server
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
.
Media Server
Improvements
- [LS1-1536] Changed the severity of the “An exception was encountered while sending data for webhook“ log message from ERROR to WARN.
SIP Connector
Bug Fixes
- [LS1-1522] Fixed a bug where some SIP trunk registrations weren’t being attempted if other SIP trunk registrations were failing unexpectedly.
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.
Server SDK
Improvements
- [LS1-1507] Updated certain connection establishment logs from DEBUG to INFO level.
Bug Fixes
- [LS1-1493] Fixed an issue preventing media synchronization (aka lipsync) in cases where the input device was switched during the ongoing connection, when the stream was disabled and re-enabled, or when the source device was overloaded.
Media Server
Improvements
- [LS1-1446] Media Server will now automatically re-register if the Gateway returns a server not registered error.
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 / Media Server
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.
Media Server
Improvements
- [LS1-1440] Made improvements in high-latency networks so that connections become connected much quicker.
Recording
New Features
- [LS1-1365] Added a new recording mode to limit recordings to audio-only or video-only. This can be configured in the Channel Configuration or when enabling recording using the SDK or REST API.
Gateway
New Features
- [LS1-1463] Added a property 'PreferNonHostLocalIceCandiates' in the Deployment Configuration, which forces the clients not to use local host ICE candidates. If set, clients can still override this request by setting Connection.IceGatherPolicy to IceGatherPolicy.All. This behavior only applies to MCU and SFU connections.
Bug Fixes
- [LS1-1347] Fixed a bug that sometimes prevented connections from being established on a channel if all participants were kicked due to session limit timeouts on that channel.
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
Simulcast
Breaking Changes
- In the REST API, the following property has been deprecated:
ChannelConfig > sfu > videoOutput > simulcast > enabled
. UseChannelConfig > sfu > videoOutput > simulcast > enabledV2
instead.
New Features
- Introduced new credit-based media server capacity thresholds. Capacity thresholds depend on the connection type, resolution, frame rate, and whether or not server side simulcast is enabled. Old capacity thresholds will be deprecated in v1.19.0. Please see documentation for details.
- Exposed server-side simulcast settings on deployment and application level (in addition to the current channel level). Please see documentation for details.
.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.
Media Server
New Features
- [LS1-1377] Exposed Server Side Simulcast Manual Encoding config options for Server Customers via REST APIs and environmental variables.
- [LS1-1384] New CPU Credit configuration for Media Server capacity calculations added to Postgres database. Exposed new configurations via REST API and Environmental variables.
Improvements
- [LS1-1397] Moved Media Server TURN-related log
{{Processing UDP allocate request from...}}
from DEBUG to VERBOSE level.
Bug Fixes
- [LS1-1353] Fixed a bug where lip sync could have been out of sync.
Dashboard
Bug Fixes
- [LS1-1376] Fixed an issue where the Server admin console wouldn't load when the browser had no public Internet access.
REST API
New Features
- [LS1-1381] Added new v1 REST endpoint
/api/v1/applications/{applicationId}/channelIds
to get a list of all the active channel Ids.
Server
Bug Fixes
- [LS1-1389] Added a configuration parameter,
{{UseFipsAlgorithms}}
, to force a service to use the FIPS-compatible versions of the cryptography algorithms on FIPS-enabled servers. This configuration parameter can be set in the JSON configuration file or as an environment variable.