Android SDK Release Notes
New features and changes
Version 2.28.4 -- November 2024
- This version fixes an issue where some devices could not subscribe to VP9 video.
Version 2.28.3 -- September 2024
This version fixes an issue where, in some cases, the audio level stayed the same when the publisher was muted.
This version fixes an issue where custom audio devices could potentially cause a crash.
This version fixes an issue where, in some cases, audio from web client SDK users was garbled.
This version fixes an error that occurred when using the application context to initialize a publisher.
Version 2.28.2 -- August 2024
- When using this version, you will need to specify
sourceCompatibilityandtargetCompatibilityto use Java 17. You can do this by modifying the app's build.gradle file and adding the following code snippet to theandroidsection:
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
This version fixes an issue where the video resolution was not updating when devices were rotated.
This version fixes an issue where video was briefly stuttering after connecting to another user.
Version 2.28.1 -- July 2024
- This version fixes an issue where video would freeze if it was cycled repeatedly.
Version 2.28.0 -- June 2024
This version adds support for Single Peer Connection. When enabled, it reduces OS resource consumption, improves rate control, and in the case of mobile native devices, supports large sessions. See the documentation for the
Session.Builder.setSinglePeerConnection()method.This version adds support for advanced noise suppression. This uses the Vonage Media Library to provide enhanced noise cancellation. See the documentation for the
Publisher.setAudioTransformers()method. This was previously a beta feature.This version requires a minimum Android API level of 24.
This version fixes an issue where, in some cases, the publisher was destroyed when video was muted.
Version 2.27.2 -- June 2024
This version adds support for reading the Certificate Authority certificates in the trust store of the host so that it can use them as valid root certificates when connecting to OpenTok services.
This version adds support for advanced noise suppression. This uses the Vonage Media Library to provide enhanced noise cancellation. See the documentation for the
Publisher.setAudioTransformers()method. This is a beta feature.This version reduces the size of the SDK by removing the Vonage Media Library code. In order to use methods that use the Vonage Media Library, you must load the Vonage Media Library separately from the Vonage Video Android SDK. This includes using the
PublisherKit.setAudioTransformers()andPublisherKit.setVideoTransformers()methods to apply audio and video transformers to the stream. For more information, see Vonage Media Library integration.This version fixes a crash.
Version 2.27.1 -- January 2024
This version fixes a bug where canSubscribe returned incorrect information in
Session.getCapabilities().This version fixes an issue where the state of captions was not properly updated for subscribers under certain circumstances.
This version fixes some crashes.
Version 2.27.0 -- December 2023
This version adds support for the Vonage Media Processor library and custom media transformers. You can apply custom video and audio transformations to video and audio streams using the
PublisherKit.setVideoTransformers()andPublisherKit.setAudioTransformers()methods. This was previously a beta feature.This version adds support for publisher audio fallback. This was previously a beta feature. See the Publisher audio fallback documentation.
This version adds support for the VP9 codec in relayed sessions. For more information, see the Video Codecs documentation.
This version adds support for end-to-end encryption. You can enable end-to end-encryption using the
Session.setEncryptionSecret()method. For more information, see the End-to-End Encryption documentation.This version adds support for adaptive media routing. For more information, see the Adaptive Media Routing documentation.
This version adds some memory management improvements.
Version 2.26.2 -- November 2023
- This version adds support for publisher audio fallback. This is a beta feature. See the Publisher audio fallback documentation.
- This version adds more support for the Vonage Media Processor filters. The background blur filter now accepts a custom radius option. And there is a new background replacement filter. You can create these video filters using the
VideoTransformer(String name, String properties)constructor. This is a beta feature.
Version 2.25.4 -- October 2023
- This version fixes an issue where it sometimes took longer than expected to disconnect from a session.
Version 2.24.3 -- October 2023
- This version fixes an issue where it sometimes took longer than expected to disconnect from a session.
Version 2.26.1 -- October 2023
- This version fixes an issue where video dimensions were incorrect if users muted video.
- This version fixes a crash that occurred if users published and unpublished video several times in rapid succession.
- This version fixes an issue where, in some cases, users were unable to connect to sessions with both custom TURN servers and IP Proxies enabled.
- This version fixes an issue where, in some cases, using custom audio devices was causing publishing failures.
- This version fixes some memory leaks.
- This version fixes an issue where it sometimes took longer than expected to disconnect from a session.
- This version fixes an issue where, in some cases, setting the microphone to mute was causing a crash.
Version 2.26.0 -- August 2023
This version adds support for the Vonage Media Processor library and custom media transformers. You can apply custom video and audio transformations to video and audio streams using the
PublisherKit.setVideoTransformers()andPublisherKit.setAudioTransformers()methods. Using custom media transformers was previously a beta feature. (Using the background blur transformer remains in beta).This version adds support for Live Captions. See the docs for
PublisherKit.setPublishCaptions()andSubscriberKit.setSubscribeToCaptions(). This was previously a beta feature.This version fixes an issue where the SDK was crashing for subscribers on relayed sessions published using the Android SDK.
Version 2.25.3 -- July 2023
This version fixes some inconsistent cleanup-related audio callbacks for custom devices.
This version fixes an issue where publishers were ignoring custom framerate settings.
This version fixes a memory leak.
Version 2.25.2 -- May 2023
This version requires that applications target a minimum Android level of 23.
This version adds support for the Vonage Media Processor library and custom media transformers. You can apply custom video and audio transformations to video and audio streams using the
PublisherKit.setVideoTransformers()andPublisherKit.setAudioTransformers()methods. This is a beta feature.This version adds support for Live Captions. See the docs for
PublisherKit.setPublishCaptionsandSubscriberKit.setSubscribeToCaptions. This is a beta feature.This version fixes an issue where captions were enabled by default.
The
onStreamHasCaptionsChanged()method was removed from the StreamPropertiesListener interface and moved to the new StreamCaptionsPropertiesListener interface. If you implement the StreamPropertiesListener interface, you will need to remove this method. For the Live Captions feature, you can implementStreamCaptionsPropertiesListener.onStreamHasCaptionsChanged()method. This is a beta feature.
Version 2.25.1 -- May 2023
This version fixes an issue where, for certain models of Bluetooth headsets, there was a delay between Bluetooth reconnects.
This version fixes an issue where occasionally the app would crash if it was publishing for a very long time.
This version fixes some memory leaks.
Version 2.25.0 -- April 2023
This version of the SDK uses an updated version of WebRTC 99, which includes improvements in performance and stability.
A new onStreamHasCaptionsChanged() method was added to the StreamPropertiesListener interface in 2.24.2. If you implement this interface, you will need to implement this method. This is a beta feature.
Version 2.24.2 -- February 2023
This version fixes an issue where starting a session with muted video would disable scalable video.
This version fixes an issue where the camera LED was not turned off when the video was muted.
This version fixes an issue where audio would remain muted for users under certain circumstances.
Version 2.24.1 -- December 2022
- This version fixes an issue where, in some cases, H.264 streams in relayed sessions did not adapt to network conditions.
Version 2.24.0 -- October 2022
This version of the SDK uses WebRTC 99, which includes improvements in performance and stability.
This version fixes an issue in which participants could not hear audio published by clients using certain models of Huawei devices.
This version fixes an intermittent crash when cycling the camera.
This version fixes an issue in which applications could not connect to a session when IP Proxy was enabled.
This version fixes an issue when AES-256 was enabled and applications could not connect to clients using on Safari 15.3 and below.
Version 2.23.1 -- August 2022
This version fixes an issue that caused excessive bandwidth usage by streams in relayed sessions.
This version fixes an issue where an app may crash when Bluetooth permissions are not enabled.
This version fixes an issue where the Bluetooth connection is lost after a session reconnection.
Version 2.23.0 -- July 2022
Adding support for Full High Definition (1920x1080-pixel) resolution. You can specify
High1080pas the resolution value you pass into thePublisher.CameraCaptureResolution()method.This version adds the ability to enable per-subscriber audio levels. See the docs for the
SubscriberKit.setAudioVolume()andSubscriberKit.getAudioVolume()methods. This was previously a beta feature.This version implements scalable video support for screen sharing. See the
PublisherKit.Builder.scalableScreenshare()method. This was previously a beta feature.This version fixes an issue where publishers of 1080p or 720p streams to routed sessions published two scalable video layers instead of three.
This version fixes an issue in Android 12 where apps may crash if Bluetooth permissions are not included.
This version fixes an issue where the app crashes if an unregistered audio device is used.
Known issues
Applications may crash when the experimental 16KB page size is enabled. We are looking into this issue.
Disconnecting from a session may take longer than expected. We are working on a fix for this issue.
In a session with the media mode set to relayed, only one client can subscribe to a stream published by an Android device.
Video streaming is prevented on networks that have firewalls that use authenticated proxies. This is due to a core issue with the current underlying WebRTC implementation. (See this Chromium bug report.)
Audio is distorted in streams published from the Genymotion emulator.
When setting a proxy URL (with the
OTSessionSettings.proxyURLproperty), please use the absolute URL root path only. Using the proxy path in the URL does not work currently and is a known bug. Hence"https://my-proxy.herokuapp.com"and"https://my-proxy.herokuapp.com:443"are acceptable, while"https://my-proxy.herokuapp.com/"and"https://my-proxy.herokuapp.com/my-beta-app/version5"are not.The frame rate of a published stream is decided by the camera driver, even if you a specify a different frame rate for the the published stream.
Google has issued a security notice regarding vulnerable versions of usrsctp, a library needed for WebRTC data channels. OpenTok does not support WebRTC data channels so users are not impacted. Additionally, usrsctp is not included in the SDK.