@100mslive/react-native-hms 1.6.1 → 1.7.0
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 +15 -7
- package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +14 -15
- 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 +10 -5
- package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +0 -14
- package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +90 -106
- 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 +4 -4
- package/ios/HMSHLSPlayerManager.m +22 -0
- package/ios/HMSHLSPlayerManager.swift +368 -0
- package/ios/HMSManager.m +1 -2
- package/ios/HMSManager.swift +22 -16
- package/ios/HMSRNSDK.swift +34 -85
- package/lib/commonjs/classes/HMSEncoder.js +12 -4
- package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSMessage.js +2 -1
- package/lib/commonjs/classes/HMSMessage.js.map +1 -1
- 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 +30 -38
- package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
- package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
- package/lib/commonjs/classes/HMSSDK.js +36 -33
- package/lib/commonjs/classes/HMSSDK.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/index.js +38 -0
- 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/HMSEncoder.js +12 -4
- package/lib/module/classes/HMSEncoder.js.map +1 -1
- package/lib/module/classes/HMSLocalPeer.js.map +1 -1
- package/lib/module/classes/HMSMessage.js +2 -1
- package/lib/module/classes/HMSMessage.js.map +1 -1
- 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 +30 -38
- package/lib/module/classes/HMSPeersCache.js.map +1 -1
- package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
- package/lib/module/classes/HMSRemotePeer.js.map +1 -1
- package/lib/module/classes/HMSSDK.js +36 -33
- package/lib/module/classes/HMSSDK.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/index.js +7 -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/HMSEncoder.d.ts +1 -0
- package/lib/typescript/classes/HMSLocalPeer.d.ts +0 -1
- package/lib/typescript/classes/HMSMessage.d.ts +2 -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/HMSRemotePeer.d.ts +0 -1
- package/lib/typescript/classes/HMSSDK.d.ts +12 -17
- 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/index.d.ts +3 -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 +10 -5
- package/react-native-hms.podspec +1 -0
- package/sdk-versions.json +3 -2
- package/src/classes/HMSEncoder.ts +15 -3
- package/src/classes/HMSLocalPeer.ts +0 -1
- package/src/classes/HMSMessage.ts +3 -1
- package/src/classes/HMSPeer.ts +96 -48
- package/src/classes/HMSPeerUpdate.ts +4 -4
- package/src/classes/HMSPeersCache.ts +53 -40
- package/src/classes/HMSRTMPConfig.ts +2 -2
- package/src/classes/HMSRemotePeer.ts +0 -1
- package/src/classes/HMSSDK.tsx +59 -47
- package/src/components/HMSHLSPlayer/HMSHLSPlayer.tsx +235 -0
- package/src/components/HMSHLSPlayer/RCTHMSHLSPlayer.ts +38 -0
- package/src/components/HMSHLSPlayer/hooks.ts +100 -0
- package/src/components/HMSHLSPlayer/index.ts +9 -0
- package/src/index.ts +8 -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/6.9/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/6.9/fileChanges/last-build.bin +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/6.9/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/vcs-1/gc.properties +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/a/8/a8c9f5ddd88723818e51ae3cf8693d02355a8691 +0 -0
- package/android/.idea/sonarlint/issuestore/f/0/f07866736216be0ee2aba49e392191aeae700a35 +0 -0
- package/android/.idea/sonarlint/issuestore/index.pb +0 -7
- package/android/.idea/vcs.xml +0 -6
|
@@ -2,9 +2,9 @@ package com.reactnativehmssdk
|
|
|
2
2
|
|
|
3
3
|
import android.content.Intent
|
|
4
4
|
import android.content.Intent.FLAG_ACTIVITY_NEW_TASK
|
|
5
|
-
import android.util.Log
|
|
6
5
|
import com.facebook.react.bridge.*
|
|
7
6
|
import com.facebook.react.bridge.UiThreadUtil.runOnUiThread
|
|
7
|
+
import com.google.gson.JsonElement
|
|
8
8
|
import kotlinx.coroutines.launch
|
|
9
9
|
import live.hms.video.audio.HMSAudioManager
|
|
10
10
|
import live.hms.video.connection.stats.*
|
|
@@ -150,6 +150,13 @@ class HMSRNSDK(
|
|
|
150
150
|
return data
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
+
fun emitHMSMessageSuccess(hmsMessage: HMSMessage): ReadableMap {
|
|
154
|
+
val data: WritableMap = Arguments.createMap()
|
|
155
|
+
data.putString("message", hmsMessage.message)
|
|
156
|
+
data.putString("messageId", hmsMessage.messageId)
|
|
157
|
+
return data
|
|
158
|
+
}
|
|
159
|
+
|
|
153
160
|
fun preview(credentials: ReadableMap) {
|
|
154
161
|
if (previewInProgress) {
|
|
155
162
|
self.emitCustomError("PREVIEW_IS_IN_PROGRESS")
|
|
@@ -179,13 +186,8 @@ class HMSRNSDK(
|
|
|
179
186
|
if (eventsEnableStatus["3"] != true) {
|
|
180
187
|
return
|
|
181
188
|
}
|
|
182
|
-
if (type === HMSPeerUpdate.
|
|
183
|
-
type === HMSPeerUpdate.
|
|
184
|
-
type === HMSPeerUpdate.BECAME_DOMINANT_SPEAKER ||
|
|
185
|
-
type === HMSPeerUpdate.NO_DOMINANT_SPEAKER ||
|
|
186
|
-
type === HMSPeerUpdate.RESIGNED_DOMINANT_SPEAKER ||
|
|
187
|
-
type === HMSPeerUpdate.STARTED_SPEAKING ||
|
|
188
|
-
type === HMSPeerUpdate.STOPPED_SPEAKING
|
|
189
|
+
if (type === HMSPeerUpdate.BECAME_DOMINANT_SPEAKER ||
|
|
190
|
+
type === HMSPeerUpdate.NO_DOMINANT_SPEAKER
|
|
189
191
|
) {
|
|
190
192
|
return
|
|
191
193
|
}
|
|
@@ -314,13 +316,8 @@ class HMSRNSDK(
|
|
|
314
316
|
if (eventsEnableStatus["3"] != true) {
|
|
315
317
|
return
|
|
316
318
|
}
|
|
317
|
-
if (type === HMSPeerUpdate.
|
|
318
|
-
type === HMSPeerUpdate.
|
|
319
|
-
type === HMSPeerUpdate.BECAME_DOMINANT_SPEAKER ||
|
|
320
|
-
type === HMSPeerUpdate.NO_DOMINANT_SPEAKER ||
|
|
321
|
-
type === HMSPeerUpdate.RESIGNED_DOMINANT_SPEAKER ||
|
|
322
|
-
type === HMSPeerUpdate.STARTED_SPEAKING ||
|
|
323
|
-
type === HMSPeerUpdate.STOPPED_SPEAKING
|
|
319
|
+
if (type === HMSPeerUpdate.BECAME_DOMINANT_SPEAKER ||
|
|
320
|
+
type === HMSPeerUpdate.NO_DOMINANT_SPEAKER
|
|
324
321
|
) {
|
|
325
322
|
return
|
|
326
323
|
}
|
|
@@ -377,6 +374,7 @@ class HMSRNSDK(
|
|
|
377
374
|
|
|
378
375
|
data.putMap("sender", HMSDecoder.getHmsPeerSubset(message.sender))
|
|
379
376
|
data.putString("message", message.message)
|
|
377
|
+
data.putString("messageId", message.messageId)
|
|
380
378
|
data.putString("type", message.type)
|
|
381
379
|
data.putString("time", message.serverReceiveTime.toString())
|
|
382
380
|
data.putString("id", id)
|
|
@@ -670,7 +668,7 @@ class HMSRNSDK(
|
|
|
670
668
|
callback?.reject(error.code.toString(), error.message)
|
|
671
669
|
}
|
|
672
670
|
override fun onSuccess(hmsMessage: HMSMessage) {
|
|
673
|
-
callback?.resolve(
|
|
671
|
+
callback?.resolve(emitHMSMessageSuccess(hmsMessage))
|
|
674
672
|
}
|
|
675
673
|
},
|
|
676
674
|
)
|
|
@@ -702,7 +700,7 @@ class HMSRNSDK(
|
|
|
702
700
|
callback?.reject(error.code.toString(), error.message)
|
|
703
701
|
}
|
|
704
702
|
override fun onSuccess(hmsMessage: HMSMessage) {
|
|
705
|
-
callback?.resolve(
|
|
703
|
+
callback?.resolve(emitHMSMessageSuccess(hmsMessage))
|
|
706
704
|
}
|
|
707
705
|
},
|
|
708
706
|
)
|
|
@@ -733,7 +731,7 @@ class HMSRNSDK(
|
|
|
733
731
|
callback?.reject(error.code.toString(), error.message)
|
|
734
732
|
}
|
|
735
733
|
override fun onSuccess(hmsMessage: HMSMessage) {
|
|
736
|
-
callback?.resolve(
|
|
734
|
+
callback?.resolve(emitHMSMessageSuccess(hmsMessage))
|
|
737
735
|
}
|
|
738
736
|
},
|
|
739
737
|
)
|
|
@@ -762,24 +760,30 @@ class HMSRNSDK(
|
|
|
762
760
|
|
|
763
761
|
if (peerId !== null && role !== null) {
|
|
764
762
|
val hmsPeer = HMSHelper.getPeerFromPeerId(peerId, hmsSDK?.getRoom())
|
|
763
|
+
if (hmsPeer == null) {
|
|
764
|
+
callback?.reject("4000", "PEER_NOT_FOUND")
|
|
765
|
+
return
|
|
766
|
+
}
|
|
765
767
|
val hmsRole = HMSHelper.getRoleFromRoleName(role, hmsSDK?.getRoles())
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
hmsPeer,
|
|
770
|
-
hmsRole,
|
|
771
|
-
force,
|
|
772
|
-
object : HMSActionResultListener {
|
|
773
|
-
override fun onSuccess() {
|
|
774
|
-
callback?.resolve(emitHMSSuccess())
|
|
775
|
-
}
|
|
776
|
-
override fun onError(error: HMSException) {
|
|
777
|
-
self.emitHMSError(error)
|
|
778
|
-
callback?.reject(error.code.toString(), error.message)
|
|
779
|
-
}
|
|
780
|
-
},
|
|
781
|
-
)
|
|
768
|
+
if (hmsRole == null) {
|
|
769
|
+
callback?.reject("4000", "ROLE_NOT_FOUND")
|
|
770
|
+
return
|
|
782
771
|
}
|
|
772
|
+
|
|
773
|
+
hmsSDK?.changeRole(
|
|
774
|
+
hmsPeer,
|
|
775
|
+
hmsRole,
|
|
776
|
+
force,
|
|
777
|
+
object : HMSActionResultListener {
|
|
778
|
+
override fun onSuccess() {
|
|
779
|
+
callback?.resolve(emitHMSSuccess())
|
|
780
|
+
}
|
|
781
|
+
override fun onError(error: HMSException) {
|
|
782
|
+
self.emitHMSError(error)
|
|
783
|
+
callback?.reject(error.code.toString(), error.message)
|
|
784
|
+
}
|
|
785
|
+
},
|
|
786
|
+
)
|
|
783
787
|
}
|
|
784
788
|
} else {
|
|
785
789
|
val errorMessage = "changeRole: $requiredKeys"
|
|
@@ -801,24 +805,30 @@ class HMSRNSDK(
|
|
|
801
805
|
|
|
802
806
|
if (peerId !== null && role !== null) {
|
|
803
807
|
val hmsPeer = HMSHelper.getPeerFromPeerId(peerId, hmsSDK?.getRoom())
|
|
808
|
+
if (hmsPeer == null) {
|
|
809
|
+
promise?.reject("4000", "PEER_NOT_FOUND")
|
|
810
|
+
return
|
|
811
|
+
}
|
|
804
812
|
val hmsRole = HMSHelper.getRoleFromRoleName(role, hmsSDK?.getRoles())
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
hmsPeer,
|
|
809
|
-
hmsRole,
|
|
810
|
-
force,
|
|
811
|
-
object : HMSActionResultListener {
|
|
812
|
-
override fun onSuccess() {
|
|
813
|
-
promise?.resolve(emitHMSSuccess())
|
|
814
|
-
}
|
|
815
|
-
override fun onError(error: HMSException) {
|
|
816
|
-
self.emitHMSError(error)
|
|
817
|
-
promise?.reject(error.code.toString(), error.message)
|
|
818
|
-
}
|
|
819
|
-
},
|
|
820
|
-
)
|
|
813
|
+
if (hmsRole == null) {
|
|
814
|
+
promise?.reject("4000", "ROLE_NOT_FOUND")
|
|
815
|
+
return
|
|
821
816
|
}
|
|
817
|
+
|
|
818
|
+
hmsSDK?.changeRoleOfPeer(
|
|
819
|
+
hmsPeer,
|
|
820
|
+
hmsRole,
|
|
821
|
+
force,
|
|
822
|
+
object : HMSActionResultListener {
|
|
823
|
+
override fun onSuccess() {
|
|
824
|
+
promise?.resolve(emitHMSSuccess())
|
|
825
|
+
}
|
|
826
|
+
override fun onError(error: HMSException) {
|
|
827
|
+
self.emitHMSError(error)
|
|
828
|
+
promise?.reject(error.code.toString(), error.message)
|
|
829
|
+
}
|
|
830
|
+
},
|
|
831
|
+
)
|
|
822
832
|
}
|
|
823
833
|
} else {
|
|
824
834
|
val errorMessage = "changeRoleOfPeer: $requiredKeys"
|
|
@@ -1258,7 +1268,7 @@ class HMSRNSDK(
|
|
|
1258
1268
|
val requiredKeys =
|
|
1259
1269
|
HMSHelper.getUnavailableRequiredKey(
|
|
1260
1270
|
data,
|
|
1261
|
-
arrayOf(Pair("record", "Boolean")
|
|
1271
|
+
arrayOf(Pair("record", "Boolean")),
|
|
1262
1272
|
)
|
|
1263
1273
|
if (requiredKeys === null) {
|
|
1264
1274
|
val config = HMSHelper.getRtmpConfig(data)
|
|
@@ -1533,50 +1543,6 @@ class HMSRNSDK(
|
|
|
1533
1543
|
}
|
|
1534
1544
|
}
|
|
1535
1545
|
|
|
1536
|
-
@Deprecated("SessionMetaData APIs has been deprecated in favour of Session Store APIs", ReplaceWith("setSessionMetadataForKey"), DeprecationLevel.WARNING)
|
|
1537
|
-
fun setSessionMetaData(data: ReadableMap, callback: Promise?) {
|
|
1538
|
-
if (data.hasKey("sessionMetaData")) {
|
|
1539
|
-
val sessionMetaData = data.getString("sessionMetaData")
|
|
1540
|
-
hmsSDK?.setSessionMetaData(
|
|
1541
|
-
sessionMetaData,
|
|
1542
|
-
object : HMSActionResultListener {
|
|
1543
|
-
override fun onSuccess() {
|
|
1544
|
-
callback?.resolve(emitHMSSuccess())
|
|
1545
|
-
}
|
|
1546
|
-
|
|
1547
|
-
override fun onError(error: HMSException) {
|
|
1548
|
-
callback?.reject(error.code.toString(), error.message)
|
|
1549
|
-
self.emitHMSError(error)
|
|
1550
|
-
}
|
|
1551
|
-
},
|
|
1552
|
-
)
|
|
1553
|
-
} else {
|
|
1554
|
-
val errorMessage = "setSessionMetaData: sessionMetaData_Is_Required"
|
|
1555
|
-
self.emitRequiredKeysError(errorMessage)
|
|
1556
|
-
rejectCallback(callback, errorMessage)
|
|
1557
|
-
}
|
|
1558
|
-
}
|
|
1559
|
-
|
|
1560
|
-
@Deprecated("SessionMetaData APIs has been deprecated in favour of Session Store APIs", ReplaceWith("getSessionMetadataForKey"), DeprecationLevel.WARNING)
|
|
1561
|
-
fun getSessionMetaData(callback: Promise?) {
|
|
1562
|
-
hmsSDK?.getSessionMetaData(
|
|
1563
|
-
object : HMSSessionMetadataListener {
|
|
1564
|
-
override fun onSuccess(sessionMetadata: Any?) {
|
|
1565
|
-
if (sessionMetadata is String?) {
|
|
1566
|
-
callback?.resolve(sessionMetadata)
|
|
1567
|
-
} else {
|
|
1568
|
-
callback?.reject("6002", "Session Store: Unsupported type received, only String type is supported")
|
|
1569
|
-
}
|
|
1570
|
-
}
|
|
1571
|
-
|
|
1572
|
-
override fun onError(error: HMSException) {
|
|
1573
|
-
callback?.reject(error.code.toString(), error.message)
|
|
1574
|
-
self.emitHMSError(error)
|
|
1575
|
-
}
|
|
1576
|
-
},
|
|
1577
|
-
)
|
|
1578
|
-
}
|
|
1579
|
-
|
|
1580
1546
|
fun getPeerProperty(data: ReadableMap): WritableMap? {
|
|
1581
1547
|
val requiredKeys =
|
|
1582
1548
|
HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("peerId", "String"), Pair("property", "String")))
|
|
@@ -1985,11 +1951,20 @@ class HMSRNSDK(
|
|
|
1985
1951
|
override fun onError(error: HMSException) {
|
|
1986
1952
|
promise?.reject(error.code.toString(), error.message)
|
|
1987
1953
|
}
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1954
|
+
|
|
1955
|
+
override fun onSuccess(sessionMetadata: JsonElement?) {
|
|
1956
|
+
sessionMetadata.let { sm ->
|
|
1957
|
+
if (sm == null) {
|
|
1958
|
+
promise?.resolve(null)
|
|
1959
|
+
} else {
|
|
1960
|
+
if (sm.isJsonPrimitive) {
|
|
1961
|
+
promise?.resolve(sm.asString)
|
|
1962
|
+
} else if (sm.isJsonNull) {
|
|
1963
|
+
promise?.resolve(null)
|
|
1964
|
+
} else {
|
|
1965
|
+
promise?.resolve(sm.toString())
|
|
1966
|
+
}
|
|
1967
|
+
}
|
|
1993
1968
|
}
|
|
1994
1969
|
}
|
|
1995
1970
|
},
|
|
@@ -2015,16 +1990,25 @@ class HMSRNSDK(
|
|
|
2015
1990
|
}
|
|
2016
1991
|
|
|
2017
1992
|
val keyChangeListener = object : HMSKeyChangeListener {
|
|
2018
|
-
override fun onKeyChanged(key: String, value:
|
|
1993
|
+
override fun onKeyChanged(key: String, value: JsonElement?) {
|
|
2019
1994
|
val map = Arguments.createMap()
|
|
2020
1995
|
map.putString("id", id)
|
|
2021
1996
|
map.putString("key", key)
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
1997
|
+
|
|
1998
|
+
value.let { sm ->
|
|
1999
|
+
if (sm == null) {
|
|
2000
|
+
map.putString("value", null)
|
|
2001
|
+
} else {
|
|
2002
|
+
if (sm.isJsonPrimitive) {
|
|
2003
|
+
map.putString("value", sm.asString)
|
|
2004
|
+
} else if (sm.isJsonNull) {
|
|
2005
|
+
map.putString("value", null)
|
|
2006
|
+
} else {
|
|
2007
|
+
map.putString("value", sm.toString())
|
|
2008
|
+
}
|
|
2009
|
+
}
|
|
2027
2010
|
}
|
|
2011
|
+
|
|
2028
2012
|
delegate.emitEvent("ON_SESSION_STORE_CHANGED", map)
|
|
2029
2013
|
}
|
|
2030
2014
|
}
|
|
@@ -11,6 +11,6 @@ class HmssdkPackage : ReactPackage {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
|
|
14
|
-
return listOf<ViewManager<*, *>>(HMSSDKViewManager())
|
|
14
|
+
return listOf<ViewManager<*, *>>(HMSSDKViewManager(), HMSHLSPlayerManager())
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
|
|
3
|
+
<androidx.media3.ui.PlayerView xmlns:android="http://schemas.android.com/apk/res/android"
|
|
4
|
+
xmlns:tools="http://schemas.android.com/tools"
|
|
5
|
+
android:id="@+id/hls_view"
|
|
6
|
+
android:layout_width="match_parent"
|
|
7
|
+
android:layout_height="wrap_content"
|
|
8
|
+
android:layout_gravity="center"
|
|
9
|
+
/>
|
package/ios/HMSDecoder.swift
CHANGED
|
@@ -90,10 +90,10 @@ class HMSDecoder: NSObject {
|
|
|
90
90
|
switch peerUpdateType {
|
|
91
91
|
case .peerJoined: return "0"
|
|
92
92
|
case .peerLeft: return "1"
|
|
93
|
-
case .roleUpdated: return "
|
|
94
|
-
case .nameUpdated: return "
|
|
95
|
-
case .metadataUpdated: return "
|
|
96
|
-
case .networkQualityUpdated: return "
|
|
93
|
+
case .roleUpdated: return "4"
|
|
94
|
+
case .nameUpdated: return "5"
|
|
95
|
+
case .metadataUpdated: return "6"
|
|
96
|
+
case .networkQualityUpdated: return "7"
|
|
97
97
|
default: return nil
|
|
98
98
|
}
|
|
99
99
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
|
|
2
|
+
#import "React/RCTViewManager.h"
|
|
3
|
+
#import <Foundation/Foundation.h>
|
|
4
|
+
|
|
5
|
+
@interface RCT_EXTERN_MODULE(HMSHLSPlayerManager, RCTViewManager)
|
|
6
|
+
|
|
7
|
+
RCT_EXPORT_VIEW_PROPERTY(url, NSString);
|
|
8
|
+
RCT_EXPORT_VIEW_PROPERTY(enableStats, BOOL);
|
|
9
|
+
RCT_EXPORT_VIEW_PROPERTY(enableControls, BOOL);
|
|
10
|
+
RCT_EXPORT_VIEW_PROPERTY(onHmsHlsPlaybackEvent, RCTDirectEventBlock);
|
|
11
|
+
RCT_EXPORT_VIEW_PROPERTY(onHmsHlsStatsEvent, RCTDirectEventBlock);
|
|
12
|
+
|
|
13
|
+
RCT_EXTERN_METHOD(play:(nonnull NSNumber *)node url:(nullable NSString *)url)
|
|
14
|
+
RCT_EXTERN_METHOD(stop:(nonnull NSNumber *)node)
|
|
15
|
+
RCT_EXTERN_METHOD(pause:(nonnull NSNumber *)node)
|
|
16
|
+
RCT_EXTERN_METHOD(resume:(nonnull NSNumber *)node)
|
|
17
|
+
RCT_EXTERN_METHOD(seekToLivePosition:(nonnull NSNumber *)node)
|
|
18
|
+
RCT_EXTERN_METHOD(seekForward:(nonnull NSNumber *)node seconds:(nonnull NSNumber *)seconds)
|
|
19
|
+
RCT_EXTERN_METHOD(seekBackward:(nonnull NSNumber *)node seconds:(nonnull NSNumber *)seconds)
|
|
20
|
+
RCT_EXTERN_METHOD(setVolume:(nonnull NSNumber *)node level:(nonnull NSNumber *)level)
|
|
21
|
+
|
|
22
|
+
@end
|