Release Notes for LiveSwitch Server v1.19
Release date: February 7, 2024
- Introduced a new feature allowing client applications to stream media payload over WebSocket connections to the WebRTC conferences.
Channel.CreateSfuUpstreamConnection(AudioStream, VideoStream, bool),
Channel.CreateSfuDownstreamConnection(AudioStream, VideoStream, bool)where the boolean indicates whether to use Media-over-WebSockets (as opposed to WebRTC).
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.
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.
- WebSocket Media Server - Created a new service entitled “WebSocket Media Server“ that receives media over WebSocket connections and sends it to a WebRTC-based Media Server. The service also receives WebRTC media from a Media Server and sends the media over WebSocket connections to end clients.
- Gateway and WebSocket Media Server - Exposed new Availability thresholds via REST API and environment variables:
WssCpuThreshold- Indicates the CPU percentage used to determine if a WebSocket Media Server is overcapacity.
WssMemoryThreshold- Indicates the memory usage (in bytes) used to determine if a WebSocket Media Server is over capacity.
WssConnectionsPerCpuThreshold- Indicates the threshold of the number of clients connected over WebSockets per CPU to determine if a WebSocket Media Server is over capacity. Note, that this is not the number of media connections, but rather the number of clients that may send and receive multiple SFU-style connections. Currently set to 4 by default.
WssMediaConnectionsPerClientThreshold- Indicates the threshold of the number of media connections per a WebSocket client to determine if a client is over capacity. No more than this number of media connections will be allowed to be handled by a WebSocket connection serving this client. Unset by default. Currently, recommended to be set to 10. The application layer should restrict the number of connections further for mobile devices.
- [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.
- [LS1-1627] Fixed a warning in the .NET example related to the video view when closing an audio only connection.
- [LS1-1390] Added support for 4096-bit license keys required in certain FIPS-based environments.
- [LS1-1647] Updated the response returned for health checks, if enabled, to provide more details on what service, if any, is unhealthy.
- [LS1-1645] Updated to the latest version of the StackExchange.Redis library which contains numerous bug fixes and improvements.
- [LS1-1635] Clarified the service startup failure message.
- [LS1-1624] Fixed a bug where intended video resolution and framerate were incorrectly passed to the media server under certain conditions, resulting in the invalid allocation of server resources.