@100mslive/react-native-hms 0.9.6 → 0.9.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -4
- package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/checksums/sha1-checksums.bin +0 -0
- package/android/.idea/compiler.xml +6 -0
- package/android/.idea/gradle.xml +6 -1
- package/android/.idea/jarRepositories.xml +40 -0
- package/android/.idea/libraries/Gradle__androidx_activity_activity_1_2_4_aar.xml +16 -0
- package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_3_0.xml +11 -0
- package/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_1_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_4_1_aar.xml +16 -0
- package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_4_1_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml +11 -0
- package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_autofill_autofill_1_1_0_aar.xml +16 -0
- package/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml +11 -0
- package/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_2_1_3_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_core_core_1_7_0_aar.xml +16 -0
- package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +16 -0
- package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_6_aar.xml +16 -0
- package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_4_0.xml +11 -0
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_4_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +16 -0
- package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__com_facebook_fbjni_fbjni_java_only_0_2_2.xml +13 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_5_0_aar.xml +15 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_5_0_aar.xml +18 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_5_0_aar.xml +18 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_5_0_aar.xml +18 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_5_0_aar.xml +18 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_native_2_5_0_aar.xml +15 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_5_0_aar.xml +15 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_ashmem_2_5_0_aar.xml +15 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_java_2_5_0_aar.xml +15 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_native_2_5_0_aar.xml +15 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_5_0_aar.xml +15 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_5_0_aar.xml +15 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_ui_common_2_5_0_aar.xml +15 -0
- package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_18_0.xml +13 -0
- package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_69_1_debug_aar.xml +14 -0
- package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_10_3.xml +13 -0
- package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_10_3.xml +13 -0
- package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_10_3_aar.xml +15 -0
- package/android/.idea/libraries/Gradle__com_facebook_yoga_proguard_annotations_1_19_0.xml +13 -0
- package/android/.idea/libraries/Gradle__com_github_100mslive_android_sdk_lib_2_4_2_aar.xml +11 -0
- package/android/.idea/libraries/Gradle__com_github_100mslive_webrtc_m97_aar.xml +11 -0
- package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +13 -0
- package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_4_9_2.xml +13 -0
- package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_4_9_2.xml +13 -0
- package/android/.idea/libraries/Gradle__com_squareup_okio_okio_2_9_0.xml +13 -0
- package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +13 -0
- package/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml +13 -0
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_annotations_jvm_1_3_72.xml +13 -0
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_6_10.xml +13 -0
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_6_10.xml +13 -0
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_6_10.xml +13 -0
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_6_10.xml +13 -0
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_android_1_6_0.xml +13 -0
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_6_0.xml +13 -0
- package/android/.idea/misc.xml +1 -1
- package/android/.idea/modules/android.androidTest.iml +201 -0
- package/android/.idea/modules/android.iml +28 -6
- package/android/.idea/modules/android.main.iml +196 -0
- package/android/.idea/modules/android.unitTest.iml +195 -0
- package/android/.idea/modules.xml +3 -0
- package/android/build.gradle +3 -3
- package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +2 -2
- package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +35 -5
- package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +2 -2
- package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +53 -50
- package/ios/HMSDecoder.swift +1 -1
- package/ios/HMSHelper.swift +13 -0
- package/ios/HMSManager.m +1 -1
- package/ios/HMSManager.swift +2 -2
- package/ios/HMSRNSDK.swift +177 -147
- package/lib/commonjs/classes/HMSEncoder.js +26 -10
- package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSLogger.js +2 -2
- package/lib/commonjs/classes/HMSLogger.js.map +1 -1
- package/lib/commonjs/classes/HMSMessage.js +1 -1
- package/lib/commonjs/classes/HMSMessage.js.map +1 -1
- package/lib/commonjs/classes/HMSRTMPConfig.js +3 -0
- package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSRtmpVideoResolution.js +23 -0
- package/lib/commonjs/classes/HMSRtmpVideoResolution.js.map +1 -0
- package/lib/commonjs/classes/HMSSDK.js +87 -43
- package/lib/commonjs/classes/HMSSDK.js.map +1 -1
- package/lib/commonjs/index.js +14 -14
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/classes/HMSEncoder.js +24 -9
- package/lib/module/classes/HMSEncoder.js.map +1 -1
- package/lib/module/classes/HMSLogger.js +2 -2
- package/lib/module/classes/HMSLogger.js.map +1 -1
- package/lib/module/classes/HMSMessage.js +1 -1
- package/lib/module/classes/HMSMessage.js.map +1 -1
- package/lib/module/classes/HMSRTMPConfig.js +3 -0
- package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
- package/lib/module/classes/HMSRtmpVideoResolution.js +14 -0
- package/lib/module/classes/HMSRtmpVideoResolution.js.map +1 -0
- package/lib/module/classes/HMSSDK.js +86 -37
- package/lib/module/classes/HMSSDK.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/classes/HMSEncoder.d.ts +4 -2
- package/lib/typescript/classes/HMSLogger.d.ts +1 -1
- package/lib/typescript/classes/HMSMessage.d.ts +3 -3
- package/lib/typescript/classes/HMSRTMPConfig.d.ts +3 -0
- package/lib/typescript/classes/HMSRtmpVideoResolution.d.ts +8 -0
- package/lib/typescript/classes/HMSSDK.d.ts +4 -4
- package/lib/typescript/index.d.ts +1 -1
- package/package.json +1 -19
- package/react-native-hms.podspec +1 -1
- package/src/classes/HMSEncoder.ts +24 -9
- package/src/classes/HMSLogger.ts +2 -2
- package/src/classes/HMSMessage.ts +4 -4
- package/src/classes/HMSRTMPConfig.ts +5 -0
- package/src/classes/HMSRtmpVideoResolution.ts +9 -0
- package/src/classes/HMSSDK.tsx +96 -37
- package/src/index.ts +1 -1
- package/lib/commonjs/classes/HMSSpeakerUpdate.js +0 -26
- package/lib/commonjs/classes/HMSSpeakerUpdate.js.map +0 -1
- package/lib/module/classes/HMSSpeakerUpdate.js +0 -17
- package/lib/module/classes/HMSSpeakerUpdate.js.map +0 -1
- package/lib/typescript/classes/HMSSpeakerUpdate.d.ts +0 -11
- package/src/classes/HMSSpeakerUpdate.ts +0 -17
package/ios/HMSRNSDK.swift
CHANGED
|
@@ -17,6 +17,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
17
17
|
var id: String = "12345"
|
|
18
18
|
var rtcStatsAttached = false
|
|
19
19
|
var recentPreviewTracks: [HMSTrack]? = []
|
|
20
|
+
private var reconnectingStage: Bool = false
|
|
20
21
|
|
|
21
22
|
let ON_PREVIEW = "ON_PREVIEW"
|
|
22
23
|
let ON_JOIN = "ON_JOIN"
|
|
@@ -55,6 +56,10 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
55
56
|
|
|
56
57
|
private var previewInProgress = false
|
|
57
58
|
|
|
59
|
+
func emitRequiredKeysError(_ error: String) {
|
|
60
|
+
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])
|
|
61
|
+
}
|
|
62
|
+
|
|
58
63
|
func preview(_ credentials: NSDictionary) {
|
|
59
64
|
|
|
60
65
|
guard !previewInProgress else {
|
|
@@ -66,8 +71,8 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
66
71
|
guard let authToken = credentials.value(forKey: "authToken") as? String,
|
|
67
72
|
let user = credentials.value(forKey: "username") as? String
|
|
68
73
|
else {
|
|
69
|
-
let
|
|
70
|
-
|
|
74
|
+
let errorMessage = "preview: " + HMSHelper.getUnavailableRequiredKey(credentials, ["authToken", "username"])
|
|
75
|
+
emitRequiredKeysError(errorMessage)
|
|
71
76
|
return
|
|
72
77
|
}
|
|
73
78
|
|
|
@@ -90,9 +95,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
90
95
|
func previewForRole(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
91
96
|
guard let role = data.value(forKey: "role") as? String
|
|
92
97
|
else {
|
|
93
|
-
let
|
|
94
|
-
|
|
95
|
-
reject?(
|
|
98
|
+
let errorMessage = "previewForRole: " + HMSHelper.getUnavailableRequiredKey(data, ["role"])
|
|
99
|
+
emitRequiredKeysError(errorMessage)
|
|
100
|
+
reject?(errorMessage, errorMessage, nil)
|
|
96
101
|
return
|
|
97
102
|
}
|
|
98
103
|
|
|
@@ -131,11 +136,11 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
131
136
|
guard let authToken = credentials.value(forKey: "authToken") as? String,
|
|
132
137
|
let user = credentials.value(forKey: "username") as? String
|
|
133
138
|
else {
|
|
134
|
-
let
|
|
135
|
-
|
|
139
|
+
let errorMessage = "join: " + HMSHelper.getUnavailableRequiredKey(credentials, ["authToken", "username"])
|
|
140
|
+
emitRequiredKeysError(errorMessage)
|
|
136
141
|
return
|
|
137
142
|
}
|
|
138
|
-
|
|
143
|
+
reconnectingStage = false
|
|
139
144
|
let metadata = credentials.value(forKey: "metadata") as? String
|
|
140
145
|
let captureNetworkQualityInPreview = credentials.value(forKey: "captureNetworkQualityInPreview") as? Bool ?? false
|
|
141
146
|
|
|
@@ -158,8 +163,8 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
158
163
|
func setLocalMute(_ data: NSDictionary) {
|
|
159
164
|
guard let isMute = data.value(forKey: "isMute") as? Bool
|
|
160
165
|
else {
|
|
161
|
-
let
|
|
162
|
-
|
|
166
|
+
let errorMessage = "setLocalMute: " + HMSHelper.getUnavailableRequiredKey(data, ["isMute"])
|
|
167
|
+
emitRequiredKeysError(errorMessage)
|
|
163
168
|
return
|
|
164
169
|
}
|
|
165
170
|
|
|
@@ -171,8 +176,8 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
171
176
|
func setLocalVideoMute(_ data: NSDictionary) {
|
|
172
177
|
guard let isMute = data.value(forKey: "isMute") as? Bool
|
|
173
178
|
else {
|
|
174
|
-
let
|
|
175
|
-
|
|
179
|
+
let errorMessage = "setLocalVideoMute: " + HMSHelper.getUnavailableRequiredKey(data, ["isMute"])
|
|
180
|
+
emitRequiredKeysError(errorMessage)
|
|
176
181
|
return
|
|
177
182
|
}
|
|
178
183
|
|
|
@@ -188,26 +193,31 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
188
193
|
}
|
|
189
194
|
|
|
190
195
|
func leave(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
self
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
196
|
+
if(reconnectingStage) {
|
|
197
|
+
reject?("101", "Still in reconnecting stage", nil)
|
|
198
|
+
} else {
|
|
199
|
+
DispatchQueue.main.async { [weak self] in
|
|
200
|
+
guard let strongSelf = self else { return }
|
|
201
|
+
self?.config = nil
|
|
202
|
+
self?.recentRoleChangeRequest = nil
|
|
203
|
+
self?.hms?.leave({ success, error in
|
|
204
|
+
if success {
|
|
205
|
+
resolve?(["success": success])
|
|
206
|
+
} else {
|
|
207
|
+
strongSelf.delegate?.emitEvent(strongSelf.ON_ERROR, ["event": strongSelf.ON_ERROR, "error": HMSDecoder.getError(error), "id": strongSelf.id])
|
|
208
|
+
reject?(nil, "error in leave", nil)
|
|
209
|
+
}
|
|
210
|
+
})
|
|
211
|
+
}
|
|
203
212
|
}
|
|
204
213
|
}
|
|
205
214
|
|
|
206
215
|
func sendBroadcastMessage(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
207
216
|
guard let message = data.value(forKey: "message") as? String
|
|
208
217
|
else {
|
|
209
|
-
let
|
|
210
|
-
|
|
218
|
+
let errorMessage = "sendBroadcastMessage: " + HMSHelper.getUnavailableRequiredKey(data, ["message"])
|
|
219
|
+
emitRequiredKeysError(errorMessage)
|
|
220
|
+
reject?(errorMessage, errorMessage, nil)
|
|
211
221
|
return
|
|
212
222
|
}
|
|
213
223
|
|
|
@@ -231,8 +241,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
231
241
|
guard let message = data.value(forKey: "message") as? String,
|
|
232
242
|
let targetedRoles = data.value(forKey: "roles") as? [String]
|
|
233
243
|
else {
|
|
234
|
-
let
|
|
235
|
-
|
|
244
|
+
let errorMessage = "sendGroupMessage: " + HMSHelper.getUnavailableRequiredKey(data, ["message", "roles"])
|
|
245
|
+
emitRequiredKeysError(errorMessage)
|
|
246
|
+
reject?(errorMessage, errorMessage, nil)
|
|
236
247
|
return
|
|
237
248
|
}
|
|
238
249
|
|
|
@@ -256,8 +267,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
256
267
|
guard let message = data.value(forKey: "message") as? String,
|
|
257
268
|
let peerId = data.value(forKey: "peerId") as? String
|
|
258
269
|
else {
|
|
259
|
-
let
|
|
260
|
-
|
|
270
|
+
let errorMessage = "sendDirectMessage: " + HMSHelper.getUnavailableRequiredKey(data, ["message", "peerId"])
|
|
271
|
+
emitRequiredKeysError(errorMessage)
|
|
272
|
+
reject?(errorMessage, errorMessage, nil)
|
|
261
273
|
return
|
|
262
274
|
}
|
|
263
275
|
|
|
@@ -281,11 +293,17 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
281
293
|
|
|
282
294
|
DispatchQueue.main.async { [weak self] in
|
|
283
295
|
|
|
284
|
-
guard let request = self?.recentRoleChangeRequest
|
|
296
|
+
guard let request = self?.recentRoleChangeRequest
|
|
297
|
+
else {
|
|
298
|
+
let errorMessage = "acceptRoleChange: recentRoleChangeRequest not found"
|
|
299
|
+
self?.emitRequiredKeysError(errorMessage)
|
|
300
|
+
reject?(errorMessage, errorMessage, nil)
|
|
301
|
+
return
|
|
302
|
+
}
|
|
285
303
|
|
|
286
304
|
self?.hms?.accept(changeRole: request, completion: { success, error in
|
|
287
305
|
if success {
|
|
288
|
-
resolve?(["success":
|
|
306
|
+
resolve?(["success": success])
|
|
289
307
|
} else {
|
|
290
308
|
self?.delegate?.emitEvent("ON_ERROR", ["event": self?.ON_ERROR ?? "", "error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
|
|
291
309
|
reject?(error?.message, error?.localizedDescription, nil)
|
|
@@ -301,8 +319,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
301
319
|
guard let peerId = data.value(forKey: "peerId") as? String,
|
|
302
320
|
let role = data.value(forKey: "role") as? String
|
|
303
321
|
else {
|
|
304
|
-
let
|
|
305
|
-
|
|
322
|
+
let errorMessage = "changeRole: " + HMSHelper.getUnavailableRequiredKey(data, ["peerId", "role"])
|
|
323
|
+
emitRequiredKeysError(errorMessage)
|
|
324
|
+
reject?(errorMessage, errorMessage, nil)
|
|
306
325
|
return
|
|
307
326
|
}
|
|
308
327
|
|
|
@@ -315,7 +334,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
315
334
|
|
|
316
335
|
self?.hms?.changeRole(for: peer, to: role, force: force, completion: { success, error in
|
|
317
336
|
if success {
|
|
318
|
-
resolve?(["success":
|
|
337
|
+
resolve?(["success": success])
|
|
319
338
|
} else {
|
|
320
339
|
self?.delegate?.emitEvent("ON_ERROR", ["event": self?.ON_ERROR ?? "", "error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
|
|
321
340
|
reject?(error?.message, error?.localizedDescription, nil)
|
|
@@ -328,8 +347,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
328
347
|
|
|
329
348
|
guard let trackId = data.value(forKey: "trackId") as? String
|
|
330
349
|
else {
|
|
331
|
-
let
|
|
332
|
-
|
|
350
|
+
let errorMessage = "changeTrackState: " + HMSHelper.getUnavailableRequiredKey(data, ["trackId"])
|
|
351
|
+
emitRequiredKeysError(errorMessage)
|
|
352
|
+
reject?(errorMessage, errorMessage, nil)
|
|
333
353
|
return
|
|
334
354
|
}
|
|
335
355
|
|
|
@@ -338,11 +358,14 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
338
358
|
DispatchQueue.main.async { [weak self] in
|
|
339
359
|
guard let remotePeers = self?.hms?.remotePeers,
|
|
340
360
|
let track = HMSHelper.getTrackFromTrackId(trackId, remotePeers)
|
|
341
|
-
else {
|
|
361
|
+
else {
|
|
362
|
+
reject?(nil, "TRACK_NOT_FOUND", nil)
|
|
363
|
+
return
|
|
364
|
+
}
|
|
342
365
|
|
|
343
366
|
self?.hms?.changeTrackState(for: track, mute: mute, completion: { success, error in
|
|
344
367
|
if success {
|
|
345
|
-
resolve?(["success":
|
|
368
|
+
resolve?(["success": success])
|
|
346
369
|
} else {
|
|
347
370
|
self?.delegate?.emitEvent("ON_ERROR", ["event": self?.ON_ERROR ?? "", "error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
|
|
348
371
|
reject?(error?.message, error?.localizedDescription, nil)
|
|
@@ -355,8 +378,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
355
378
|
|
|
356
379
|
guard let mute = data.value(forKey: "mute") as? Bool
|
|
357
380
|
else {
|
|
358
|
-
let
|
|
359
|
-
|
|
381
|
+
let errorMessage = "changeTrackStateForRoles: " + HMSHelper.getUnavailableRequiredKey(data, ["mute"])
|
|
382
|
+
emitRequiredKeysError(errorMessage)
|
|
383
|
+
reject?(errorMessage, errorMessage, nil)
|
|
360
384
|
return
|
|
361
385
|
}
|
|
362
386
|
let source = data.value(forKey: "source") as? String
|
|
@@ -376,7 +400,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
376
400
|
let encodedTargetedRoles = HMSHelper.getRolesFromRoleNames(targetedRoles, roles: self?.hms?.roles)
|
|
377
401
|
self?.hms?.changeTrackState(mute: mute, for: decodeType, source: source, roles: encodedTargetedRoles, completion: { success, error in
|
|
378
402
|
if success {
|
|
379
|
-
resolve?(["success":
|
|
403
|
+
resolve?(["success": success])
|
|
380
404
|
} else {
|
|
381
405
|
self?.delegate?.emitEvent("ON_ERROR", ["event": self?.ON_ERROR ?? "", "error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
|
|
382
406
|
reject?(error?.message, error?.localizedDescription, nil)
|
|
@@ -388,9 +412,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
388
412
|
func isMute(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
389
413
|
guard let trackId = data.value(forKey: "trackId") as? String
|
|
390
414
|
else {
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
415
|
+
let errorMessage = "isMute: " + HMSHelper.getUnavailableRequiredKey(data, ["trackId"])
|
|
416
|
+
emitRequiredKeysError(errorMessage)
|
|
417
|
+
reject?(errorMessage, errorMessage, nil)
|
|
394
418
|
return
|
|
395
419
|
}
|
|
396
420
|
|
|
@@ -402,9 +426,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
402
426
|
guard let remotePeers = self?.hms?.remotePeers,
|
|
403
427
|
let track = HMSHelper.getTrackFromTrackId(trackId, remotePeers)
|
|
404
428
|
else {
|
|
405
|
-
let error = HMSError(id: "120", code: HMSErrorCode.genericErrorUnknown, message: "
|
|
429
|
+
let error = HMSError(id: "120", code: HMSErrorCode.genericErrorUnknown, message: "TRACK_NOT_FOUND")
|
|
406
430
|
strongSelf.delegate?.emitEvent(strongSelf.ON_ERROR, ["event": strongSelf.ON_ERROR, "error": HMSDecoder.getError(error), "id": strongSelf.id])
|
|
407
|
-
reject?(nil, "
|
|
431
|
+
reject?(nil, "TRACK_NOT_FOUND", nil)
|
|
408
432
|
return
|
|
409
433
|
}
|
|
410
434
|
let mute = track.isMute()
|
|
@@ -420,8 +444,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
420
444
|
|
|
421
445
|
guard let peerId = data.value(forKey: "peerId") as? String
|
|
422
446
|
else {
|
|
423
|
-
let
|
|
424
|
-
|
|
447
|
+
let errorMessage = "removePeer: " + HMSHelper.getUnavailableRequiredKey(data, ["peerId"])
|
|
448
|
+
emitRequiredKeysError(errorMessage)
|
|
449
|
+
reject?(errorMessage, errorMessage, nil)
|
|
425
450
|
return
|
|
426
451
|
}
|
|
427
452
|
|
|
@@ -431,11 +456,14 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
431
456
|
|
|
432
457
|
guard let remotePeers = self?.hms?.remotePeers,
|
|
433
458
|
let peer = HMSHelper.getRemotePeerFromPeerId(peerId, remotePeers: remotePeers)
|
|
434
|
-
else {
|
|
459
|
+
else {
|
|
460
|
+
reject?(nil, "PEER_NOT_FOUND", nil)
|
|
461
|
+
return
|
|
462
|
+
}
|
|
435
463
|
|
|
436
464
|
self?.hms?.removePeer(peer, reason: reason ?? "Removed from room", completion: { success, error in
|
|
437
465
|
if success {
|
|
438
|
-
resolve?(["success":
|
|
466
|
+
resolve?(["success": success])
|
|
439
467
|
} else {
|
|
440
468
|
self?.delegate?.emitEvent("ON_ERROR", ["event": self?.ON_ERROR ?? "", "error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
|
|
441
469
|
reject?(error?.message, error?.localizedDescription, nil)
|
|
@@ -449,15 +477,16 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
449
477
|
guard let lock = data.value(forKey: "lock") as? Bool,
|
|
450
478
|
let reason = data.value(forKey: "reason") as? String
|
|
451
479
|
else {
|
|
452
|
-
let
|
|
453
|
-
|
|
480
|
+
let errorMessage = "endRoom: " + HMSHelper.getUnavailableRequiredKey(data, ["lock", "reason"])
|
|
481
|
+
emitRequiredKeysError(errorMessage)
|
|
482
|
+
reject?(errorMessage, errorMessage, nil)
|
|
454
483
|
return
|
|
455
484
|
}
|
|
456
485
|
|
|
457
486
|
DispatchQueue.main.async { [weak self] in
|
|
458
487
|
self?.hms?.endRoom(lock: lock, reason: reason, completion: { success, error in
|
|
459
488
|
if success {
|
|
460
|
-
resolve?(["success":
|
|
489
|
+
resolve?(["success": success])
|
|
461
490
|
} else {
|
|
462
491
|
self?.delegate?.emitEvent("ON_ERROR", ["event": self?.ON_ERROR ?? "", "error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
|
|
463
492
|
reject?(error?.message, error?.localizedDescription, nil)
|
|
@@ -469,18 +498,15 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
469
498
|
func isPlaybackAllowed(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
470
499
|
guard let trackId = data.value(forKey: "trackId") as? String
|
|
471
500
|
else {
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
501
|
+
let errorMessage = "isPlaybackAllowed: " + HMSHelper.getUnavailableRequiredKey(data, ["trackId"])
|
|
502
|
+
emitRequiredKeysError(errorMessage)
|
|
503
|
+
reject?(errorMessage, errorMessage, nil)
|
|
475
504
|
return
|
|
476
505
|
}
|
|
477
506
|
DispatchQueue.main.async { [weak self] in
|
|
478
|
-
guard let strongSelf = self else { return }
|
|
479
507
|
guard let remotePeers = self?.hms?.remotePeers
|
|
480
508
|
else {
|
|
481
|
-
|
|
482
|
-
strongSelf.delegate?.emitEvent(strongSelf.ON_ERROR, ["event": strongSelf.ON_ERROR, "error": HMSDecoder.getError(error), "id": strongSelf.id])
|
|
483
|
-
reject?(nil, "NOT_FOUND", nil)
|
|
509
|
+
reject?(nil, "REMOTE_PEERS_NOT_FOUND", nil)
|
|
484
510
|
return
|
|
485
511
|
}
|
|
486
512
|
let remoteAudioTrack = HMSHelper.getRemoteAudioTrackFromTrackId(trackId, remotePeers)
|
|
@@ -494,9 +520,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
494
520
|
resolve?(isPlaybackAllowed)
|
|
495
521
|
return
|
|
496
522
|
} else {
|
|
497
|
-
|
|
498
|
-
strongSelf.delegate?.emitEvent(strongSelf.ON_ERROR, ["event": strongSelf.ON_ERROR, "error": HMSDecoder.getError(error), "id": strongSelf.id])
|
|
499
|
-
reject?(nil, "NOT_FOUND", nil)
|
|
523
|
+
reject?(nil, "TRACK_NOT_FOUND", nil)
|
|
500
524
|
return
|
|
501
525
|
}
|
|
502
526
|
}
|
|
@@ -512,8 +536,8 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
512
536
|
guard let trackId = data.value(forKey: "trackId") as? String,
|
|
513
537
|
let playbackAllowed = data.value(forKey: "playbackAllowed") as? Bool
|
|
514
538
|
else {
|
|
515
|
-
let
|
|
516
|
-
|
|
539
|
+
let errorMessage = "setPlaybackAllowed: " + HMSHelper.getUnavailableRequiredKey(data, ["trackId", "playbackAllowed"])
|
|
540
|
+
emitRequiredKeysError(errorMessage)
|
|
517
541
|
return
|
|
518
542
|
}
|
|
519
543
|
DispatchQueue.main.async { [weak self] in
|
|
@@ -538,9 +562,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
538
562
|
func changeMetadata(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
539
563
|
guard let metadata = data.value(forKey: "metadata") as? String
|
|
540
564
|
else {
|
|
541
|
-
let
|
|
542
|
-
|
|
543
|
-
reject?(
|
|
565
|
+
let errorMessage = "changeMetadata: " + HMSHelper.getUnavailableRequiredKey(data, ["metadata"])
|
|
566
|
+
emitRequiredKeysError(errorMessage)
|
|
567
|
+
reject?(errorMessage, errorMessage, nil)
|
|
544
568
|
return
|
|
545
569
|
}
|
|
546
570
|
|
|
@@ -560,8 +584,8 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
560
584
|
guard let trackId = data.value(forKey: "trackId") as? String,
|
|
561
585
|
let volume = data.value(forKey: "volume") as? Double
|
|
562
586
|
else {
|
|
563
|
-
let
|
|
564
|
-
|
|
587
|
+
let errorMessage = "setVolume: " + HMSHelper.getUnavailableRequiredKey(data, ["trackId", "volume"])
|
|
588
|
+
emitRequiredKeysError(errorMessage)
|
|
565
589
|
return
|
|
566
590
|
}
|
|
567
591
|
|
|
@@ -574,29 +598,31 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
574
598
|
if remoteAudioTrack != nil {
|
|
575
599
|
remoteAudioTrack?.setVolume(volume)
|
|
576
600
|
} else {
|
|
577
|
-
let error = HMSError(id: "125", code: HMSErrorCode.genericErrorUnknown, message: "
|
|
601
|
+
let error = HMSError(id: "125", code: HMSErrorCode.genericErrorUnknown, message: "TRACK_NOT_FOUND")
|
|
578
602
|
strongSelf.delegate?.emitEvent(strongSelf.ON_ERROR, ["event": strongSelf.ON_ERROR, "error": HMSDecoder.getError(error), "id": strongSelf.id])
|
|
579
603
|
}
|
|
580
604
|
}
|
|
581
605
|
}
|
|
582
606
|
|
|
583
607
|
func startRTMPOrRecording(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
584
|
-
guard let record = data.value(forKey: "record") as? Bool
|
|
608
|
+
guard let record = data.value(forKey: "record") as? Bool,
|
|
609
|
+
let meetingString = data.value(forKey: "meetingURL") as? String
|
|
585
610
|
else {
|
|
586
|
-
let
|
|
587
|
-
|
|
611
|
+
let errorMessage = "startRTMPOrRecording: " + HMSHelper.getUnavailableRequiredKey(data, ["record", "meetingURL"])
|
|
612
|
+
emitRequiredKeysError(errorMessage)
|
|
613
|
+
reject?(errorMessage, errorMessage, nil)
|
|
588
614
|
return
|
|
589
615
|
}
|
|
590
616
|
|
|
591
|
-
let meetingString = data.value(forKey: "meetingURL") as? String
|
|
592
617
|
let rtmpStrings = data.value(forKey: "rtmpURLs") as? [String]
|
|
593
618
|
|
|
594
619
|
var meetingUrl: URL?
|
|
595
|
-
if let meetLink = meetingString {
|
|
596
|
-
meetingUrl =
|
|
620
|
+
if let meetLink = URL(string: meetingString) {
|
|
621
|
+
meetingUrl = meetLink
|
|
597
622
|
} else {
|
|
598
623
|
let error = HMSError(id: "127", code: HMSErrorCode.genericErrorUnknown, message: "INVALID_MEETING_URL_PASSED")
|
|
599
624
|
delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HMSDecoder.getError(error), "id": id])
|
|
625
|
+
reject?("INVALID_MEETING_URL_PASSED", "INVALID_MEETING_URL_PASSED", nil)
|
|
600
626
|
}
|
|
601
627
|
|
|
602
628
|
let URLs = HMSHelper.getRtmpUrls(rtmpStrings)
|
|
@@ -642,8 +668,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
642
668
|
func startHLSStreaming(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
643
669
|
guard let meetingURLVariants = data.value(forKey: "meetingURLVariants") as? [[String: Any]]?
|
|
644
670
|
else {
|
|
645
|
-
let
|
|
646
|
-
|
|
671
|
+
let errorMessage = "startHLSStreaming: " + HMSHelper.getUnavailableRequiredKey(data, ["meetingURLVariants"])
|
|
672
|
+
emitRequiredKeysError(errorMessage)
|
|
673
|
+
reject?(errorMessage, errorMessage, nil)
|
|
647
674
|
return
|
|
648
675
|
}
|
|
649
676
|
|
|
@@ -691,9 +718,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
691
718
|
func changeName(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
692
719
|
guard let name = data.value(forKey: "name") as? String
|
|
693
720
|
else {
|
|
694
|
-
let
|
|
695
|
-
|
|
696
|
-
reject?(
|
|
721
|
+
let errorMessage = "changeName: " + HMSHelper.getUnavailableRequiredKey(data, ["name"])
|
|
722
|
+
emitRequiredKeysError(errorMessage)
|
|
723
|
+
reject?(errorMessage, errorMessage, nil)
|
|
697
724
|
return
|
|
698
725
|
}
|
|
699
726
|
|
|
@@ -707,6 +734,45 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
707
734
|
}
|
|
708
735
|
}
|
|
709
736
|
|
|
737
|
+
func remoteMuteAllAudio(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
738
|
+
let allAudioTracks = HMSUtilities.getAllAudioTracks(in: (self.hms?.room)!!)
|
|
739
|
+
var customError: HMSError? = nil
|
|
740
|
+
for audioTrack in allAudioTracks {
|
|
741
|
+
self.hms?.changeTrackState(for: audioTrack, mute: true, completion: { success, error in
|
|
742
|
+
if success {
|
|
743
|
+
} else {
|
|
744
|
+
customError = error
|
|
745
|
+
}
|
|
746
|
+
})
|
|
747
|
+
}
|
|
748
|
+
if (customError === nil) {
|
|
749
|
+
resolve?(["success": true])
|
|
750
|
+
} else {
|
|
751
|
+
reject?(customError?.message, customError?.localizedDescription, nil)
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
func setPlaybackForAllAudio(_ data: NSDictionary) {
|
|
756
|
+
guard let mute = data.value(forKey: "mute") as? Bool
|
|
757
|
+
else {
|
|
758
|
+
let errorMessage = "setPlaybackForAllAudio: " + HMSHelper.getUnavailableRequiredKey(data, ["setPlaybackForAllAudio"])
|
|
759
|
+
emitRequiredKeysError(errorMessage)
|
|
760
|
+
return
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
DispatchQueue.main.async { [weak self] in
|
|
764
|
+
let remotePeers = self?.hms?.remotePeers
|
|
765
|
+
for peer in remotePeers ?? [] {
|
|
766
|
+
peer.remoteAudioTrack()?.setPlaybackAllowed(!mute)
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
let roomData = HMSDecoder.getHmsRoom(hms?.room)
|
|
770
|
+
let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
|
|
771
|
+
let remotePeerData = HMSDecoder.getHmsRemotePeers(hms?.remotePeers)
|
|
772
|
+
|
|
773
|
+
self.delegate?.emitEvent(ON_PEER_UPDATE, ["event": ON_PEER_UPDATE, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
|
|
774
|
+
}
|
|
775
|
+
|
|
710
776
|
func enableRTCStats() {
|
|
711
777
|
rtcStatsAttached = true
|
|
712
778
|
}
|
|
@@ -715,36 +781,35 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
715
781
|
rtcStatsAttached = false
|
|
716
782
|
}
|
|
717
783
|
|
|
718
|
-
|
|
719
|
-
//
|
|
720
|
-
//
|
|
721
|
-
//
|
|
722
|
-
//
|
|
723
|
-
//
|
|
724
|
-
//
|
|
725
|
-
//
|
|
784
|
+
// TODO: to be implemented after volume is exposed for iOS
|
|
785
|
+
// func getVolume(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
786
|
+
// guard let trackId = data.value(forKey: "trackId") as? String
|
|
787
|
+
// else {
|
|
788
|
+
// let errorMessage = "getVolume: " + HMSHelper.getUnavailableRequiredKey(data, ["trackId"])
|
|
789
|
+
// emitRequiredKeysError(errorMessage)
|
|
790
|
+
// reject?(errorMessage, errorMessage, nil)
|
|
791
|
+
// return
|
|
792
|
+
// }
|
|
726
793
|
//
|
|
794
|
+
// if (localPeer?.localAudioTrack()?.trackId == trackId) {
|
|
727
795
|
//
|
|
728
|
-
//
|
|
729
|
-
//
|
|
730
|
-
// }
|
|
731
|
-
// }
|
|
796
|
+
// }
|
|
797
|
+
// }
|
|
732
798
|
|
|
733
|
-
//
|
|
734
|
-
//
|
|
799
|
+
// func setLocalVideoSettings(_ data: NSDictionary) {
|
|
800
|
+
// let localVideoTrack = self.hms?.localPeer?.localVideoTrack()
|
|
735
801
|
//
|
|
736
|
-
//
|
|
737
|
-
//
|
|
738
|
-
//
|
|
739
|
-
//
|
|
740
|
-
//
|
|
741
|
-
//
|
|
742
|
-
//
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
802
|
+
// guard let settings = HMSHelper.getLocalVideoSettings(data)
|
|
803
|
+
// else {
|
|
804
|
+
// let errorMessage = "setLocalVideoSettings: " + HMSHelper.getUnavailableRequiredKey(data)
|
|
805
|
+
// emitRequiredKeysError(errorMessage)
|
|
806
|
+
// return
|
|
807
|
+
// }
|
|
808
|
+
// localVideoTrack?.settings = settings
|
|
809
|
+
// }
|
|
810
|
+
|
|
811
|
+
// MARK: - HMS SDK Delegate Callbacks
|
|
746
812
|
func on(join room: HMSRoom) {
|
|
747
|
-
// Callback from join action
|
|
748
813
|
let roomData = HMSDecoder.getHmsRoom(room)
|
|
749
814
|
let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
|
|
750
815
|
let remotePeerData = HMSDecoder.getHmsRemotePeers(hms?.remotePeers)
|
|
@@ -813,14 +878,16 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
813
878
|
for speaker in speakers {
|
|
814
879
|
speakerPeerIds.append(["peer": HMSDecoder.getHmsPeer(speaker.peer), "level": speaker.level, "track": HMSDecoder.getHmsTrack(speaker.track)])
|
|
815
880
|
}
|
|
816
|
-
self.delegate?.emitEvent(ON_SPEAKER, ["event": ON_SPEAKER, "id": self.id, "
|
|
881
|
+
self.delegate?.emitEvent(ON_SPEAKER, ["event": ON_SPEAKER, "id": self.id, "speakers": speakerPeerIds])
|
|
817
882
|
}
|
|
818
883
|
|
|
819
884
|
func onReconnecting() {
|
|
820
|
-
|
|
885
|
+
reconnectingStage = true
|
|
886
|
+
self.delegate?.emitEvent(RECONNECTING, ["event": RECONNECTING, "error": ["code": HMSErrorCode.websocketConnectionLost, "description": "Software caused connection abort", "localizedDescription": "Network connection lost ", "debugDescription": "Network connection lost ", "message": "Network connection lost ", "name": "WebSocketConnectionLost", "action": "NONE", "id": 101], "id": self.id ])
|
|
821
887
|
}
|
|
822
888
|
|
|
823
889
|
func onReconnected() {
|
|
890
|
+
reconnectingStage = false
|
|
824
891
|
self.delegate?.emitEvent(RECONNECTED, ["event": RECONNECTED, "id": self.id ])
|
|
825
892
|
}
|
|
826
893
|
|
|
@@ -902,43 +969,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
902
969
|
}
|
|
903
970
|
|
|
904
971
|
// 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
972
|
private func getString(from update: HMSPeerUpdate) -> String {
|
|
943
973
|
switch update {
|
|
944
974
|
case .peerJoined:
|