@100mslive/react-native-hms 0.9.5 → 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 (197) hide show
  1. package/README.md +15 -4
  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 +3 -3
  83. package/android/src/main/java/com/reactnativehmssdk/{HmsDecoder.kt → HMSDecoder.kt} +40 -36
  84. package/android/src/main/java/com/reactnativehmssdk/{HmsHelper.kt → HMSHelper.kt} +73 -10
  85. package/android/src/main/java/com/reactnativehmssdk/{HmsModule.kt → HMSManager.kt} +51 -41
  86. package/android/src/main/java/com/reactnativehmssdk/{HmsSDK.kt → HMSRNSDK.kt} +194 -190
  87. package/android/src/main/java/com/reactnativehmssdk/{HmssdkViewManager.kt → HMSSDKViewManager.kt} +11 -11
  88. package/android/src/main/java/com/reactnativehmssdk/{HmsView.kt → HMSView.kt} +3 -3
  89. package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +17 -18
  90. package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +2 -2
  91. package/ios/{HmsDecoder.swift → HMSDecoder.swift} +27 -26
  92. package/ios/{HmsHelper.swift → HMSHelper.swift} +26 -7
  93. package/ios/{HmsManager.m → HMSManager.m} +2 -1
  94. package/ios/{HmsManager.swift → HMSManager.swift} +46 -38
  95. package/ios/{HmsSDK.swift → HMSRNSDK.swift} +246 -225
  96. package/ios/{HmsView.m → HMSView.m} +1 -1
  97. package/ios/{HmsView.swift → HMSView.swift} +7 -6
  98. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  99. package/lib/commonjs/classes/HMSEncoder.js +27 -10
  100. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  101. package/lib/commonjs/classes/HMSLocalAudioTrack.js +3 -3
  102. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  103. package/lib/commonjs/classes/HMSLocalVideoTrack.js +3 -3
  104. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  105. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  106. package/lib/commonjs/classes/HMSMessage.js +1 -1
  107. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  108. package/lib/commonjs/classes/HMSRTMPConfig.js +3 -0
  109. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  110. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +3 -3
  111. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  112. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +3 -3
  113. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  114. package/lib/commonjs/classes/HMSRoom.js +3 -0
  115. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  116. package/lib/commonjs/classes/HMSRoomUpdate.js +1 -3
  117. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  118. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  119. package/lib/commonjs/classes/HMSRtmpVideoResolution.js +23 -0
  120. package/lib/commonjs/classes/HMSRtmpVideoResolution.js.map +1 -0
  121. package/lib/commonjs/classes/HMSSDK.js +47 -40
  122. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  123. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  124. package/lib/commonjs/classes/HMSTrackSource.js +15 -0
  125. package/lib/commonjs/classes/HMSTrackSource.js.map +1 -0
  126. package/lib/commonjs/classes/HmsView.js +2 -2
  127. package/lib/commonjs/classes/HmsView.js.map +1 -1
  128. package/lib/commonjs/index.js +28 -14
  129. package/lib/commonjs/index.js.map +1 -1
  130. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  131. package/lib/module/classes/HMSEncoder.js +25 -9
  132. package/lib/module/classes/HMSEncoder.js.map +1 -1
  133. package/lib/module/classes/HMSLocalAudioTrack.js +3 -3
  134. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  135. package/lib/module/classes/HMSLocalVideoTrack.js +3 -3
  136. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  137. package/lib/module/classes/HMSMessage.js +1 -1
  138. package/lib/module/classes/HMSMessage.js.map +1 -1
  139. package/lib/module/classes/HMSRTMPConfig.js +3 -0
  140. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  141. package/lib/module/classes/HMSRemoteAudioTrack.js +3 -3
  142. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  143. package/lib/module/classes/HMSRemoteVideoTrack.js +3 -3
  144. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  145. package/lib/module/classes/HMSRoom.js +3 -0
  146. package/lib/module/classes/HMSRoom.js.map +1 -1
  147. package/lib/module/classes/HMSRoomUpdate.js +1 -3
  148. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  149. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  150. package/lib/module/classes/HMSRtmpVideoResolution.js +14 -0
  151. package/lib/module/classes/HMSRtmpVideoResolution.js.map +1 -0
  152. package/lib/module/classes/HMSSDK.js +45 -39
  153. package/lib/module/classes/HMSSDK.js.map +1 -1
  154. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  155. package/lib/module/classes/HMSTrackSource.js +8 -0
  156. package/lib/module/classes/HMSTrackSource.js.map +1 -0
  157. package/lib/module/classes/HmsView.js +2 -2
  158. package/lib/module/classes/HmsView.js.map +1 -1
  159. package/lib/module/index.js +2 -1
  160. package/lib/module/index.js.map +1 -1
  161. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +2 -2
  162. package/lib/typescript/classes/HMSEncoder.d.ts +4 -2
  163. package/lib/typescript/classes/HMSMessage.d.ts +3 -3
  164. package/lib/typescript/classes/HMSRTMPConfig.d.ts +3 -0
  165. package/lib/typescript/classes/HMSRoom.d.ts +2 -0
  166. package/lib/typescript/classes/HMSRoomUpdate.d.ts +1 -3
  167. package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +2 -2
  168. package/lib/typescript/classes/HMSRtmpVideoResolution.d.ts +8 -0
  169. package/lib/typescript/classes/HMSSDK.d.ts +3 -3
  170. package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -2
  171. package/lib/typescript/classes/HMSTrackSource.d.ts +5 -0
  172. package/lib/typescript/index.d.ts +2 -1
  173. package/package.json +1 -1
  174. package/react-native-hms.podspec +2 -2
  175. package/src/classes/HMSBrowserRecordingState.ts +2 -2
  176. package/src/classes/HMSEncoder.ts +25 -9
  177. package/src/classes/HMSLocalAudioTrack.ts +3 -3
  178. package/src/classes/HMSLocalVideoTrack.ts +3 -3
  179. package/src/classes/HMSMessage.ts +4 -4
  180. package/src/classes/HMSRTMPConfig.ts +5 -0
  181. package/src/classes/HMSRemoteAudioTrack.ts +3 -3
  182. package/src/classes/HMSRemoteVideoTrack.ts +3 -3
  183. package/src/classes/HMSRoom.ts +3 -0
  184. package/src/classes/HMSRoomUpdate.ts +1 -3
  185. package/src/classes/HMSRtmpStreamingState.ts +2 -2
  186. package/src/classes/HMSRtmpVideoResolution.ts +9 -0
  187. package/src/classes/HMSSDK.tsx +47 -40
  188. package/src/classes/HMSServerRecordingState.ts +2 -2
  189. package/src/classes/HMSTrackSource.ts +5 -0
  190. package/src/classes/HmsView.tsx +2 -2
  191. package/src/index.ts +2 -1
  192. package/lib/commonjs/classes/HMSSpeakerUpdate.js +0 -26
  193. package/lib/commonjs/classes/HMSSpeakerUpdate.js.map +0 -1
  194. package/lib/module/classes/HMSSpeakerUpdate.js +0 -17
  195. package/lib/module/classes/HMSSpeakerUpdate.js.map +0 -1
  196. package/lib/typescript/classes/HMSSpeakerUpdate.d.ts +0 -11
  197. package/src/classes/HMSSpeakerUpdate.ts +0 -17
@@ -8,12 +8,12 @@
8
8
  import Foundation
9
9
  import HMSSDK
10
10
 
