@100mslive/react-native-hms 1.10.6 → 1.10.8
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/android/build.gradle +0 -5
- package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +90 -0
- package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayer.kt +14 -3
- package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayerManager.kt +4 -6
- package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +2 -3
- package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +54 -15
- package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +64 -3
- package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManager.kt +9 -17
- package/android/src/main/java/com/reactnativehmssdk/HMSView.kt +7 -3
- package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +3 -6
- package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSInteractivityDecoder.kt +13 -16
- package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSInteractivityHelper.kt +14 -13
- package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSRNInteractivityCenter.kt +19 -4
- package/android/src/main/java/com/reactnativehmssdk/PipActionReceiver.kt +10 -2
- package/ios/HMSConstants.swift +2 -0
- package/ios/HMSDecoder.swift +75 -0
- package/ios/HMSManager.m +45 -0
- package/ios/HMSManager.swift +126 -1
- package/ios/HMSRNSDK.swift +335 -1
- package/ios/Hmssdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/yogesh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Hmssdk.xcodeproj/xcuserdata/yogesh.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
- package/ios/PIPMode/HMSPipModel.swift +18 -0
- package/ios/PIPMode/HMSPipView.swift +36 -0
- package/ios/PIPMode/HMSSampleBufferSwiftUIView.swift +45 -0
- package/lib/commonjs/classes/HMSAudioMixerSource.js +1 -1
- package/lib/commonjs/classes/HMSAudioNode.js +1 -1
- package/lib/commonjs/classes/HMSAudioNode.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioSettings.js +1 -1
- package/lib/commonjs/classes/HMSAudioTrackSettings.js +1 -1
- package/lib/commonjs/classes/HMSBrowserRecordingState.js +1 -1
- package/lib/commonjs/classes/HMSCameraControl.js +1 -1
- package/lib/commonjs/classes/HMSCameraControl.js.map +1 -1
- package/lib/commonjs/classes/HMSChangeTrackStateRequest.js +1 -1
- package/lib/commonjs/classes/HMSConfig.js +1 -1
- package/lib/commonjs/classes/HMSEncoder.js +32 -2
- package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSException.js +1 -1
- package/lib/commonjs/classes/HMSHLSConfig.js +1 -1
- package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js +1 -1
- package/lib/commonjs/classes/HMSHLSRecordingConfig.js +1 -1
- package/lib/commonjs/classes/HMSHLSRecordingState.js +1 -1
- package/lib/commonjs/classes/HMSHLSStreamingState.js +1 -1
- package/lib/commonjs/classes/HMSHLSVariant.js +1 -1
- package/lib/commonjs/classes/HMSInteractivityCenter.js +2 -2
- package/lib/commonjs/classes/HMSInteractivityCenter.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalAudioStats.js +1 -1
- package/lib/commonjs/classes/HMSLocalAudioTrack.js +1 -1
- package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalPeer.js +1 -1
- package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalVideoStats.js +1 -1
- package/lib/commonjs/classes/HMSLocalVideoTrack.js +1 -1
- package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLogSettings.js +1 -1
- package/lib/commonjs/classes/HMSLogger.js +1 -1
- package/lib/commonjs/classes/HMSLogger.js.map +1 -1
- package/lib/commonjs/classes/HMSMessage.js +1 -1
- package/lib/commonjs/classes/HMSMessageRecipient.js +1 -1
- package/lib/commonjs/classes/HMSNativeEventEmitter.js +1 -1
- package/lib/commonjs/classes/HMSNativeEventEmitter.js.map +1 -1
- package/lib/commonjs/classes/HMSNativeEventListener.js +1 -1
- package/lib/commonjs/classes/HMSNativeEventListener.js.map +1 -1
- package/lib/commonjs/classes/HMSNetworkQuality.js +1 -1
- package/lib/commonjs/classes/HMSNoiseCancellationPlugin.js +2 -2
- package/lib/commonjs/classes/HMSNoiseCancellationPlugin.js.map +1 -1
- package/lib/commonjs/classes/HMSPIPConfig.js +4 -0
- package/lib/commonjs/classes/HMSPIPConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSPeer.js +20 -3
- package/lib/commonjs/classes/HMSPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSPeerListIterator.js +2 -2
- package/lib/commonjs/classes/HMSPeerListIterator.js.map +1 -1
- package/lib/commonjs/classes/HMSPeersCache.js +2 -2
- package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
- package/lib/commonjs/classes/HMSPermissions.js +3 -1
- package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
- package/lib/commonjs/classes/HMSPublishSettings.js +1 -1
- package/lib/commonjs/classes/HMSQualityLimitationReasons.js +1 -1
- package/lib/commonjs/classes/HMSRTCStats.js +1 -1
- package/lib/commonjs/classes/HMSRTCStatsReport.js +1 -1
- package/lib/commonjs/classes/HMSRTMPConfig.js +1 -1
- package/lib/commonjs/classes/HMSRemoteAudioStats.js +1 -1
- package/lib/commonjs/classes/HMSRemoteAudioTrack.js +1 -1
- package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRemotePeer.js +1 -1
- package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoStats.js +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoTrack.js +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRole.js +1 -1
- package/lib/commonjs/classes/HMSRoleChangeRequest.js +1 -1
- package/lib/commonjs/classes/HMSRoom.js +8 -1
- package/lib/commonjs/classes/HMSRoom.js.map +1 -1
- package/lib/commonjs/classes/HMSRoomCache.js +9 -2
- package/lib/commonjs/classes/HMSRoomCache.js.map +1 -1
- package/lib/commonjs/classes/HMSRoomUpdate.js +1 -0
- package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSRtmpStreamingState.js +1 -1
- package/lib/commonjs/classes/HMSRtmpVideoResolution.js +1 -1
- package/lib/commonjs/classes/HMSSDK.js +105 -12
- package/lib/commonjs/classes/HMSSDK.js.map +1 -1
- package/lib/commonjs/classes/HMSServerRecordingState.js +1 -1
- package/lib/commonjs/classes/HMSSessionStore.js +2 -2
- package/lib/commonjs/classes/HMSSessionStore.js.map +1 -1
- package/lib/commonjs/classes/HMSSimulcastLayerDefinition.js +1 -1
- package/lib/commonjs/classes/HMSSimulcastLayerSettings.js +1 -1
- package/lib/commonjs/classes/HMSSimulcastLayerSettingsPolicy.js +1 -1
- package/lib/commonjs/classes/HMSSimulcastSettings.js +1 -1
- package/lib/commonjs/classes/HMSSimulcastSettingsPolicy.js +1 -1
- package/lib/commonjs/classes/HMSSpeaker.js +1 -1
- package/lib/commonjs/classes/HMSSubscribeDegradationPolicy.js +1 -1
- package/lib/commonjs/classes/HMSSubscribeSettings.js +1 -1
- package/lib/commonjs/classes/HMSTrack.js +1 -1
- package/lib/commonjs/classes/HMSTrackSettings.js +1 -1
- package/lib/commonjs/classes/HMSUpdateListenerActions.js +1 -0
- package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoResolution.js +1 -1
- package/lib/commonjs/classes/HMSVideoSettings.js +1 -1
- package/lib/commonjs/classes/HMSVideoTrack.js +1 -1
- package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoTrackSettings.js +1 -1
- package/lib/commonjs/classes/transcriptions/HMSTranscript.js +6 -0
- package/lib/commonjs/classes/transcriptions/HMSTranscript.js.map +1 -0
- package/lib/commonjs/classes/transcriptions/OnTranscriptionError.js +2 -0
- package/lib/commonjs/classes/transcriptions/OnTranscriptionError.js.map +1 -0
- package/lib/commonjs/classes/transcriptions/TranscriptionState.js +14 -0
- package/lib/commonjs/classes/transcriptions/TranscriptionState.js.map +1 -0
- package/lib/commonjs/classes/transcriptions/Transcriptions.js +6 -0
- package/lib/commonjs/classes/transcriptions/Transcriptions.js.map +1 -0
- package/lib/commonjs/classes/transcriptions/TranscriptionsMode.js +12 -0
- package/lib/commonjs/classes/transcriptions/TranscriptionsMode.js.map +1 -0
- package/lib/commonjs/classes/transcriptions/index.js +61 -0
- package/lib/commonjs/classes/transcriptions/index.js.map +1 -0
- package/lib/commonjs/classes/whiteboard/registerCallbacks.js +1 -1
- package/lib/commonjs/classes/whiteboard/registerCallbacks.js.map +1 -1
- package/lib/commonjs/hooks/useHMSPeerUpdates.js +1 -1
- package/lib/commonjs/hooks/useHMSPeerUpdates.js.map +1 -1
- package/lib/commonjs/index.js +13 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/modules/HMSManagerModule.js.map +1 -1
- package/lib/commonjs/utils/emitter/EventEmitter.js +1 -1
- package/lib/commonjs/utils/emitter/EventEmitter.js.map +1 -1
- package/lib/commonjs/utils/emitter/_EmitterSubscription.js +1 -1
- package/lib/commonjs/utils/emitter/_EmitterSubscription.js.map +1 -1
- package/lib/commonjs/utils/emitter/_EventSubscription.js +1 -1
- package/lib/commonjs/utils/emitter/_EventSubscriptionVendor.js +1 -1
- package/lib/commonjs/utils/keyboard.js +1 -1
- package/lib/commonjs/utils/keyboard.js.map +1 -1
- package/lib/commonjs/utils/notification.js +1 -1
- package/lib/commonjs/utils/notification.js.map +1 -1
- package/lib/commonjs/utils/windowController.js +1 -1
- package/lib/commonjs/utils/windowController.js.map +1 -1
- package/lib/module/classes/HMSAudioMixerSource.js +1 -1
- package/lib/module/classes/HMSAudioNode.js +1 -1
- package/lib/module/classes/HMSAudioSettings.js +1 -1
- package/lib/module/classes/HMSAudioTrackSettings.js +1 -1
- package/lib/module/classes/HMSBrowserRecordingState.js +1 -1
- package/lib/module/classes/HMSChangeTrackStateRequest.js +1 -1
- package/lib/module/classes/HMSConfig.js +1 -1
- package/lib/module/classes/HMSEncoder.js +31 -1
- package/lib/module/classes/HMSEncoder.js.map +1 -1
- package/lib/module/classes/HMSException.js +1 -1
- package/lib/module/classes/HMSHLSConfig.js +1 -1
- package/lib/module/classes/HMSHLSMeetingURLVariant.js +1 -1
- package/lib/module/classes/HMSHLSRecordingConfig.js +1 -1
- package/lib/module/classes/HMSHLSRecordingState.js +1 -1
- package/lib/module/classes/HMSHLSStreamingState.js +1 -1
- package/lib/module/classes/HMSHLSVariant.js +1 -1
- package/lib/module/classes/HMSInteractivityCenter.js +1 -1
- package/lib/module/classes/HMSLocalAudioStats.js +1 -1
- package/lib/module/classes/HMSLocalAudioTrack.js +1 -1
- package/lib/module/classes/HMSLocalPeer.js +1 -1
- package/lib/module/classes/HMSLocalVideoStats.js +1 -1
- package/lib/module/classes/HMSLocalVideoTrack.js +1 -1
- package/lib/module/classes/HMSLogSettings.js +1 -1
- package/lib/module/classes/HMSLogger.js +1 -1
- package/lib/module/classes/HMSLogger.js.map +1 -1
- package/lib/module/classes/HMSMessage.js +1 -1
- package/lib/module/classes/HMSMessageRecipient.js +1 -1
- package/lib/module/classes/HMSNativeEventEmitter.js +1 -1
- package/lib/module/classes/HMSNetworkQuality.js +1 -1
- package/lib/module/classes/HMSNoiseCancellationPlugin.js +1 -1
- package/lib/module/classes/HMSPIPConfig.js +1 -1
- package/lib/module/classes/HMSPIPConfig.js.map +1 -1
- package/lib/module/classes/HMSPeer.js +20 -3
- package/lib/module/classes/HMSPeer.js.map +1 -1
- package/lib/module/classes/HMSPeerListIterator.js +1 -1
- package/lib/module/classes/HMSPeersCache.js +1 -1
- package/lib/module/classes/HMSPermissions.js +3 -1
- package/lib/module/classes/HMSPermissions.js.map +1 -1
- package/lib/module/classes/HMSPublishSettings.js +1 -1
- package/lib/module/classes/HMSQualityLimitationReasons.js +1 -1
- package/lib/module/classes/HMSRTCStats.js +1 -1
- package/lib/module/classes/HMSRTCStatsReport.js +1 -1
- package/lib/module/classes/HMSRTMPConfig.js +1 -1
- package/lib/module/classes/HMSRemoteAudioStats.js +1 -1
- package/lib/module/classes/HMSRemoteAudioTrack.js +1 -1
- package/lib/module/classes/HMSRemotePeer.js +1 -1
- package/lib/module/classes/HMSRemoteVideoStats.js +1 -1
- package/lib/module/classes/HMSRemoteVideoTrack.js +1 -1
- package/lib/module/classes/HMSRole.js +1 -1
- package/lib/module/classes/HMSRoleChangeRequest.js +1 -1
- package/lib/module/classes/HMSRoom.js +8 -1
- package/lib/module/classes/HMSRoom.js.map +1 -1
- package/lib/module/classes/HMSRoomCache.js +8 -1
- package/lib/module/classes/HMSRoomCache.js.map +1 -1
- package/lib/module/classes/HMSRoomUpdate.js +1 -0
- package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/module/classes/HMSRtmpStreamingState.js +1 -1
- package/lib/module/classes/HMSRtmpVideoResolution.js +1 -1
- package/lib/module/classes/HMSSDK.js +104 -11
- package/lib/module/classes/HMSSDK.js.map +1 -1
- package/lib/module/classes/HMSServerRecordingState.js +1 -1
- package/lib/module/classes/HMSSessionStore.js +1 -1
- package/lib/module/classes/HMSSimulcastLayerDefinition.js +1 -1
- package/lib/module/classes/HMSSimulcastLayerSettings.js +1 -1
- package/lib/module/classes/HMSSimulcastLayerSettingsPolicy.js +1 -1
- package/lib/module/classes/HMSSimulcastSettings.js +1 -1
- package/lib/module/classes/HMSSimulcastSettingsPolicy.js +1 -1
- package/lib/module/classes/HMSSpeaker.js +1 -1
- package/lib/module/classes/HMSSubscribeDegradationPolicy.js +1 -1
- package/lib/module/classes/HMSSubscribeSettings.js +1 -1
- package/lib/module/classes/HMSTrack.js +1 -1
- package/lib/module/classes/HMSTrackSettings.js +1 -1
- package/lib/module/classes/HMSUpdateListenerActions.js +1 -0
- package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/module/classes/HMSVideoResolution.js +1 -1
- package/lib/module/classes/HMSVideoSettings.js +1 -1
- package/lib/module/classes/HMSVideoTrack.js +1 -1
- package/lib/module/classes/HMSVideoTrackSettings.js +1 -1
- package/lib/module/classes/transcriptions/HMSTranscript.js +2 -0
- package/lib/module/classes/transcriptions/HMSTranscript.js.map +1 -0
- package/lib/module/classes/transcriptions/OnTranscriptionError.js +2 -0
- package/lib/module/classes/transcriptions/OnTranscriptionError.js.map +1 -0
- package/lib/module/classes/transcriptions/TranscriptionState.js +8 -0
- package/lib/module/classes/transcriptions/TranscriptionState.js.map +1 -0
- package/lib/module/classes/transcriptions/Transcriptions.js +2 -0
- package/lib/module/classes/transcriptions/Transcriptions.js.map +1 -0
- package/lib/module/classes/transcriptions/TranscriptionsMode.js +6 -0
- package/lib/module/classes/transcriptions/TranscriptionsMode.js.map +1 -0
- package/lib/module/classes/transcriptions/index.js +6 -0
- package/lib/module/classes/transcriptions/index.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/HMSManagerModule.js.map +1 -1
- package/lib/module/utils/emitter/EventEmitter.js +1 -1
- package/lib/module/utils/emitter/_EmitterSubscription.js +1 -1
- package/lib/module/utils/emitter/_EventSubscription.js +1 -1
- package/lib/module/utils/emitter/_EventSubscriptionVendor.js +1 -1
- package/lib/typescript/classes/HMSEncoder.d.ts +3 -0
- package/lib/typescript/classes/HMSPIPConfig.d.ts +3 -0
- package/lib/typescript/classes/HMSPeer.d.ts +3 -1
- package/lib/typescript/classes/HMSPermissions.d.ts +7 -0
- package/lib/typescript/classes/HMSRoom.d.ts +2 -0
- package/lib/typescript/classes/HMSRoomUpdate.d.ts +2 -1
- package/lib/typescript/classes/HMSSDK.d.ts +7 -0
- package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +2 -1
- package/lib/typescript/classes/transcriptions/HMSTranscript.d.ts +8 -0
- package/lib/typescript/classes/transcriptions/OnTranscriptionError.d.ts +4 -0
- package/lib/typescript/classes/transcriptions/TranscriptionState.d.ts +6 -0
- package/lib/typescript/classes/transcriptions/Transcriptions.d.ts +12 -0
- package/lib/typescript/classes/transcriptions/TranscriptionsMode.d.ts +4 -0
- package/lib/typescript/classes/transcriptions/index.d.ts +5 -0
- package/lib/typescript/index.d.ts +1 -0
- package/package.json +1 -1
- package/sdk-versions.json +2 -2
- package/src/classes/HMSEncoder.ts +35 -0
- package/src/classes/HMSPIPConfig.ts +30 -0
- package/src/classes/HMSPeer.ts +29 -2
- package/src/classes/HMSPermissions.ts +10 -0
- package/src/classes/HMSRoom.ts +14 -0
- package/src/classes/HMSRoomCache.ts +9 -0
- package/src/classes/HMSRoomUpdate.ts +1 -0
- package/src/classes/HMSSDK.tsx +121 -21
- package/src/classes/HMSUpdateListenerActions.ts +1 -0
- package/src/classes/transcriptions/HMSTranscript.ts +13 -0
- package/src/classes/transcriptions/OnTranscriptionError.ts +5 -0
- package/src/classes/transcriptions/TranscriptionState.ts +6 -0
- package/src/classes/transcriptions/Transcriptions.ts +19 -0
- package/src/classes/transcriptions/TranscriptionsMode.ts +4 -0
- package/src/classes/transcriptions/index.ts +5 -0
- package/src/index.ts +2 -0
|
@@ -41,6 +41,7 @@ import { HMSSimulcastLayerDefinition } from './HMSSimulcastLayerDefinition';
|
|
|
41
41
|
import { HMSQualityLimitationReasons } from './HMSQualityLimitationReasons';
|
|
42
42
|
import { HMSTrackType } from './HMSTrackType';
|
|
43
43
|
import { HMSHLSPlaylistType } from './HMSHLSPlaylistType';
|
|
44
|
+
import type { Transcriptions } from './transcriptions';
|
|
44
45
|
|
|
45
46
|
interface InitialData {
|
|
46
47
|
roles: Record<string, HMSRole>;
|
|
@@ -700,4 +701,38 @@ export class HMSEncoder {
|
|
|
700
701
|
|
|
701
702
|
return transformed;
|
|
702
703
|
}
|
|
704
|
+
|
|
705
|
+
static encodeTranscriptions(data: Array<any>): Array<Transcriptions> {
|
|
706
|
+
if (Array.isArray(data)) {
|
|
707
|
+
data.forEach((transcriptions: Transcriptions) => {
|
|
708
|
+
if ('initialisedAt' in transcriptions) {
|
|
709
|
+
transcriptions.initialisedAt = this.encodeDate(
|
|
710
|
+
transcriptions.initialisedAt
|
|
711
|
+
);
|
|
712
|
+
}
|
|
713
|
+
if ('startedAt' in transcriptions) {
|
|
714
|
+
transcriptions.startedAt = this.encodeDate(transcriptions.startedAt);
|
|
715
|
+
}
|
|
716
|
+
if ('stoppedAt' in transcriptions) {
|
|
717
|
+
transcriptions.stoppedAt = this.encodeDate(transcriptions.stoppedAt);
|
|
718
|
+
}
|
|
719
|
+
if ('updatedAt' in transcriptions) {
|
|
720
|
+
transcriptions.updatedAt = this.encodeDate(transcriptions.updatedAt);
|
|
721
|
+
}
|
|
722
|
+
});
|
|
723
|
+
return data as Array<Transcriptions>;
|
|
724
|
+
} else {
|
|
725
|
+
return [];
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
static transformTranscripts(data: Array<any>) {
|
|
730
|
+
data.forEach((encodedTranscript) => {
|
|
731
|
+
if ('peerId' in encodedTranscript) {
|
|
732
|
+
encodedTranscript.peer = HMSEncoder.encodeHmsPeer({
|
|
733
|
+
peerID: encodedTranscript.peerId,
|
|
734
|
+
});
|
|
735
|
+
}
|
|
736
|
+
});
|
|
737
|
+
}
|
|
703
738
|
}
|
|
@@ -1,7 +1,37 @@
|
|
|
1
|
+
import type { HMSVideoViewMode } from './HMSVideoViewMode';
|
|
2
|
+
|
|
1
3
|
export interface HMSPIPConfig {
|
|
4
|
+
/*
|
|
5
|
+
* Whether to automatically enter PIP mode when app enters background.
|
|
6
|
+
*/
|
|
2
7
|
autoEnterPipMode?: boolean;
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
* The aspect ratio of the PIP window. Default is [9, 16]. Other values can be [3, 4], [1, 1], [4, 3], [16, 9].
|
|
11
|
+
*/
|
|
3
12
|
aspectRatio?: [number, number];
|
|
13
|
+
|
|
14
|
+
/*
|
|
15
|
+
* The scale type of the PIP window. Default is ASPECT_FILL. Other values can be ASPECT_FIT, ASPECT_BALANCED. iOS Only.
|
|
16
|
+
*/
|
|
17
|
+
scaleType?: HMSVideoViewMode;
|
|
18
|
+
|
|
19
|
+
/*
|
|
20
|
+
* Whether to show the Active Speaker in the PIP window. Default is true. iOS only.
|
|
21
|
+
*/
|
|
22
|
+
useActiveSpeaker?: boolean;
|
|
23
|
+
/*
|
|
24
|
+
* Whether to show the end button in the PIP window. Default is true. Android only.
|
|
25
|
+
*/
|
|
4
26
|
endButton?: boolean;
|
|
27
|
+
|
|
28
|
+
/*
|
|
29
|
+
* Whether to show the audio mute/unmute button in the PIP window. Default is true. Android only.
|
|
30
|
+
*/
|
|
5
31
|
audioButton?: boolean;
|
|
32
|
+
|
|
33
|
+
/*
|
|
34
|
+
* Whether to show the video mute/unmute button in the PIP window. Default is true. Android only.
|
|
35
|
+
*/
|
|
6
36
|
videoButton?: boolean;
|
|
7
37
|
}
|
package/src/classes/HMSPeer.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { HMSPeerType } from './HMSPeerType';
|
|
|
9
9
|
|
|
10
10
|
export class HMSPeer {
|
|
11
11
|
peerID: string;
|
|
12
|
-
|
|
12
|
+
private _name: string | undefined;
|
|
13
13
|
private _isLocal: boolean | undefined;
|
|
14
14
|
private _customerUserID: string | undefined;
|
|
15
15
|
private _metadata: string | undefined;
|
|
@@ -17,6 +17,13 @@ export class HMSPeer {
|
|
|
17
17
|
private _isHandRaised: boolean = false;
|
|
18
18
|
private _type: HMSPeerType = HMSPeerType.REGULAR;
|
|
19
19
|
|
|
20
|
+
private _updateName(value: string) {
|
|
21
|
+
// If `_isLocal` is outdated, update it
|
|
22
|
+
if (this._name !== value) {
|
|
23
|
+
this._name = value;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
20
27
|
private _updateIsLocal(value: boolean) {
|
|
21
28
|
// If `_isLocal` is outdated, update it
|
|
22
29
|
if (this._isLocal !== value) {
|
|
@@ -61,7 +68,27 @@ export class HMSPeer {
|
|
|
61
68
|
|
|
62
69
|
constructor(params: { peerID: string; name: string }) {
|
|
63
70
|
this.peerID = params.peerID;
|
|
64
|
-
this.
|
|
71
|
+
this._name = params.name;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
get name(): string | undefined {
|
|
75
|
+
if (this._name) {
|
|
76
|
+
return this._name;
|
|
77
|
+
}
|
|
78
|
+
const hmsPeersCache = getHmsPeersCache();
|
|
79
|
+
|
|
80
|
+
const value = hmsPeersCache
|
|
81
|
+
? hmsPeersCache.getProperty(this.peerID, 'name')
|
|
82
|
+
: getPeerPropertyFromNative(
|
|
83
|
+
HMSConstants.DEFAULT_SDK_ID,
|
|
84
|
+
this.peerID,
|
|
85
|
+
'name'
|
|
86
|
+
);
|
|
87
|
+
|
|
88
|
+
if (typeof value === 'string') {
|
|
89
|
+
this._updateName(value);
|
|
90
|
+
}
|
|
91
|
+
return value ?? this._name;
|
|
65
92
|
}
|
|
66
93
|
|
|
67
94
|
get isLocal(): boolean | undefined {
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
+
import type { TranscriptionsMode } from './transcriptions';
|
|
2
|
+
|
|
1
3
|
export interface HMSWhiteboardPermission {
|
|
2
4
|
admin?: boolean;
|
|
3
5
|
write?: boolean;
|
|
4
6
|
read?: boolean;
|
|
5
7
|
}
|
|
6
8
|
|
|
9
|
+
export interface HMSTranscriptionPermissions {
|
|
10
|
+
admin: boolean;
|
|
11
|
+
mode?: TranscriptionsMode;
|
|
12
|
+
}
|
|
13
|
+
|
|
7
14
|
export class HMSPermissions {
|
|
8
15
|
endRoom?: boolean;
|
|
9
16
|
removeOthers?: boolean;
|
|
@@ -16,6 +23,7 @@ export class HMSPermissions {
|
|
|
16
23
|
pollRead?: boolean;
|
|
17
24
|
pollWrite?: boolean;
|
|
18
25
|
whiteboard?: HMSWhiteboardPermission;
|
|
26
|
+
transcriptions?: Array<HMSTranscriptionPermissions>;
|
|
19
27
|
|
|
20
28
|
constructor(params?: {
|
|
21
29
|
endRoom?: boolean;
|
|
@@ -29,6 +37,7 @@ export class HMSPermissions {
|
|
|
29
37
|
pollRead?: boolean;
|
|
30
38
|
pollWrite?: boolean;
|
|
31
39
|
whiteboard?: HMSWhiteboardPermission;
|
|
40
|
+
transcriptions?: Array<HMSTranscriptionPermissions>;
|
|
32
41
|
}) {
|
|
33
42
|
if (params) {
|
|
34
43
|
this.endRoom = params.endRoom;
|
|
@@ -42,6 +51,7 @@ export class HMSPermissions {
|
|
|
42
51
|
this.pollRead = params.pollRead;
|
|
43
52
|
this.pollWrite = params.pollWrite;
|
|
44
53
|
this.whiteboard = params.whiteboard;
|
|
54
|
+
this.transcriptions = params.transcriptions;
|
|
45
55
|
}
|
|
46
56
|
}
|
|
47
57
|
}
|
package/src/classes/HMSRoom.ts
CHANGED
|
@@ -7,6 +7,7 @@ import type { HMSHLSRecordingState } from './HMSHLSRecordingState';
|
|
|
7
7
|
import type { HMSLocalPeer } from './HMSLocalPeer';
|
|
8
8
|
import { getHmsRoomCache, getHMSRoomPropertyFromNative } from './HMSRoomCache';
|
|
9
9
|
import { HMSConstants } from './HMSConstants';
|
|
10
|
+
import type { Transcriptions } from './transcriptions/Transcriptions';
|
|
10
11
|
|
|
11
12
|
export class HMSRoom {
|
|
12
13
|
id: string;
|
|
@@ -166,4 +167,17 @@ export class HMSRoom {
|
|
|
166
167
|
'isLargeRoom'
|
|
167
168
|
);
|
|
168
169
|
}
|
|
170
|
+
|
|
171
|
+
get transcriptions(): Array<Transcriptions> {
|
|
172
|
+
const hmsRoomCache = getHmsRoomCache();
|
|
173
|
+
|
|
174
|
+
if (hmsRoomCache) {
|
|
175
|
+
return hmsRoomCache.getProperty('transcriptions');
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
return getHMSRoomPropertyFromNative(
|
|
179
|
+
HMSConstants.DEFAULT_SDK_ID,
|
|
180
|
+
'transcriptions'
|
|
181
|
+
);
|
|
182
|
+
}
|
|
169
183
|
}
|
|
@@ -99,6 +99,13 @@ export class HMSRoomCache {
|
|
|
99
99
|
);
|
|
100
100
|
break;
|
|
101
101
|
}
|
|
102
|
+
case HMSRoomUpdate.TRANSCRIPTIONS_UPDATED: {
|
|
103
|
+
this._data.set(
|
|
104
|
+
'transcriptions',
|
|
105
|
+
encodeHMSRoomProperty(this.id, 'transcriptions', data)
|
|
106
|
+
);
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
102
109
|
default: {
|
|
103
110
|
for (const key in data) {
|
|
104
111
|
const property = key as keyof HMSRoomCacheProps;
|
|
@@ -153,6 +160,8 @@ function encodeHMSRoomProperty<T extends keyof HMSRoomCacheProps>(
|
|
|
153
160
|
value = HMSEncoder.encodeHLSStreamingState(data.hlsStreamingState);
|
|
154
161
|
} else if (property === 'hlsRecordingState') {
|
|
155
162
|
value = HMSEncoder.encodeHLSRecordingState(data.hlsRecordingState);
|
|
163
|
+
} else if (property === 'transcriptions') {
|
|
164
|
+
value = HMSEncoder.encodeTranscriptions(data.transcriptions);
|
|
156
165
|
} else if (property === 'localPeer') {
|
|
157
166
|
value = HMSEncoder.encodeHmsLocalPeer(data.localPeer, id);
|
|
158
167
|
} else if (property === 'peerCount') {
|
package/src/classes/HMSSDK.tsx
CHANGED
|
@@ -18,7 +18,6 @@ import type { HMSRole } from './HMSRole';
|
|
|
18
18
|
import type { HMSTrack } from './HMSTrack';
|
|
19
19
|
import type { HMSLogger } from './HMSLogger';
|
|
20
20
|
import type { HMSPeer } from './HMSPeer';
|
|
21
|
-
import type { HMSVideoViewMode } from './HMSVideoViewMode';
|
|
22
21
|
import type { HMSTrackSettings } from './HMSTrackSettings';
|
|
23
22
|
import type { HMSRTMPConfig } from './HMSRTMPConfig';
|
|
24
23
|
import type { HMSHLSConfig } from './HMSHLSConfig';
|
|
@@ -48,6 +47,7 @@ import { HMSPeerListIterator } from './HMSPeerListIterator';
|
|
|
48
47
|
import type { HMSPIPConfig } from './HMSPIPConfig';
|
|
49
48
|
import { HMSInteractivityCenter } from './HMSInteractivityCenter';
|
|
50
49
|
import type { HMSHLSTimedMetadata } from './HMSHLSTimedMetadata';
|
|
50
|
+
import type { HMSVideoTrack } from './HMSVideoTrack';
|
|
51
51
|
|
|
52
52
|
type HmsViewProps = Omit<HmsComponentProps, 'id'>;
|
|
53
53
|
|
|
@@ -63,6 +63,7 @@ export class HMSSDK {
|
|
|
63
63
|
private onPreviewDelegate?: any;
|
|
64
64
|
private onJoinDelegate?: any;
|
|
65
65
|
private onRoomDelegate?: any;
|
|
66
|
+
private onTranscriptsDelegate?: any;
|
|
66
67
|
private onPeerDelegate?: any;
|
|
67
68
|
private onPeerListUpdatedDelegate?: any;
|
|
68
69
|
private onTrackDelegate?: any;
|
|
@@ -1288,6 +1289,24 @@ export class HMSSDK {
|
|
|
1288
1289
|
this.onRoomDelegate = callback;
|
|
1289
1290
|
break;
|
|
1290
1291
|
}
|
|
1292
|
+
case HMSUpdateListenerActions.ON_TRANSCRIPTS: {
|
|
1293
|
+
// Checking if we already have ON_TRANSCRIPTS subscription
|
|
1294
|
+
if (
|
|
1295
|
+
!this.emitterSubscriptions[HMSUpdateListenerActions.ON_TRANSCRIPTS]
|
|
1296
|
+
) {
|
|
1297
|
+
// Adding ON_TRANSCRIPTS native listener
|
|
1298
|
+
const transcriptsSubscription = HMSNativeEventListener.addListener(
|
|
1299
|
+
this.id,
|
|
1300
|
+
HMSUpdateListenerActions.ON_TRANSCRIPTS,
|
|
1301
|
+
this.onTranscriptsListener
|
|
1302
|
+
);
|
|
1303
|
+
this.emitterSubscriptions[HMSUpdateListenerActions.ON_TRANSCRIPTS] =
|
|
1304
|
+
transcriptsSubscription;
|
|
1305
|
+
}
|
|
1306
|
+
// Adding App Delegate listener
|
|
1307
|
+
this.onTranscriptsDelegate = callback;
|
|
1308
|
+
break;
|
|
1309
|
+
}
|
|
1291
1310
|
case HMSUpdateListenerActions.ON_PEER_UPDATE: {
|
|
1292
1311
|
// Checking if we already have ON_PEER_UPDATE subscription
|
|
1293
1312
|
if (
|
|
@@ -1654,26 +1673,21 @@ export class HMSSDK {
|
|
|
1654
1673
|
break;
|
|
1655
1674
|
}
|
|
1656
1675
|
case HMSPIPListenerActions.ON_PIP_MODE_CHANGED: {
|
|
1657
|
-
if
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
this.onPIPModeChangedListener
|
|
1669
|
-
);
|
|
1670
|
-
this.emitterSubscriptions[
|
|
1671
|
-
HMSPIPListenerActions.ON_PIP_MODE_CHANGED
|
|
1672
|
-
] = pipModeChangedSubscription;
|
|
1673
|
-
}
|
|
1674
|
-
// Adding PIP mode changed Delegate listener
|
|
1675
|
-
this.onPIPModeChangedDelegate = callback;
|
|
1676
|
+
// Checking if we already have ON_PIP_MODE_CHANGED subscription
|
|
1677
|
+
if (
|
|
1678
|
+
!this.emitterSubscriptions[HMSPIPListenerActions.ON_PIP_MODE_CHANGED]
|
|
1679
|
+
) {
|
|
1680
|
+
const pipModeChangedSubscription = HMSNativeEventListener.addListener(
|
|
1681
|
+
this.id,
|
|
1682
|
+
HMSPIPListenerActions.ON_PIP_MODE_CHANGED,
|
|
1683
|
+
this.onPIPModeChangedListener
|
|
1684
|
+
);
|
|
1685
|
+
this.emitterSubscriptions[HMSPIPListenerActions.ON_PIP_MODE_CHANGED] =
|
|
1686
|
+
pipModeChangedSubscription;
|
|
1676
1687
|
}
|
|
1688
|
+
// Adding PIP mode changed Delegate listener
|
|
1689
|
+
this.onPIPModeChangedDelegate = callback;
|
|
1690
|
+
|
|
1677
1691
|
break;
|
|
1678
1692
|
}
|
|
1679
1693
|
default:
|
|
@@ -1734,6 +1748,20 @@ export class HMSSDK {
|
|
|
1734
1748
|
this.onRoomDelegate = null;
|
|
1735
1749
|
break;
|
|
1736
1750
|
}
|
|
1751
|
+
case HMSUpdateListenerActions.ON_TRANSCRIPTS: {
|
|
1752
|
+
const subscription =
|
|
1753
|
+
this.emitterSubscriptions[HMSUpdateListenerActions.ON_TRANSCRIPTS];
|
|
1754
|
+
// Removing ON_TRANSCRIPTS native listener
|
|
1755
|
+
if (subscription) {
|
|
1756
|
+
subscription.remove();
|
|
1757
|
+
|
|
1758
|
+
this.emitterSubscriptions[HMSUpdateListenerActions.ON_TRANSCRIPTS] =
|
|
1759
|
+
undefined;
|
|
1760
|
+
}
|
|
1761
|
+
// Removing App Delegate listener
|
|
1762
|
+
this.onTranscriptsDelegate = null;
|
|
1763
|
+
break;
|
|
1764
|
+
}
|
|
1737
1765
|
case HMSUpdateListenerActions.ON_PEER_UPDATE: {
|
|
1738
1766
|
const subscription =
|
|
1739
1767
|
this.emitterSubscriptions[HMSUpdateListenerActions.ON_PEER_UPDATE];
|
|
@@ -2139,6 +2167,18 @@ export class HMSSDK {
|
|
|
2139
2167
|
}
|
|
2140
2168
|
};
|
|
2141
2169
|
|
|
2170
|
+
onTranscriptsListener = (data: any) => {
|
|
2171
|
+
if (data.id !== this.id) {
|
|
2172
|
+
return;
|
|
2173
|
+
}
|
|
2174
|
+
HMSEncoder.transformTranscripts(data.transcripts);
|
|
2175
|
+
|
|
2176
|
+
if (this.onTranscriptsDelegate) {
|
|
2177
|
+
logger?.verbose('#Listener ON_TRANSCRIPTS_LISTENER_CALL', data);
|
|
2178
|
+
this.onTranscriptsDelegate(data);
|
|
2179
|
+
}
|
|
2180
|
+
};
|
|
2181
|
+
|
|
2142
2182
|
onPeerListener = (peerData: any) => {
|
|
2143
2183
|
const data: { peer: any; type: any } = {
|
|
2144
2184
|
peer: peerData,
|
|
@@ -2475,6 +2515,9 @@ export class HMSSDK {
|
|
|
2475
2515
|
}
|
|
2476
2516
|
};
|
|
2477
2517
|
|
|
2518
|
+
/*
|
|
2519
|
+
* - This listener is fired when Room is left from the Picture in Picture mode. Android only.
|
|
2520
|
+
*/
|
|
2478
2521
|
onPIPRoomLeaveListener = (data: { id: string }) => {
|
|
2479
2522
|
if (data.id !== this.id) {
|
|
2480
2523
|
return;
|
|
@@ -2490,6 +2533,9 @@ export class HMSSDK {
|
|
|
2490
2533
|
}
|
|
2491
2534
|
};
|
|
2492
2535
|
|
|
2536
|
+
/*
|
|
2537
|
+
* - Attach this listener to get notified when Picture in Picture mode is changed
|
|
2538
|
+
*/
|
|
2493
2539
|
onPIPModeChangedListener = (data: { isInPictureInPictureMode: boolean }) => {
|
|
2494
2540
|
if (this.onPIPModeChangedDelegate) {
|
|
2495
2541
|
logger?.verbose('#Listener onPIPModeChanged_CALL', data);
|
|
@@ -2498,17 +2544,29 @@ export class HMSSDK {
|
|
|
2498
2544
|
}
|
|
2499
2545
|
};
|
|
2500
2546
|
|
|
2547
|
+
/*
|
|
2548
|
+
* - This function is used to check if Picture in Picture mode is supported on the device
|
|
2549
|
+
*/
|
|
2501
2550
|
async isPipModeSupported(): Promise<undefined | boolean> {
|
|
2502
|
-
|
|
2551
|
+
const data = { id: this.id };
|
|
2552
|
+
logger?.verbose('#Function isPipModeSupported', data);
|
|
2553
|
+
return HMSManager.handlePipActions('isPipModeSupported', data);
|
|
2503
2554
|
}
|
|
2504
2555
|
|
|
2556
|
+
/*
|
|
2557
|
+
* - This function can be used to manually enter Picture in Picture mode
|
|
2558
|
+
*/
|
|
2505
2559
|
async enterPipMode(data?: HMSPIPConfig): Promise<undefined | boolean> {
|
|
2560
|
+
logger?.verbose('#Function enterPipMode', data);
|
|
2506
2561
|
return HMSManager.handlePipActions('enterPipMode', {
|
|
2507
2562
|
...data,
|
|
2508
2563
|
id: this.id,
|
|
2509
2564
|
});
|
|
2510
2565
|
}
|
|
2511
2566
|
|
|
2567
|
+
/*
|
|
2568
|
+
* - This function is to be used to configure the Picture in Picture window
|
|
2569
|
+
*/
|
|
2512
2570
|
async setPipParams(data?: HMSPIPConfig): Promise<undefined | boolean> {
|
|
2513
2571
|
return HMSManager.handlePipActions('setPictureInPictureParams', {
|
|
2514
2572
|
...data,
|
|
@@ -2516,6 +2574,48 @@ export class HMSSDK {
|
|
|
2516
2574
|
});
|
|
2517
2575
|
}
|
|
2518
2576
|
|
|
2577
|
+
/*
|
|
2578
|
+
* - Use this function to set Video Track for Picture in Picture mode. iOS Only.
|
|
2579
|
+
*/
|
|
2580
|
+
async changeIOSPIPVideoTrack(track: HMSVideoTrack) {
|
|
2581
|
+
const data = {
|
|
2582
|
+
id: this.id,
|
|
2583
|
+
trackId: track.trackId,
|
|
2584
|
+
};
|
|
2585
|
+
logger?.verbose('#Function changeIOSPIPVideoTrack', data);
|
|
2586
|
+
return await HMSManager.changeIOSPIPVideoTrack(data);
|
|
2587
|
+
}
|
|
2588
|
+
|
|
2589
|
+
/*
|
|
2590
|
+
* - Use this function to automatically show the current Active Speaker Peer video in the PIP Mode window. iOS Only.
|
|
2591
|
+
*/
|
|
2592
|
+
async setActiveSpeakerInIOSPIP(enable: boolean) {
|
|
2593
|
+
const data = {
|
|
2594
|
+
id: this.id,
|
|
2595
|
+
enable,
|
|
2596
|
+
};
|
|
2597
|
+
logger?.verbose('#Function setActiveSpeakerInIOSPIP', data);
|
|
2598
|
+
return await HMSManager.setActiveSpeakerInIOSPIP(data);
|
|
2599
|
+
}
|
|
2600
|
+
|
|
2601
|
+
async startRealTimeTranscription() {
|
|
2602
|
+
const data = {
|
|
2603
|
+
id: this.id,
|
|
2604
|
+
action: 'start',
|
|
2605
|
+
};
|
|
2606
|
+
logger?.verbose('#Function startRealTimeTranscription', data);
|
|
2607
|
+
return HMSManager.handleRealTimeTranscription(data);
|
|
2608
|
+
}
|
|
2609
|
+
|
|
2610
|
+
async stopRealTimeTranscription() {
|
|
2611
|
+
const data = {
|
|
2612
|
+
id: this.id,
|
|
2613
|
+
action: 'stop',
|
|
2614
|
+
};
|
|
2615
|
+
logger?.verbose('#Function stopRealTimeTranscription', data);
|
|
2616
|
+
return HMSManager.handleRealTimeTranscription(data);
|
|
2617
|
+
}
|
|
2618
|
+
|
|
2519
2619
|
get interactivityCenter() {
|
|
2520
2620
|
if (!this._interactivityCenter) {
|
|
2521
2621
|
this._interactivityCenter = new HMSInteractivityCenter();
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { OnTranscriptionError } from './OnTranscriptionError';
|
|
2
|
+
import type { TranscriptionState } from './TranscriptionState';
|
|
3
|
+
import type { TranscriptionsMode } from './TranscriptionsMode';
|
|
4
|
+
|
|
5
|
+
export interface Transcriptions {
|
|
6
|
+
error?: OnTranscriptionError;
|
|
7
|
+
|
|
8
|
+
mode?: TranscriptionsMode;
|
|
9
|
+
|
|
10
|
+
state?: TranscriptionState;
|
|
11
|
+
|
|
12
|
+
initialisedAt?: Date;
|
|
13
|
+
|
|
14
|
+
startedAt?: Date;
|
|
15
|
+
|
|
16
|
+
stoppedAt?: Date;
|
|
17
|
+
|
|
18
|
+
updatedAt?: Date;
|
|
19
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -114,6 +114,8 @@ export { PollLeaderboardResponse } from './classes/polls/PollLeaderboardResponse
|
|
|
114
114
|
export { HMSPollLeaderboardEntry } from './classes/polls/HMSPollLeaderboardEntry';
|
|
115
115
|
export { HMSPollLeaderboardSummary } from './classes/polls/HMSPollLeaderboardSummary';
|
|
116
116
|
|
|
117
|
+
export * from './classes/transcriptions';
|
|
118
|
+
|
|
117
119
|
import { HMSSDK as HmsManager } from './classes/HMSSDK';
|
|
118
120
|
|
|
119
121
|
// 100ms React Native Module
|