@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
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
import HMSSDK
|
|
2
|
+
import HMSHLSPlayerSDK
|
|
3
|
+
import AVKit.AVPlayerViewController
|
|
4
|
+
|
|
5
|
+
typealias HmsHlsPlayer = HMSHLSPlayerSDK.HMSHLSPlayer
|
|
6
|
+
|
|
7
|
+
@objc(HMSHLSPlayerManager)
|
|
8
|
+
class HMSHLSPlayerManager: RCTViewManager {
|
|
9
|
+
override func view() -> (HMSHLSPlayer) {
|
|
10
|
+
let view = HMSHLSPlayer()
|
|
11
|
+
let hms = getHmsFromBridge()
|
|
12
|
+
|
|
13
|
+
view.setHms(hms)
|
|
14
|
+
|
|
15
|
+
return view
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
func getHmsFromBridge() -> [String: HMSRNSDK] {
|
|
19
|
+
let collection = (bridge.module(for: HMSManager.classForCoder()) as? HMSManager)?.hmsCollection ?? [String: HMSRNSDK]()
|
|
20
|
+
return collection
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
override class func requiresMainQueueSetup() -> Bool {
|
|
24
|
+
true
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@objc func play(_ node: NSNumber, url: String? = nil) {
|
|
28
|
+
DispatchQueue.main.async {
|
|
29
|
+
if let component = self.bridge.uiManager.view(forReactTag: node) as? HMSHLSPlayer {
|
|
30
|
+
component.play(url)
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@objc func stop(_ node: NSNumber) {
|
|
36
|
+
DispatchQueue.main.async {
|
|
37
|
+
if let component = self.bridge.uiManager.view(forReactTag: node) as? HMSHLSPlayer {
|
|
38
|
+
component.stop()
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@objc func pause(_ node: NSNumber) {
|
|
44
|
+
DispatchQueue.main.async {
|
|
45
|
+
if let component = self.bridge.uiManager.view(forReactTag: node) as? HMSHLSPlayer {
|
|
46
|
+
component.pause()
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@objc func resume(_ node: NSNumber) {
|
|
52
|
+
DispatchQueue.main.async {
|
|
53
|
+
if let component = self.bridge.uiManager.view(forReactTag: node) as? HMSHLSPlayer {
|
|
54
|
+
component.resume()
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@objc func seekToLivePosition(_ node: NSNumber) {
|
|
60
|
+
DispatchQueue.main.async {
|
|
61
|
+
if let component = self.bridge.uiManager.view(forReactTag: node) as? HMSHLSPlayer {
|
|
62
|
+
component.seekToLivePosition()
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@objc func seekForward(_ node: NSNumber, seconds: NSNumber) {
|
|
68
|
+
DispatchQueue.main.async {
|
|
69
|
+
if let component = self.bridge.uiManager.view(forReactTag: node) as? HMSHLSPlayer {
|
|
70
|
+
component.seekForward(Double(truncating: seconds))
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@objc func seekBackward(_ node: NSNumber, seconds: NSNumber) {
|
|
76
|
+
DispatchQueue.main.async {
|
|
77
|
+
if let component = self.bridge.uiManager.view(forReactTag: node) as? HMSHLSPlayer {
|
|
78
|
+
component.seekBackward(Double(truncating: seconds))
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@objc func setVolume(_ node: NSNumber, level: NSNumber) {
|
|
84
|
+
DispatchQueue.main.async {
|
|
85
|
+
if let component = self.bridge.uiManager.view(forReactTag: node) as? HMSHLSPlayer {
|
|
86
|
+
component.setVolume(Int(truncating: level))
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
class HMSHLSPlayer: UIView {
|
|
93
|
+
// MARK: class instance properties
|
|
94
|
+
var hlsStatsTimerRef: Timer?
|
|
95
|
+
var eventController: HLSPlaybackEventController?
|
|
96
|
+
var hmsHLSPlayerViewController: AVPlayerViewController?
|
|
97
|
+
lazy var hmsHLSPlayer = HmsHlsPlayer()
|
|
98
|
+
|
|
99
|
+
// MARK: Handle HMSRNSDK Instance in HMSHLSPlayer instance
|
|
100
|
+
var hmsCollection = [String: HMSRNSDK]()
|
|
101
|
+
|
|
102
|
+
func setHms(_ hmsInstance: [String: HMSRNSDK]) {
|
|
103
|
+
hmsCollection = hmsInstance
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// MARK: Handle HMSHLSPlayer RN Component props
|
|
107
|
+
|
|
108
|
+
@objc var onHmsHlsPlaybackEvent: RCTDirectEventBlock?
|
|
109
|
+
|
|
110
|
+
@objc var onHmsHlsStatsEvent: RCTDirectEventBlock?
|
|
111
|
+
|
|
112
|
+
@objc var url: String? {
|
|
113
|
+
didSet {
|
|
114
|
+
play(url)
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
@objc var enableStats: Bool = false {
|
|
119
|
+
didSet {
|
|
120
|
+
if enableStats == true {
|
|
121
|
+
attachHLSPlayerStatsListener()
|
|
122
|
+
} else {
|
|
123
|
+
// If we have existing Stats Timer, Invalidate it
|
|
124
|
+
if let hlsStatsTimer = hlsStatsTimerRef {
|
|
125
|
+
hlsStatsTimer.invalidate()
|
|
126
|
+
hlsStatsTimerRef = nil
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
@objc var enableControls: Bool = true {
|
|
133
|
+
didSet {
|
|
134
|
+
hmsHLSPlayerViewController?.showsPlaybackControls = enableControls
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// MARK: Handle HMSHLSPlayer RN Component methods
|
|
139
|
+
|
|
140
|
+
@objc func play(_ url: String?) {
|
|
141
|
+
if let validURLString = url, !validURLString.isEmpty {
|
|
142
|
+
if let urlInstance = URL(string: validURLString) {
|
|
143
|
+
hmsHLSPlayer.play(urlInstance)
|
|
144
|
+
}
|
|
145
|
+
return
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
guard let hlsStreamingState = hmsCollection["12345"]?.hms?.room?.hlsStreamingState else {
|
|
149
|
+
return
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
if hlsStreamingState.running && !hlsStreamingState.variants.isEmpty {
|
|
153
|
+
hmsHLSPlayer.play(hlsStreamingState.variants[0].meetingURL)
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
@objc func stop() {
|
|
158
|
+
hmsHLSPlayer.stop()
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
@objc func pause() {
|
|
162
|
+
hmsHLSPlayer.pause()
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
@objc func resume() {
|
|
166
|
+
hmsHLSPlayer.resume()
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
@objc func seekForward(_ seconds: Double) {
|
|
170
|
+
hmsHLSPlayer.seekForward(seconds: seconds)
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
@objc func seekBackward(_ seconds: Double) {
|
|
174
|
+
hmsHLSPlayer.seekBackward(seconds: seconds)
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
@objc func seekToLivePosition() {
|
|
178
|
+
hmsHLSPlayer.seekToLivePosition()
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
@objc func setVolume(_ level: Int) {
|
|
182
|
+
hmsHLSPlayer.volume = level
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// MARK: Constructor & Deconstructor
|
|
186
|
+
|
|
187
|
+
override init(frame: CGRect) {
|
|
188
|
+
super.init(frame: frame)
|
|
189
|
+
|
|
190
|
+
// setting properties on current UIView
|
|
191
|
+
self.frame = frame
|
|
192
|
+
self.backgroundColor = UIColor(displayP3Red: 0, green: 0, blue: 0, alpha: 1)
|
|
193
|
+
|
|
194
|
+
// creating 100ms HLS Player and getting player view controller
|
|
195
|
+
let playerViewController = hmsHLSPlayer.videoPlayerViewController(showsPlayerControls: false)
|
|
196
|
+
hmsHLSPlayerViewController = playerViewController
|
|
197
|
+
playerViewController.view.frame = self.bounds
|
|
198
|
+
|
|
199
|
+
// Setting 100ms HLS Player as subview of current UIView
|
|
200
|
+
self.addSubview(playerViewController.view)
|
|
201
|
+
|
|
202
|
+
attachPlayerPlaybackListeners()
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
required init?(coder: NSCoder) {
|
|
206
|
+
fatalError("init(coder:) has not been implemented")
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
deinit {
|
|
210
|
+
cleanup()
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// MARK: Utility functions
|
|
214
|
+
func cleanup() {
|
|
215
|
+
hmsHLSPlayer.stop()
|
|
216
|
+
|
|
217
|
+
// Remove HLS player playback events
|
|
218
|
+
hmsHLSPlayer.delegate = nil
|
|
219
|
+
|
|
220
|
+
// Remove HLS player stats timer
|
|
221
|
+
hlsStatsTimerRef?.invalidate()
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
private func sendHLSPlaybackEventToJS(_ eventName: String, _ data: [String: Any]) {
|
|
225
|
+
guard let onHmsHlsPlaybackEvent = onHmsHlsPlaybackEvent else { return }
|
|
226
|
+
|
|
227
|
+
onHmsHlsPlaybackEvent(["event": eventName, "data": data])
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
private func sendHLSStatsEventToJS(_ eventName: String, _ data: [String: Any]) {
|
|
231
|
+
guard let onHmsHlsStatsEvent = onHmsHlsStatsEvent else { return }
|
|
232
|
+
|
|
233
|
+
onHmsHlsStatsEvent(["event": eventName, "data": data])
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
private func attachPlayerPlaybackListeners() {
|
|
237
|
+
// Attaching HLS Player Playback Events Listener
|
|
238
|
+
eventController = HLSPlaybackEventController(self)
|
|
239
|
+
hmsHLSPlayer.delegate = eventController
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
private func attachHLSPlayerStatsListener() {
|
|
243
|
+
// Only Attach listener, if there is no previously attached listener
|
|
244
|
+
if hlsStatsTimerRef == nil {
|
|
245
|
+
|
|
246
|
+
// Attaching HLS Player Stats Event Listener
|
|
247
|
+
hlsStatsTimerRef = Timer.scheduledTimer(withTimeInterval: 2.0, repeats: true) { [weak self] _ in
|
|
248
|
+
guard let self = self, self.onHmsHlsStatsEvent != nil else { return }
|
|
249
|
+
|
|
250
|
+
let statsMonitor = self.hmsHLSPlayer.statMonitor
|
|
251
|
+
|
|
252
|
+
var data = [String: Any]()
|
|
253
|
+
|
|
254
|
+
// bandwidth
|
|
255
|
+
data["bandWidthEstimate"] = statsMonitor.estimatedBandwidth
|
|
256
|
+
data["totalBytesLoaded"] = statsMonitor.bytesDownloaded
|
|
257
|
+
|
|
258
|
+
// bufferedDuration
|
|
259
|
+
data["bufferedDuration"] = statsMonitor.bufferedDuration
|
|
260
|
+
|
|
261
|
+
// distanceFromLive
|
|
262
|
+
data["distanceFromLive"] = statsMonitor.distanceFromLiveEdge
|
|
263
|
+
|
|
264
|
+
// frameInfo
|
|
265
|
+
data["droppedFrameCount"] = statsMonitor.droppedFrames
|
|
266
|
+
|
|
267
|
+
// videoInfo
|
|
268
|
+
data["averageBitrate"] = statsMonitor.bitrate
|
|
269
|
+
data["videoHeight"] = statsMonitor.videoSize.height
|
|
270
|
+
data["videoWidth"] = statsMonitor.videoSize.width
|
|
271
|
+
|
|
272
|
+
self.sendHLSStatsEventToJS(HMSHLSPlayerConstants.ON_STATS_EVENT_UPDATE, data)
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
fileprivate func onCue(cue: HMSHLSCue) {
|
|
278
|
+
guard onHmsHlsPlaybackEvent != nil else { return }
|
|
279
|
+
|
|
280
|
+
var data = [String: Any]()
|
|
281
|
+
|
|
282
|
+
data["id"] = cue.id
|
|
283
|
+
data["startDate"] = String(cue.startDate.timeIntervalSince1970)
|
|
284
|
+
if let endDate = cue.endDate {
|
|
285
|
+
data["endDate"] = String(endDate.timeIntervalSince1970)
|
|
286
|
+
}
|
|
287
|
+
if let payload = cue.payload {
|
|
288
|
+
data["payloadval"] = payload
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
sendHLSPlaybackEventToJS(HMSHLSPlayerConstants.ON_PLAYBACK_CUE_EVENT, data)
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
fileprivate func onPlaybackFailure(error: Error) {
|
|
295
|
+
guard onHmsHlsPlaybackEvent != nil else { return }
|
|
296
|
+
|
|
297
|
+
var data = [String: Any]()
|
|
298
|
+
|
|
299
|
+
data["error"] = [
|
|
300
|
+
"errorCode": error.localizedDescription,
|
|
301
|
+
"errorCodeName": error.localizedDescription,
|
|
302
|
+
"message": error.localizedDescription
|
|
303
|
+
]
|
|
304
|
+
|
|
305
|
+
sendHLSPlaybackEventToJS(HMSHLSPlayerConstants.ON_PLAYBACK_FAILURE_EVENT, data)
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
fileprivate func onPlaybackStateChanged(state: HMSHLSPlaybackState) {
|
|
309
|
+
guard onHmsHlsPlaybackEvent != nil else { return }
|
|
310
|
+
|
|
311
|
+
var data = [String: Any]()
|
|
312
|
+
|
|
313
|
+
data["state"] = state.description
|
|
314
|
+
|
|
315
|
+
sendHLSPlaybackEventToJS(HMSHLSPlayerConstants.ON_PLAYBACK_STATE_CHANGE_EVENT, data)
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
class HLSPlaybackEventController: HMSHLSPlayerDelegate {
|
|
320
|
+
weak var hmsHlsPlayerDelegate: HMSHLSPlayer?
|
|
321
|
+
|
|
322
|
+
init(_ hmsPlayerDelegate: HMSHLSPlayer) {
|
|
323
|
+
self.hmsHlsPlayerDelegate = hmsPlayerDelegate
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
func onPlaybackStateChanged(state: HMSHLSPlaybackState) {
|
|
327
|
+
hmsHlsPlayerDelegate?.onPlaybackStateChanged(state: state)
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
func onCue(cue: HMSHLSCue) {
|
|
331
|
+
hmsHlsPlayerDelegate?.onCue(cue: cue)
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
func onPlaybackFailure(error: Error) {
|
|
335
|
+
hmsHlsPlayerDelegate?.onPlaybackFailure(error: error)
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
enum HMSHLSPlayerConstants {
|
|
340
|
+
// HLS Playback Events
|
|
341
|
+
static let ON_PLAYBACK_CUE_EVENT = "ON_PLAYBACK_CUE_EVENT"
|
|
342
|
+
static let ON_PLAYBACK_FAILURE_EVENT = "ON_PLAYBACK_FAILURE_EVENT"
|
|
343
|
+
static let ON_PLAYBACK_STATE_CHANGE_EVENT = "ON_PLAYBACK_STATE_CHANGE_EVENT"
|
|
344
|
+
|
|
345
|
+
// HLS Playback Stats Events
|
|
346
|
+
static let ON_STATS_EVENT_UPDATE = "ON_STATS_EVENT_UPDATE"
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
extension HMSHLSPlaybackState: CustomStringConvertible {
|
|
350
|
+
public var description: String {
|
|
351
|
+
switch self {
|
|
352
|
+
case .buffering:
|
|
353
|
+
return "buffering"
|
|
354
|
+
case .failed:
|
|
355
|
+
return "failed"
|
|
356
|
+
case .paused:
|
|
357
|
+
return "paused"
|
|
358
|
+
case .playing:
|
|
359
|
+
return "playing"
|
|
360
|
+
case .stopped:
|
|
361
|
+
return "stopped"
|
|
362
|
+
case .unknown:
|
|
363
|
+
return "unknown"
|
|
364
|
+
@unknown default:
|
|
365
|
+
return "unknown"
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
package/ios/HMSHelper.swift
CHANGED
|
@@ -139,11 +139,15 @@ class HMSHelper: NSObject {
|
|
|
139
139
|
static func getFrameworkInfo(_ frameworkInfo: NSDictionary?) -> HMSFrameworkInfo? {
|
|
140
140
|
guard let data = frameworkInfo,
|
|
141
141
|
let version = data.value(forKey: "version") as? String,
|
|
142
|
-
let sdkVersion = data.value(forKey: "sdkVersion") as? String
|
|
142
|
+
let sdkVersion = data.value(forKey: "sdkVersion") as? String,
|
|
143
|
+
let isPrebuilt = data["isPrebuilt"] as? Bool
|
|
143
144
|
else {
|
|
144
145
|
return nil
|
|
145
146
|
}
|
|
146
|
-
return HMSFrameworkInfo(type: HMSFrameworkType.reactNative,
|
|
147
|
+
return HMSFrameworkInfo(type: HMSFrameworkType.reactNative,
|
|
148
|
+
version: version,
|
|
149
|
+
sdkVersion: sdkVersion,
|
|
150
|
+
isPrebuilt: isPrebuilt)
|
|
147
151
|
}
|
|
148
152
|
|
|
149
153
|
static func getLocalVideoSettings(_ settings: NSDictionary?) -> HMSVideoTrackSettings? {
|
package/ios/HMSManager.m
CHANGED
|
@@ -38,6 +38,7 @@ RCT_EXTERN_METHOD(destroy: (NSDictionary) data :(RCTPromiseResolveBlock) resolve
|
|
|
38
38
|
RCT_EXTERN_METHOD(startScreenshare: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
|
|
39
39
|
RCT_EXTERN_METHOD(stopScreenshare: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
|
|
40
40
|
RCT_EXTERN_METHOD(isScreenShared: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
|
|
41
|
+
RCT_EXTERN_METHOD(switchAudioOutputUsingIOSUI: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
|
|
41
42
|
RCT_EXTERN_METHOD(playAudioShare: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
|
|
42
43
|
RCT_EXTERN_METHOD(setAudioShareVolume: (NSDictionary) data)
|
|
43
44
|
RCT_EXTERN_METHOD(stopAudioShare: (NSDictionary) data)
|
|
@@ -51,8 +52,6 @@ RCT_EXTERN_METHOD(getRemotePeers: (NSDictionary) data :(RCTPromiseResolveBlock)
|
|
|
51
52
|
RCT_EXTERN_METHOD(getRoles: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
|
|
52
53
|
RCT_EXTERN_METHOD(enableNetworkQualityUpdates: (NSDictionary) data)
|
|
53
54
|
RCT_EXTERN_METHOD(disableNetworkQualityUpdates: (NSDictionary) data)
|
|
54
|
-
RCT_EXTERN_METHOD(setSessionMetaData: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
|
|
55
|
-
RCT_EXTERN_METHOD(getSessionMetaData: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
|
|
56
55
|
RCT_EXTERN_METHOD(changeRoleOfPeer: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
|
|
57
56
|
RCT_EXTERN_METHOD(changeRoleOfPeersWithRoles: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
|
|
58
57
|
|
|
@@ -80,4 +79,8 @@ RCT_EXTERN_METHOD(setSessionMetadataForKey: (NSDictionary) data :(RCTPromiseReso
|
|
|
80
79
|
RCT_EXTERN_METHOD(addKeyChangeListener: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
|
|
81
80
|
RCT_EXTERN_METHOD(removeKeyChangeListener: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
|
|
82
81
|
|
|
82
|
+
#pragma mark - Prebuilt
|
|
83
|
+
|
|
84
|
+
RCT_EXTERN_METHOD(getRoomLayout: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
|
|
85
|
+
|
|
83
86
|
@end
|
package/ios/HMSManager.swift
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import HMSSDK
|
|
2
|
+
import AVKit.AVRoutePickerView
|
|
2
3
|
|
|
3
4
|
@objc(HMSManager)
|
|
4
5
|
class HMSManager: RCTEventEmitter {
|
|
@@ -74,6 +75,14 @@ class HMSManager: RCTEventEmitter {
|
|
|
74
75
|
resolve?(["success": id + " removed"])
|
|
75
76
|
}
|
|
76
77
|
|
|
78
|
+
// MARK: - Prebuilt
|
|
79
|
+
|
|
80
|
+
@objc
|
|
81
|
+
func getRoomLayout(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
82
|
+
let hms = HMSHelper.getHms(data, hmsCollection)
|
|
83
|
+
hms?.getRoomLayout(data, resolve, reject)
|
|
84
|
+
}
|
|
85
|
+
|
|
77
86
|
// MARK: - Preview
|
|
78
87
|
|
|
79
88
|
@objc
|
|
@@ -182,6 +191,27 @@ class HMSManager: RCTEventEmitter {
|
|
|
182
191
|
hms?.setVolume(data)
|
|
183
192
|
}
|
|
184
193
|
|
|
194
|
+
@objc
|
|
195
|
+
func switchAudioOutputUsingIOSUI(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
196
|
+
DispatchQueue.main.async {
|
|
197
|
+
// Creating RoutePickerView
|
|
198
|
+
// Note:- We will trigger tap event on it without rendering this view in UI.
|
|
199
|
+
let routePickerView = AVRoutePickerView()
|
|
200
|
+
|
|
201
|
+
// Iterating over subviews of AVRoutePickerView
|
|
202
|
+
for view in routePickerView.subviews {
|
|
203
|
+
// Checking if the current subview is UIButton
|
|
204
|
+
if let button = view as? UIButton {
|
|
205
|
+
// Trigger tap event on the button
|
|
206
|
+
// so, that Picker View is shown
|
|
207
|
+
button.sendActions(for: .touchUpInside)
|
|
208
|
+
break
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
resolve?(true)
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
185
215
|
// MARK: - Messaging
|
|
186
216
|
|
|
187
217
|
@objc
|
|
@@ -411,15 +441,6 @@ class HMSManager: RCTEventEmitter {
|
|
|
411
441
|
hms?.disableNetworkQualityUpdates()
|
|
412
442
|
}
|
|
413
443
|
|
|
414
|
-
// MARK: - Session Metadata
|
|
415
|
-
|
|
416
|
-
@objc
|
|
417
|
-
func setSessionMetaData(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
418
|
-
let hms = HMSHelper.getHms(data, hmsCollection)
|
|
419
|
-
|
|
420
|
-
hms?.setSessionMetaData(data, resolve, reject)
|
|
421
|
-
}
|
|
422
|
-
|
|
423
444
|
// MARK: - Peer & Room Property Getter Functions
|
|
424
445
|
|
|
425
446
|
@objc
|
|
@@ -499,13 +520,6 @@ class HMSManager: RCTEventEmitter {
|
|
|
499
520
|
hms?.getRoles(resolve)
|
|
500
521
|
}
|
|
501
522
|
|
|
502
|
-
@objc
|
|
503
|
-
func getSessionMetaData(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
504
|
-
let hms = HMSHelper.getHms(data, hmsCollection)
|
|
505
|
-
|
|
506
|
-
hms?.getSessionMetaData(resolve, reject)
|
|
507
|
-
}
|
|
508
|
-
|
|
509
523
|
@objc
|
|
510
524
|
func getRemoteVideoTrackFromTrackId(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
511
525
|
let hms = HMSHelper.getHms(data, hmsCollection)
|