Skip to content
This repository was archived by the owner on Aug 30, 2024. It is now read-only.

Releases: voxeet/comms-sdk-cpp

2.5.1

08 Jun 09:50
f6c429e
Compare
Choose a tag to compare

Features

Enabled screen sharing on clang10/libc++10 version of the Ubuntu 20.04 C++ SDK.

2.5.0

07 Jun 12:14
c369d60
Compare
Choose a tag to compare

Features

  • Introduced Dolby Video Processing Library for macOS and Windows platforms, which provides the ability to blur the background on a locally captured camera stream before sending the stream into a conference. After creating an instance of the video processor, the instance should be set as the video frame handler in the
    start_video call.
  • Introduced Dolby Audio Processing for Opus, so audio processing is now supported in Dolby Voice and Opus conferences.
  • Introduced the ability to use Voice Fonts that allow participants to modify their voices in real time to improve social interaction in entertainment scenarios.
  • Introduced audio device management for Opus conferences. Everything that is supported in Dolby Voice conferences, for example, choosing input and output audio devices and receiving notifications about device change and removal events, is now available in Opus conferences as well. The new audio device management also improves audio capture latency in Opus conferences for Windows platforms.
  • Improved screen share performance for sending full HD dynamic video content. The SDK now lets you share 1080p content at up to 40fps, depending on the client's hardware. The SDK additionally offers a new screen share info structure to allow for more control over the shared content. You can pass the structure to the start screen share method or change the content info for an ongoing screen share. For an optimal experience of sending dynamic video at a high frame rate, we recommend downscaling the frames to 1080p, setting the encoder content hint to Fluid, and setting the downscale quality to the highest.
  • Added Ubuntu 20.04 C++ SDK built with clang10 and using libc++. This package is not fully supported and has a limitation that is described in the Known issues section.
  • Introduced the ability to push SDK, Media, and Dolby Voice Client logs into the same file. Additionally, you can now suppress the logs to standard out. This allows for collecting all the logs in a common place at desired log level.
  • Improved the Video Frame API allowing more flexibility in manipulating video frames coming from and passing into the SDK. For more information, please refer to the breaking changes section.
  • Introduced the Conference Recording APIs, which allow for starting and stopping recordings, as well as being notified about recording conferences.
  • Added the ability to handle two screen shares in a conference. This may be receiving screen shares from two remote participants simultaneously, or sharing a screen while at the same time receiving another remote participant's screen share.
  • Introduced a new update participant info method that lets participants modify their names and avatars while they are in a conference.
  • On macOS, the desktop application now renders video of remote participants in VP8 conferences. Previously, the desktop application could only render video in H264 conferences.

Breaking Changes

Changes

  • Introduced improvements to the Video Capture pipeline that now allows an application's video frame handler...
Read more

2.5.0-beta.3

06 Jun 11:21
52f18f0
Compare
Choose a tag to compare
2.5.0-beta.3 Pre-release
Pre-release

Bug Fixes

Fixed a memory leak in the media library that caused the video frame handler to receive frames even after stopping screen share.

2.5.0-beta.2

05 Jun 09:56
8435ff4
Compare
Choose a tag to compare
2.5.0-beta.2 Pre-release
Pre-release

Features

  • Added the ability to receive screen share from up to two remote participants simultaneously as well as sharing a screen while at the same time receiving another remote participant's screen share.
  • Introduced a new update participant info method that lets participants modify their names and avatars while they are in a conference.
  • On macOS, the desktop application now renders video of remote participants in VP8 conferences. Previously, the desktop application could only render video in H264 conferences.

Changes

Introduced new events and respective event handlers: remote_participant_added/handler, remote_participant_updated/handler, local_participant_updated/handler, remote_video_track_removed/handler, remote_video_track_added/handler, local_video_track_removed/handler, local_video_track_added/handler.

Breaking Changes

The register_component_version API now returns dolbyio::comms::sdk::component_data in the async_result. Previously, it returned void.

