Release Notes for LiveSwitch Server v1.21
1.21.3.60993
Release date: October 21, 2024
Client SDK
Bug Fixes
- [LS1-2358] [Web] Resolved intermittent WebSocket signaling disconnections on macOS Sequoia (15.0, 15.0.1) that caused unexpected client unregistration. Implemented client-side keep-alive mechanisms and increased Gateway signaling timeout to 15 seconds to prevent "604::Client does not exist" errors and unwanted connection drops. Applications using affected macOS versions should upgrade to ensure stable WebSocket connectivity.
1.21.2.60893
Release date: October 18, 2024
Client SDK
Improvements
- [LS1-2075] [Examples] Updated .NET example to include data streams for SFU Downstream Conenctions.
- [LS1-2046] [Examples] Updated example applications to support data streams for P2P connections.
- [LS1-2075] Updated Data Stream connectivity establishment timeout to match aggregate Connection establishment timeout. This will ensure that connections will not give up establishing connectivity prematurely.
Bug Fixes
- [LS1-1747] [Media-over-WebSockets] Fixed a bug that prevented audio from flowing to a receive-only client.
- [LS1-2010] Fixed an iOS issue that prevents a connection.closed message from being sent.
- [LS1-2219] [Media-over-WebSockets] Fixed an issue that prevented audio from flowing from a client when a configuration value outside the range of an unsigned long was used.
- [LS1-2220] [Media-over-WebSockets] Fixed an issue that prevented audio from flowing from a client when the audio encoder value was set to 1.
- [LS1-2218] [Media-over-WebSockets] Fixed an issue that prevented video from flowing from a client when a configuration value outside the range of an unsigned long was used.
- [LS1-2028] [Android] Fixed an issue that prevented older Android devices from streaming their camera content, specifically on a Samsung A9+.
- [LS1-2094] [iOS] Fixed an issue that resulted in an iOS crash when trying to process frames after a connection was terminated.
- [LS1-2024] [MacOS] Fixed an issue where a key used in a DTLS certificate is too short causing the certificate to fail.
- [LS1-2035] [Media-over-WebSockets] Fixed a client bug such that now it only displays frames at the rate they are being sent rather than updating it at a fixed 30 fps.
- [LS1-2034] [Media-over-WebSockets] Updated client to support dynamically changing the bitrate during a session.
Media Server
Improvements
- [LS1-2075] Updated Data Stream connectivity establishment timeout to match aggregate Connection establishment timeout. This will ensure that connections will not give up establishing connectivity prematurely.
Bug Fixes
- [LS1-2305] Fixed a bug where connections failing due to serverNoAudioCodecs/serverNoVideoCodecs weren’t being cleaned up properly.
- [LS1-859,LS1-2195,LS1-2194] Updated a series of endpoints to return a 404 when an invalid applicationId or channelId is passed in the request.
- [LS1-2262] Fixed an issue that prevented the $metadata endpoint from working.
- [LS1-2053] Improved logging for Webhooks to prevent flooding the logs with excessive messages.
1.21.1.58593
Release date: Spetember 4, 2024
Client SDK
Improvements
- [LS1-1998] Updated third-party dependencies, including Microsoft.AspNetCore.Mvc.NewtonsoftJson to .NET 8.
Bug Fixes
- [LS1-1757] [Android] Fixed an issue causing a potential null reference exception at connection shutdown.
- [LS1-1958] Fixed a crash in the iOS SDK that could occur when connections are closed. This was identified by FMLiveSwitchRtpReceiver processFrame:roundTripTime.
- [LS1-1992] [Client Examples] Fixed a bug in the macOS example where UI APIs were being called from a background thread.
- [LS1-1991] [Client Examples] Fixed an error in the macOS example that prevented a user from connecting.
- [LS1-2002] Fixed a bug when creating an SDP message in Unity.
- [LS1-1964] Fixed a bug when streaming video over WebSockets where the resolution was incorrect in some cases.
- [LS1-1636] Fixed an issue blocking connection updates when using Media-Over-WebSockets.
- [LS1-1989] Fixed a race condition preventing Firefox (and potentially other client types) from connecting to peer connections when acting in an answering role under a specific set of circumstances.
- [LS1-1966] Fixed an issue in our native audio/video codec libraries to release data buffer pools when an exception in rendering occurs.
- [LS1-1963] Fixed an issue related to the dispatch queue not being cleared when the class is destroyed, leading to a crash.
- [LS1-1962] Fixed an issue that prevented the renderBuffer from cleaning up when a connection close event occurs.
- [LS1-1768] Fixed an issue where the client did not react to a server-side dead stream timeout message and would wait an extra 10 seconds before marking the upstream connection as dead.
- [LS1-1926] Fixed an issue where the encoder would be reinitialized before it was initialized for the first time.
Media Server
Improvements
- [LS1-2003] Updated the Webhook Gateway logs to include originating MediaServer ID and related Connection ID (if applicable).
- [LS1-1998] Updated third-party dependencies, including Microsoft.AspNetCore.Mvc.NewtonsoftJson to .NET 8.
- [LS1-2004] Updated Recording Mux Services to .NET 8.
Bug Fixes
- [LS1-1898] Fixed API calls that were returning a 406.
- [LS1-1903] Fixed curl examples generated by the admin Swagger page for v2 endpoints.
1.21.0.56457
Release date: July 30, 2024
Client SDK
Improvements
- [LS1-1824] Enhanced Client Side Simulcast: implemented an automatic video feed disabling feature when users experience difficulty receiving the lowest simulcast layer. This improvement helps optimize bandwidth usage and maintain call quality in challenging network conditions.
- [LS1-1917] iOS Example Update: In compliance with Apple's new App Store requirements, incorporated a Privacy Manifest file into our iOS example. This addition ensures our app meets the latest privacy standards and guidelines set by Apple.
Bug Fixes
- [LS1-1544] Connection Establishment: Resolved a rare issue where connections failed to establish due to errors in SCTP connection book-keeping. This fix improves overall connection reliability.
- [LS1-1916] Fixed fm.liveswitch.WssDemuxer: TypeError: Cannot read properties of undefined (reading 'port')
- [LS1-1916] Fixed an issue where the paused video of the publisher still gets streamed to subscriber's end when using Media-over-WebSockets.
- [LS1-1916] Media-over-WebSockets Improvements: Restored the ability to change video resolution in real-time during live meetings.
- [LS1-1916] Media-over-WebSockets Improvements: Optimized memory usage, bringing it in line with standard WebRTC connections.
- [LS1-1928] WebSocket Media Server Compatibility: Implemented proper error handling for connection updates sent to older versions of WebSocket Media Servers that don't support the request, ensuring graceful degradation.
- [LS1-1905] Misleading Error Message: Eliminated a confusing error message during connection shutdown related to data channel communication and RTCP signalling fallback.
- [LS1-1918] iOS Memory Leak: Fixed a memory leak occurring on iOS devices when attempting asynchronous writes to a closed TCP connection socket, improving app performance and stability.
- [LS1-1940] Safari 17 Audio Compatibility: Resolved an audio artifacting issue introduced by Safari 17 when using Media-over-WebSockets, ensuring smooth audio playback for Safari users.
- [LS1-1888] iOS Audio Quality: Addressed the issue of robotic-sounding audio in media-over-WebSockets connections on iOS devices, significantly improving audio clarity.
Media Server
Bug Fixes
- [LS1-1544] Connection Establishment: Mirroring the client-side fix, we've resolved the rare issue where connections failed to establish due to errors in SCTP connection book-keeping on the server side. This enhancement ensures consistent and reliable connection establishment across the entire system.