Release Notes for Client SDK v1.19
1.19.3.51543
Release date: May 23, 2024
Client SDK
Improvements
- [LS1-1742] Added
changeAudioMediaStream
andchangeVideoMediaStream
toLocalMedia
in the JavaScript SDK for changing the MediaStream. - [LS1-1760] Updated SCTP Data Stream timeout error message to indicate the length of the timeout.
- [LS1-1764] Added
setStaticJitterBufferSize
andgetStaticJitterBufferSize
toAudioStream
. This can be used for setting the static Jitter Buffer size in milliseconds. This is only supported for Media-Over-WebSockets connections in the JavaScript SDK.
Bug Fixes
- [LS1-1725] Fixed a bug where Media-over-WebSockets connections were failing to connect when using mutliple
Client
instances simultaneously. - [LS1-1730], [LS1-1738], [LS1-1746], [LS1-1767] Performance improvements to Media-over-WebSockets in the JavaScript SDK. Decreased CPU and memory usage, and fixed a memory leak.
- [LS1-1752] Improved performance of Android
Camera2Source
to decrease memory usage, particularly on low end Android devices. - [LS1-1753] Improved memory handling.
- [LS1-1754] Fixed a bug when a MediaStream was stopped outside of the SDK when using Media-over-WebSockets.
- [LS1-1781] Fixed a bug with Media-over-WebSockets connections where received audio could be higher pitched for the first few seconds of a connection.
- [LS1-1790] Fixed a bug causing a crash in some circumstances when a connection was shutting down.
1.19.2.47139
Release date: April 2, 2024
Client SDK
Improvements
- [LS1-1193] (Android SDK) Exposed
AudioManagerUtility
for improved audio device selection handling. See Android Audio Device Management for details. - [LS1-1711] Included
FM.LiveSwitch.Android.LayoutManager
andFM.LiveSwitch.Cocoa.LayoutManager
in the MAUI Client SDK, easing migration for existing Xamarin applications. - [LS1-1722] Improved performance of Web SDK when using audio in Media-over-WebSockets scenarios.
Bug Fixes
- [LS1-1692] Fixed an issue where muting audio or video on a
RemoteMedia
object failed when theSfuDownstreamConnection
was sending Media-over-WebSockets. - [LS1-1694] Fixed an issue preventing running native SDK on older Android versions.
- [LS1-1698] Fixed a crash that occurred during the initialization of the connection when muting was attempted.
- [LS1-1721] Fixed an issue where the promise returned from
Client.SendMessage
did not resolve when the Client was unregistered. - [LS1-1734] Fixed an issue where Safari users were unable to hear remote peers when using Media-over-WebSockets.
1.19.1.44695
Release date: February 28, 2024
Client SDK
Improvements
- [LS1-1478] Added a guard preventing updating a connection that is Failing/Failed/Closing/Closed state. If attempting to update such Connection, a related Promise will be rejected and an error will be displayed.
Bug Fixes
- [LS1-1617] Alleviated memory leak on connection shutdown for macOS and iOS.
- [LS1-1671] Fixed a bug where single channel (mono) audio streams were not supported for Media-over-WebSockets for .NET clients.
- [LS1-1674] Fixed a bug causing a null reference exception in Signalling client on Client shut down.
- [LS1-1678] Fixed a crash that occurred under some conditions during iOS and macOS-based connection shutdown.
- [LS1-1688] Added an explicit error on Firefox indicating that Media-over-Websockets protocol is not yet available for Firefox web clients.
1.19.0.43184
Release date: February 7, 2024
Media-over-WebSockets
New Features
- Introduced a new feature allowing client applications to stream media payload over WebSocket connections to the WebRTC conferences.
- Exposed
Channel.CreateSfuUpstreamConnection(AudioStream, VideoStream, bool)
,Channel.CreateSfuDownstreamConnection(AudioStream, VideoStream, bool)
where the boolean indicates whether to use Media-over-WebSockets (as opposed to WebRTC). - Exposed
RtcLocalMedia.PacketizerDisabled
. This property gets or sets a value indicating whether the packetizer is disabled. WebRTC media requires the RTP packetizer so the value must be false. Media-over-WebSockets must not use the RTP packetizer, so the value must be true. If the packetizer is not required, this value must be set in the constructor. - Exposed
RtcRemoteMedia.DepacketizerDisabled
. This property gets or sets a value indicating whether the depacketizer is disabled. WebRTC media requires the RTP depacketizer so the value must be false. Media-over-WebSockets must not use the RTP depacketizer, so the value must be true. If the depacketizer is not required, this value must be set in the constructor. - Exposed new error types:
WebSocketMediaConnectionsNotAllowed
- Indicates that the WebSocket Media Connections are not allowed or unavailable for this application or deployment.WebSocketMediaServerToMediaServerError
- Indicates that the WebSocket Media Server encountered a problem connecting to the Media Server over a WebRTC connection.WebSocketMediaClientFailure
- Indicates that an error occurred while communicating with a WebSocket Media Server over a service connection.WebSocketMediaServerRejectedConnectionTerminally
- Indicates that the WebSocket Media Server rejected the connection due to the capacity policy. The client should not retry.
Client SDK
Bug Fixes
- [LS1-1630] Fixed a regression in TypeScript example where Chrome tab audio was not shared during screen-share with alert
“Could not change audio device. Invalid state“
. - [LS1-1606] Fixed a regression in TypeScript example where Firefox was displaying an alert
“Could not change audio device. getDisplayMedia requires transient activation from a user gesture“
when attempting to screen share. Chrome was displaying screen share picker twice.
Example
Bug Fixes
- [LS1-1627] Fixed a warning in the .NET example related to the video view when closing an audio only connection.