2023-03-17

Updates to C++ SDK (v2.4.0) - Introduced rts-viewer and desktop capture, added volume input/output setting APIs, reduced library size, and improved HW encoding on macOS.

Updates to the Dolby.io Virtual World plugin for Unreal Engine (v1.1.0-beta.1) - Introduced spatial audio styles, screen-share, and a possibility to mute remote participants. Additionally, added the ability to connect as a regular or Real-time Streaming listener.

C++ SDK

2.4.0

Features

  • The SDK now allows joining a conference as a viewer who can connect to the conference using Real-time Streaming. This way, viewers can receive only one mixed audio stream and one mixed video stream from the conference. To use this feature, call the listen method and set the type of listener to rts-listener.
  • Introduced a new property in the active_participants event called viewer_count, which lists the number of all Real-time Streaming viewers who joined the conference.
  • Added desktop capture capability on all platforms. Now you can enumerate the available displays via the device management service and then start capturing using the conference service.
    The default content type for screen share is set to detailed, which is suitable for high-resolution non-dynamic content. The default can easily be overridden in the start screen share call.
  • The SDK now allows calling start_screen_share consecutively, without stopping the screen share, to switch seamlessly between capture sources. You can switch between capturing different windows, full screens, and from full screen to window without stopping the screen share first.
  • Introduced an API for setting input/output volume as well as providing a volume notification in Dolby Voice conferences.
  • Reduced the SDK library size.
  • The SDK now allows for encoding higher resolutions when using the H264 HW encoder on Apple silicon.

Changes

  • Previous SDK versions allowed setting up only a single video sink at a time, and the video sink would get all frames with their stream and track IDs. The previous SDK versions were getting the sink by a raw pointer, and the application was responsible for keeping the object alive until the new sink was set. Now when setting the video sink, the sink interface is passed in a shared pointer and the SDK drops its reference when the sink is replaced or the track is removed. The SDK still guarantees that when streaming stops, the pointer will not be used anymore.
  • Removed the media_source and media_sink interfaces as they are no longer used by the SDK.
  • Increased the maximum camera capture resolution on Apple silicon to 1080p.

Bug Fixes

  • Fixed an issue that caused a crash on Windows after a participant who had enabled their camera using a different application tried to start their video.
  • Fixed an issue on macOS where passing non-existent camera ID to the start video call resulted in a crash.
  • Fixed an issue that was causing uplink audio in Opus conferences on Windows platforms to not work if the Windows client created the conference.
  • Fixed an issue where the SDK was incorrectly attenuating other applications' output on Windows.

Dolby.io Virtual World plugin for Unreal Engine

1.1.0-beta.1

Features

  • Added new Start Screenshare and Stop Screenshare methods that allow the local participant to share their screen.

  • The plugin now allows connecting to a conference as either a regular listener or a Real-time Streaming (RTS) listener. Regular listeners receive one mixed audio stream from a conference and one video stream from each participant who uses a camera. RTS listeners receive only one mixed audio stream and one mixed video stream from a conference. To connect a participant as a listener, call the Connect function and set the Connection Mode parameter to a desired value. Not setting the parameter results in connecting the participant as an active user.

  • Improved the Spatial Audio feature by adding a new Spatial Audio Style parameter to the Connect function. The parameter defines how the spatial location is communicated between the SDK and the Dolby.io server. You can either use the individual, shared, or disabled style:

    • In the individual style, positions are not shared between participants, so each participant sets the positions of all participants and hears a unique spatial audio scene.

    • In the default shared style, one spatial audio scene is shared by all participants who hear audio from their locations. This approach is ideal for shared spaces, such as virtual trade shows or games. The additional benefit of this style is simplified communication between the client and the server and decreased network traffic.

  • Added new Mute Participant and Unmute Participant functions that allow the local participant to mute selected remote participants.

  • Plugin builds are now available for Unreal Engine 5.1.

Changes

  • Simplified remote video rendering.

  • Simplified Blueprint designs by exposing Dolby.io Subsystem’s functions as separate nodes that do not need the subsystem reference as a target.

Bug Fixes

Improved video stability.