@100mslive/react-native-hms 1.6.2 → 1.7.1
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 +30 -39
- package/android/.gradle/6.7.1/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/6.7.1/fileChanges/last-build.bin +0 -0
- package/android/.gradle/6.7.1/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/6.9/executionHistory/executionHistory.bin +0 -0
- package/android/.gradle/6.9/executionHistory/executionHistory.lock +0 -0
- 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/cache.properties +2 -2
- 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 +24 -9
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/android/gradlew +103 -104
- package/android/gradlew.bat +3 -18
- package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +40 -17
- package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayer.kt +248 -0
- package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayerManager.kt +101 -0
- package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +12 -6
- package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +7 -14
- package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +118 -113
- package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +1 -1
- package/android/src/main/res/layout/player_view.xml +9 -0
- package/ios/HMSDecoder.swift +8 -7
- package/ios/HMSHLSPlayerManager.m +22 -0
- package/ios/HMSHLSPlayerManager.swift +368 -0
- package/ios/HMSHelper.swift +6 -2
- package/ios/HMSManager.m +5 -2
- package/ios/HMSManager.swift +30 -16
- package/ios/HMSRNSDK.swift +84 -105
- package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSBrowserRecordingState.js +2 -0
- package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSCameraControl.js +3 -5
- package/lib/commonjs/classes/HMSCameraControl.js.map +1 -1
- package/lib/commonjs/classes/HMSEncoder.js +44 -38
- package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSEventEmitter.js +10 -0
- package/lib/commonjs/classes/HMSEventEmitter.js.map +1 -0
- package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSManagerModule.js +18 -0
- package/lib/commonjs/classes/HMSManagerModule.js.map +1 -0
- package/lib/commonjs/classes/HMSNativeEventEmitter.js.map +1 -1
- package/lib/commonjs/classes/HMSNativeEventListener.js +13 -0
- package/lib/commonjs/classes/HMSNativeEventListener.js.map +1 -0
- package/lib/commonjs/classes/HMSPeer.js +55 -20
- package/lib/commonjs/classes/HMSPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSPeerUpdate.js +1 -1
- package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSPeersCache.js +33 -43
- package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
- package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRoom.js.map +1 -1
- package/lib/commonjs/classes/HMSRoomCache.js +10 -5
- package/lib/commonjs/classes/HMSRoomCache.js.map +1 -1
- package/lib/commonjs/classes/HMSSDK.js +108 -113
- package/lib/commonjs/classes/HMSSDK.js.map +1 -1
- package/lib/commonjs/classes/HMSSessionStore.js +6 -7
- package/lib/commonjs/classes/HMSSessionStore.js.map +1 -1
- package/lib/commonjs/classes/HMSTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HmsView.js +4 -1
- package/lib/commonjs/classes/HmsView.js.map +1 -1
- package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js +147 -0
- package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -0
- package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js +12 -0
- package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -0
- package/lib/commonjs/components/HMSHLSPlayer/hooks.js +71 -0
- package/lib/commonjs/components/HMSHLSPlayer/hooks.js.map +1 -0
- package/lib/commonjs/components/HMSHLSPlayer/index.js +63 -0
- package/lib/commonjs/components/HMSHLSPlayer/index.js.map +1 -0
- package/lib/commonjs/hooks/useHMSPeerUpdates.js +77 -0
- package/lib/commonjs/hooks/useHMSPeerUpdates.js.map +1 -0
- package/lib/commonjs/index.js +63 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/stores/hls-player-playback-slice.js +23 -0
- package/lib/commonjs/stores/hls-player-playback-slice.js.map +1 -0
- package/lib/commonjs/stores/hls-player-stats-store.js +36 -0
- package/lib/commonjs/stores/hls-player-stats-store.js.map +1 -0
- package/lib/commonjs/stores/hms-store.js +16 -0
- package/lib/commonjs/stores/hms-store.js.map +1 -0
- package/lib/commonjs/stores/types.js +6 -0
- package/lib/commonjs/stores/types.js.map +1 -0
- package/lib/commonjs/types.js +36 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/module/classes/HMSAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSBrowserRecordingState.js +2 -0
- package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
- package/lib/module/classes/HMSCameraControl.js +1 -4
- package/lib/module/classes/HMSCameraControl.js.map +1 -1
- package/lib/module/classes/HMSEncoder.js +42 -37
- package/lib/module/classes/HMSEncoder.js.map +1 -1
- package/lib/module/classes/HMSEventEmitter.js +3 -0
- package/lib/module/classes/HMSEventEmitter.js.map +1 -0
- package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSLocalPeer.js.map +1 -1
- package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSManagerModule.js +11 -0
- package/lib/module/classes/HMSManagerModule.js.map +1 -0
- package/lib/module/classes/HMSNativeEventEmitter.js.map +1 -1
- package/lib/module/classes/HMSNativeEventListener.js +5 -0
- package/lib/module/classes/HMSNativeEventListener.js.map +1 -0
- package/lib/module/classes/HMSPeer.js +55 -20
- package/lib/module/classes/HMSPeer.js.map +1 -1
- package/lib/module/classes/HMSPeerUpdate.js +1 -1
- package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/module/classes/HMSPeersCache.js +31 -42
- package/lib/module/classes/HMSPeersCache.js.map +1 -1
- package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
- package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSRemotePeer.js.map +1 -1
- package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSRoom.js.map +1 -1
- package/lib/module/classes/HMSRoomCache.js +8 -4
- package/lib/module/classes/HMSRoomCache.js.map +1 -1
- package/lib/module/classes/HMSSDK.js +57 -62
- package/lib/module/classes/HMSSDK.js.map +1 -1
- package/lib/module/classes/HMSSessionStore.js +2 -4
- package/lib/module/classes/HMSSessionStore.js.map +1 -1
- package/lib/module/classes/HMSTrack.js.map +1 -1
- package/lib/module/classes/HMSVideoTrack.js.map +1 -1
- package/lib/module/classes/HmsView.js +4 -1
- package/lib/module/classes/HmsView.js.map +1 -1
- package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js +138 -0
- package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -0
- package/lib/module/components/HMSHLSPlayer/RCTHMSHLSPlayer.js +4 -0
- package/lib/module/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -0
- package/lib/module/components/HMSHLSPlayer/hooks.js +56 -0
- package/lib/module/components/HMSHLSPlayer/hooks.js.map +1 -0
- package/lib/module/components/HMSHLSPlayer/index.js +3 -0
- package/lib/module/components/HMSHLSPlayer/index.js.map +1 -0
- package/lib/module/hooks/useHMSPeerUpdates.js +67 -0
- package/lib/module/hooks/useHMSPeerUpdates.js.map +1 -0
- package/lib/module/index.js +13 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/stores/hls-player-playback-slice.js +16 -0
- package/lib/module/stores/hls-player-playback-slice.js.map +1 -0
- package/lib/module/stores/hls-player-stats-store.js +29 -0
- package/lib/module/stores/hls-player-stats-store.js.map +1 -0
- package/lib/module/stores/hms-store.js +9 -0
- package/lib/module/stores/hms-store.js.map +1 -0
- package/lib/module/stores/types.js +2 -0
- package/lib/module/stores/types.js.map +1 -0
- package/lib/module/types.js +32 -0
- package/lib/module/types.js.map +1 -0
- package/lib/typescript/classes/HMSAudioTrack.d.ts +2 -1
- package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +2 -0
- package/lib/typescript/classes/HMSEncoder.d.ts +1 -0
- package/lib/typescript/classes/HMSEventEmitter.d.ts +2 -0
- package/lib/typescript/classes/HMSLocalAudioTrack.d.ts +2 -1
- package/lib/typescript/classes/HMSLocalPeer.d.ts +3 -3
- package/lib/typescript/classes/HMSLocalVideoTrack.d.ts +2 -1
- package/lib/typescript/classes/HMSManagerModule.d.ts +3 -0
- package/lib/typescript/classes/HMSNativeEventListener.d.ts +4 -0
- package/lib/typescript/classes/HMSPeer.d.ts +10 -5
- package/lib/typescript/classes/HMSPeersCache.d.ts +17 -2
- package/lib/typescript/classes/HMSRTMPConfig.d.ts +2 -2
- package/lib/typescript/classes/HMSRemoteAudioTrack.d.ts +2 -1
- package/lib/typescript/classes/HMSRemotePeer.d.ts +3 -3
- package/lib/typescript/classes/HMSRemoteVideoTrack.d.ts +2 -1
- package/lib/typescript/classes/HMSRoom.d.ts +1 -1
- package/lib/typescript/classes/HMSSDK.d.ts +5 -15
- package/lib/typescript/classes/HMSTrack.d.ts +3 -2
- package/lib/typescript/classes/HMSVideoTrack.d.ts +2 -1
- package/lib/typescript/classes/HmsView.d.ts +1 -1
- package/lib/typescript/components/HMSHLSPlayer/HMSHLSPlayer.d.ts +21 -0
- package/lib/typescript/components/HMSHLSPlayer/RCTHMSHLSPlayer.d.ts +19 -0
- package/lib/typescript/components/HMSHLSPlayer/hooks.d.ts +17 -0
- package/lib/typescript/components/HMSHLSPlayer/index.d.ts +2 -0
- package/lib/typescript/hooks/useHMSPeerUpdates.d.ts +7 -0
- package/lib/typescript/index.d.ts +5 -0
- package/lib/typescript/stores/hls-player-playback-slice.d.ts +5 -0
- package/lib/typescript/stores/hls-player-stats-store.d.ts +9 -0
- package/lib/typescript/stores/hms-store.d.ts +9 -0
- package/lib/typescript/stores/types.d.ts +25 -0
- package/lib/typescript/types.d.ts +63 -0
- package/package.json +4 -1
- package/react-native-hms.podspec +1 -0
- package/sdk-versions.json +3 -2
- package/src/classes/HMSAudioTrack.ts +2 -1
- package/src/classes/HMSBrowserRecordingState.ts +3 -0
- package/src/classes/HMSCameraControl.ts +1 -2
- package/src/classes/HMSEncoder.ts +18 -8
- package/src/classes/HMSEventEmitter.ts +3 -0
- package/src/classes/HMSLocalAudioTrack.ts +2 -1
- package/src/classes/HMSLocalPeer.ts +3 -3
- package/src/classes/HMSLocalVideoTrack.ts +2 -1
- package/src/classes/HMSManagerModule.ts +18 -0
- package/src/classes/HMSNativeEventEmitter.ts +2 -1
- package/src/classes/HMSNativeEventListener.ts +8 -0
- package/src/classes/HMSPeer.ts +96 -48
- package/src/classes/HMSPeerUpdate.ts +4 -4
- package/src/classes/HMSPeersCache.ts +55 -43
- package/src/classes/HMSRTMPConfig.ts +2 -2
- package/src/classes/HMSRemoteAudioTrack.ts +2 -1
- package/src/classes/HMSRemotePeer.ts +3 -3
- package/src/classes/HMSRemoteVideoTrack.ts +2 -1
- package/src/classes/HMSRoom.ts +1 -1
- package/src/classes/HMSRoomCache.ts +11 -3
- package/src/classes/HMSSDK.tsx +74 -73
- package/src/classes/HMSSessionStore.ts +6 -8
- package/src/classes/HMSTrack.ts +3 -2
- package/src/classes/HMSVideoTrack.ts +2 -1
- package/src/classes/HmsView.tsx +8 -2
- package/src/components/HMSHLSPlayer/HMSHLSPlayer.tsx +261 -0
- package/src/components/HMSHLSPlayer/RCTHMSHLSPlayer.ts +37 -0
- package/src/components/HMSHLSPlayer/hooks.ts +101 -0
- package/src/components/HMSHLSPlayer/index.ts +9 -0
- package/src/hooks/useHMSPeerUpdates.ts +85 -0
- package/src/index.ts +14 -0
- package/src/stores/hls-player-playback-slice.ts +25 -0
- package/src/stores/hls-player-stats-store.ts +37 -0
- package/src/stores/hms-store.ts +11 -0
- package/src/stores/types.ts +49 -0
- package/src/types.ts +119 -0
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.idea/compiler.xml +0 -6
- package/android/.idea/gradle.xml +0 -18
- package/android/.idea/jarRepositories.xml +0 -50
- package/android/.idea/libraries/Gradle__androidx_activity_activity_1_2_4_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_3_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_1_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_4_1_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_4_1_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_autofill_autofill_1_1_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_2_1_3_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_core_core_1_7_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_6_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_4_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_4_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_tracing_tracing_1_1_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_fbjni_fbjni_0_3_0_aar.xml +0 -14
- package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_5_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_5_0_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_5_0_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_5_0_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_5_0_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_native_2_5_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_5_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_ashmem_2_5_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_java_2_5_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_native_2_5_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_5_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_5_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_ui_common_2_5_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_18_0.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_71_0_rc_0_debug_aar.xml +0 -14
- package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_10_4.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_10_4.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_10_4_aar.xml +0 -14
- package/android/.idea/libraries/Gradle__com_facebook_yoga_proguard_annotations_1_19_0.xml +0 -13
- package/android/.idea/libraries/Gradle__com_github_100mslive_android_sdk_lib_2_5_1_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_github_100mslive_webrtc_m104_hms_1_3_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +0 -13
- package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_4_9_2.xml +0 -13
- package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_4_9_2.xml +0 -13
- package/android/.idea/libraries/Gradle__com_squareup_okio_okio_2_9_0.xml +0 -13
- package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +0 -13
- package/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml +0 -13
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_annotations_jvm_1_3_72.xml +0 -13
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_6_10.xml +0 -13
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_6_10.xml +0 -13
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_6_10.xml +0 -13
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_6_10.xml +0 -13
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_android_1_6_0.xml +0 -13
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_6_0.xml +0 -13
- package/android/.idea/misc.xml +0 -9
- package/android/.idea/modules/android.androidTest.iml +0 -203
- package/android/.idea/modules/android.iml +0 -40
- package/android/.idea/modules/android.main.iml +0 -199
- package/android/.idea/modules/android.unitTest.iml +0 -197
- package/android/.idea/modules.xml +0 -11
- package/android/.idea/sonarlint/issuestore/3/c/3c46088b6add3088181589d8ed726652742b6221 +0 -5
- package/android/.idea/sonarlint/issuestore/index.pb +0 -7
- package/android/.idea/vcs.xml +0 -6
- package/android/local.properties +0 -8
- package/ios/Hmssdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/yogesh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Hmssdk.xcodeproj/xcuserdata/yogesh.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
- /package/android/{.idea/sonarlint/issuestore/a/8/a8c9f5ddd88723818e51ae3cf8693d02355a8691 → .gradle/6.7.1/gc.properties} +0 -0
- /package/android/{.idea/sonarlint/issuestore/f/0/f07866736216be0ee2aba49e392191aeae700a35 → .gradle/configuration-cache/gc.properties} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@100mslive/react-native-hms",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.1",
|
|
4
4
|
"description": "Integrate Real Time Audio and Video conferencing, Interactive Live Streaming, and Chat in your apps with 100ms React Native SDK. With support for HLS and RTMP Live Streaming and Recording, Picture-in-Picture (PiP), one-to-one Video Call Modes, Audio Rooms, Video Player and much more, add immersive real-time communications to your apps.",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -184,5 +184,8 @@
|
|
|
184
184
|
}
|
|
185
185
|
]
|
|
186
186
|
]
|
|
187
|
+
},
|
|
188
|
+
"dependencies": {
|
|
189
|
+
"zustand": "^4.3.8"
|
|
187
190
|
}
|
|
188
191
|
}
|
package/react-native-hms.podspec
CHANGED
package/sdk-versions.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { HMSTrack } from './HMSTrack';
|
|
2
|
+
import type { HMSTrackSource } from './HMSTrackSource';
|
|
2
3
|
import type { HMSTrackType } from './HMSTrackType';
|
|
3
4
|
|
|
4
5
|
export class HMSAudioTrack extends HMSTrack {
|
|
5
6
|
constructor(params?: {
|
|
6
7
|
trackId: string;
|
|
7
|
-
source?:
|
|
8
|
+
source?: HMSTrackSource;
|
|
8
9
|
trackDescription?: string;
|
|
9
10
|
isMute?: boolean;
|
|
10
11
|
id: string;
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import type { HMSException } from './HMSException';
|
|
2
2
|
|
|
3
3
|
export class HMSBrowserRecordingState {
|
|
4
|
+
initialising: boolean;
|
|
4
5
|
running: boolean;
|
|
5
6
|
error?: HMSException;
|
|
6
7
|
startedAt?: Date;
|
|
7
8
|
stoppedAt?: Date;
|
|
8
9
|
|
|
9
10
|
constructor(params: {
|
|
11
|
+
initialising: boolean;
|
|
10
12
|
running: boolean;
|
|
11
13
|
error?: HMSException;
|
|
12
14
|
startedAt?: Date;
|
|
13
15
|
stoppedAt?: Date;
|
|
14
16
|
}) {
|
|
17
|
+
this.initialising = params.initialising;
|
|
15
18
|
this.running = params.running;
|
|
16
19
|
this.error = params.error;
|
|
17
20
|
this.startedAt = params.startedAt;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import HMSManager from './HMSManagerModule';
|
|
2
2
|
|
|
3
3
|
import { HMSTrack } from './HMSTrack';
|
|
4
4
|
import { HMSAudioTrack } from './HMSAudioTrack';
|
|
@@ -40,8 +40,6 @@ import { HMSLayer } from './HMSLayer';
|
|
|
40
40
|
import { HMSSimulcastLayerDefinition } from './HMSSimulcastLayerDefinition';
|
|
41
41
|
import { HMSQualityLimitationReasons } from './HMSQualityLimitationReasons';
|
|
42
42
|
|
|
43
|
-
const { HMSManager } = NativeModules;
|
|
44
|
-
|
|
45
43
|
interface InitialData {
|
|
46
44
|
roles: Record<string, HMSRole>;
|
|
47
45
|
}
|
|
@@ -95,7 +93,6 @@ export class HMSEncoder {
|
|
|
95
93
|
static encodeHmsPeer(peer: any) {
|
|
96
94
|
const encodedObj = {
|
|
97
95
|
peerID: peer?.peerID,
|
|
98
|
-
customerDescription: peer?.customerDescription || undefined,
|
|
99
96
|
};
|
|
100
97
|
|
|
101
98
|
return new HMSPeer(encodedObj);
|
|
@@ -156,7 +153,6 @@ export class HMSEncoder {
|
|
|
156
153
|
static encodeHmsLocalPeer(peer: any, id: string) {
|
|
157
154
|
const encodedObj = {
|
|
158
155
|
peerID: peer?.peerID,
|
|
159
|
-
customerDescription: peer?.customerDescription || undefined,
|
|
160
156
|
localAudioTrackData: peer?.localAudioTrackData?.trackId
|
|
161
157
|
? {
|
|
162
158
|
id: id,
|
|
@@ -270,7 +266,6 @@ export class HMSEncoder {
|
|
|
270
266
|
static encodeHmsRemotePeer(peer: any, id: string) {
|
|
271
267
|
const encodedObj = {
|
|
272
268
|
peerID: peer?.peerID,
|
|
273
|
-
customerDescription: peer.customerDescription,
|
|
274
269
|
remoteAudioTrackData: peer?.remoteAudioTrackData?.trackId
|
|
275
270
|
? {
|
|
276
271
|
id: id,
|
|
@@ -338,7 +333,7 @@ export class HMSEncoder {
|
|
|
338
333
|
return encodedRoles;
|
|
339
334
|
}
|
|
340
335
|
|
|
341
|
-
static encodeHmsRole(role: any) {
|
|
336
|
+
static encodeHmsRole(role: any): HMSRole {
|
|
342
337
|
if (!role) {
|
|
343
338
|
return new HMSRole(role);
|
|
344
339
|
}
|
|
@@ -365,7 +360,7 @@ export class HMSEncoder {
|
|
|
365
360
|
}
|
|
366
361
|
}
|
|
367
362
|
|
|
368
|
-
return rolesCache[role.name]
|
|
363
|
+
return rolesCache[role.name]!;
|
|
369
364
|
}
|
|
370
365
|
|
|
371
366
|
static encodeHmsRoleChangeRequest(data: any) {
|
|
@@ -441,6 +436,7 @@ export class HMSEncoder {
|
|
|
441
436
|
|
|
442
437
|
static encodeBrowserRecordingState(data: any) {
|
|
443
438
|
return new HMSBrowserRecordingState({
|
|
439
|
+
initialising: data?.initialising || false,
|
|
444
440
|
running: data?.running || false,
|
|
445
441
|
startedAt: HMSEncoder.encodeDate(data?.startedAt),
|
|
446
442
|
stoppedAt: HMSEncoder.encodeDate(data?.stoppedAt),
|
|
@@ -660,4 +656,18 @@ export class HMSEncoder {
|
|
|
660
656
|
data.qualityLimitationResolutionChanges,
|
|
661
657
|
});
|
|
662
658
|
}
|
|
659
|
+
|
|
660
|
+
static transformHMSHLSCueEventData<C extends object, T>(data: C): T {
|
|
661
|
+
if ('startDate' in data) {
|
|
662
|
+
data.startDate = this.encodeDate(data.startDate);
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
if ('endDate' in data && data.endDate) {
|
|
666
|
+
data.endDate = this.encodeDate(data.endDate);
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
const transformed = data as unknown as T;
|
|
670
|
+
|
|
671
|
+
return transformed;
|
|
672
|
+
}
|
|
663
673
|
}
|
|
@@ -3,6 +3,7 @@ import { HMSAudioTrack } from './HMSAudioTrack';
|
|
|
3
3
|
import { getLogger } from './HMSLogger';
|
|
4
4
|
import type { HMSAudioTrackSettings } from './HMSAudioTrackSettings';
|
|
5
5
|
import type { HMSTrackType } from './HMSTrackType';
|
|
6
|
+
import type { HMSTrackSource } from './HMSTrackSource';
|
|
6
7
|
|
|
7
8
|
const {
|
|
8
9
|
/**
|
|
@@ -55,7 +56,7 @@ export class HMSLocalAudioTrack extends HMSAudioTrack {
|
|
|
55
56
|
constructor(params: {
|
|
56
57
|
id: string;
|
|
57
58
|
trackId: string;
|
|
58
|
-
source?:
|
|
59
|
+
source?: HMSTrackSource;
|
|
59
60
|
trackDescription?: string;
|
|
60
61
|
isMute?: boolean;
|
|
61
62
|
settings?: HMSAudioTrackSettings;
|
|
@@ -4,6 +4,7 @@ import type { HMSAudioTrackSettings } from './HMSAudioTrackSettings';
|
|
|
4
4
|
import { HMSLocalAudioTrack } from './HMSLocalAudioTrack';
|
|
5
5
|
import { HMSLocalVideoTrack } from './HMSLocalVideoTrack';
|
|
6
6
|
import type { HMSTrackType } from './HMSTrackType';
|
|
7
|
+
import type { HMSTrackSource } from './HMSTrackSource';
|
|
7
8
|
|
|
8
9
|
export class HMSLocalPeer extends HMSPeer {
|
|
9
10
|
private localAudio?: HMSLocalAudioTrack;
|
|
@@ -18,11 +19,10 @@ export class HMSLocalPeer extends HMSPeer {
|
|
|
18
19
|
|
|
19
20
|
constructor(params: {
|
|
20
21
|
peerID: string;
|
|
21
|
-
customerDescription?: string;
|
|
22
22
|
localAudioTrackData?: {
|
|
23
23
|
id: string;
|
|
24
24
|
trackId: string;
|
|
25
|
-
source?:
|
|
25
|
+
source?: HMSTrackSource;
|
|
26
26
|
trackDescription?: string;
|
|
27
27
|
isMute?: boolean;
|
|
28
28
|
settings?: HMSAudioTrackSettings;
|
|
@@ -31,7 +31,7 @@ export class HMSLocalPeer extends HMSPeer {
|
|
|
31
31
|
localVideoTrackData?: {
|
|
32
32
|
id: string;
|
|
33
33
|
trackId: string;
|
|
34
|
-
source?:
|
|
34
|
+
source?: HMSTrackSource;
|
|
35
35
|
trackDescription?: string;
|
|
36
36
|
isMute?: boolean;
|
|
37
37
|
settings?: HMSVideoTrackSettings;
|
|
@@ -3,6 +3,7 @@ import { HMSVideoTrack } from './HMSVideoTrack';
|
|
|
3
3
|
import { getLogger } from './HMSLogger';
|
|
4
4
|
import type { HMSVideoTrackSettings } from './HMSVideoTrackSettings';
|
|
5
5
|
import type { HMSTrackType } from './HMSTrackType';
|
|
6
|
+
import type { HMSTrackSource } from './HMSTrackSource';
|
|
6
7
|
|
|
7
8
|
const {
|
|
8
9
|
/**
|
|
@@ -51,7 +52,7 @@ export class HMSLocalVideoTrack extends HMSVideoTrack {
|
|
|
51
52
|
constructor(params: {
|
|
52
53
|
id: string;
|
|
53
54
|
trackId: string;
|
|
54
|
-
source?:
|
|
55
|
+
source?: HMSTrackSource;
|
|
55
56
|
trackDescription?: string;
|
|
56
57
|
isMute?: boolean;
|
|
57
58
|
settings?: HMSVideoTrackSettings;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NativeModules } from 'react-native';
|
|
2
|
+
|
|
3
|
+
const { HMSManager } = NativeModules;
|
|
4
|
+
|
|
5
|
+
if (HMSManager == null) {
|
|
6
|
+
console.error(
|
|
7
|
+
`[@100mslive/react-native-hms] react-native-hms module was not found. Make sure you're running your app on the native platform and your code is linked properly (cd ios && pod install && cd ..).
|
|
8
|
+
|
|
9
|
+
For installation instructions, please refer to https://www.100ms.live/docs/react-native/v2/how-to-guides/install-the-sdk/integration`
|
|
10
|
+
.split('\n')
|
|
11
|
+
.map((line) => line.trim())
|
|
12
|
+
.join('\n')
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export type HMSManagerProps = any;
|
|
17
|
+
|
|
18
|
+
export default HMSManager as HMSManagerProps;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import HMSManager from './HMSManagerModule';
|
|
2
|
+
import { HMSNativeEventEmitter } from './HMSNativeEventEmitter';
|
|
3
|
+
|
|
4
|
+
export type { HMSEventSubscription as HMSNativeEventSubscription } from './HMSNativeEventEmitter';
|
|
5
|
+
|
|
6
|
+
const HMSNativeEventListener = new HMSNativeEventEmitter(HMSManager);
|
|
7
|
+
|
|
8
|
+
export default HMSNativeEventListener;
|
package/src/classes/HMSPeer.ts
CHANGED
|
@@ -8,44 +8,83 @@ import { HMSConstants } from './HMSConstants';
|
|
|
8
8
|
|
|
9
9
|
export class HMSPeer {
|
|
10
10
|
peerID: string;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
private _name: string = '';
|
|
12
|
+
private _isLocal: boolean | undefined;
|
|
13
|
+
private _customerUserID: string | undefined;
|
|
14
|
+
private _metadata: string | undefined;
|
|
15
|
+
private _role: HMSRole | undefined;
|
|
16
|
+
|
|
17
|
+
private _updateName(value: string) {
|
|
18
|
+
// If `_name` is outdated, update it
|
|
19
|
+
if (this._name !== value) {
|
|
20
|
+
this._name = value;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
private _updateIsLocal(value: boolean) {
|
|
25
|
+
// If `_isLocal` is outdated, update it
|
|
26
|
+
if (this._isLocal !== value) {
|
|
27
|
+
this._isLocal = value;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
private _updateCustomerUserID(value: string) {
|
|
32
|
+
// If `_customerUserID` is outdated, update it
|
|
33
|
+
if (this._customerUserID !== value) {
|
|
34
|
+
this._customerUserID = value;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
private _updateMetadata(value: string) {
|
|
39
|
+
// If `_metadata` is outdated, update it
|
|
40
|
+
if (this._metadata !== value) {
|
|
41
|
+
this._metadata = value;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
15
44
|
|
|
16
|
-
|
|
45
|
+
private _updateRole(value: HMSRole) {
|
|
46
|
+
// If `_role` is outdated, update it
|
|
47
|
+
if (this._role !== value) {
|
|
48
|
+
this._role = value;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
constructor(params: { peerID: string }) {
|
|
17
53
|
this.peerID = params.peerID;
|
|
18
|
-
this.customerDescription = params.customerDescription;
|
|
19
54
|
}
|
|
20
55
|
|
|
21
56
|
get name(): string {
|
|
22
57
|
const hmsPeersCache = getHmsPeersCache();
|
|
23
58
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
59
|
+
const nameValue = hmsPeersCache
|
|
60
|
+
? hmsPeersCache.getProperty(this.peerID, 'name')
|
|
61
|
+
: getPeerPropertyFromNative(
|
|
62
|
+
HMSConstants.DEFAULT_SDK_ID,
|
|
63
|
+
this.peerID,
|
|
64
|
+
'name'
|
|
65
|
+
);
|
|
27
66
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
'name'
|
|
33
|
-
) || ''
|
|
34
|
-
);
|
|
67
|
+
if (nameValue) {
|
|
68
|
+
this._updateName(nameValue);
|
|
69
|
+
}
|
|
70
|
+
return nameValue ?? this._name;
|
|
35
71
|
}
|
|
36
72
|
|
|
37
73
|
get isLocal(): boolean | undefined {
|
|
38
74
|
const hmsPeersCache = getHmsPeersCache();
|
|
39
75
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
76
|
+
const value = hmsPeersCache
|
|
77
|
+
? hmsPeersCache.getProperty(this.peerID, 'isLocal')
|
|
78
|
+
: getPeerPropertyFromNative(
|
|
79
|
+
HMSConstants.DEFAULT_SDK_ID,
|
|
80
|
+
this.peerID,
|
|
81
|
+
'isLocal'
|
|
82
|
+
);
|
|
43
83
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
);
|
|
84
|
+
if (typeof value === 'boolean') {
|
|
85
|
+
this._updateIsLocal(value);
|
|
86
|
+
}
|
|
87
|
+
return value ?? this._isLocal;
|
|
49
88
|
}
|
|
50
89
|
|
|
51
90
|
get networkQuality(): HMSNetworkQuality | undefined {
|
|
@@ -65,43 +104,52 @@ export class HMSPeer {
|
|
|
65
104
|
get customerUserID(): string | undefined {
|
|
66
105
|
const hmsPeersCache = getHmsPeersCache();
|
|
67
106
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
107
|
+
const value = hmsPeersCache
|
|
108
|
+
? hmsPeersCache.getProperty(this.peerID, 'customerUserID')
|
|
109
|
+
: getPeerPropertyFromNative(
|
|
110
|
+
HMSConstants.DEFAULT_SDK_ID,
|
|
111
|
+
this.peerID,
|
|
112
|
+
'customerUserID'
|
|
113
|
+
);
|
|
71
114
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
);
|
|
115
|
+
if (value) {
|
|
116
|
+
this._updateCustomerUserID(value);
|
|
117
|
+
}
|
|
118
|
+
return value ?? this._customerUserID;
|
|
77
119
|
}
|
|
78
120
|
|
|
79
121
|
get metadata(): string | undefined {
|
|
80
122
|
const hmsPeersCache = getHmsPeersCache();
|
|
81
123
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
124
|
+
const value = hmsPeersCache
|
|
125
|
+
? hmsPeersCache.getProperty(this.peerID, 'metadata')
|
|
126
|
+
: getPeerPropertyFromNative(
|
|
127
|
+
HMSConstants.DEFAULT_SDK_ID,
|
|
128
|
+
this.peerID,
|
|
129
|
+
'metadata'
|
|
130
|
+
);
|
|
85
131
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
);
|
|
132
|
+
if (value) {
|
|
133
|
+
this._updateMetadata(value);
|
|
134
|
+
}
|
|
135
|
+
return value ?? this._metadata;
|
|
91
136
|
}
|
|
92
137
|
|
|
93
138
|
get role(): HMSRole | undefined {
|
|
94
139
|
const hmsPeersCache = getHmsPeersCache();
|
|
95
140
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
141
|
+
const value = hmsPeersCache
|
|
142
|
+
? hmsPeersCache.getProperty(this.peerID, 'role')
|
|
143
|
+
: getPeerPropertyFromNative(
|
|
144
|
+
HMSConstants.DEFAULT_SDK_ID,
|
|
145
|
+
this.peerID,
|
|
146
|
+
'role'
|
|
147
|
+
);
|
|
99
148
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
);
|
|
149
|
+
if (value) {
|
|
150
|
+
this._updateRole(value);
|
|
151
|
+
}
|
|
152
|
+
return value ?? this._role;
|
|
105
153
|
}
|
|
106
154
|
|
|
107
155
|
get audioTrack(): HMSAudioTrack | undefined {
|
|
@@ -10,8 +10,8 @@ export enum HMSPeerUpdate {
|
|
|
10
10
|
export const HMSPeerUpdateOrdinals = new Map([
|
|
11
11
|
['0', HMSPeerUpdate.PEER_JOINED],
|
|
12
12
|
['1', HMSPeerUpdate.PEER_LEFT],
|
|
13
|
-
['
|
|
14
|
-
['
|
|
15
|
-
['
|
|
16
|
-
['
|
|
13
|
+
['4', HMSPeerUpdate.ROLE_CHANGED],
|
|
14
|
+
['5', HMSPeerUpdate.NAME_CHANGED],
|
|
15
|
+
['6', HMSPeerUpdate.METADATA_CHANGED],
|
|
16
|
+
['7', HMSPeerUpdate.NETWORK_QUALITY_UPDATED],
|
|
17
17
|
]);
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import HMSManager from './HMSManagerModule';
|
|
2
|
+
|
|
3
3
|
import { HMSEncoder } from './HMSEncoder';
|
|
4
4
|
import { HMSPeerUpdate } from './HMSPeerUpdate';
|
|
5
5
|
import { HMSTrackUpdate } from './HMSTrackUpdate';
|
|
6
6
|
import type { HMSTrack } from './HMSTrack';
|
|
7
7
|
import { HMSTrackType } from './HMSTrackType';
|
|
8
8
|
import { HMSTrackSource } from './HMSTrackSource';
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
import type { HMSNetworkQuality } from './HMSNetworkQuality';
|
|
10
|
+
import type { HMSRole } from './HMSRole';
|
|
11
|
+
import type { HMSAudioTrack } from './HMSAudioTrack';
|
|
12
|
+
import type { HMSVideoTrack } from './HMSVideoTrack';
|
|
11
13
|
|
|
12
14
|
export let hmsPeersCache: HMSPeersCache | undefined;
|
|
13
15
|
|
|
@@ -26,9 +28,18 @@ export const clearHmsPeersCache = () => {
|
|
|
26
28
|
hmsPeersCache = undefined;
|
|
27
29
|
};
|
|
28
30
|
|
|
29
|
-
export type HMSPeerCacheProps =
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
export type HMSPeerCacheProps = {
|
|
32
|
+
peerID?: string | undefined;
|
|
33
|
+
name?: string | undefined;
|
|
34
|
+
isLocal?: boolean | undefined;
|
|
35
|
+
networkQuality?: HMSNetworkQuality | undefined;
|
|
36
|
+
customerUserID?: string | undefined;
|
|
37
|
+
metadata?: string | undefined;
|
|
38
|
+
role?: HMSRole | undefined;
|
|
39
|
+
audioTrack?: HMSAudioTrack | undefined;
|
|
40
|
+
videoTrack?: HMSVideoTrack | undefined;
|
|
41
|
+
auxiliaryTracks?: HMSTrack[] | undefined;
|
|
42
|
+
};
|
|
32
43
|
|
|
33
44
|
export class HMSPeersCache {
|
|
34
45
|
private _data = new Map<string, HMSPeerCacheProps>();
|
|
@@ -66,12 +77,19 @@ export class HMSPeersCache {
|
|
|
66
77
|
) {
|
|
67
78
|
const peerObj = this._data.get(peerId);
|
|
68
79
|
|
|
80
|
+
if (updateType === HMSPeerUpdate.PEER_JOINED) {
|
|
81
|
+
if (!peerObj) {
|
|
82
|
+
this._data.set(peerId, data);
|
|
83
|
+
}
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
|
|
69
87
|
if (updateType === HMSPeerUpdate.PEER_LEFT) {
|
|
70
88
|
this._data.delete(peerId);
|
|
71
89
|
return;
|
|
72
90
|
}
|
|
73
91
|
|
|
74
|
-
let updatedObj =
|
|
92
|
+
let updatedObj = peerObj || {};
|
|
75
93
|
|
|
76
94
|
switch (updateType) {
|
|
77
95
|
case HMSTrackUpdate.TRACK_ADDED: {
|
|
@@ -79,7 +97,8 @@ export class HMSPeersCache {
|
|
|
79
97
|
|
|
80
98
|
if (track.source === HMSTrackSource.REGULAR) {
|
|
81
99
|
if (track.type === HMSTrackType.VIDEO) {
|
|
82
|
-
updatedObj.videoTrack =
|
|
100
|
+
updatedObj.videoTrack = track;
|
|
101
|
+
updatedObj.videoTrack.isDegraded = false;
|
|
83
102
|
} else if (track.type === HMSTrackType.AUDIO) {
|
|
84
103
|
updatedObj.audioTrack = track;
|
|
85
104
|
}
|
|
@@ -102,12 +121,9 @@ export class HMSPeersCache {
|
|
|
102
121
|
updatedObj.audioTrack = undefined;
|
|
103
122
|
}
|
|
104
123
|
} else if (Array.isArray(updatedObj.auxiliaryTracks)) {
|
|
105
|
-
updatedObj =
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
(auxiliaryTrack) => auxiliaryTrack.trackId !== track.trackId
|
|
109
|
-
),
|
|
110
|
-
};
|
|
124
|
+
updatedObj.auxiliaryTracks = updatedObj.auxiliaryTracks.filter(
|
|
125
|
+
(auxiliaryTrack) => auxiliaryTrack.trackId !== track.trackId
|
|
126
|
+
);
|
|
111
127
|
}
|
|
112
128
|
break;
|
|
113
129
|
}
|
|
@@ -117,10 +133,9 @@ export class HMSPeersCache {
|
|
|
117
133
|
|
|
118
134
|
if (track.source === HMSTrackSource.REGULAR) {
|
|
119
135
|
if (track.type === HMSTrackType.VIDEO) {
|
|
120
|
-
updatedObj.videoTrack
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
};
|
|
136
|
+
const oldIsDegraded = updatedObj.videoTrack?.isDegraded || false;
|
|
137
|
+
updatedObj.videoTrack = track;
|
|
138
|
+
updatedObj.videoTrack.isDegraded = oldIsDegraded;
|
|
124
139
|
} else if (track.type === HMSTrackType.AUDIO) {
|
|
125
140
|
updatedObj.audioTrack = track;
|
|
126
141
|
}
|
|
@@ -147,30 +162,26 @@ export class HMSPeersCache {
|
|
|
147
162
|
|
|
148
163
|
if (track.source === HMSTrackSource.REGULAR) {
|
|
149
164
|
if (track.type === HMSTrackType.VIDEO) {
|
|
150
|
-
updatedObj.videoTrack =
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
};
|
|
165
|
+
updatedObj.videoTrack = track;
|
|
166
|
+
updatedObj.videoTrack.isDegraded =
|
|
167
|
+
updateType === HMSTrackUpdate.TRACK_DEGRADED;
|
|
154
168
|
} else if (track.type === HMSTrackType.AUDIO) {
|
|
155
169
|
updatedObj.audioTrack = track;
|
|
156
170
|
}
|
|
157
171
|
} else {
|
|
158
172
|
if (Array.isArray(updatedObj.auxiliaryTracks)) {
|
|
159
|
-
updatedObj =
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
isDegraded: updateType === HMSTrackUpdate.TRACK_DEGRADED,
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
return auxiliaryTrack;
|
|
173
|
+
updatedObj.auxiliaryTracks = updatedObj.auxiliaryTracks.map(
|
|
174
|
+
(auxiliaryTrack) => {
|
|
175
|
+
if (auxiliaryTrack.trackId === track.trackId) {
|
|
176
|
+
return {
|
|
177
|
+
...auxiliaryTrack,
|
|
178
|
+
isDegraded: updateType === HMSTrackUpdate.TRACK_DEGRADED,
|
|
179
|
+
};
|
|
171
180
|
}
|
|
172
|
-
|
|
173
|
-
|
|
181
|
+
|
|
182
|
+
return auxiliaryTrack;
|
|
183
|
+
}
|
|
184
|
+
);
|
|
174
185
|
} else {
|
|
175
186
|
updatedObj.auxiliaryTracks = [track];
|
|
176
187
|
}
|
|
@@ -187,11 +198,12 @@ export class HMSPeersCache {
|
|
|
187
198
|
);
|
|
188
199
|
break;
|
|
189
200
|
}
|
|
190
|
-
case HMSPeerUpdate.METADATA_CHANGED:
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
201
|
+
case HMSPeerUpdate.METADATA_CHANGED: {
|
|
202
|
+
updatedObj.metadata = data.metadata;
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
case HMSPeerUpdate.NAME_CHANGED: {
|
|
206
|
+
updatedObj.name = data.name;
|
|
195
207
|
break;
|
|
196
208
|
}
|
|
197
209
|
default: {
|
|
@@ -243,7 +255,7 @@ export function getPeerPropertyFromNative<T extends keyof HMSPeerCacheProps>(
|
|
|
243
255
|
? HMSEncoder.encodeHmsAuxiliaryTracks(data.auxiliaryTracks, id)
|
|
244
256
|
: undefined;
|
|
245
257
|
} else if (property === 'name') {
|
|
246
|
-
value = data?.[property]
|
|
258
|
+
value = data?.[property];
|
|
247
259
|
} else {
|
|
248
260
|
value = data ? data[property] : undefined;
|
|
249
261
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { HMSRtmpVideoResolution } from './HMSRtmpVideoResolution';
|
|
2
2
|
|
|
3
3
|
export class HMSRTMPConfig {
|
|
4
|
-
meetingURL
|
|
4
|
+
meetingURL?: string;
|
|
5
5
|
rtmpURLs?: Array<string>;
|
|
6
6
|
record: boolean;
|
|
7
7
|
resolution?: HMSRtmpVideoResolution;
|
|
8
8
|
|
|
9
9
|
constructor(params: {
|
|
10
|
-
meetingURL
|
|
10
|
+
meetingURL?: string;
|
|
11
11
|
rtmpURLs?: Array<string>;
|
|
12
12
|
record: boolean;
|
|
13
13
|
resolution?: HMSRtmpVideoResolution;
|
|
@@ -2,6 +2,7 @@ import { NativeModules } from 'react-native';
|
|
|
2
2
|
import { getLogger } from './HMSLogger';
|
|
3
3
|
import type { HMSTrackType } from './HMSTrackType';
|
|
4
4
|
import { HMSAudioTrack } from './HMSAudioTrack';
|
|
5
|
+
import type { HMSTrackSource } from './HMSTrackSource';
|
|
5
6
|
|
|
6
7
|
const {
|
|
7
8
|
/**
|
|
@@ -54,7 +55,7 @@ export class HMSRemoteAudioTrack extends HMSAudioTrack {
|
|
|
54
55
|
|
|
55
56
|
constructor(params: {
|
|
56
57
|
trackId: string;
|
|
57
|
-
source?:
|
|
58
|
+
source?: HMSTrackSource;
|
|
58
59
|
isMute?: boolean;
|
|
59
60
|
trackDescription?: string;
|
|
60
61
|
playbackAllowed?: boolean;
|