@100mslive/react-native-hms 0.9.7 → 0.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/README.md +13 -1
  2. package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
  3. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  4. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  5. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  6. package/android/.gradle/checksums/checksums.lock +0 -0
  7. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  8. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  9. package/android/.idea/compiler.xml +6 -0
  10. package/android/.idea/gradle.xml +6 -1
  11. package/android/.idea/jarRepositories.xml +40 -0
  12. package/android/.idea/libraries/Gradle__androidx_activity_activity_1_2_4_aar.xml +16 -0
  13. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_3_0.xml +11 -0
  14. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_1_0_aar.xml +13 -0
  15. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_4_1_aar.xml +16 -0
  16. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_4_1_aar.xml +13 -0
  17. package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml +11 -0
  18. package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml +13 -0
  19. package/android/.idea/libraries/Gradle__androidx_autofill_autofill_1_1_0_aar.xml +16 -0
  20. package/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml +11 -0
  21. package/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_2_1_3_aar.xml +13 -0
  22. package/android/.idea/libraries/Gradle__androidx_core_core_1_7_0_aar.xml +16 -0
  23. package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +13 -0
  24. package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +13 -0
  25. package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +16 -0
  26. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_6_aar.xml +16 -0
  27. package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +13 -0
  28. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_4_0.xml +11 -0
  29. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +13 -0
  30. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml +13 -0
  31. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_4_0_aar.xml +13 -0
  32. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml +13 -0
  33. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml +13 -0
  34. package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +13 -0
  35. package/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml +13 -0
  36. package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +16 -0
  37. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml +13 -0
  38. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml +13 -0
  39. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml +13 -0
  40. package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +13 -0
  41. package/android/.idea/libraries/Gradle__com_facebook_fbjni_fbjni_java_only_0_2_2.xml +13 -0
  42. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_5_0_aar.xml +15 -0
  43. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_5_0_aar.xml +18 -0
  44. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_5_0_aar.xml +18 -0
  45. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_5_0_aar.xml +18 -0
  46. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_5_0_aar.xml +18 -0
  47. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_native_2_5_0_aar.xml +15 -0
  48. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_5_0_aar.xml +15 -0
  49. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_ashmem_2_5_0_aar.xml +15 -0
  50. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_java_2_5_0_aar.xml +15 -0
  51. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_native_2_5_0_aar.xml +15 -0
  52. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_5_0_aar.xml +15 -0
  53. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_5_0_aar.xml +15 -0
  54. package/android/.idea/libraries/Gradle__com_facebook_fresco_ui_common_2_5_0_aar.xml +15 -0
  55. package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_18_0.xml +13 -0
  56. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_69_1_debug_aar.xml +14 -0
  57. package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_10_3.xml +13 -0
  58. package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_10_3.xml +13 -0
  59. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_10_3_aar.xml +15 -0
  60. package/android/.idea/libraries/Gradle__com_facebook_yoga_proguard_annotations_1_19_0.xml +13 -0
  61. package/android/.idea/libraries/Gradle__com_github_100mslive_android_sdk_lib_2_4_2_aar.xml +11 -0
  62. package/android/.idea/libraries/Gradle__com_github_100mslive_webrtc_m97_aar.xml +11 -0
  63. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +13 -0
  64. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_4_9_2.xml +13 -0
  65. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_4_9_2.xml +13 -0
  66. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_2_9_0.xml +13 -0
  67. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +13 -0
  68. package/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml +13 -0
  69. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_annotations_jvm_1_3_72.xml +13 -0
  70. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_6_10.xml +13 -0
  71. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_6_10.xml +13 -0
  72. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_6_10.xml +13 -0
  73. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_6_10.xml +13 -0
  74. package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_android_1_6_0.xml +13 -0
  75. package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_6_0.xml +13 -0
  76. package/android/.idea/misc.xml +1 -1
  77. package/android/.idea/modules/android.androidTest.iml +201 -0
  78. package/android/.idea/modules/android.iml +28 -6
  79. package/android/.idea/modules/android.main.iml +196 -0
  80. package/android/.idea/modules/android.unitTest.iml +195 -0
  81. package/android/.idea/modules.xml +3 -0
  82. package/android/build.gradle +1 -1
  83. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +2 -2
  84. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +35 -5
  85. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +26 -34
  86. package/ios/HMSHelper.swift +13 -0
  87. package/ios/HMSRNSDK.swift +147 -126
  88. package/lib/commonjs/classes/HMSRTMPConfig.js +3 -0
  89. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  90. package/lib/commonjs/classes/HMSRtmpVideoResolution.js +23 -0
  91. package/lib/commonjs/classes/HMSRtmpVideoResolution.js.map +1 -0
  92. package/lib/commonjs/classes/HMSSDK.js +3 -1
  93. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  94. package/lib/commonjs/index.js +14 -0
  95. package/lib/commonjs/index.js.map +1 -1
  96. package/lib/module/classes/HMSRTMPConfig.js +3 -0
  97. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  98. package/lib/module/classes/HMSRtmpVideoResolution.js +14 -0
  99. package/lib/module/classes/HMSRtmpVideoResolution.js.map +1 -0
  100. package/lib/module/classes/HMSSDK.js +2 -1
  101. package/lib/module/classes/HMSSDK.js.map +1 -1
  102. package/lib/module/index.js +1 -0
  103. package/lib/module/index.js.map +1 -1
  104. package/lib/typescript/classes/HMSRTMPConfig.d.ts +3 -0
  105. package/lib/typescript/classes/HMSRtmpVideoResolution.d.ts +8 -0
  106. package/lib/typescript/classes/HMSSDK.d.ts +1 -1
  107. package/lib/typescript/index.d.ts +1 -0
  108. package/package.json +1 -1
  109. package/react-native-hms.podspec +1 -1
  110. package/src/classes/HMSRTMPConfig.ts +5 -0
  111. package/src/classes/HMSRtmpVideoResolution.ts +9 -0
  112. package/src/classes/HMSSDK.tsx +6 -2
  113. package/src/index.ts +1 -0
