opentok-react-native
Advanced tools
Comparing version 2.27.4 to 2.27.5
@@ -674,5 +674,5 @@ declare module "opentok-react-native" { | ||
/** | ||
* Gets the RTC stats report for the subscriber. This is an asynchronous operation. | ||
* The OTSubscriber object dispatches an rtcStatsReport event when RTC statistics for | ||
* the publisher are available. | ||
* Gets the RTC stats report for the subscribers. This is an asynchronous operation. | ||
* The OTSubscriber object dispatches rtcStatsReport events when RTC statistics for | ||
* the subscribers are available. | ||
*/ | ||
@@ -679,0 +679,0 @@ getRtcStatsReport: () => void; |
@@ -6,3 +6,3 @@ 1<?xml version="1.0" encoding="utf-8"?> | ||
5 <uses-sdk | ||
6 android:minSdkVersion="21" | ||
6 android:minSdkVersion="23" | ||
6-->/Users/jswartz_1/src/opentok-react-native-samples/BasicVideoChat/node_modules/opentok-react-native/android/src/main/AndroidManifest.xml | ||
@@ -9,0 +9,0 @@ 7 android:targetSdkVersion="31" /> |
@@ -803,8 +803,3 @@ com.opentokreactnative | ||
id parentPanel | ||
id pointer_enter | ||
id pointer_enter_capture | ||
id pointer_leave | ||
id pointer_leave_capture | ||
id pointer_move | ||
id pointer_move_capture | ||
id pointer_events | ||
id progress_circular | ||
@@ -811,0 +806,0 @@ id progress_horizontal |
@@ -0,1 +1,12 @@ | ||
# 2.27.5 (June 2024) | ||
- [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). | ||
# 2.27.4 (April 2024) | ||
@@ -2,0 +13,0 @@ |
{ | ||
"name": "opentok-react-native", | ||
"version": "2.27.4", | ||
"version": "2.27.5", | ||
"description": "React Native components for OpenTok iOS and Android SDKs", | ||
@@ -5,0 +5,0 @@ "main": "src/index.js", |
@@ -19,2 +19,6 @@ # opentok-react-native | ||
## System requirements | ||
See the system requirements for the [OpenTok Android SDK](https://tokbox.com/developer/sdks/android/#requirements) and [OpenTok iOS SDK](https://tokbox.com/developer/sdks/ios/#system-requirements). (The OpenTok React Native SDK has the same requirements for Android and iOS.) | ||
## Installation | ||
@@ -21,0 +25,0 @@ |
@@ -152,4 +152,4 @@ import { sanitizeBooleanProperty, reassignEvents } from './OTHelper'; | ||
android: { | ||
streamCreated: 'onStreamCreated', | ||
streamDestroyed: 'onStreamDestroyed', | ||
streamCreated: 'streamCreated', | ||
streamDestroyed: 'streamDestroyed', | ||
error: 'onError', | ||
@@ -156,0 +156,0 @@ audioLevel: 'onAudioLevelUpdated', |
@@ -30,3 +30,3 @@ import { sanitizeBooleanProperty, reassignEvents } from './OTHelper'; | ||
videoDataReceived: 'subscriberVideoDataReceived', | ||
captionReceived: 'subscriberCaptionReceived:', | ||
captionReceived: 'subscriberCaptionReceived', | ||
}, | ||
@@ -33,0 +33,0 @@ android: { |
@@ -34,2 +34,4 @@ import React, { Component } from 'react'; | ||
this.componentEvents = { | ||
publisherStreamCreated: 'publisherStreamCreated', | ||
publisherStreamDestroyed: 'publisherStreamDestroyed:', | ||
sessionConnected: | ||
@@ -48,2 +50,10 @@ Platform.OS === 'android' | ||
OT.setJSComponentEvents(this.componentEventsArray); | ||
this.publisherStreamCreated = nativeEvents.addListener( | ||
'publisherStreamCreated', | ||
stream => this.publisherStreamCreatedHandler(stream) | ||
); | ||
this.publisherStreamDestroyed = nativeEvents.addListener( | ||
'publisherStreamDestroyed', | ||
stream => this.publisherStreamDestroyedHandler(stream) | ||
); | ||
if (this.context.sessionId) { | ||
@@ -164,2 +174,22 @@ this.sessionConnected = nativeEvents.addListener( | ||
publisherStreamCreatedHandler = (stream) => { | ||
if ( | ||
this.props.eventHandlers | ||
&& this.props.eventHandlers.streamCreated | ||
&& stream.publisherId === this.state.publisherId | ||
) { | ||
this.props.eventHandlers.streamCreated(stream); | ||
} | ||
} | ||
publisherStreamDestroyedHandler = (stream) => { | ||
if ( | ||
this.props.eventHandlers | ||
&& this.props.eventHandlers.streamCreated | ||
&& stream.publisherId === this.state.publisherId | ||
) { | ||
this.props.eventHandlers.streamDestroyed(stream); | ||
} | ||
} | ||
setVideoTransformers(videoTransformers) { | ||
@@ -166,0 +196,0 @@ OT.setVideoTransformers(this.state.publisherId, videoTransformers); |
@@ -22,2 +22,4 @@ import React, { Component } from 'react'; | ||
captionReceived: Platform.OS === 'android' ? 'session:onCaptionText' : 'subscriber:subscriberCaptionReceived:', | ||
publisherStreamCreated: 'publisherStreamCreated', | ||
publisherStreamDestroyed: 'publisherStreamDestroyed' | ||
}; | ||
@@ -40,2 +42,10 @@ this.componentEventsArray = Object.values(this.componentEvents); | ||
} | ||
this.publisherStreamCreated = nativeEvents.addListener( | ||
'publisherStreamCreated', | ||
stream => this.publisherStreamCreatedHandler(stream) | ||
); | ||
this.publisherStreamDestroyed = nativeEvents.addListener( | ||
'publisherStreamDestroyed', | ||
stream => this.publisherStreamDestroyedHandler(stream) | ||
); | ||
} | ||
@@ -72,2 +82,4 @@ componentDidUpdate() { | ||
this.streamDestroyed.remove(); | ||
this.publisherStreamCreated.remove(); | ||
this.publisherStreamDestroyed.remove(); | ||
OT.removeJSComponentEvents(this.componentEventsArray); | ||
@@ -112,5 +124,15 @@ const events = sanitizeSubscriberEvents(this.props.eventHandlers); | ||
} | ||
getRtcStatsReport(streamId) { | ||
OT.getSubscriberRtcStatsReport(streamId); | ||
publisherStreamCreatedHandler = (stream) => { | ||
if (this.state.subscribeToSelf) { | ||
this.streamCreatedHandler(stream); | ||
} | ||
} | ||
publisherStreamDestroyedHandler = (stream) => { | ||
if (this.state.subscribeToSelf) { | ||
this.streamDestroyedHandler(stream); | ||
} | ||
} | ||
getRtcStatsReport() { | ||
OT.getSubscriberRtcStatsReport(); | ||
} | ||
render() { | ||
@@ -117,0 +139,0 @@ if (!this.props.children) { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2168039
180
1863
184