2.5.0-beta.1

01 Jun 10:49
0846d55
Compare
Choose a tag to compare
2.5.0-beta.1 Pre-release
Pre-release

Features

  • Introduced Dolby Video Processing Library for macOS and Windows platforms, which provides the ability to blur the background on a locally captured camera stream before sending the stream into a conference. After creating an instance of the video processor, the instance should be set as the video frame handler in the start_video call.
  • Introduced Dolby Audio Processing for Opus, so audio processing is now supported in Dolby Voice and Opus conferences.
  • Introduced the ability to use Voice Fonts that allow participants to modify their voices in real time to improve social interaction in entertainment scenarios.
  • Introduced audio device management for Opus conferences. Everything that is supported in Dolby Voice conferences, for example, choosing input and output audio devices and receiving notifications about device change and removal events, is now available in Opus conferences as well. The new audio device management also improves audio capture latency in Opus conferences for Windows platforms.
  • Improved screen share performance for sending full HD dynamic video content. The SDK now lets you share 1080p content at up to 40fps, depending on the client's hardware. The SDK additionally offers a new screen share info structure to allow for more control over the shared content. You can pass the structure to the start screen share method or change the content info for an ongoing screen share. For an optimal experience of sending dynamic video at a high frame rate, we recommend downscaling the frames to 1080p, setting the encoder content hint to Fluid, and setting the downscale quality to the highest.
  • Introduced the ability to push SDK, Media, and Dolby Voice Client logs into the same file. Additionally, you can now suppress the logs to standard out. This allows for collecting all the logs in a common place at desired log level.
  • Improved the Video Frame API allowing more flexibility in manipulating video frames coming from and passing into the SDK. For more information, please refer to the breaking changes section.
  • Introduced the Conference Recording APIs, which allow for starting and stopping recordings, as well as being notified about recording conferences.

Breaking Changes

The dolbyio::comms::video_frame interface has been changed to wrap a dolbyio::comms::video_frame_buffer, which can hold any of the following underlying pixel formats.
Users must use the new Video Frame API from this release onward. The video_frame interface provides access to the underlying video_frame_buffer. Each video_frame_buffer can hold either an I420, NV12, ARGB, or Native pixel buffer, so users must first check the type and then call the appropriate get method to get the underlying pixel buffer:

Changes

  • Introduced improvements to the Video Capture pipeline that now allows an application's video frame handler to receive HD frames from a camera source for processing or displaying. The frames injected back into the SDK will be downscaled accordingly before being sent into a conference.
  • Desktop application on macOS is now notarized.

Bug Fixes

Fixed an issue where exceptions thrown by libdolbyio_comms_media.dll on Windows platforms could not be caught as std::exception's.

Known Issues

Closing an application window while screen sharing this specific window results in displaying the last captured frame to remote participants.

2.4.3

24 May 14:02
8056839
Compare
Choose a tag to compare

Bug Fixes

Fixed another issue where the SDK was incorrectly attenuating other applications' output on Windows.

2.3.4

24 May 13:51
8056839
Compare
Choose a tag to compare

Bug Fixes

Fixed another issue where the SDK was incorrectly attenuating other applications' output on Windows.

2.4.2

28 Mar 14:10
069daed
Compare
Choose a tag to compare

Bug Fixes

Fixed an issue where parsing WebRTC statistics for remote peers could cause a crash.

2.4.1

24 Mar 11:58
4c90105
Compare
Choose a tag to compare

Features

Changes

Modified the SDK to return the local participant's audio level in the audio_levels event in Dolby Voice conferences even when the participant is muted. This implementation allows the application to add a warning message to notify the local participant that their audio is not being sent to a conference.

Bug Fixes

Fixed an issue that did not allow joining a conference when the conference creator did not specify rtcp_mode.

2.4.0

17 Mar 14:16
2c6797b
Compare
Choose a tag to compare

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-mixed.
  • 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.