@100mslive/react-native-hms 0.9.2 → 0.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -2
- package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/checksums/sha1-checksums.bin +0 -0
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/reactnativehmssdk/HmsDecoder.kt +12 -0
- package/android/src/main/java/com/reactnativehmssdk/HmsHelper.kt +174 -2
- package/android/src/main/java/com/reactnativehmssdk/HmsSDK.kt +3 -73
- package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +9 -4
- package/android/src/main/java/com/reactnativehmssdk/HmsView.kt +18 -27
- package/android/src/main/java/com/reactnativehmssdk/HmssdkViewManager.kt +36 -2
- package/ios/HmsDecoder.swift +12 -2
- package/ios/HmsSDK.swift +9 -4
- package/ios/HmsView.swift +2 -14
- package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
- package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
- package/lib/commonjs/classes/HMSConfig.js +3 -0
- package/lib/commonjs/classes/HMSConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSEncoder.js +31 -8
- package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSException.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
- package/lib/commonjs/classes/HMSHelper.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalAudioTrack.js +3 -5
- package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalVideoTrack.js +3 -5
- package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
- package/lib/commonjs/classes/HMSLogger.js +19 -1
- package/lib/commonjs/classes/HMSLogger.js.map +1 -1
- package/lib/commonjs/classes/HMSMessage.js +1 -1
- package/lib/commonjs/classes/HMSMessage.js.map +1 -1
- package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
- package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
- package/lib/commonjs/classes/HMSNetworkQuality.js +20 -0
- package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -0
- package/lib/commonjs/classes/HMSPeer.js +3 -0
- package/lib/commonjs/classes/HMSPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSPeerUpdate.js +1 -0
- package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
- package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSRTCStats.js.map +1 -1
- package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -1
- package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteAudioTrack.js +3 -5
- package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoTrack.js +3 -5
- package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRole.js.map +1 -1
- package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
- package/lib/commonjs/classes/HMSRoom.js.map +1 -1
- package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
- package/lib/commonjs/classes/HMSSDK.js +79 -202
- package/lib/commonjs/classes/HMSSDK.js.map +1 -1
- package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSSimulcastLayerSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSSimulcastSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSSpeaker.js.map +1 -1
- package/lib/commonjs/classes/HMSSpeakerUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
- package/lib/commonjs/classes/HmsView.js +69 -17
- package/lib/commonjs/classes/HmsView.js.map +1 -1
- package/lib/commonjs/index.js +14 -14
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/classes/HMSAudioCodec.js.map +1 -1
- package/lib/module/classes/HMSAudioSettings.js.map +1 -1
- package/lib/module/classes/HMSAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
- package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
- package/lib/module/classes/HMSCameraFacing.js.map +1 -1
- package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
- package/lib/module/classes/HMSConfig.js +3 -0
- package/lib/module/classes/HMSConfig.js.map +1 -1
- package/lib/module/classes/HMSEncoder.js +20 -2
- package/lib/module/classes/HMSEncoder.js.map +1 -1
- package/lib/module/classes/HMSException.js.map +1 -1
- package/lib/module/classes/HMSHLSConfig.js.map +1 -1
- package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -1
- package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -1
- package/lib/module/classes/HMSHLSRecordingState.js.map +1 -1
- package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
- package/lib/module/classes/HMSHLSVariant.js.map +1 -1
- package/lib/module/classes/HMSHelper.js.map +1 -1
- package/lib/module/classes/HMSLocalAudioStats.js.map +1 -1
- package/lib/module/classes/HMSLocalAudioTrack.js +3 -3
- package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSLocalPeer.js.map +1 -1
- package/lib/module/classes/HMSLocalVideoStats.js.map +1 -1
- package/lib/module/classes/HMSLocalVideoTrack.js +3 -3
- package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSLogLevel.js.map +1 -1
- package/lib/module/classes/HMSLogger.js +10 -0
- package/lib/module/classes/HMSLogger.js.map +1 -1
- package/lib/module/classes/HMSMessage.js +1 -1
- package/lib/module/classes/HMSMessage.js.map +1 -1
- package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
- package/lib/module/classes/HMSMessageRecipientType.js.map +1 -1
- package/lib/module/classes/HMSNetworkQuality.js +11 -0
- package/lib/module/classes/HMSNetworkQuality.js.map +1 -0
- package/lib/module/classes/HMSPeer.js +3 -0
- package/lib/module/classes/HMSPeer.js.map +1 -1
- package/lib/module/classes/HMSPeerUpdate.js +1 -0
- package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/module/classes/HMSPermissions.js.map +1 -1
- package/lib/module/classes/HMSPublishSettings.js.map +1 -1
- package/lib/module/classes/HMSRTCStats.js.map +1 -1
- package/lib/module/classes/HMSRTCStatsReport.js.map +1 -1
- package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
- package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -1
- package/lib/module/classes/HMSRemoteAudioTrack.js +3 -3
- package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSRemotePeer.js.map +1 -1
- package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -1
- package/lib/module/classes/HMSRemoteVideoTrack.js +3 -3
- package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSRole.js.map +1 -1
- package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
- package/lib/module/classes/HMSRoom.js.map +1 -1
- package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
- package/lib/module/classes/HMSSDK.js +79 -202
- package/lib/module/classes/HMSSDK.js.map +1 -1
- package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
- package/lib/module/classes/HMSSimulcastLayerSettings.js.map +1 -1
- package/lib/module/classes/HMSSimulcastSettings.js.map +1 -1
- package/lib/module/classes/HMSSpeaker.js.map +1 -1
- package/lib/module/classes/HMSSpeakerUpdate.js.map +1 -1
- package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
- package/lib/module/classes/HMSTrack.js.map +1 -1
- package/lib/module/classes/HMSTrackSettings.js.map +1 -1
- package/lib/module/classes/HMSTrackType.js.map +1 -1
- package/lib/module/classes/HMSTrackUpdate.js.map +1 -1
- package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/module/classes/HMSVideoCodec.js.map +1 -1
- package/lib/module/classes/HMSVideoResolution.js.map +1 -1
- package/lib/module/classes/HMSVideoSettings.js.map +1 -1
- package/lib/module/classes/HMSVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
- package/lib/module/classes/HMSVideoViewMode.js.map +1 -1
- package/lib/module/classes/HmsView.js +67 -17
- package/lib/module/classes/HmsView.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/classes/HMSConfig.d.ts +2 -0
- package/lib/typescript/classes/HMSEncoder.d.ts +7 -1
- package/lib/typescript/classes/HMSLocalPeer.d.ts +2 -0
- package/lib/typescript/classes/HMSLogger.d.ts +3 -0
- package/lib/typescript/classes/HMSNetworkQuality.d.ts +6 -0
- package/lib/typescript/classes/HMSPeer.d.ts +3 -0
- package/lib/typescript/classes/HMSPeerUpdate.d.ts +2 -1
- package/lib/typescript/classes/HMSRemotePeer.d.ts +2 -0
- package/lib/typescript/classes/HMSSDK.d.ts +7 -9
- package/lib/typescript/classes/HmsView.d.ts +7 -7
- package/lib/typescript/index.d.ts +1 -1
- package/package.json +2 -2
- package/react-native-hms.podspec +1 -1
- package/src/classes/HMSConfig.ts +3 -0
- package/src/classes/HMSEncoder.ts +20 -10
- package/src/classes/HMSLocalAudioTrack.ts +3 -3
- package/src/classes/HMSLocalPeer.ts +2 -0
- package/src/classes/HMSLocalVideoTrack.ts +3 -3
- package/src/classes/HMSLogger.ts +11 -0
- package/src/classes/HMSMessage.ts +1 -1
- package/src/classes/HMSNetworkQuality.ts +7 -0
- package/src/classes/HMSPeer.ts +4 -2
- package/src/classes/HMSPeerUpdate.ts +1 -0
- package/src/classes/HMSRemoteAudioTrack.ts +3 -3
- package/src/classes/HMSRemotePeer.ts +2 -0
- package/src/classes/HMSRemoteVideoTrack.ts +3 -3
- package/src/classes/HMSSDK.tsx +22 -30
- package/src/classes/HmsView.tsx +102 -44
- package/src/index.ts +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NativeModules } from 'react-native';
|
|
2
|
-
import {
|
|
2
|
+
import { getLogger } from './HMSLogger';
|
|
3
3
|
import type { HMSTrackType } from './HMSTrackType';
|
|
4
4
|
import { HMSAudioTrack } from './HMSAudioTrack';
|
|
5
5
|
|
|
@@ -18,7 +18,7 @@ export class HMSRemoteAudioTrack extends HMSAudioTrack {
|
|
|
18
18
|
* @memberof HMSRemoteAudioTrack
|
|
19
19
|
*/
|
|
20
20
|
setPlaybackAllowed(playbackAllowed: boolean) {
|
|
21
|
-
const logger =
|
|
21
|
+
const logger = getLogger();
|
|
22
22
|
logger?.verbose('#Function setPlaybackAllowed', {
|
|
23
23
|
trackId: this.trackId,
|
|
24
24
|
id: this.id,
|
|
@@ -35,7 +35,7 @@ export class HMSRemoteAudioTrack extends HMSAudioTrack {
|
|
|
35
35
|
|
|
36
36
|
isPlaybackAllowed = async () => {
|
|
37
37
|
try {
|
|
38
|
-
const logger =
|
|
38
|
+
const logger = getLogger();
|
|
39
39
|
logger?.verbose('#Function isPlaybackAllowed', {
|
|
40
40
|
trackId: this.trackId,
|
|
41
41
|
id: this.id,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { HMSAudioTrack } from './HMSAudioTrack';
|
|
2
|
+
import type { HMSNetworkQuality } from './HMSNetworkQuality';
|
|
2
3
|
import { HMSPeer } from './HMSPeer';
|
|
3
4
|
import { HMSRemoteAudioTrack } from './HMSRemoteAudioTrack';
|
|
4
5
|
import { HMSRemoteVideoTrack } from './HMSRemoteVideoTrack';
|
|
@@ -28,6 +29,7 @@ export class HMSRemotePeer extends HMSPeer {
|
|
|
28
29
|
audioTrack?: HMSAudioTrack;
|
|
29
30
|
videoTrack?: HMSVideoTrack;
|
|
30
31
|
role?: HMSRole;
|
|
32
|
+
networkQuality?: HMSNetworkQuality;
|
|
31
33
|
auxiliaryTracks?: HMSTrack[];
|
|
32
34
|
remoteAudioTrackData?: {
|
|
33
35
|
trackId: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NativeModules } from 'react-native';
|
|
2
|
-
import {
|
|
2
|
+
import { getLogger } from './HMSLogger';
|
|
3
3
|
import { HMSVideoTrack } from './HMSVideoTrack';
|
|
4
4
|
import type { HMSTrackType } from './HMSTrackType';
|
|
5
5
|
|
|
@@ -20,7 +20,7 @@ export class HMSRemoteVideoTrack extends HMSVideoTrack {
|
|
|
20
20
|
* @memberof HMSRemoteVideoTrack
|
|
21
21
|
*/
|
|
22
22
|
setPlaybackAllowed(playbackAllowed: boolean) {
|
|
23
|
-
const logger =
|
|
23
|
+
const logger = getLogger();
|
|
24
24
|
logger?.verbose('#Function setPlaybackAllowed', {
|
|
25
25
|
trackId: this.trackId,
|
|
26
26
|
id: this.id,
|
|
@@ -37,7 +37,7 @@ export class HMSRemoteVideoTrack extends HMSVideoTrack {
|
|
|
37
37
|
|
|
38
38
|
isPlaybackAllowed = async () => {
|
|
39
39
|
try {
|
|
40
|
-
const logger =
|
|
40
|
+
const logger = getLogger();
|
|
41
41
|
logger?.verbose('#Function isPlaybackAllowed', {
|
|
42
42
|
trackId: this.trackId,
|
|
43
43
|
id: this.id,
|
package/src/classes/HMSSDK.tsx
CHANGED
|
@@ -7,35 +7,35 @@ import {
|
|
|
7
7
|
AppState,
|
|
8
8
|
} from 'react-native';
|
|
9
9
|
import { HMSUpdateListenerActions } from './HMSUpdateListenerActions';
|
|
10
|
+
import { HMSEncoder } from './HMSEncoder';
|
|
11
|
+
import { HMSMessage } from './HMSMessage';
|
|
12
|
+
import { HMSHelper } from './HMSHelper';
|
|
13
|
+
import { HmsViewComponent } from './HmsView';
|
|
14
|
+
import { HMSLocalAudioStats } from './HMSLocalAudioStats';
|
|
15
|
+
import { HMSLocalVideoStats } from './HMSLocalVideoStats';
|
|
16
|
+
import { HMSRemoteVideoStats } from './HMSRemoteVideoStats';
|
|
17
|
+
import { HMSRemoteAudioStats } from './HMSRemoteAudioStats';
|
|
18
|
+
import { logger, getLogger, setLogger } from './HMSLogger';
|
|
10
19
|
import type { HMSConfig } from './HMSConfig';
|
|
11
20
|
import type { HMSLocalPeer } from './HMSLocalPeer';
|
|
12
21
|
import type { HMSRemotePeer } from './HMSRemotePeer';
|
|
13
22
|
import type { HMSRoom } from './HMSRoom';
|
|
14
23
|
import type { HMSRole } from './HMSRole';
|
|
15
|
-
import { HMSEncoder } from './HMSEncoder';
|
|
16
|
-
import { HMSMessage } from './HMSMessage';
|
|
17
|
-
import { HMSHelper } from './HMSHelper';
|
|
18
24
|
import type { HMSTrack } from './HMSTrack';
|
|
19
25
|
import type { HMSTrackType } from './HMSTrackType';
|
|
20
26
|
import type { HMSLogger } from './HMSLogger';
|
|
21
27
|
import type { HMSPeer } from './HMSPeer';
|
|
22
|
-
import {
|
|
23
|
-
import { HMSVideoViewMode } from './HMSVideoViewMode';
|
|
28
|
+
import type { HMSVideoViewMode } from './HMSVideoViewMode';
|
|
24
29
|
import type { HMSTrackSettings } from './HMSTrackSettings';
|
|
25
30
|
import type { HMSRTMPConfig } from './HMSRTMPConfig';
|
|
26
31
|
import type { HMSHLSConfig } from './HMSHLSConfig';
|
|
27
|
-
import { HMSLocalAudioStats } from './HMSLocalAudioStats';
|
|
28
|
-
import { HMSLocalVideoStats } from './HMSLocalVideoStats';
|
|
29
|
-
import { HMSRemoteVideoStats } from './HMSRemoteVideoStats';
|
|
30
|
-
import { HMSRemoteAudioStats } from './HMSRemoteAudioStats';
|
|
31
32
|
|
|
32
|
-
interface
|
|
33
|
+
interface HmsViewProps {
|
|
33
34
|
trackId: string;
|
|
34
|
-
|
|
35
|
-
style: ViewStyle;
|
|
35
|
+
style?: ViewStyle;
|
|
36
36
|
mirror?: boolean;
|
|
37
|
-
scaleType
|
|
38
|
-
|
|
37
|
+
scaleType?: HMSVideoViewMode;
|
|
38
|
+
setZOrderMediaOverlay?: boolean;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
const {
|
|
@@ -49,8 +49,6 @@ const HmsEventEmitter = new NativeEventEmitter(HmsManager);
|
|
|
49
49
|
|
|
50
50
|
let HmsSdk: HMSSDK | undefined;
|
|
51
51
|
|
|
52
|
-
let logger: HMSLogger | undefined;
|
|
53
|
-
|
|
54
52
|
export class HMSSDK {
|
|
55
53
|
room?: HMSRoom;
|
|
56
54
|
localPeer?: HMSLocalPeer;
|
|
@@ -105,7 +103,7 @@ export class HMSSDK {
|
|
|
105
103
|
* @memberof HMSSDK
|
|
106
104
|
*/
|
|
107
105
|
static getLogger() {
|
|
108
|
-
return
|
|
106
|
+
return getLogger();
|
|
109
107
|
}
|
|
110
108
|
|
|
111
109
|
/**
|
|
@@ -114,8 +112,7 @@ export class HMSSDK {
|
|
|
114
112
|
* @memberof HMSSDK
|
|
115
113
|
*/
|
|
116
114
|
setLogger = (hmsLogger: HMSLogger) => {
|
|
117
|
-
|
|
118
|
-
hmsLogger.verbose('#Function setLogger', { id: this.id });
|
|
115
|
+
setLogger(hmsLogger, this.id);
|
|
119
116
|
};
|
|
120
117
|
|
|
121
118
|
/**
|
|
@@ -380,7 +377,6 @@ export class HMSSDK {
|
|
|
380
377
|
/**
|
|
381
378
|
* - HmsView is react component that takes one track and starts showing that track on a tile.
|
|
382
379
|
* - The appearance of tile is completely customizable with style prop.
|
|
383
|
-
* - setting sink true or false for a video tile will add or remove sink for a video.
|
|
384
380
|
* - scale type can determine how the incoming video will fit in the canvas check {@link HMSVideoViewMode} for more information.
|
|
385
381
|
*
|
|
386
382
|
* checkout {@link https://www.100ms.live/docs/react-native/v2/features/render-video} for more info
|
|
@@ -388,24 +384,20 @@ export class HMSSDK {
|
|
|
388
384
|
* @param {HmsComponentProps}
|
|
389
385
|
* @memberof HMSSDK
|
|
390
386
|
*/
|
|
391
|
-
HmsView = ({
|
|
392
|
-
|
|
393
|
-
trackId,
|
|
394
|
-
style,
|
|
395
|
-
mirror,
|
|
396
|
-
scaleType = HMSVideoViewMode.ASPECT_FIT,
|
|
397
|
-
}: HmsComponentProps) => {
|
|
387
|
+
HmsView = React.forwardRef<any, HmsViewProps>((props, ref) => {
|
|
388
|
+
const { trackId, style, mirror, scaleType, setZOrderMediaOverlay } = props;
|
|
398
389
|
return (
|
|
399
|
-
<
|
|
400
|
-
|
|
390
|
+
<HmsViewComponent
|
|
391
|
+
ref={ref}
|
|
401
392
|
trackId={trackId}
|
|
402
393
|
style={style}
|
|
394
|
+
setZOrderMediaOverlay={setZOrderMediaOverlay}
|
|
403
395
|
mirror={mirror}
|
|
404
396
|
scaleType={scaleType}
|
|
405
397
|
id={this.id}
|
|
406
398
|
/>
|
|
407
399
|
);
|
|
408
|
-
};
|
|
400
|
+
});
|
|
409
401
|
|
|
410
402
|
/**
|
|
411
403
|
* Calls leave function of native sdk and session of current user is invalidated.
|
package/src/classes/HmsView.tsx
CHANGED
|
@@ -1,66 +1,124 @@
|
|
|
1
|
-
import React, { useState, useEffect } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import React, { useState, useEffect, useImperativeHandle, useRef } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
findNodeHandle,
|
|
4
|
+
requireNativeComponent,
|
|
5
|
+
StyleSheet,
|
|
6
|
+
UIManager,
|
|
7
|
+
ViewStyle,
|
|
8
|
+
} from 'react-native';
|
|
9
|
+
import { HMSVideoViewMode } from './HMSVideoViewMode';
|
|
4
10
|
|
|
5
11
|
interface HmsViewProps {
|
|
6
12
|
data: {
|
|
7
13
|
trackId: string;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
mirror?: boolean;
|
|
14
|
+
id: string;
|
|
15
|
+
mirror: boolean;
|
|
11
16
|
};
|
|
17
|
+
setZOrderMediaOverlay: boolean;
|
|
12
18
|
scaleType: HMSVideoViewMode;
|
|
13
19
|
style: ViewStyle;
|
|
14
20
|
onChange: Function;
|
|
21
|
+
onDataReturned: Function;
|
|
15
22
|
}
|
|
16
23
|
|
|
17
|
-
const
|
|
24
|
+
const HmsView = requireNativeComponent<HmsViewProps>('HmsView');
|
|
25
|
+
let _nextRequestId = 1;
|
|
26
|
+
let _requestMap = new Map();
|
|
18
27
|
|
|
19
28
|
interface HmsComponentProps {
|
|
20
29
|
trackId: string;
|
|
21
|
-
|
|
22
|
-
style: ViewStyle;
|
|
30
|
+
style?: ViewStyle;
|
|
23
31
|
mirror?: boolean;
|
|
24
|
-
scaleType
|
|
25
|
-
|
|
32
|
+
scaleType?: HMSVideoViewMode;
|
|
33
|
+
setZOrderMediaOverlay?: boolean;
|
|
34
|
+
id: string;
|
|
26
35
|
}
|
|
27
36
|
|
|
28
|
-
export const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
trackId,
|
|
39
|
-
sink,
|
|
40
|
-
id: id || null,
|
|
41
|
-
mirror: mirror || false,
|
|
42
|
-
};
|
|
37
|
+
export const HmsViewComponent = React.forwardRef<any, HmsComponentProps>(
|
|
38
|
+
(props, ref) => {
|
|
39
|
+
const {
|
|
40
|
+
trackId,
|
|
41
|
+
style = temporaryStyles.customStyle,
|
|
42
|
+
id = '12345',
|
|
43
|
+
mirror = false,
|
|
44
|
+
setZOrderMediaOverlay = false,
|
|
45
|
+
scaleType = HMSVideoViewMode.ASPECT_FILL,
|
|
46
|
+
} = props;
|
|
43
47
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
const hmsViewRef: any = useRef();
|
|
49
|
+
const [tempVal, setTempVal] = useState(0);
|
|
50
|
+
const data = {
|
|
51
|
+
trackId,
|
|
52
|
+
id,
|
|
53
|
+
mirror,
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const onChange = (values: any) => {
|
|
57
|
+
console.log(values, 'values');
|
|
58
|
+
setTimeout(() => {
|
|
59
|
+
setTempVal(1);
|
|
60
|
+
}, 2000);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const _onDataReturned = (event: {
|
|
64
|
+
nativeEvent: { requestId: any; result: any; error: any };
|
|
65
|
+
}) => {
|
|
66
|
+
// We grab the relevant data out of our event.
|
|
67
|
+
let { requestId, result, error } = event.nativeEvent;
|
|
68
|
+
// Then we get the promise we saved earlier for the given request ID.
|
|
69
|
+
let promise = _requestMap.get(requestId);
|
|
70
|
+
if (result) {
|
|
71
|
+
// If it was successful, we resolve the promise.
|
|
72
|
+
promise.resolve(result);
|
|
73
|
+
} else {
|
|
74
|
+
// Otherwise, we reject it.
|
|
75
|
+
promise.reject(error);
|
|
76
|
+
}
|
|
77
|
+
// Finally, we clean up our request map.
|
|
78
|
+
_requestMap.delete(requestId);
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
const capture = async () => {
|
|
82
|
+
let requestId = _nextRequestId++;
|
|
83
|
+
let requestMap = _requestMap;
|
|
84
|
+
|
|
85
|
+
// We create a promise here that will be resolved once `_onRequestDone` is
|
|
86
|
+
// called.
|
|
87
|
+
let promise = new Promise(function (resolve, reject) {
|
|
88
|
+
requestMap.set(requestId, { resolve, reject });
|
|
89
|
+
});
|
|
90
|
+
const viewManagerConfig = UIManager.getViewManagerConfig('HmsView');
|
|
91
|
+
UIManager.dispatchViewManagerCommand(
|
|
92
|
+
findNodeHandle(hmsViewRef.current),
|
|
93
|
+
viewManagerConfig.Commands.capture,
|
|
94
|
+
[requestId]
|
|
95
|
+
);
|
|
96
|
+
return promise;
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
useImperativeHandle(ref, () => {
|
|
100
|
+
return {
|
|
101
|
+
capture,
|
|
102
|
+
};
|
|
103
|
+
});
|
|
50
104
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
105
|
+
useEffect(() => {
|
|
106
|
+
setTempVal(0);
|
|
107
|
+
}, [tempVal]);
|
|
54
108
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
109
|
+
return (
|
|
110
|
+
<HmsView
|
|
111
|
+
ref={hmsViewRef}
|
|
112
|
+
onChange={onChange}
|
|
113
|
+
data={data}
|
|
114
|
+
style={tempVal === 0 ? style : temporaryStyles.customStyle}
|
|
115
|
+
scaleType={scaleType}
|
|
116
|
+
setZOrderMediaOverlay={setZOrderMediaOverlay}
|
|
117
|
+
onDataReturned={_onDataReturned}
|
|
118
|
+
/>
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
);
|
|
64
122
|
|
|
65
123
|
const temporaryStyles = StyleSheet.create({
|
|
66
124
|
customStyle: {
|
package/src/index.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export * from './classes/HMSConfig';
|
|
2
2
|
export * from './classes/HMSUpdateListenerActions';
|
|
3
3
|
export * from './classes/HMSMessage';
|
|
4
|
-
export * from './classes/HmsView';
|
|
5
4
|
export * from './classes/HMSVideoTrackSettings';
|
|
6
5
|
export * from './classes/HMSVideoTrack';
|
|
7
6
|
export * from './classes/HMSVideoSettings';
|
|
@@ -61,6 +60,7 @@ export * from './classes/HMSHLSRecordingConfig';
|
|
|
61
60
|
export * from './classes/HMSHLSRecordingState';
|
|
62
61
|
export * from './classes/HMSMessageRecipient';
|
|
63
62
|
export * from './classes/HMSMessageRecipientType';
|
|
63
|
+
export * from './classes/HMSNetworkQuality';
|
|
64
64
|
|
|
65
65
|
import { HMSSDK as HmsManager } from './classes/HMSSDK';
|
|
66
66
|
export default HmsManager;
|