@@ -0,0 +1,195 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module external.linked.project.id="android:unitTest" external.linked.project.path="$MODULE_DIR$/../.." external.root.project.path="$MODULE_DIR$/../.." external.system.id="GRADLE" external.system.module.type="sourceSet" type="JAVA_MODULE" version="4">
3
+ <component name="FacetManager">
4
+ <facet type="kotlin-language" name="Kotlin">
5
+ <configuration version="5" platform="JVM 1.8" allPlatforms="JVM [1.8]" useProjectSettings="false">
6
+ <compilerSettings>
7
+ <option name="additionalArguments" value="-Xallow-no-source-files" />
8
+ </compilerSettings>
9
+ <compilerArguments>
10
+ <flagArguments>
11
+ <flagArg name="noReflect" arg="true" />
12
+ <flagArg name="noStdlib" arg="true" />
13
+ </flagArguments>
14
+ <stringArguments>
15
+ <stringArg name="classpath">
16
+ <args>
17
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/8ed76e3698e0bc700507730f5ba2137b/transformed/react-native-0.69.1-debug-api.jar</arg>
18
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.infer.annotation/infer-annotation/0.18.0/27539793fe93ed7d92b6376281c16cda8278ab2f/infer-annotation-0.18.0.jar</arg>
19
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/3.0.2/25ea2e8b0c338a877313bd4672d3fe056ea78f0d/jsr305-3.0.2.jar</arg>
20
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-annotations-jvm/1.3.72/7dba6c57de526588d8080317bda0c14cd88c8055/kotlin-annotations-jvm-1.3.72.jar</arg>
21
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.yoga/proguard-annotations/1.19.0/fcbbb39052e6490eaaf6a6959c49c3a4fbe87c63/proguard-annotations-1.19.0.jar</arg>
22
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/6975da39a7040257bd51d21a231b76c915872d38/javax.inject-1.jar</arg>
23
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/4b9dc9122dfcd48146ad80fe374dbf3a/transformed/appcompat-1.4.1-api.jar</arg>
24
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/1c5ea4daeaf43301ff1e89ff8ef0a90f/transformed/appcompat-resources-1.4.1-api.jar</arg>
25
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/98bac70e329a0d3a7d7274a5ce22339c/transformed/swiperefreshlayout-1.0.0-api.jar</arg>
26
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/5a2d5b56931db97564262e4dd60f8c36/transformed/fragment-1.3.6-api.jar</arg>
27
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/284051b43e6ef25ed7b9086e4b6a019b/transformed/activity-1.2.4-api.jar</arg>
28
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/66abf91a949344f06e196a5ed8521b26/transformed/drawerlayout-1.0.0-api.jar</arg>
29
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/9e014b70992963948c9996ebe5062ecf/transformed/vectordrawable-animated-1.1.0-api.jar</arg>
30
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/9bc722c6122ef9e5c236c4ad3ada1ac3/transformed/vectordrawable-1.1.0-api.jar</arg>
31
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/9c3def852521f799f16b674bad91a80d/transformed/viewpager-1.0.0-api.jar</arg>
32
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/0fc4f7793d70c3acf8715ae6ddaf9743/transformed/loader-1.0.0-api.jar</arg>
33
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/b8943bdb73ecc35a92e536a583ba6b27/transformed/customview-1.0.0-api.jar</arg>
34
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/951bb7edc484356cf3ba0b612a019a7d/transformed/core-1.7.0-api.jar</arg>
35
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/cae22f2626b4e8b0d74e1398cd13bc27/transformed/cursoradapter-1.0.0-api.jar</arg>
36
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/e24e62ce5a52a667099d4f500abad5f7/transformed/lifecycle-viewmodel-savedstate-2.3.1-api.jar</arg>
37
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/8496531c424433353d8f36304f5799f0/transformed/savedstate-1.1.0-api.jar</arg>
38
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/4371ed4c75d1fe7486fd9b9e18ee844e/transformed/interpolator-1.0.0-api.jar</arg>
39
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/9f26e5ff33fa79cec621ba329e10a61b/transformed/lifecycle-runtime-2.4.0-api.jar</arg>
40
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/f62a3afeffc771ba7bd4fcdbd9d48182/transformed/versionedparcelable-1.1.1-api.jar</arg>
41
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/3f937b7a6173135a1270dfdd179ff3cd/transformed/lifecycle-viewmodel-2.3.1-api.jar</arg>
42
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.collection/collection/1.1.0/1f27220b47669781457de0d600849a5de0e89909/collection-1.1.0.jar</arg>
43
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/1251af4a422fac083c34be2a44029fe5/transformed/lifecycle-livedata-2.0.0-api.jar</arg>
44
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/38d061075f51b93b77c51af37709d8a6/transformed/lifecycle-livedata-core-2.3.1-api.jar</arg>
45
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-common/2.4.0/1fdb7349701e9cf2f0a69fc10642b6fef6bb3e12/lifecycle-common-2.4.0.jar</arg>
46
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/225bd884bf752cd40ccec08ea9f65f90/transformed/core-runtime-2.1.0-api.jar</arg>
47
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-common/2.1.0/b3152fc64428c9354344bd89848ecddc09b6f07e/core-common-2.1.0.jar</arg>
48
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.3.0/21f49f5f9b85fc49de712539f79123119740595/annotation-1.3.0.jar</arg>
49
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/b1392658ba2f82ec933bd0f52a2b3a05/transformed/annotation-experimental-1.1.0-api.jar</arg>
50
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/32894cd905a7ac59475cb2b39c98cc9d/transformed/autofill-1.1.0-api.jar</arg>
51
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/bb119d77aadf69638363202725ce595d/transformed/fresco-2.5.0-api.jar</arg>
52
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/69c17cb32dec443453dcf2b42ea80111/transformed/fbcore-2.5.0-api.jar</arg>
53
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/cf51dec4b413f5a144bb84e78e5be479/transformed/soloader-0.10.3-api.jar</arg>
54
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.soloader/annotation/0.10.3/dc58463712cb3e5f03d8ee5ac9743b9ced9afa77/annotation-0.10.3.jar</arg>
55
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.soloader/nativeloader/0.10.3/171783d0f3f525fb9e18eb3af758c0b3aaeaed69/nativeloader-0.10.3.jar</arg>
56
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/b07558198dc34f4d95b13b19057c004b/transformed/ui-common-2.5.0-api.jar</arg>
57
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/2b6a0d60e2e9255a478e8d0d3876bf15/transformed/drawee-2.5.0-api.jar</arg>
58
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/4163ee7181e29b9eedb79c8f25572933/transformed/imagepipeline-2.5.0-api.jar</arg>
59
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/41b6cae29317fadbd700731c0b6a9ce4/transformed/imagepipeline-base-2.5.0-api.jar</arg>
60
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/2b6134924ec422e1c283851ef6531c4e/transformed/imagepipeline-native-2.5.0-api.jar</arg>
61
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/2943a8617202fcfa403726e2f2f76ccb/transformed/memory-type-ashmem-2.5.0-api.jar</arg>
62
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/f878710c67854ec60790b0d248ba2687/transformed/memory-type-native-2.5.0-api.jar</arg>
63
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/3ecc806396a5304abd80f5863b3a6822/transformed/memory-type-java-2.5.0-api.jar</arg>
64
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/feb06ddd7a7305227c860547980094fb/transformed/nativeimagefilters-2.5.0-api.jar</arg>
65
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/1c51949bdbe1e7c1137ecfedb7c39921/transformed/nativeimagetranscoder-2.5.0-api.jar</arg>
66
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/8bff7427ab90df1594256a5dbd42af9d/transformed/imagepipeline-okhttp3-2.5.0-api.jar</arg>
67
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup.okhttp3/okhttp-urlconnection/4.9.2/3b9e64d3d56370bc7488ed8b336d17a8013cb336/okhttp-urlconnection-4.9.2.jar</arg>
68
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup.okhttp3/okhttp/4.9.2/5302714ee9320b64cf65ed865e5f65981ef9ba46/okhttp-4.9.2.jar</arg>
69
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup.okio/okio/2.9.0/dcc813b08ce5933f8bdfd1dfbab4ad4bd170e7a/okio-jvm-2.9.0.jar</arg>
70
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-core-jvm/1.6.0/f3b8fd26c2e76d2f18cbc36aacb6e349fcb9fd5f/kotlinx-coroutines-core-jvm-1.6.0.jar</arg>
71
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-android/1.6.0/453fa53456bbaea50e51bd92d7f16f7bf6fcc58e/kotlinx-coroutines-android-1.6.0.jar</arg>
72
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.6.10/e80fe6ac3c3573a80305f5ec43f86b829e8ab53d/kotlin-stdlib-jdk8-1.6.10.jar</arg>
73
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.6.10/e1c380673654a089c4f0c9f83d0ddfdc1efdb498/kotlin-stdlib-jdk7-1.6.10.jar</arg>
74
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.6.10/b8af3fe6f1ca88526914929add63cf5e7c5049af/kotlin-stdlib-1.6.10.jar</arg>
75
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar</arg>
76
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.6.10/c118700e3a33c8a0d9adc920e9dec0831171925/kotlin-stdlib-common-1.6.10.jar</arg>
77
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.fbjni/fbjni-java-only/0.2.2/de5152e6b7ce18dd242be23994e702309e66e7da/fbjni-java-only-0.2.2.jar</arg>
78
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/9a4a6c93885dd8432e9c3fbe24faa2f7/transformed/lib-2.4.2-api.jar</arg>
79
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/af1d83b39e706bf5c8171c9f1c8c569d/transformed/webrtc-m97-api.jar</arg>
80
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/43630e9b70fd1a26e124ad5eff187a73/transformed/constraintlayout-2.1.3-api.jar</arg>
81
+ <arg>$USER_HOME$/Library/Android/sdk/platforms/android-30/android.jar</arg>
82
+ <arg>$USER_HOME$/Library/Android/sdk/build-tools/28.0.3/core-lambda-stubs.jar</arg>
83
+ </args>
84
+ </stringArg>
85
+ <stringArg name="destination" arg="$MODULE_DIR$/../../build/tmp/kotlin-classes/debugUnitTest" />
86
+ <stringArg name="jvmTarget" arg="1.8" />
87
+ <stringArg name="moduleName" arg="android_debug" />
88
+ <stringArg name="apiVersion" arg="1.5" />
89
+ <stringArg name="languageVersion" arg="1.5" />
90
+ </stringArguments>
91
+ <arrayArguments>
92
+ <arrayArg name="friendPaths">
93
+ <args>
94
+ <arg>$MODULE_DIR$/../../build/tmp/kotlin-classes/debug</arg>
95
+ <arg>$MODULE_DIR$/../../build/intermediates/javac/debug/classes</arg>
96
+ </args>
97
+ </arrayArg>
98
+ <arrayArg name="pluginClasspaths" />
99
+ <arrayArg name="pluginOptions" />
100
+ </arrayArguments>
101
+ </compilerArguments>
102
+ </configuration>
103
+ </facet>
104
+ <facet type="android" name="Android">
105
+ <configuration>
106
+ <option name="SELECTED_BUILD_VARIANT" value="debug" />
107
+ <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
108
+ <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
109
+ <afterSyncTasks>
110
+ <task>generateDebugSources</task>
111
+ </afterSyncTasks>
112
+ <option name="ALLOW_USER_CONFIGURATION" value="false" />
113
+ <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
114
+ <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
115
+ <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/../../src/main/res;file://$MODULE_DIR$/../../src/debug/res;file://$MODULE_DIR$/../../build/generated/res/rs/debug;file://$MODULE_DIR$/../../build/generated/res/resValues/debug" />
116
+ <option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/../../src/androidTest/res;file://$MODULE_DIR$/../../src/androidTestDebug/res;file://$MODULE_DIR$/../../build/generated/res/rs/androidTest/debug;file://$MODULE_DIR$/../../build/generated/res/resValues/androidTest/debug" />
117
+ <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
118
+ <option name="PROJECT_TYPE" value="1" />
119
+ </configuration>
120
+ </facet>
121
+ </component>
122
+ <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="true">
123
+ <exclude-output />
124
+ <content url="file://$MODULE_DIR$/../../build/generated/ap_generated_sources/debugUnitTest/out" />
125
+ <content url="file://$MODULE_DIR$/../../src/test" />
126
+ <content url="file://$MODULE_DIR$/../../src/testDebug" />
127
+ <orderEntry type="jdk" jdkName="Android API 30 Platform" jdkType="Android SDK" />
128
+ <orderEntry type="sourceFolder" forTests="false" />
129
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.infer.annotation:infer-annotation:0.18.0" level="project" />
130
+ <orderEntry type="library" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:3.0.2" level="project" />
131
+ <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlin:kotlin-annotations-jvm:1.3.72" level="project" />
132
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.yoga:proguard-annotations:1.19.0" level="project" />
133
+ <orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1" level="project" />
134
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.collection:collection:1.1.0" level="project" />
135
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.lifecycle:lifecycle-common:2.4.0" level="project" />
136
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.arch.core:core-common:2.1.0" level="project" />
137
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.annotation:annotation:1.3.0" level="project" />
138
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.soloader:annotation:0.10.3" level="project" />
139
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.soloader:nativeloader:0.10.3" level="project" />
140
+ <orderEntry type="library" scope="TEST" name="Gradle: com.squareup.okhttp3:okhttp-urlconnection:4.9.2" level="project" />
141
+ <orderEntry type="library" scope="TEST" name="Gradle: com.squareup.okhttp3:okhttp:4.9.2" level="project" />
142
+ <orderEntry type="library" scope="TEST" name="Gradle: com.squareup.okio:okio:2.9.0" level="project" />
143
+ <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.0" level="project" />
144
+ <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.0" level="project" />
145
+ <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10" level="project" />
146
+ <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10" level="project" />
147
+ <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib:1.6.10" level="project" />
148
+ <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains:annotations:13.0" level="project" />
149
+ <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10" level="project" />
150
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fbjni:fbjni-java-only:0.2.2" level="project" />
151
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.react:react-native:0.69.1:debug@aar" level="project" />
152
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.appcompat:appcompat:1.4.1@aar" level="project" />
153
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.appcompat:appcompat-resources:1.4.1@aar" level="project" />
154
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.swiperefreshlayout:swiperefreshlayout:1.0.0@aar" level="project" />
155
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.fragment:fragment:1.3.6@aar" level="project" />
156
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.activity:activity:1.2.4@aar" level="project" />
157
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.drawerlayout:drawerlayout:1.0.0@aar" level="project" />
158
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.vectordrawable:vectordrawable-animated:1.1.0@aar" level="project" />
159
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.vectordrawable:vectordrawable:1.1.0@aar" level="project" />
160
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.viewpager:viewpager:1.0.0@aar" level="project" />
161
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.loader:loader:1.0.0@aar" level="project" />
162
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.customview:customview:1.0.0@aar" level="project" />
163
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.core:core:1.7.0@aar" level="project" />
164
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.cursoradapter:cursoradapter:1.0.0@aar" level="project" />
165
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.lifecycle:lifecycle-viewmodel-savedstate:2.3.1@aar" level="project" />
166
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.savedstate:savedstate:1.1.0@aar" level="project" />
167
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.interpolator:interpolator:1.0.0@aar" level="project" />
168
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.lifecycle:lifecycle-runtime:2.4.0@aar" level="project" />
169
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.versionedparcelable:versionedparcelable:1.1.1@aar" level="project" />
170
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.lifecycle:lifecycle-viewmodel:2.3.1@aar" level="project" />
171
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.lifecycle:lifecycle-livedata:2.0.0@aar" level="project" />
172
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.lifecycle:lifecycle-livedata-core:2.3.1@aar" level="project" />
173
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.arch.core:core-runtime:2.1.0@aar" level="project" />
174
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.annotation:annotation-experimental:1.1.0@aar" level="project" />
175
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.autofill:autofill:1.1.0@aar" level="project" />
176
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:fresco:2.5.0@aar" level="project" />
177
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:fbcore:2.5.0@aar" level="project" />
178
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.soloader:soloader:0.10.3@aar" level="project" />
179
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:ui-common:2.5.0@aar" level="project" />
180
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:drawee:2.5.0@aar" level="project" />
181
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:imagepipeline:2.5.0@aar" level="project" />
182
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:imagepipeline-base:2.5.0@aar" level="project" />
183
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:imagepipeline-native:2.5.0@aar" level="project" />
184
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:memory-type-ashmem:2.5.0@aar" level="project" />
185
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:memory-type-native:2.5.0@aar" level="project" />
186
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:memory-type-java:2.5.0@aar" level="project" />
187
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:nativeimagefilters:2.5.0@aar" level="project" />
188
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:nativeimagetranscoder:2.5.0@aar" level="project" />
189
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:imagepipeline-okhttp3:2.5.0@aar" level="project" />
190
+ <orderEntry type="library" scope="TEST" name="Gradle: com.github.100mslive.android-sdk:lib:2.4.2@aar" level="project" />
191
+ <orderEntry type="library" scope="TEST" name="Gradle: com.github.100mslive:webrtc:m97@aar" level="project" />
192
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.constraintlayout:constraintlayout:2.1.3@aar" level="project" />
193
+ </component>
194
+ <component name="TestModuleProperties" production-module="android.main" />
195
+ </module>
@@ -3,6 +3,9 @@
3
3
  <component name="ProjectModuleManager">