11
- class HmsSDK: HMSUpdateListener, HMSPreviewListener {
11
+ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
12
12
 
13
13
  var hms: HMSSDK?
14
14
  var config: HMSConfig?
15
15
  var recentRoleChangeRequest: HMSRoleChangeRequest?
16
- var delegate: HmsManager?
16
+ var delegate: HMSManager?
17
17
  var id: String = "12345"
18
18
  var rtcStatsAttached = false
19
19
  var recentPreviewTracks: [HMSTrack]? = []
@@ -38,9 +38,9 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
38
38
 
39
39
  // MARK: - Setup
40
40
 
41
- init(data: NSDictionary?, delegate manager: HmsManager?, uid id: String) {
42
- let videoSettings = HmsHelper.getLocalVideoSettings(data?.value(forKey: "video") as? NSDictionary)
43
- let audioSettings = HmsHelper.getLocalAudioSettings(data?.value(forKey: "audio") as? NSDictionary)
41
+ init(data: NSDictionary?, delegate manager: HMSManager?, uid id: String) {
42
+ let videoSettings = HMSHelper.getLocalVideoSettings(data?.value(forKey: "video") as? NSDictionary)
43
+ let audioSettings = HMSHelper.getLocalAudioSettings(data?.value(forKey: "audio") as? NSDictionary)
44
44
  DispatchQueue.main.async { [weak self] in
45
45
  let hmsTrackSettings = HMSTrackSettings(videoSettings: videoSettings, audioSettings: audioSettings)
46
46
  self?.hms = HMSSDK.build { sdk in
@@ -55,6 +55,10 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
55
55
 
56
56
  private var previewInProgress = false
57
57
 
58
+ func emitRequiredKeysError(_ error: String) {
59
+ delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": ["code": HMSErrorCode.genericErrorUnknown, "description": error, "localizedDescription": error, "debugDescription": error, "message": error, "name": "REQUIRED_KEYS_NOT_FOUND", "action": "SEND_ALL_REQUIRED_KEYS", "id": 102], "id": id])
60
+ }
61
+
58
62
  func preview(_ credentials: NSDictionary) {
59
63
 
60
64
  guard !previewInProgress else {
@@ -66,8 +70,8 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
66
70
  guard let authToken = credentials.value(forKey: "authToken") as? String,
67
71
  let user = credentials.value(forKey: "username") as? String
68
72
  else {
69
- let error = HMSError(id: "101", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
70
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
73
+ let errorMessage = "preview: " + HMSHelper.getUnavailableRequiredKey(credentials, ["authToken", "username"])
74
+ emitRequiredKeysError(errorMessage)
71
75
  return
72
76
  }
73
77
 
@@ -90,24 +94,24 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
90
94
  func previewForRole(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
91
95
  guard let role = data.value(forKey: "role") as? String
92
96
  else {
93
- let error = HMSError(id: "111", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
94
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
95
- reject?(error.message, "FAILED_TO_INITIATE_PREVIEW_FOR_ROLE",nil)
97
+ let errorMessage = "previewForRole: " + HMSHelper.getUnavailableRequiredKey(data, ["role"])
98
+ emitRequiredKeysError(errorMessage)
99
+ reject?(errorMessage, errorMessage, nil)
96
100
  return
97
101
  }
98
102
 
99
- let roleObj = HmsHelper.getRoleFromRoleName(role, roles: hms?.roles)
103
+ let roleObj = HMSHelper.getRoleFromRoleName(role, roles: hms?.roles)
100
104
 
101
105
  if let extractedRole = roleObj {
102
106
  hms?.preview(role: extractedRole, completion: { tracks, error in
103
107
  if (error != nil) {
104
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
108
+ delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HMSDecoder.getError(error), "id": id])
105
109
  reject?(error?.message, error?.localizedDescription, nil)
106
110
  return
107
111
  }
108
112
  self.recentPreviewTracks = tracks
109
113
 
110
- let decodedTracks = HmsDecoder.getAllTracks(tracks ?? [])
114
+ let decodedTracks = HMSDecoder.getAllTracks(tracks ?? [])
111
115
 
112
116
  resolve?(["success": true, "tracks": decodedTracks])
113
117
  return
@@ -131,8 +135,8 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
131
135
  guard let authToken = credentials.value(forKey: "authToken") as? String,
132
136
  let user = credentials.value(forKey: "username") as? String
133
137
  else {
134
- let error = HMSError(id: "102", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
135
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
138
+ let errorMessage = "join: " + HMSHelper.getUnavailableRequiredKey(credentials, ["authToken", "username"])
139
+ emitRequiredKeysError(errorMessage)
136
140
  return
137
141
  }
138
142
 
@@ -158,8 +162,8 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
158
162
  func setLocalMute(_ data: NSDictionary) {
159
163
  guard let isMute = data.value(forKey: "isMute") as? Bool
160
164
  else {
161
- let error = HMSError(id: "106", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
162
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
165
+ let errorMessage = "setLocalMute: " + HMSHelper.getUnavailableRequiredKey(data, ["isMute"])
166
+ emitRequiredKeysError(errorMessage)
163
167
  return
164
168
  }
165
169
 
@@ -171,8 +175,8 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
171
175
  func setLocalVideoMute(_ data: NSDictionary) {
172
176
  guard let isMute = data.value(forKey: "isMute") as? Bool
173
177
  else {
174
- let error = HMSError(id: "107", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
175
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
178
+ let errorMessage = "setLocalVideoMute: " + HMSHelper.getUnavailableRequiredKey(data, ["isMute"])
179
+ emitRequiredKeysError(errorMessage)
176
180
  return
177
181
  }
178
182
 
@@ -196,7 +200,7 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
196
200
  if success {
197
201
  resolve?("")
198
202
  } else {
199
- strongSelf.delegate?.emitEvent(strongSelf.ON_ERROR, ["event": strongSelf.ON_ERROR, "error": HmsDecoder.getError(error), "id": strongSelf.id])
203
+ strongSelf.delegate?.emitEvent(strongSelf.ON_ERROR, ["event": strongSelf.ON_ERROR, "error": HMSDecoder.getError(error), "id": strongSelf.id])
200
204
  reject?(nil, "error in leave", nil)
201
205
  }
202
206
  })
@@ -206,8 +210,9 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
206
210
  func sendBroadcastMessage(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
207
211
  guard let message = data.value(forKey: "message") as? String
208
212
  else {
209
- let error = HMSError(id: "108", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
210
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
213
+ let errorMessage = "sendBroadcastMessage: " + HMSHelper.getUnavailableRequiredKey(data, ["message"])
214
+ emitRequiredKeysError(errorMessage)
215
+ reject?(errorMessage, errorMessage, nil)
211
216
  return
212
217
  }
213
218
 
@@ -219,7 +224,7 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
219
224
  resolve?(["success": true, "data": ["sender": message?.sender?.name ?? "", "message": message?.message ?? "", "type": message?.type]])
220
225
  return
221
226
  } else {
222
- self?.delegate?.emitEvent("ON_ERROR", ["event": "ON_ERROR", "error": HmsDecoder.getError(error), "id": self?.id ?? "12345"])
227
+ self?.delegate?.emitEvent("ON_ERROR", ["event": "ON_ERROR", "error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
223
228
  reject?(error?.message, error?.localizedDescription, nil)
224
229
  return
225
230
  }
@@ -231,20 +236,21 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
231
236
  guard let message = data.value(forKey: "message") as? String,
232
237
  let targetedRoles = data.value(forKey: "roles") as? [String]
233
238
  else {
234
- let error = HMSError(id: "109", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
235
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
239
+ let errorMessage = "sendGroupMessage: " + HMSHelper.getUnavailableRequiredKey(data, ["message", "roles"])
240
+ emitRequiredKeysError(errorMessage)
241
+ reject?(errorMessage, errorMessage, nil)
236
242
  return
237
243
  }
238
244
 
239
245
  let type = data.value(forKey: "type") as? String ?? "chat"
240
246
  DispatchQueue.main.async { [weak self] in
241
- let encodedTargetedRoles = HmsHelper.getRolesFromRoleNames(targetedRoles, roles: self?.hms?.roles)
247
+ let encodedTargetedRoles = HMSHelper.getRolesFromRoleNames(targetedRoles, roles: self?.hms?.roles)
242
248
  self?.hms?.sendGroupMessage(type: type, message: message, roles: encodedTargetedRoles, completion: { message, error in
243
249
  if error == nil {
244
250
  resolve?(["success": true, "data": ["sender": message?.sender?.name ?? "", "message": message?.message ?? "", "type": message?.type]])
245
251
  return
246
252
  } else {
247
- self?.delegate?.emitEvent("ON_ERROR", ["event": "ON_ERROR", "error": HmsDecoder.getError(error), "id": self?.id ?? "12345"])
253
+ self?.delegate?.emitEvent("ON_ERROR", ["event": "ON_ERROR", "error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
248
254
  reject?(error?.message, error?.localizedDescription, nil)
249
255
  return
250
256
  }
@@ -256,20 +262,21 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
256
262
  guard let message = data.value(forKey: "message") as? String,
257
263
  let peerId = data.value(forKey: "peerId") as? String
258
264
  else {
259
- let error = HMSError(id: "110", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
260
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
265
+ let errorMessage = "sendDirectMessage: " + HMSHelper.getUnavailableRequiredKey(data, ["message", "peerId"])
266
+ emitRequiredKeysError(errorMessage)
267
+ reject?(errorMessage, errorMessage, nil)
261
268
  return
262
269
  }
263
270
 
264
271
  let type = data.value(forKey: "type") as? String ?? "chat"
265
272
  DispatchQueue.main.async { [weak self] in
266
- guard let peer = HmsHelper.getRemotePeerFromPeerId(peerId, remotePeers: self?.hms?.remotePeers) else { return }
273
+ guard let peer = HMSHelper.getRemotePeerFromPeerId(peerId, remotePeers: self?.hms?.remotePeers) else { return }
267
274
  self?.hms?.sendDirectMessage(type: type, message: message, peer: peer, completion: { message, error in
268
275
  if error == nil {
269
276
  resolve?(["success": true, "data": ["sender": message?.sender?.name ?? "", "message": message?.message ?? "", "type": message?.type]])
270
277
  return
271
278
  } else {
272
- self?.delegate?.emitEvent("ON_ERROR", ["event": "ON_ERROR", "error": HmsDecoder.getError(error), "id": self?.id ?? "12345"])
279
+ self?.delegate?.emitEvent("ON_ERROR", ["event": "ON_ERROR", "error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
273
280
  reject?(error?.message, error?.localizedDescription, nil)
274
281
  return
275
282
  }
@@ -281,13 +288,19 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
281
288
 
282
289
  DispatchQueue.main.async { [weak self] in
283
290
 
284
- guard let request = self?.recentRoleChangeRequest else { return }
291
+ guard let request = self?.recentRoleChangeRequest
292
+ else {
293
+ let errorMessage = "acceptRoleChange: recentRoleChangeRequest not found"
294
+ self?.emitRequiredKeysError(errorMessage)
295
+ reject?(errorMessage, errorMessage, nil)
296
+ return
297
+ }
285
298
 
286
299
  self?.hms?.accept(changeRole: request, completion: { success, error in
287
300
  if success {
288
301
  resolve?(["success": true])
289
302
  } else {
290
- self?.delegate?.emitEvent("ON_ERROR", ["event": self?.ON_ERROR ?? "", "error": HmsDecoder.getError(error), "id": self?.id ?? "12345"])
303
+ self?.delegate?.emitEvent("ON_ERROR", ["event": self?.ON_ERROR ?? "", "error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
291
304
  reject?(error?.message, error?.localizedDescription, nil)
292
305
  }
293
306
  })
@@ -301,23 +314,24 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
301
314
  guard let peerId = data.value(forKey: "peerId") as? String,
302
315
  let role = data.value(forKey: "role") as? String
303
316
  else {
304
- let error = HMSError(id: "111", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
305
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
317
+ let errorMessage = "changeRole: " + HMSHelper.getUnavailableRequiredKey(data, ["peerId", "role"])
318
+ emitRequiredKeysError(errorMessage)
319
+ reject?(errorMessage, errorMessage, nil)
306
320
  return
307
321
  }
308
322
 
309
323
  let force = data.value(forKey: "force") as? Bool ?? false
310
324
 
311
325
  DispatchQueue.main.async { [weak self] in
312
- guard let peer = HmsHelper.getPeerFromPeerId(peerId, remotePeers: self?.hms?.remotePeers, localPeer: self?.hms?.localPeer),
313
- let role = HmsHelper.getRoleFromRoleName(role, roles: self?.hms?.roles)
326
+ guard let peer = HMSHelper.getPeerFromPeerId(peerId, remotePeers: self?.hms?.remotePeers, localPeer: self?.hms?.localPeer),
327
+ let role = HMSHelper.getRoleFromRoleName(role, roles: self?.hms?.roles)
314
328
  else { return }
315
329
 
316
330
  self?.hms?.changeRole(for: peer, to: role, force: force, completion: { success, error in
317
331
  if success {
318
332
  resolve?(["success": true])
319
333
  } else {
320
- self?.delegate?.emitEvent("ON_ERROR", ["event": self?.ON_ERROR ?? "", "error": HmsDecoder.getError(error), "id": self?.id ?? "12345"])
334
+ self?.delegate?.emitEvent("ON_ERROR", ["event": self?.ON_ERROR ?? "", "error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
321
335
  reject?(error?.message, error?.localizedDescription, nil)
322
336
  }
323
337
  })
@@ -328,8 +342,9 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
328
342
 
329
343
  guard let trackId = data.value(forKey: "trackId") as? String
330
344
  else {
331
- let error = HMSError(id: "112", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
332
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
345
+ let errorMessage = "changeTrackState: " + HMSHelper.getUnavailableRequiredKey(data, ["trackId"])
346
+ emitRequiredKeysError(errorMessage)
347
+ reject?(errorMessage, errorMessage, nil)
333
348
  return
334
349
  }
335
350
 
@@ -337,14 +352,17 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
337
352
 
338
353
  DispatchQueue.main.async { [weak self] in
339
354
  guard let remotePeers = self?.hms?.remotePeers,
340
- let track = HmsHelper.getTrackFromTrackId(trackId, remotePeers)
341
- else { return }
355
+ let track = HMSHelper.getTrackFromTrackId(trackId, remotePeers)
356
+ else {
357
+ reject?(nil, "TRACK_NOT_FOUND", nil)
358
+ return
359
+ }
342
360
 
343
361
  self?.hms?.changeTrackState(for: track, mute: mute, completion: { success, error in
344
362
  if success {
345
363
  resolve?(["success": true])
346
364
  } else {
347
- self?.delegate?.emitEvent("ON_ERROR", ["event": self?.ON_ERROR ?? "", "error": HmsDecoder.getError(error), "id": self?.id ?? "12345"])
365
+ self?.delegate?.emitEvent("ON_ERROR", ["event": self?.ON_ERROR ?? "", "error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
348
366
  reject?(error?.message, error?.localizedDescription, nil)
349
367
  }
350
368
  })
@@ -355,8 +373,9 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
355
373
 
356
374
  guard let mute = data.value(forKey: "mute") as? Bool
357
375
  else {
358
- let error = HMSError(id: "113", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
359
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
376
+ let errorMessage = "changeTrackStateForRoles: " + HMSHelper.getUnavailableRequiredKey(data, ["mute"])
377
+ emitRequiredKeysError(errorMessage)
378
+ reject?(errorMessage, errorMessage, nil)
360
379
  return
361
380
  }
362
381
  let source = data.value(forKey: "source") as? String
@@ -373,12 +392,12 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
373
392
  }
374
393
 
375
394
  DispatchQueue.main.async { [weak self] in
376
- let encodedTargetedRoles = HmsHelper.getRolesFromRoleNames(targetedRoles, roles: self?.hms?.roles)
395
+ let encodedTargetedRoles = HMSHelper.getRolesFromRoleNames(targetedRoles, roles: self?.hms?.roles)
377
396
  self?.hms?.changeTrackState(mute: mute, for: decodeType, source: source, roles: encodedTargetedRoles, completion: { success, error in
378
397
  if success {
379
398
  resolve?(["success": true])
380
399
  } else {
381
- self?.delegate?.emitEvent("ON_ERROR", ["event": self?.ON_ERROR ?? "", "error": HmsDecoder.getError(error), "id": self?.id ?? "12345"])
400
+ self?.delegate?.emitEvent("ON_ERROR", ["event": self?.ON_ERROR ?? "", "error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
382
401
  reject?(error?.message, error?.localizedDescription, nil)
383
402
  }
384
403
  })
@@ -388,23 +407,23 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
388
407
  func isMute(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
389
408
  guard let trackId = data.value(forKey: "trackId") as? String
390
409
  else {
391
- reject?(nil, "NO_SDK_ID", nil)
392
- let error = HMSError(id: "114", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
393
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
410
+ let errorMessage = "isMute: " + HMSHelper.getUnavailableRequiredKey(data, ["trackId"])
411
+ emitRequiredKeysError(errorMessage)
412
+ reject?(errorMessage, errorMessage, nil)
394
413
  return
395
414
  }
396
415
 
397
416
  DispatchQueue.main.async { [weak self] in
398
417
  guard let strongSelf = self else { return }
399
418
  guard let localPeer = self?.hms?.localPeer,
400
- let localTrack = HmsHelper.getLocalTrackFromTrackId(trackId, localPeer: localPeer)
419
+ let localTrack = HMSHelper.getLocalTrackFromTrackId(trackId, localPeer: localPeer)
401
420
  else {
402
421
  guard let remotePeers = self?.hms?.remotePeers,
403
- let track = HmsHelper.getTrackFromTrackId(trackId, remotePeers)
422
+ let track = HMSHelper.getTrackFromTrackId(trackId, remotePeers)
404
423
  else {
405
- let error = HMSError(id: "120", code: HMSErrorCode.genericErrorUnknown, message: "NOT_FOUND")
406
- strongSelf.delegate?.emitEvent(strongSelf.ON_ERROR, ["event": strongSelf.ON_ERROR, "error": HmsDecoder.getError(error), "id": strongSelf.id])
407
- reject?(nil, "NOT_FOUND", nil)
424
+ let error = HMSError(id: "120", code: HMSErrorCode.genericErrorUnknown, message: "TRACK_NOT_FOUND")
425
+ strongSelf.delegate?.emitEvent(strongSelf.ON_ERROR, ["event": strongSelf.ON_ERROR, "error": HMSDecoder.getError(error), "id": strongSelf.id])
426
+ reject?(nil, "TRACK_NOT_FOUND", nil)
408
427
  return
409
428
  }
410
429
  let mute = track.isMute()
@@ -420,8 +439,9 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
420
439
 
421
440
  guard let peerId = data.value(forKey: "peerId") as? String
422
441
  else {
423
- let error = HMSError(id: "115", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
424
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
442
+ let errorMessage = "removePeer: " + HMSHelper.getUnavailableRequiredKey(data, ["peerId"])
443
+ emitRequiredKeysError(errorMessage)
444
+ reject?(errorMessage, errorMessage, nil)
425
445
  return
426
446
  }
427
447
 
@@ -430,14 +450,17 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
430
450
  DispatchQueue.main.async { [weak self] in
431
451
 
432
452
  guard let remotePeers = self?.hms?.remotePeers,
433
- let peer = HmsHelper.getRemotePeerFromPeerId(peerId, remotePeers: remotePeers)
434
- else { return }
453
+ let peer = HMSHelper.getRemotePeerFromPeerId(peerId, remotePeers: remotePeers)
454
+ else {
455
+ reject?(nil, "PEER_NOT_FOUND", nil)
456
+ return
457
+ }
435
458
 
436
459
  self?.hms?.removePeer(peer, reason: reason ?? "Removed from room", completion: { success, error in
437
460
  if success {
438
461
  resolve?(["success": true])
439
462
  } else {
440
- self?.delegate?.emitEvent("ON_ERROR", ["event": self?.ON_ERROR ?? "", "error": HmsDecoder.getError(error), "id": self?.id ?? "12345"])
463
+ self?.delegate?.emitEvent("ON_ERROR", ["event": self?.ON_ERROR ?? "", "error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
441
464
  reject?(error?.message, error?.localizedDescription, nil)
442
465
  }
443
466
  })
@@ -449,8 +472,9 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
449
472
  guard let lock = data.value(forKey: "lock") as? Bool,
450
473
  let reason = data.value(forKey: "reason") as? String
451
474
  else {
452
- let error = HMSError(id: "116", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
453
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
475
+ let errorMessage = "endRoom: " + HMSHelper.getUnavailableRequiredKey(data, ["lock", "reason"])
476
+ emitRequiredKeysError(errorMessage)
477
+ reject?(errorMessage, errorMessage, nil)
454
478
  return
455
479
  }
456
480
 
@@ -459,7 +483,7 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
459
483
  if success {
460
484
  resolve?(["success": true])
461
485
  } else {
462
- self?.delegate?.emitEvent("ON_ERROR", ["event": self?.ON_ERROR ?? "", "error": HmsDecoder.getError(error), "id": self?.id ?? "12345"])
486
+ self?.delegate?.emitEvent("ON_ERROR", ["event": self?.ON_ERROR ?? "", "error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
463
487
  reject?(error?.message, error?.localizedDescription, nil)
464
488
  }
465
489
  })
@@ -469,22 +493,19 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
469
493
  func isPlaybackAllowed(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
470
494
  guard let trackId = data.value(forKey: "trackId") as? String
471
495
  else {
472
- reject?(nil, "NOT_FOUND", nil)
473
- let error = HMSError(id: "117", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
474
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
496
+ let errorMessage = "isPlaybackAllowed: " + HMSHelper.getUnavailableRequiredKey(data, ["trackId"])
497
+ emitRequiredKeysError(errorMessage)
498
+ reject?(errorMessage, errorMessage, nil)
475
499
  return
476
500
  }
477
501
  DispatchQueue.main.async { [weak self] in
478
- guard let strongSelf = self else { return }
479
502
  guard let remotePeers = self?.hms?.remotePeers
480
503
  else {
481
- let error = HMSError(id: "121", code: HMSErrorCode.genericErrorUnknown, message: "NOT_FOUND")
482
- strongSelf.delegate?.emitEvent(strongSelf.ON_ERROR, ["event": strongSelf.ON_ERROR, "error": HmsDecoder.getError(error), "id": strongSelf.id])
483
- reject?(nil, "NOT_FOUND", nil)
504
+ reject?(nil, "REMOTE_PEERS_NOT_FOUND", nil)
484
505
  return
485
506
  }
486
- let remoteAudioTrack = HmsHelper.getRemoteAudioTrackFromTrackId(trackId, remotePeers)
487
- let remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, remotePeers)
507
+ let remoteAudioTrack = HMSHelper.getRemoteAudioTrackFromTrackId(trackId, remotePeers)
508
+ let remoteVideoTrack = HMSHelper.getRemoteVideoTrackFromTrackId(trackId, remotePeers)
488
509
  if remoteAudioTrack != nil {
489
510
  let isPlaybackAllowed = remoteAudioTrack?.isPlaybackAllowed()
490
511
  resolve?(isPlaybackAllowed)
@@ -494,16 +515,14 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
494
515
  resolve?(isPlaybackAllowed)
495
516
  return
496
517
  } else {
497
- let error = HMSError(id: "122", code: HMSErrorCode.genericErrorUnknown, message: "NOT_FOUND")
498
- strongSelf.delegate?.emitEvent(strongSelf.ON_ERROR, ["event": strongSelf.ON_ERROR, "error": HmsDecoder.getError(error), "id": strongSelf.id])
499
- reject?(nil, "NOT_FOUND", nil)
518
+ reject?(nil, "TRACK_NOT_FOUND", nil)
500
519
  return
501
520
  }
502
521
  }
503
522
  }
504
523
 
505
524
  func getRoom(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
506
- let roomData = HmsDecoder.getHmsRoom(hms?.room)
525
+ let roomData = HMSDecoder.getHmsRoom(hms?.room)
507
526
 
508
527
  resolve?(roomData)
509
528
  }
@@ -512,8 +531,8 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
512
531
  guard let trackId = data.value(forKey: "trackId") as? String,
513
532
  let playbackAllowed = data.value(forKey: "playbackAllowed") as? Bool
514
533
  else {
515
- let error = HMSError(id: "118", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
516
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
534
+ let errorMessage = "setPlaybackAllowed: " + HMSHelper.getUnavailableRequiredKey(data, ["trackId", "playbackAllowed"])
535
+ emitRequiredKeysError(errorMessage)
517
536
  return
518
537
  }
519
538
  DispatchQueue.main.async { [weak self] in
@@ -521,8 +540,8 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
521
540
  else {
522
541
  return
523
542
  }
524
- let remoteAudioTrack = HmsHelper.getRemoteAudioTrackFromTrackId(trackId, remotePeers)
525
- let remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, remotePeers)
543
+ let remoteAudioTrack = HMSHelper.getRemoteAudioTrackFromTrackId(trackId, remotePeers)
544
+ let remoteVideoTrack = HMSHelper.getRemoteVideoTrackFromTrackId(trackId, remotePeers)
526
545
  if remoteAudioTrack != nil {
527
546
  if playbackAllowed {
528
547
  remoteAudioTrack?.setPlaybackAllowed(playbackAllowed)
@@ -538,9 +557,9 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
538
557
  func changeMetadata(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
539
558
  guard let metadata = data.value(forKey: "metadata") as? String
540
559
  else {
541
- let error = HMSError(id: "123", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
542
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
543
- reject?(nil, "REQUIRED_KEYS_NOT_FOUND", nil)
560
+ let errorMessage = "changeMetadata: " + HMSHelper.getUnavailableRequiredKey(data, ["metadata"])
561
+ emitRequiredKeysError(errorMessage)
562
+ reject?(errorMessage, errorMessage, nil)
544
563
  return
545
564
  }
546
565
 
@@ -549,7 +568,7 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
549
568
  resolve?(["success": success])
550
569
  return
551
570
  } else {
552
- self.delegate?.emitEvent(self.ON_ERROR, ["event": self.ON_ERROR, "error": HmsDecoder.getError(error), "id": self.id])
571
+ self.delegate?.emitEvent(self.ON_ERROR, ["event": self.ON_ERROR, "error": HMSDecoder.getError(error), "id": self.id])
553
572
  reject?(error?.message, error?.localizedDescription, nil)
554
573
  return
555
574
  }
@@ -560,8 +579,8 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
560
579
  guard let trackId = data.value(forKey: "trackId") as? String,
561
580
  let volume = data.value(forKey: "volume") as? Double
562
581
  else {
563
- let error = HMSError(id: "124", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
564
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
582
+ let errorMessage = "setVolume: " + HMSHelper.getUnavailableRequiredKey(data, ["trackId", "volume"])
583
+ emitRequiredKeysError(errorMessage)
565
584
  return
566
585
  }
567
586
 
@@ -569,51 +588,53 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
569
588
  guard let strongSelf = self else { return }
570
589
  let remotePeers = self?.hms?.remotePeers
571
590
 
572
- let remoteAudioTrack = HmsHelper.getRemoteAudioAuxiliaryTrackFromTrackId(trackId, remotePeers)
591
+ let remoteAudioTrack = HMSHelper.getRemoteAudioAuxiliaryTrackFromTrackId(trackId, remotePeers)
573
592
 
574
593
  if remoteAudioTrack != nil {
575
594
  remoteAudioTrack?.setVolume(volume)
576
595
  } else {
577
- let error = HMSError(id: "125", code: HMSErrorCode.genericErrorUnknown, message: "TRACK_ID_NOT_FOUND_IN_REMOTE_TRACKS")
578
- strongSelf.delegate?.emitEvent(strongSelf.ON_ERROR, ["event": strongSelf.ON_ERROR, "error": HmsDecoder.getError(error), "id": strongSelf.id])
596
+ let error = HMSError(id: "125", code: HMSErrorCode.genericErrorUnknown, message: "TRACK_NOT_FOUND")
597
+ strongSelf.delegate?.emitEvent(strongSelf.ON_ERROR, ["event": strongSelf.ON_ERROR, "error": HMSDecoder.getError(error), "id": strongSelf.id])
579
598
  }
580
599
  }
581
600
  }
582
601
 
583
602
  func startRTMPOrRecording(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
584
- guard let record = data.value(forKey: "record") as? Bool
603
+ guard let record = data.value(forKey: "record") as? Bool,
604
+ let meetingString = data.value(forKey: "meetingURL") as? String
585
605
  else {
586
- let error = HMSError(id: "126", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
587
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
606
+ let errorMessage = "startRTMPOrRecording: " + HMSHelper.getUnavailableRequiredKey(data, ["record", "meetingURL"])
607
+ emitRequiredKeysError(errorMessage)
608
+ reject?(errorMessage, errorMessage, nil)
588
609
  return
589
610
  }
590
611
 
591
- let meetingString = data.value(forKey: "meetingURL") as? String
592
612
  let rtmpStrings = data.value(forKey: "rtmpURLs") as? [String]
593
613
 
594
614
  var meetingUrl: URL?
595
- if let meetLink = meetingString {
596
- meetingUrl = URL(string: meetLink)
615
+ if let meetLink = URL(string: meetingString) {
616
+ meetingUrl = meetLink
597
617
  } else {
598
618
  let error = HMSError(id: "127", code: HMSErrorCode.genericErrorUnknown, message: "INVALID_MEETING_URL_PASSED")
599
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
619
+ delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HMSDecoder.getError(error), "id": id])
620
+ reject?("INVALID_MEETING_URL_PASSED", "INVALID_MEETING_URL_PASSED", nil)
600
621
  }
601
622
 
602
- let URLs = HmsHelper.getRtmpUrls(rtmpStrings)
623
+ let URLs = HMSHelper.getRtmpUrls(rtmpStrings)
603
624
 
604
625
  let config = HMSRTMPConfig(meetingURL: meetingUrl, rtmpURLs: URLs, record: record)
605
626
  hms?.startRTMPOrRecording(config: config, completion: { success, error in
606
627
  if success {
607
- let roomData = HmsDecoder.getHmsRoom(self.hms?.room)
628
+ let roomData = HMSDecoder.getHmsRoom(self.hms?.room)
608
629
  let type = self.getString(from: HMSRoomUpdate.browserRecordingStateUpdated)
609
630
 
610
- let localPeerData = HmsDecoder.getHmsLocalPeer(self.hms?.localPeer)
611
- let remotePeerData = HmsDecoder.getHmsRemotePeers(self.hms?.remotePeers)
631
+ let localPeerData = HMSDecoder.getHmsLocalPeer(self.hms?.localPeer)
632
+ let remotePeerData = HMSDecoder.getHmsRemotePeers(self.hms?.remotePeers)
612
633
  self.delegate?.emitEvent(self.ON_ROOM_UPDATE, ["event": self.ON_ROOM_UPDATE, "id": self.id, "type": type, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
613
634
  resolve?(["success": success])
614
635
  return
615
636
  } else {
616
- self.delegate?.emitEvent(self.ON_ERROR, ["event": self.ON_ERROR, "error": HmsDecoder.getError(error), "id": self.id])
637
+ self.delegate?.emitEvent(self.ON_ERROR, ["event": self.ON_ERROR, "error": HMSDecoder.getError(error), "id": self.id])
617
638
  reject?(error?.message, error?.localizedDescription, nil)
618
639
  return
619
640
  }
@@ -623,16 +644,16 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
623
644
  func stopRtmpAndRecording(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
624
645
  hms?.stopRTMPAndRecording(completion: { success, error in
625
646
  if success {
626
- let roomData = HmsDecoder.getHmsRoom(self.hms?.room)
647
+ let roomData = HMSDecoder.getHmsRoom(self.hms?.room)
627
648
  let type = self.getString(from: HMSRoomUpdate.browserRecordingStateUpdated)
628
649
 
629
- let localPeerData = HmsDecoder.getHmsLocalPeer(self.hms?.localPeer)
630
- let remotePeerData = HmsDecoder.getHmsRemotePeers(self.hms?.remotePeers)
650
+ let localPeerData = HMSDecoder.getHmsLocalPeer(self.hms?.localPeer)
651
+ let remotePeerData = HMSDecoder.getHmsRemotePeers(self.hms?.remotePeers)
631
652
  self.delegate?.emitEvent(self.ON_ROOM_UPDATE, ["event": self.ON_ROOM_UPDATE, "id": self.id, "type": type, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
632
653
  resolve?(["success": success])
633
654
  return
634
655
  } else {
635
- self.delegate?.emitEvent(self.ON_ERROR, ["event": self.ON_ERROR, "error": HmsDecoder.getError(error), "id": self.id])
656
+ self.delegate?.emitEvent(self.ON_ERROR, ["event": self.ON_ERROR, "error": HMSDecoder.getError(error), "id": self.id])
636
657
  reject?(error?.message, error?.localizedDescription, nil)
637
658
  return
638
659
  }
@@ -642,27 +663,28 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
642
663
  func startHLSStreaming(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
643
664
  guard let meetingURLVariants = data.value(forKey: "meetingURLVariants") as? [[String: Any]]?
644
665
  else {
645
- let error = HMSError(id: "126", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
646
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
666
+ let errorMessage = "startHLSStreaming: " + HMSHelper.getUnavailableRequiredKey(data, ["meetingURLVariants"])
667
+ emitRequiredKeysError(errorMessage)
668
+ reject?(errorMessage, errorMessage, nil)
647
669
  return
648
670
  }
649
671
 
650
- let recordConfig = HmsHelper.getHlsRecordingConfig(data)
651
- let hlsMeetingUrlVariant = HmsHelper.getHMSHLSMeetingURLVariants(meetingURLVariants)
672
+ let recordConfig = HMSHelper.getHlsRecordingConfig(data)
673
+ let hlsMeetingUrlVariant = HMSHelper.getHMSHLSMeetingURLVariants(meetingURLVariants)
652
674
  let config = HMSHLSConfig(variants: hlsMeetingUrlVariant, recording: recordConfig)
653
675
 
654
676
  hms?.startHLSStreaming(config: config, completion: { success, error in
655
677
  if success {
656
- let roomData = HmsDecoder.getHmsRoom(self.hms?.room)
678
+ let roomData = HMSDecoder.getHmsRoom(self.hms?.room)
657
679
  let type = self.getString(from: HMSRoomUpdate.hlsStreamingStateUpdated)
658
680
 
659
- let localPeerData = HmsDecoder.getHmsLocalPeer(self.hms?.localPeer)
660
- let remotePeerData = HmsDecoder.getHmsRemotePeers(self.hms?.remotePeers)
681
+ let localPeerData = HMSDecoder.getHmsLocalPeer(self.hms?.localPeer)
682
+ let remotePeerData = HMSDecoder.getHmsRemotePeers(self.hms?.remotePeers)
661
683
  self.delegate?.emitEvent(self.ON_ROOM_UPDATE, ["event": self.ON_ROOM_UPDATE, "id": self.id, "type": type, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
662
684
  resolve?(["success": success])
663
685
  return
664
686
  } else {
665
- self.delegate?.emitEvent(self.ON_ERROR, ["event": self.ON_ERROR, "error": HmsDecoder.getError(error), "id": self.id])
687
+ self.delegate?.emitEvent(self.ON_ERROR, ["event": self.ON_ERROR, "error": HMSDecoder.getError(error), "id": self.id])
666
688
  reject?(error?.message, error?.localizedDescription, nil)
667
689
  return
668
690
  }
@@ -672,16 +694,16 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
672
694
  func stopHLSStreaming(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
673
695
  hms?.stopHLSStreaming(config: nil, completion: { success, error in
674
696
  if success {
675
- let roomData = HmsDecoder.getHmsRoom(self.hms?.room)
697
+ let roomData = HMSDecoder.getHmsRoom(self.hms?.room)
676
698
  let type = self.getString(from: HMSRoomUpdate.browserRecordingStateUpdated)
677
699
 
678
- let localPeerData = HmsDecoder.getHmsLocalPeer(self.hms?.localPeer)
679
- let remotePeerData = HmsDecoder.getHmsRemotePeers(self.hms?.remotePeers)
700
+ let localPeerData = HMSDecoder.getHmsLocalPeer(self.hms?.localPeer)
701
+ let remotePeerData = HMSDecoder.getHmsRemotePeers(self.hms?.remotePeers)
680
702
  self.delegate?.emitEvent(self.ON_ROOM_UPDATE, ["event": self.ON_ROOM_UPDATE, "id": self.id, "type": type, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
681
703
  resolve?(["success": success])
682
704
  return
683
705
  } else {
684
- self.delegate?.emitEvent(self.ON_ERROR, ["event": self.ON_ERROR, "error": HmsDecoder.getError(error), "id": self.id])
706
+ self.delegate?.emitEvent(self.ON_ERROR, ["event": self.ON_ERROR, "error": HMSDecoder.getError(error), "id": self.id])
685
707
  reject?(error?.message, error?.localizedDescription, nil)
686
708
  return
687
709
  }
@@ -691,9 +713,9 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
691
713
  func changeName(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
692
714
  guard let name = data.value(forKey: "name") as? String
693
715
  else {
694
- let error = HMSError(id: "123", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
695
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
696
- reject?(nil, "REQUIRED_KEYS_NOT_FOUND", nil)
716
+ let errorMessage = "changeName: " + HMSHelper.getUnavailableRequiredKey(data, ["name"])
717
+ emitRequiredKeysError(errorMessage)
718
+ reject?(errorMessage, errorMessage, nil)
697
719
  return
698
720
  }
699
721
 
@@ -701,12 +723,49 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
701
723
  if success {
702
724
  resolve?(["success": success])
703
725
  } else {
704
- self.delegate?.emitEvent(self.ON_ERROR, ["event": self.ON_ERROR, "error": HmsDecoder.getError(error), "id": self.id])
726
+ self.delegate?.emitEvent(self.ON_ERROR, ["event": self.ON_ERROR, "error": HMSDecoder.getError(error), "id": self.id])
705
727
  reject?(error?.message, error?.localizedDescription, nil)
706
728
  }
707
729
  }
708
730
  }
709
731
 
732
+ func remoteMuteAllAudio() {
733
+ let allAudioTracks = HMSUtilities.getAllAudioTracks(in: (self.hms?.room)!!)
734
+ var customError: HMSError? = nil
735
+ for audioTrack in allAudioTracks {
736
+ self.hms?.changeTrackState(for: audioTrack, mute: true, completion: { success, error in
737
+ if success {
738
+ } else {
739
+ customError = error
740
+ }
741
+ })
742
+ }
743
+ if (customError != nil) {
744
+ delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HMSDecoder.getError(customError), "id": id])
745
+ }
746
+ }
747
+
748
+ func setPlaybackForAllAudio(_ data: NSDictionary) {
749
+ guard let mute = data.value(forKey: "mute") as? Bool
750
+ else {
751
+ let errorMessage = "setPlaybackForAllAudio: " + HMSHelper.getUnavailableRequiredKey(data, ["setPlaybackForAllAudio"])
752
+ emitRequiredKeysError(errorMessage)
753
+ return
754
+ }
755
+
756
+ DispatchQueue.main.async { [weak self] in
757
+ let remotePeers = self?.hms?.remotePeers
758
+ for peer in remotePeers ?? [] {
759
+ peer.remoteAudioTrack()?.setPlaybackAllowed(!mute)
760
+ }
761
+ }
762
+ let roomData = HMSDecoder.getHmsRoom(hms?.room)
763
+ let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
764
+ let remotePeerData = HMSDecoder.getHmsRemotePeers(hms?.remotePeers)
765
+
766
+ self.delegate?.emitEvent(ON_PEER_UPDATE, ["event": ON_PEER_UPDATE, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
767
+ }
768
+
710
769
  func enableRTCStats() {
711
770
  rtcStatsAttached = true
712
771
  }
@@ -715,49 +774,48 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
715
774
  rtcStatsAttached = false
716
775
  }
717
776
 
718
- // TODO: to be implemented after volume is exposed for iOS
719
- // func getVolume(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
720
- // guard let trackId = data.value(forKey: "trackId") as? String
721
- // else {
722
- // delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": "REQUIRED_KEYS_NOT_FOUND"])
723
- // reject?(nil, "REQUIRED_KEYS_NOT_FOUND", nil)
724
- // return
725
- // }
726
- //
777
+ // TODO: to be implemented after volume is exposed for iOS
778
+ // func getVolume(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
779
+ // guard let trackId = data.value(forKey: "trackId") as? String
780
+ // else {
781
+ // let errorMessage = "getVolume: " + HMSHelper.getUnavailableRequiredKey(data, ["trackId"])
782
+ // emitRequiredKeysError(errorMessage)
783
+ // reject?(errorMessage, errorMessage, nil)
784
+ // return
785
+ // }
727
786
  //
728
- // if (localPeer?.localAudioTrack()?.trackId == trackId) {
787
+ // if (localPeer?.localAudioTrack()?.trackId == trackId) {
729
788
  //
730
- // }
731
- // }
789
+ // }
790
+ // }
732
791
 
733
- // func setLocalVideoSettings(_ data: NSDictionary) {
734
- // let localVideoTrack = self.hms?.localPeer?.localVideoTrack()
792
+ // func setLocalVideoSettings(_ data: NSDictionary) {
793
+ // let localVideoTrack = self.hms?.localPeer?.localVideoTrack()
735
794
  //
736
- // guard let settings = HmsHelper.getLocalVideoSettings(data)
737
- // else {
738
- // //TODO: throw an error for invalid arguements
739
- // return
740
- // }
741
- // localVideoTrack?.settings = settings
742
- // }
743
-
744
- // MARK: - HMS SDK Delegate Callbacks
745
-
795
+ // guard let settings = HMSHelper.getLocalVideoSettings(data)
796
+ // else {
797
+ // let errorMessage = "setLocalVideoSettings: " + HMSHelper.getUnavailableRequiredKey(data)
798
+ // emitRequiredKeysError(errorMessage)
799
+ // return
800
+ // }
801
+ // localVideoTrack?.settings = settings
802
+ // }
803
+
804
+ // MARK: - HMS SDK Delegate Callbacks
746
805
  func on(join room: HMSRoom) {
747
- // Callback from join action
748
- let roomData = HmsDecoder.getHmsRoom(room)
749
- let localPeerData = HmsDecoder.getHmsLocalPeer(hms?.localPeer)
750
- let remotePeerData = HmsDecoder.getHmsRemotePeers(hms?.remotePeers)
806
+ let roomData = HMSDecoder.getHmsRoom(room)
807
+ let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
808
+ let remotePeerData = HMSDecoder.getHmsRemotePeers(hms?.remotePeers)
751
809
 
752
- let decodedRoles = HmsDecoder.getAllRoles(hms?.roles)
810
+ let decodedRoles = HMSDecoder.getAllRoles(hms?.roles)
753
811
  self.recentPreviewTracks = []
754
812
  self.delegate?.emitEvent(ON_JOIN, ["event": ON_JOIN, "id": self.id, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData, "roles": decodedRoles])
755
813
  }
756
814
 
757
815
  func onPreview(room: HMSRoom, localTracks: [HMSTrack]) {
758
- let previewTracks = HmsDecoder.getPreviewTracks(localTracks)
759
- let hmsRoom = HmsDecoder.getHmsRoom(room)
760
- let localPeerData = HmsDecoder.getHmsLocalPeer(hms?.localPeer)
816
+ let previewTracks = HMSDecoder.getPreviewTracks(localTracks)
817
+ let hmsRoom = HMSDecoder.getHmsRoom(room)
818
+ let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
761
819
 
762
820
  previewInProgress = false
763
821
  self.delegate?.emitEvent(ON_PREVIEW, ["event": ON_PREVIEW, "id": self.id, "room": hmsRoom, "previewTracks": previewTracks, "localPeer": localPeerData])
@@ -765,55 +823,55 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
765
823
 
766
824
  func on(room: HMSRoom, update: HMSRoomUpdate) {
767
825
  // Listener for any updation in room
768
- let roomData = HmsDecoder.getHmsRoom(room)
826
+ let roomData = HMSDecoder.getHmsRoom(room)
769
827
  let type = getString(from: update)
770
828
 
771
- let localPeerData = HmsDecoder.getHmsLocalPeer(hms?.localPeer)
772
- let remotePeerData = HmsDecoder.getHmsRemotePeers(hms?.remotePeers)
829
+ let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
830
+ let remotePeerData = HMSDecoder.getHmsRemotePeers(hms?.remotePeers)
773
831
 
774
832
  self.delegate?.emitEvent(ON_ROOM_UPDATE, ["event": ON_ROOM_UPDATE, "id": self.id, "type": type, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
775
833
  }
776
834
 
777
835
  func on(peer: HMSPeer, update: HMSPeerUpdate) {
778
836
  // Listener for updates in Peers
779
- let roomData = HmsDecoder.getHmsRoom(hms?.room)
837
+ let roomData = HMSDecoder.getHmsRoom(hms?.room)
780
838
  let type = getString(from: update)
781
839
 
782
- let localPeerData = HmsDecoder.getHmsLocalPeer(hms?.localPeer)
783
- let remotePeerData = HmsDecoder.getHmsRemotePeers(hms?.remotePeers)
784
- let hmsPeer = HmsDecoder.getHmsPeer(peer)
840
+ let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
841
+ let remotePeerData = HMSDecoder.getHmsRemotePeers(hms?.remotePeers)
842
+ let hmsPeer = HMSDecoder.getHmsPeer(peer)
785
843
 
786
844
  self.delegate?.emitEvent(ON_PEER_UPDATE, ["event": ON_PEER_UPDATE, "id": self.id, "type": type, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData, "peer": hmsPeer])
787
845
  }
788
846
 
789
847
  func on(track: HMSTrack, update: HMSTrackUpdate, for peer: HMSPeer) {
790
848
  // Listener for updates in Tracks
791
- let roomData = HmsDecoder.getHmsRoom(hms?.room)
849
+ let roomData = HMSDecoder.getHmsRoom(hms?.room)
792
850
  let type = getString(from: update)
793
851
 
794
- let localPeerData = HmsDecoder.getHmsLocalPeer(hms?.localPeer)
795
- let remotePeerData = HmsDecoder.getHmsRemotePeers(hms?.remotePeers)
796
- let hmsPeer = HmsDecoder.getHmsPeer(peer)
797
- let hmsTrack = HmsDecoder.getHmsTrack(track)
852
+ let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
853
+ let remotePeerData = HMSDecoder.getHmsRemotePeers(hms?.remotePeers)
854
+ let hmsPeer = HMSDecoder.getHmsPeer(peer)
855
+ let hmsTrack = HMSDecoder.getHmsTrack(track)
798
856
 
799
857
  self.delegate?.emitEvent(ON_TRACK_UPDATE, ["event": ON_TRACK_UPDATE, "id": self.id, "room": roomData, "type": type, "localPeer": localPeerData, "remotePeers": remotePeerData, "peer": hmsPeer, "track": hmsTrack])
800
858
  }
801
859
 
802
860
  func on(error: HMSError) {
803
861
  if previewInProgress { previewInProgress = false }
804
- self.delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
862
+ self.delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HMSDecoder.getError(error), "id": id])
805
863
  }
806
864
 
807
865
  func on(message: HMSMessage) {
808
- self.delegate?.emitEvent(ON_MESSAGE, ["event": ON_MESSAGE, "id": self.id, "sender": HmsDecoder.getHmsPeer(message.sender), "recipient": HmsDecoder.getHmsMessageRecipient(message.recipient), "time": message.time.timeIntervalSince1970 * 1000, "message": message.message, "type": message.type])
866
+ self.delegate?.emitEvent(ON_MESSAGE, ["event": ON_MESSAGE, "id": self.id, "sender": HMSDecoder.getHmsPeer(message.sender), "recipient": HMSDecoder.getHmsMessageRecipient(message.recipient), "time": message.time.timeIntervalSince1970 * 1000, "message": message.message, "type": message.type])
809
867
  }
810
868
 
811
869
  func on(updated speakers: [HMSSpeaker]) {
812
870
  var speakerPeerIds: [[String: Any]] = []
813
871
  for speaker in speakers {
814
- speakerPeerIds.append(["peer": HmsDecoder.getHmsPeer(speaker.peer), "level": speaker.level, "track": HmsDecoder.getHmsTrack(speaker.track)])
872
+ speakerPeerIds.append(["peer": HMSDecoder.getHmsPeer(speaker.peer), "level": speaker.level, "track": HMSDecoder.getHmsTrack(speaker.track)])
815
873
  }
816
- self.delegate?.emitEvent(ON_SPEAKER, ["event": ON_SPEAKER, "id": self.id, "count": speakers.count, "peers": speakerPeerIds])
874
+ self.delegate?.emitEvent(ON_SPEAKER, ["event": ON_SPEAKER, "id": self.id, "speakers": speakerPeerIds])
817
875
  }
818
876
 
819
877
  func onReconnecting() {
@@ -825,13 +883,13 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
825
883
  }
826
884
 
827
885
  func on(roleChangeRequest: HMSRoleChangeRequest) {
828
- let decodedRoleChangeRequest = HmsDecoder.getHmsRoleChangeRequest(roleChangeRequest, self.id)
886
+ let decodedRoleChangeRequest = HMSDecoder.getHmsRoleChangeRequest(roleChangeRequest, self.id)
829
887
  recentRoleChangeRequest = roleChangeRequest
830
888
  self.delegate?.emitEvent(ON_ROLE_CHANGE_REQUEST, decodedRoleChangeRequest)
831
889
  }
832
890
 
833
891
  func on(changeTrackStateRequest: HMSChangeTrackStateRequest) {
834
- let decodedChangeTrackStateRequest = HmsDecoder.getHmsChangeTrackStateRequest(changeTrackStateRequest, id)
892
+ let decodedChangeTrackStateRequest = HMSDecoder.getHmsChangeTrackStateRequest(changeTrackStateRequest, id)
835
893
  delegate?.emitEvent("ON_CHANGE_TRACK_STATE_REQUEST", decodedChangeTrackStateRequest)
836
894
  }
837
895
 
@@ -839,7 +897,7 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
839
897
  let requestedBy = notification.requestedBy as HMSPeer?
840
898
  var decodedRequestedBy: [String: Any]?
841
899
  if let requested = requestedBy {
842
- decodedRequestedBy = HmsDecoder.getHmsPeer(requested)
900
+ decodedRequestedBy = HMSDecoder.getHmsPeer(requested)
843
901
  }
844
902
  let reason = notification.reason
845
903
  let roomEnded = notification.roomEnded
@@ -850,9 +908,9 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
850
908
  if (!rtcStatsAttached) {
851
909
  return
852
910
  }
853
- let video = HmsDecoder.getHMSRTCStats(rtcStats.video)
854
- let audio = HmsDecoder.getHMSRTCStats(rtcStats.audio)
855
- let combined = HmsDecoder.getHMSRTCStats(rtcStats.combined)
911
+ let video = HMSDecoder.getHMSRTCStats(rtcStats.video)
912
+ let audio = HMSDecoder.getHMSRTCStats(rtcStats.audio)
913
+ let combined = HMSDecoder.getHMSRTCStats(rtcStats.combined)
856
914
 
857
915
  self.delegate?.emitEvent(ON_RTC_STATS, ["video": video, "audio": audio, "combined": combined, "id": self.id])
858
916
  }
@@ -861,9 +919,9 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
861
919
  if (!rtcStatsAttached) {
862
920
  return
863
921
  }
864
- let localStats = HmsDecoder.getLocalAudioStats(localAudioStats)
865
- let localTrack = HmsDecoder.getHmsLocalAudioTrack(track)
866
- let decodedPeer = HmsDecoder.getHmsPeer(peer)
922
+ let localStats = HMSDecoder.getLocalAudioStats(localAudioStats)
923
+ let localTrack = HMSDecoder.getHmsLocalAudioTrack(track)
924
+ let decodedPeer = HMSDecoder.getHmsPeer(peer)
867
925
 
868
926
  self.delegate?.emitEvent(ON_LOCAL_AUDIO_STATS, ["localAudioStats": localStats, "track": localTrack, "peer": decodedPeer, "id": self.id])
869
927
  }
@@ -872,9 +930,9 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
872
930
  if (!rtcStatsAttached) {
873
931
  return
874
932
  }
875
- let localStats = HmsDecoder.getLocalVideoStats(localVideoStats)
876
- let decodedPeer = HmsDecoder.getHmsPeer(peer)
877
- let localTrack = HmsDecoder.getHmsLocalVideoTrack(track)
933
+ let localStats = HMSDecoder.getLocalVideoStats(localVideoStats)
934
+ let decodedPeer = HMSDecoder.getHmsPeer(peer)
935
+ let localTrack = HMSDecoder.getHmsLocalVideoTrack(track)
878
936
 
879
937
  self.delegate?.emitEvent(ON_LOCAL_VIDEO_STATS, ["localVideoStats": localStats, "track": localTrack, "peer": decodedPeer, "id": self.id])
880
938
  }
@@ -883,9 +941,9 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
883
941
  if (!rtcStatsAttached) {
884
942
  return
885
943
  }
886
- let remoteStats = HmsDecoder.getRemoteAudioStats(remoteAudioStats)
887
- let remoteTrack = HmsDecoder.getHMSRemoteAudioTrack(track)
888
- let decodedPeer = HmsDecoder.getHmsPeer(peer)
944
+ let remoteStats = HMSDecoder.getRemoteAudioStats(remoteAudioStats)
945
+ let remoteTrack = HMSDecoder.getHMSRemoteAudioTrack(track)
946
+ let decodedPeer = HMSDecoder.getHmsPeer(peer)
889
947
 
890
948
  self.delegate?.emitEvent(ON_REMOTE_AUDIO_STATS, ["remoteAudioStats": remoteStats, "track": remoteTrack, "peer": decodedPeer, "id": self.id])
891
949
  }
@@ -894,51 +952,14 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
894
952
  if (!rtcStatsAttached) {
895
953
  return
896
954
  }
897
- let remoteStats = HmsDecoder.getRemoteVideoStats(remoteVideoStats)
898
- let decodedPeer = HmsDecoder.getHmsPeer(peer)
899
- let remoteTrack = HmsDecoder.getHMSRemoteVideoTrack(track)
955
+ let remoteStats = HMSDecoder.getRemoteVideoStats(remoteVideoStats)
956
+ let decodedPeer = HMSDecoder.getHmsPeer(peer)
957
+ let remoteTrack = HMSDecoder.getHMSRemoteVideoTrack(track)
900
958
 
901
959
  self.delegate?.emitEvent(ON_REMOTE_VIDEO_STATS, ["remoteVideoStats": remoteStats, "track": remoteTrack, "peer": decodedPeer, "id": self.id])
902
960
  }
903
961
 
904
962
  // MARK: Helper Functions
905
- func remoteMuteAllAudio() {
906
- let allAudioTracks = HMSUtilities.getAllAudioTracks(in: (self.hms?.room)!!)
907
- var customError: HMSError? = nil
908
- for audioTrack in allAudioTracks {
909
- self.hms?.changeTrackState(for: audioTrack, mute: true, completion: { success, error in
910
- if success {
911
- } else {
912
- customError = error
913
- }
914
- })
915
- }
916
- if (customError != nil) {
917
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(customError), "id": id])
918
- }
919
- }
920
-
921
- func setPlaybackForAllAudio(_ data: NSDictionary) {
922
- guard let mute = data.value(forKey: "mute") as? Bool
923
- else {
924
- let error = HMSError(id: "119", code: HMSErrorCode.genericErrorUnknown, message: "REQUIRED_KEYS_NOT_FOUND")
925
- delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
926
- return
927
- }
928
-
929
- DispatchQueue.main.async { [weak self] in
930
- let remotePeers = self?.hms?.remotePeers
931
- for peer in remotePeers ?? [] {
932
- peer.remoteAudioTrack()?.setPlaybackAllowed(!mute)
933
- }
934
- }
935
- let roomData = HmsDecoder.getHmsRoom(hms?.room)
936
- let localPeerData = HmsDecoder.getHmsLocalPeer(hms?.localPeer)
937
- let remotePeerData = HmsDecoder.getHmsRemotePeers(hms?.remotePeers)
938
-
939
- self.delegate?.emitEvent(ON_PEER_UPDATE, ["event": ON_PEER_UPDATE, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
940
- }
941
-
942
963
  private func getString(from update: HMSPeerUpdate) -> String {
943
964
  switch update {
944
965
  case .peerJoined:
@@ -1001,7 +1022,7 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
1001
1022
  }
1002
1023
  }
1003
1024
 
1004
- // extension HmsSDK: HMSLogger {
1025
+ // extension HMSRNSDK: HMSLogger {
1005
1026
  // func log(_ message: String, _ level: HMSLogLevel) {
1006
1027
  //
1007
1028
  // }