[Update]: The new OTPublisher.setAudioTransformers()
method lets you set (and clear) audio transformers. One transformer, the noise suppression filter, is supported. To use this, call the setAudioTransformers()
method of the OTPublisher ref, and pass in an array with one object that has a name
property set to 'NoiseSuppression'
and a properties
property set to an empty string:
publisherRef.setAudioTransformers([{
name: 'NoiseSuppression',
properties: '',
}]);
Important: To use this method, you must add the Vonage Media Transformer library to your project, separately from the OpenTok React Native SDK. See Vonage Media Library integration.
[Update]: This version adds support for enabling single peer connection for the client, by setting the enableSinglePeerConnection
property of the options
prop of the OTSession component to true
. For more information see this documentation.
[Update]: This version updates the Vonage Video Android SDK and iOS SDK to version 2.28.0.
[Update]: The Vonage Video iOS and Android SDKs loaded by this version are reduced in size by removing Vonage Media Library code.
Important: In order to use the OTPublisher.setVideoTransformers()
method (which uses the Vonage Media Library), you must add the Vonage Media Library separately from the Vonage Video React Native SDK. For details, see Vonage Media Library integration.
[Update]: For Android, this version of the library requires a minimum Android API level of 24.
[Update]: 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.
[Update]: This version adds support for Apple's requirement of the signature for the SDK.
[Update]: This version updates a vulnerable Node module (braces).
[Fix]: This version fixes the OTSubscriber captionReceived
event handler. It also fixes the OTPublisher publishCaptions
option in iOS.
[Fix]: Calling OTSubscriber.getRtcStatsReport()
method was resulting in an error. This version fixes the issue.
[Fix]: Setting the enableStereoOutput
option of the OTSession component was causing apps to crash in Android. The custom audio driver (used in Android when the enableStereoOutput
option is set) is broken. This version disables the enableStereoOutput
option in Android.
[Fix] The subscribeToSelf
prop of the OTSubscriber component was not working. This version fixes the issue (issue #612).
[Update]: This version updates the Vonage Video iOS SDK version to 2.27.2 and the Vonage Video Android SDK version to 2.27.1. See their release notes for details:
[Fix] Toggling between a screen and camera video source for publisher caused apps to crash in iOS. This version fixes the issue (issue #710).
videoSource
setting set to "screen"
) failed if the app did not have camera access permission. This version fixes the issue, so that screen-sharing can proceed without camera access permission.Note: In Android 6.0 (API Level 23
) and higher, the OpenTok React Native SDK automatically adds the camera access permission. However, an app or user can disable it independently of the SDK.
PermissionsAndroid.PERMISSIONS.CAMERA
or PermissionsAndroid.PERMISSIONS.RECORD_AUDIO
were not true
. This version fixes that, by having audio-only or video-only publishers skip the PermissionsAndroid.PERMISSIONS.CAMERA
or PermissionsAndroid.PERMISSIONS.RECORD_AUDIO
check if the videoTrack
or audioTrack
property of the properties
prop of the OTPublisher component is set to false
. You can set these props to false
based on these permissions:import { PermissionsAndroid } from 'react-native';
// ...
<OTPublisher
properties={{
videoTrack={{(Platform.OS === 'ios' || PermissionsAndroid.CAMERA)}}
}}
/>
Note: In Android 6.0 (API Level 23
) and higher, the OpenTok React Native SDK automatically adds these permissions. However, an app or user can disable them independently of the SDK.
[Fix]: On Android, setting the videoTrack
property of the properties
prop of the OTPublisher component false
resulted in the app to crash. This version fixes the issue (issue #652).
[Fix]: Fixes some TypeScript definitions (issue #725).
[Update]: Update OpenTok Android SDK and OpenTok iOS SDK to version 2.27.0.
This version adds support for the VP9 codec in relayed sessions. For more information, see the video codecs documentation.
This version adds support for adaptive media routing. For more information, see the adaptive media routing documentation.
For more details, see the release notes for the OpenTok iOS and Android SDKs.
[Update]: This version adds support for end-to-end encryption. The OTSession
component includes a new encryptionSecret
prop, which you can use to set and change the encryption secret used by the local client.
[Update]: This version adds a new OTPublisher audioFallback
option, which supports both subscriber and publisher audio fallback. The audioFallback.subscriber
property replaces the OTPublisher audioFallbackEnabled
option, which is deprecated.
The OTPublisher component has new callback functions for publisher audio fallback-related events: videoDisabled()
, videoEnabled()
, videoDisableWarning()
, and videoDisableWarningLifted()
. See the audio fallback developer guide.
[Update]: The OTPublisher.setVideoTransformer()
method now supports the background image replacement transformer in Android (as well as iOS). And the custom radius option for the background blur filter is now supported in Android (as well as iOS).
[Update]: The axios package is updated. This updates a vulnerable version of in the follow-redirects dependency.
[Fix]: This version fixes some issues in the TypeScript definitions.
[Fix]: This version fixes the following events, which were not being dispatched:
[Fix]: This version fixes the OTSession.forceMuteAll()
method in iOS.
[Update]: The new OTPublisher.setVideoTransformers()
method lets you set (and clear)
video transformers, such as a background blur for a publisher (issues #631 and #682).
For more info, see the docs: OTPublisher.
[Update]: Live Captions API enhancements (issue #643)
The new OTPublisher.publishCaptions option lets you enable and disable captions for a published stream (if captions are enabled for the session). For more info, see the docs:OTPublisher.
The new OTSubscriber.subscribeToCaptions option lets you turn captions on and off for a subscriber (if captions are enabled for the session and the publisher is publishing captions). For more info, see the docs: OTSubscriber.
The new OTSubscriber captionReceived event is dispatched when a subscriber receives a caption. For more info, see the docs: OTSubscriber.
For more information, see the Live Captions developer guide.
[Fix]: Fixes an issue in which applications could not connect to a session when
the proxyUrl
option for OTSession was set. - issue #645
[Fix]: Fixes an issue a stream is not destroyed immediately after unmounting an OTSession component or when the OTSession.disconnect()
method is called. - issues #685 and #686
[Update]: Update OpenTok Android SDK and OpenTok iOS SDK to version 2.26.1.
See the release notes for the OpenTok ioS SDK and the Android SDK.
For Android, this version of the library requires a minimum Android API level of 23.
There are changes to iOS 14 networking affecting relayed sessions — see the list of known issues in the OpenTok iOS SDK release notes.
[Update]: Add API to implement functionality missing from the OpenTok Android and iOS SDKs:
OTSession.getCapabilities()
methodreportIssue()
methods and rtcStatsReport
events added to OTPublisher and OTSubscriberscalableScreenshare
option (in the OTPublisher properties)audioNetworkStats
and videoNetworkStats
eventsOTPublisher.getRtcStatsReport()
method and OTPublisher rtcStatsReport
eventresolution
(for FHD video support)audioVolume
property.muteForce
event and OTSession muteForced
event.For more info, see the docs:
[Update]: Update OpenTok Android SDK and OpenTok iOS SDK to version 2.25.1.
Note that with this version, we are pinning the major and minor release versions (2.25) to match the corresponding versions in the OpenTok Android and iOS SDKs.
For iOS, note that this version supports iOS 13+, removes support for FAT binaries and drops 32-bit support. The OpenTok iOS SDK is now available as the OTXCFramework Pod file. (The OpenTok pod file was for FAT binaries.)
See the release notes for the OpenTok ioS SDK and the Android SDK.
[Fix]: Fixes an issue in which applications could not connect to a session when
the proxyUrl
option for OTSession was set. - issue #645
opentok-react-native
version to3.4.0
due to UUID#375nativeEvents.listeners()
crash PR493stereo
output on iOS
and Android
using CustomAudioDevice
2.18.1
2.18.1
2.17.0
and Android SDK to 2.17.1
2.16.5
and Android SDK to 2.16.5
2.16.3
Attempted to register RCTBridgeModule class OTSessionManager
issue after opening/reloading app (merged from PR336).