4
4
  <modules>
5
5
  <module fileurl="file://$PROJECT_DIR$/.idea/modules/android.iml" filepath="$PROJECT_DIR$/.idea/modules/android.iml" />
6
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/android.androidTest.iml" filepath="$PROJECT_DIR$/.idea/modules/android.androidTest.iml" />
7
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/android.main.iml" filepath="$PROJECT_DIR$/.idea/modules/android.main.iml" />
8
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/android.unitTest.iml" filepath="$PROJECT_DIR$/.idea/modules/android.unitTest.iml" />
6
9
  </modules>
7
10
  </component>
8
11
  </project>
@@ -63,7 +63,7 @@ dependencies {
63
63
  //noinspection GradleDynamicVersion
64
64
  implementation "com.facebook.react:react-native:+"
65
65
  implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" // From node_modules
66
- implementation 'com.github.100mslive.android-sdk:lib:2.4.1'
66
+ implementation 'com.github.100mslive.android-sdk:lib:2.4.4'
67
67
  implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.0'
68
68
  implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
69
69
  implementation 'androidx.appcompat:appcompat:1.3.1'
@@ -263,7 +263,7 @@ object HMSDecoder {
263
263
  return resolution
264
264
  }
265
265
 
266
- fun getHmsRemotePeers(remotePeers: Array<HMSRemotePeer>?): WritableArray {
266
+ fun getHmsRemotePeers(remotePeers: List<HMSRemotePeer>?): WritableArray {
267
267
  val peers: WritableArray = Arguments.createArray()
268
268
  if (remotePeers != null) {
269
269
  for (peer in remotePeers) {
@@ -485,7 +485,7 @@ object HMSDecoder {
485
485
  return subscribeDegradationParams
486
486
  }
487
487
 
488
- private fun getAllPeers(peers: Array<HMSPeer>?): WritableArray {
488
+ private fun getAllPeers(peers: List<HMSPeer>?): WritableArray {
489
489
  val decodedPeers: WritableArray = Arguments.createArray()
490
490
  if (peers != null) {
491
491
  for (peer in peers) {
@@ -7,6 +7,7 @@ import android.os.Handler
7
7
  import android.util.Base64
8
8
  import android.util.Log
9
9
  import android.view.PixelCopy
10
+ import android.webkit.URLUtil
10
11
  import androidx.annotation.RequiresApi
11
12
  import com.facebook.react.bridge.*
12
13
  import com.facebook.react.bridge.ReadableArray
@@ -17,10 +18,7 @@ import java.util.*
17
18
  import live.hms.video.error.HMSException
18
19
  import live.hms.video.media.codec.HMSAudioCodec
19
20
  import live.hms.video.media.codec.HMSVideoCodec
20
- import live.hms.video.media.settings.HMSAudioTrackSettings
21
- import live.hms.video.media.settings.HMSTrackSettings
22
- import live.hms.video.media.settings.HMSVideoResolution
23
- import live.hms.video.media.settings.HMSVideoTrackSettings
21
+ import live.hms.video.media.settings.*
24
22
  import live.hms.video.media.tracks.HMSRemoteAudioTrack
25
23
  import live.hms.video.media.tracks.HMSRemoteVideoTrack
26
24
  import live.hms.video.media.tracks.HMSTrack
@@ -296,7 +294,7 @@ object HMSHelper {
296
294
  }
297
295
  }
298
296
 
299
- fun getRtmpUrls(rtmpURLsList: ReadableArray?): List<String> {
297
+ private fun getRtmpUrls(rtmpURLsList: ReadableArray?): List<String> {
300
298
  val rtmpURLs = mutableListOf<String>()
301
299
  if (rtmpURLsList !== null) {
302
300
  for (rtmpURL in rtmpURLsList.toArrayList()) {
@@ -357,6 +355,38 @@ object HMSHelper {
357
355
  return meetingURLVariant
358
356
  }
359
357
 
358
+ private fun getResolution(data: ReadableMap): HMSRtmpVideoResolution {
359
+ val height = data.getInt("height")
360
+ val width = data.getInt("width")
361
+ return HMSRtmpVideoResolution(width, height)
362
+ }
363
+
364
+ fun getRtmpConfig(data: ReadableMap): HMSRecordingConfig? {
365
+ val record = data.getBoolean("record")
366
+ var meetingURL = ""
367
+ var rtmpURLs = listOf<String>()
368
+ var resolution: HMSRtmpVideoResolution? = null
369
+ if (areAllRequiredKeysAvailable(data, arrayOf(Pair("meetingURL", "String")))) {
370
+ val meetingURLValid = data.getString("meetingURL") as String
371
+ if (URLUtil.isValidUrl(meetingURLValid)) {
372
+ meetingURL = meetingURLValid
373
+ } else {
374
+ return null
375
+ }
376
+ }
377
+
378
+ if (areAllRequiredKeysAvailable(data, arrayOf(Pair("rtmpURLs", "Array")))) {
379
+ val rtmpURLsValid = data.getArray("rtmpURLs")
380
+ rtmpURLs = this.getRtmpUrls(rtmpURLsValid)
381
+ }
382
+
383
+ if (areAllRequiredKeysAvailable(data, arrayOf(Pair("resolution", "Map")))) {
384
+ val resolutionValid = data.getMap("resolution")
385
+ resolution = resolutionValid?.let { this.getResolution(it) }
386
+ }
387
+ return HMSRecordingConfig(meetingURL, rtmpURLs, record, resolution)
388
+ }
389
+
360
390
  fun getHmsConfig(credentials: ReadableMap): HMSConfig {
361
391
  var config =
362
392
  HMSConfig(
@@ -85,7 +85,7 @@ class HMSRNSDK(
85
85
 
86
86
  fun preview(credentials: ReadableMap) {
87
87
  if (previewInProgress) {
88
- self.emitCustomError("PREVIEW_ALREADY_IN_PROGRESS")
88
+ self.emitCustomError("PREVIEW_IS_IN_PROGRESS")
89
89
  return
90
90
  }
91
91
  val requiredKeys =
@@ -611,17 +611,11 @@ class HMSRNSDK(
611
611
  val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
612
612
  if (requiredKeys === null) {
613
613
  val trackId = data.getString("trackId")
614
- val localTrack = HMSHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
615
- if (localTrack == null) {
616
- val track = HMSHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
617
- if (track != null) {
618
- val mute = track.isMute
619
- callback?.resolve(mute)
620
- } else {
621
- callback?.reject("101", "NOT_FOUND")
622
- }
614
+ val track = HMSHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
615
+ if (track == null) {
616
+ callback?.reject("101", "TRACK_NOT_FOUND")
623
617
  } else {
624
- val mute = localTrack.isMute
618
+ val mute = track.isMute
625
619
  callback?.resolve(mute)
626
620
  }
627
621
  } else {
@@ -709,7 +703,7 @@ class HMSRNSDK(
709
703
  )
710
704
  recentRoleChangeRequest = null
711
705
  } else {
712
- val errorMessage = "acceptRoleChange: recentRoleChangeRequest null"
706
+ val errorMessage = "acceptRoleChange: recentRoleChangeRequest not found"
713
707
  self.emitRequiredKeysError(errorMessage)
714
708
  rejectCallback(callback, errorMessage)
715
709
  }
@@ -802,7 +796,7 @@ class HMSRNSDK(
802
796
  callback?.resolve(isPlaybackAllowed)
803
797
  }
804
798
  else -> {
805
- callback?.reject("101", "NOT_FOUND")
799
+ callback?.reject("101", "TRACK_NOT_FOUND")
806
800
  }
807
801
  }
808
802
  } else {
@@ -850,7 +844,7 @@ class HMSRNSDK(
850
844
  }
851
845
  }
852
846
  }
853
- this.emitCustomError("TRACKID_NOT_MATCHED")
847
+ this.emitCustomError("TRACK_NOT_FOUND")
854
848
  } else {
855
849
  this.emitCustomError("REMOTE_PEERS_NOT_FOUND")
856
850
  }
@@ -914,27 +908,25 @@ class HMSRNSDK(
914
908
  arrayOf(Pair("record", "Boolean"), Pair("meetingURL", "String"))
915
909
  )
916
910
  if (requiredKeys === null) {
917
- val record = data.getBoolean("record")
918
- val meetingURL = data.getString("meetingURL") as String
919
- var rtmpURLs = data.getArray("rtmpURLs")
920
- if (rtmpURLs == null) {
921
- rtmpURLs = Arguments.createArray()
922
- }
923
- val rtmpURLsList = HMSHelper.getRtmpUrls(rtmpURLs)
924
- val config = HMSRecordingConfig(meetingURL, rtmpURLsList, record)
925
-
926
- hmsSDK?.startRtmpOrRecording(
927
- config,
928
- object : HMSActionResultListener {
929
- override fun onSuccess() {
930
- callback?.resolve(emitHMSSuccess())
931
- }
932
- override fun onError(error: HMSException) {
933
- callback?.reject(error.code.toString(), error.message)
934
- self.emitHMSError(error)
911
+ val config = HMSHelper.getRtmpConfig(data)
912
+ if (config === null) {
913
+ val errorMessage = "startRTMPOrRecording: INVALID_MEETING_URL_PASSED"
914
+ self.emitRequiredKeysError(errorMessage)
915
+ rejectCallback(callback, errorMessage)
916
+ } else {
917
+ hmsSDK?.startRtmpOrRecording(
918
+ config,
919
+ object : HMSActionResultListener {
920
+ override fun onSuccess() {
921
+ callback?.resolve(emitHMSSuccess())
922
+ }
923
+ override fun onError(error: HMSException) {
924
+ callback?.reject(error.code.toString(), error.message)
925
+ self.emitHMSError(error)
926
+ }
935
927
  }
936
- }
937
- )
928
+ )
929
+ }
938
930
  } else {
939
931
  val errorMessage = "startRTMPOrRecording: $requiredKeys"
940
932
  self.emitRequiredKeysError(errorMessage)
@@ -3,6 +3,19 @@ import Foundation
3
3
 
4
4
  class HMSHelper: NSObject {
5
5
 
6
+ static func getUnavailableRequiredKey(_ data: NSDictionary, _ requiredKeys: [String]) -> String {
7
+ for (key) in requiredKeys {
8
+ let value = data.object(forKey: key)
9
+ if (value == nil) {
10
+ return key + "_Is_Required"
11
+ }
12
+ if (value is NSNull) {
13
+ return key + "_Is_Null"
14
+ }
15
+ }
16
+ return "SEND_ALL_REQUIRED_KEYS"
17
+ }
18
+
6
19
  static func getPeerFromPeerId(_ peerID: String?, remotePeers: [HMSRemotePeer]?, localPeer: HMSLocalPeer?) -> HMSPeer? {
7
20
 
8
21
  guard let peerID = peerID, let peers = remotePeers else { return nil }