@100mslive/react-native-hms 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +145 -340
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +205 -75
- package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +127 -127
- package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +153 -115
- package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +147 -17
- package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManager.kt +7 -7
- package/ios/HMSDecoder.swift +205 -129
- package/ios/HMSHelper.swift +3 -3
- package/ios/HMSManager.m +3 -0
- package/ios/HMSManager.swift +22 -1
- package/ios/HMSRNSDK.swift +228 -79
- package/ios/HMSView.m +2 -0
- package/ios/HMSView.swift +35 -3
- package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/yogesh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
- package/lib/commonjs/classes/HMSEncoder.js +133 -84
- package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalVideoTrack.js +0 -2
- package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSMessageRecipient.js +1 -1
- package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
- package/lib/commonjs/classes/HMSNativeEventEmitter.js +106 -0
- package/lib/commonjs/classes/HMSNativeEventEmitter.js.map +1 -0
- package/lib/commonjs/classes/HMSPeer.js +4 -0
- package/lib/commonjs/classes/HMSPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSPublishSettings.js +0 -6
- package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSRole.js +0 -6
- package/lib/commonjs/classes/HMSRole.js.map +1 -1
- package/lib/commonjs/classes/HMSRoleChangeRequest.js +3 -1
- package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
- package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
- package/lib/commonjs/classes/HMSSDK.js +465 -137
- package/lib/commonjs/classes/HMSSDK.js.map +1 -1
- package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSSubscribeSettings.js +0 -2
- package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
- package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
- package/lib/module/classes/HMSEncoder.js +133 -84
- package/lib/module/classes/HMSEncoder.js.map +1 -1
- package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
- package/lib/module/classes/HMSLocalVideoTrack.js +0 -2
- package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSMessageRecipient.js +1 -1
- package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
- package/lib/module/classes/HMSNativeEventEmitter.js +99 -0
- package/lib/module/classes/HMSNativeEventEmitter.js.map +1 -0
- package/lib/module/classes/HMSPeer.js +4 -0
- package/lib/module/classes/HMSPeer.js.map +1 -1
- package/lib/module/classes/HMSPublishSettings.js +0 -6
- package/lib/module/classes/HMSPublishSettings.js.map +1 -1
- package/lib/module/classes/HMSRole.js +0 -6
- package/lib/module/classes/HMSRole.js.map +1 -1
- package/lib/module/classes/HMSRoleChangeRequest.js +3 -1
- package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
- package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
- package/lib/module/classes/HMSSDK.js +466 -138
- package/lib/module/classes/HMSSDK.js.map +1 -1
- package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
- package/lib/module/classes/HMSSubscribeSettings.js +0 -2
- package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +4 -4
- package/lib/typescript/classes/HMSChangeTrackStateRequest.d.ts +2 -2
- package/lib/typescript/classes/HMSEncoder.d.ts +3 -0
- package/lib/typescript/classes/HMSHLSStreamingState.d.ts +2 -2
- package/lib/typescript/classes/HMSLocalVideoTrack.d.ts +0 -2
- package/lib/typescript/classes/HMSMessageRecipient.d.ts +2 -2
- package/lib/typescript/classes/HMSNativeEventEmitter.d.ts +13 -0
- package/lib/typescript/classes/HMSPublishSettings.d.ts +8 -15
- package/lib/typescript/classes/HMSRole.d.ts +0 -6
- package/lib/typescript/classes/HMSRoleChangeRequest.d.ts +2 -2
- package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +4 -4
- package/lib/typescript/classes/HMSSDK.d.ts +2 -12
- package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -2
- package/lib/typescript/classes/HMSSubscribeSettings.d.ts +0 -2
- package/lib/typescript/index.d.ts +1 -0
- package/package.json +5 -4
- package/react-native-hms.podspec +1 -1
- package/sdk-versions.json +3 -2
- package/src/classes/HMSBrowserRecordingState.ts +4 -4
- package/src/classes/HMSChangeTrackStateRequest.ts +2 -2
- package/src/classes/HMSEncoder.ts +186 -99
- package/src/classes/HMSHLSStreamingState.ts +2 -2
- package/src/classes/HMSLocalVideoTrack.ts +0 -2
- package/src/classes/HMSMessageRecipient.ts +3 -3
- package/src/classes/HMSNativeEventEmitter.ts +86 -0
- package/src/classes/HMSPeer.ts +4 -0
- package/src/classes/HMSPublishSettings.ts +8 -18
- package/src/classes/HMSRole.ts +0 -9
- package/src/classes/HMSRoleChangeRequest.ts +5 -3
- package/src/classes/HMSRtmpStreamingState.ts +4 -4
- package/src/classes/HMSSDK.tsx +629 -269
- package/src/classes/HMSServerRecordingState.ts +2 -2
- package/src/classes/HMSSubscribeSettings.ts +1 -7
- package/src/index.ts +1 -0
package/ios/HMSRNSDK.swift
CHANGED
|
@@ -26,6 +26,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
26
26
|
private var previewInProgress = false
|
|
27
27
|
private var rtcStatsAttached = false
|
|
28
28
|
private var networkQualityUpdatesAttached = false
|
|
29
|
+
private var eventsEnableStatus: [String: Bool] = [:]
|
|
29
30
|
|
|
30
31
|
let ON_PREVIEW = "ON_PREVIEW"
|
|
31
32
|
let ON_JOIN = "ON_JOIN"
|
|
@@ -67,7 +68,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
67
68
|
func preview(_ credentials: NSDictionary) {
|
|
68
69
|
|
|
69
70
|
guard !previewInProgress else {
|
|
70
|
-
|
|
71
|
+
if eventsEnableStatus[ON_ERROR] == true {
|
|
72
|
+
delegate?.emitEvent(ON_ERROR, ["error": ["code": 5000, "description": "Preview is in progress", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
|
|
73
|
+
}
|
|
71
74
|
return
|
|
72
75
|
}
|
|
73
76
|
|
|
@@ -109,7 +112,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
109
112
|
if let extractedRole = roleObj {
|
|
110
113
|
hms?.preview(role: extractedRole, completion: { tracks, error in
|
|
111
114
|
if error != nil {
|
|
112
|
-
|
|
115
|
+
if eventsEnableStatus[ON_ERROR] == true {
|
|
116
|
+
delegate?.emitEvent(ON_ERROR, ["error": HMSDecoder.getError(error), "id": id])
|
|
117
|
+
}
|
|
113
118
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
114
119
|
return
|
|
115
120
|
}
|
|
@@ -131,7 +136,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
131
136
|
func join(_ credentials: NSDictionary) {
|
|
132
137
|
|
|
133
138
|
guard !previewInProgress else {
|
|
134
|
-
|
|
139
|
+
if eventsEnableStatus[ON_ERROR] == true {
|
|
140
|
+
delegate?.emitEvent("ON_ERROR", ["error": ["code": 5000, "description": "Preview is in progress", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
|
|
141
|
+
}
|
|
135
142
|
return
|
|
136
143
|
}
|
|
137
144
|
|
|
@@ -211,9 +218,12 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
211
218
|
self?.networkQualityUpdatesAttached = false
|
|
212
219
|
self?.hms?.leave({ success, error in
|
|
213
220
|
if success {
|
|
221
|
+
HMSDecoder.clearRestrictDataStates()
|
|
214
222
|
resolve?(["success": success])
|
|
215
223
|
} else {
|
|
216
|
-
strongSelf.
|
|
224
|
+
if strongSelf.eventsEnableStatus[strongSelf.ON_ERROR] == true {
|
|
225
|
+
strongSelf.delegate?.emitEvent(strongSelf.ON_ERROR, ["error": HMSDecoder.getError(error), "id": strongSelf.id])
|
|
226
|
+
}
|
|
217
227
|
reject?("error in leave", "error in leave", nil)
|
|
218
228
|
}
|
|
219
229
|
})
|
|
@@ -238,7 +248,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
238
248
|
resolve?(["success": true, "data": ["sender": message?.sender?.name ?? "", "message": message?.message ?? "", "type": message?.type]])
|
|
239
249
|
return
|
|
240
250
|
} else {
|
|
241
|
-
self?.
|
|
251
|
+
if self?.eventsEnableStatus["ON_ERROR"] == true {
|
|
252
|
+
self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
|
|
253
|
+
}
|
|
242
254
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
243
255
|
return
|
|
244
256
|
}
|
|
@@ -264,7 +276,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
264
276
|
resolve?(["success": true, "data": ["sender": message?.sender?.name ?? "", "message": message?.message ?? "", "type": message?.type]])
|
|
265
277
|
return
|
|
266
278
|
} else {
|
|
267
|
-
self?.
|
|
279
|
+
if self?.eventsEnableStatus["ON_ERROR"] == true {
|
|
280
|
+
self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
|
|
281
|
+
}
|
|
268
282
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
269
283
|
return
|
|
270
284
|
}
|
|
@@ -290,7 +304,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
290
304
|
resolve?(["success": true, "data": ["sender": message?.sender?.name ?? "", "message": message?.message ?? "", "type": message?.type]])
|
|
291
305
|
return
|
|
292
306
|
} else {
|
|
293
|
-
self?.
|
|
307
|
+
if self?.eventsEnableStatus["ON_ERROR"] == true {
|
|
308
|
+
self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
|
|
309
|
+
}
|
|
294
310
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
295
311
|
return
|
|
296
312
|
}
|
|
@@ -314,7 +330,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
314
330
|
if success {
|
|
315
331
|
resolve?(["success": success])
|
|
316
332
|
} else {
|
|
317
|
-
self?.
|
|
333
|
+
if self?.eventsEnableStatus["ON_ERROR"] == true {
|
|
334
|
+
self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
|
|
335
|
+
}
|
|
318
336
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
319
337
|
}
|
|
320
338
|
})
|
|
@@ -345,7 +363,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
345
363
|
if success {
|
|
346
364
|
resolve?(["success": success])
|
|
347
365
|
} else {
|
|
348
|
-
self?.
|
|
366
|
+
if self?.eventsEnableStatus["ON_ERROR"] == true {
|
|
367
|
+
self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
|
|
368
|
+
}
|
|
349
369
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
350
370
|
}
|
|
351
371
|
})
|
|
@@ -381,7 +401,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
381
401
|
if success {
|
|
382
402
|
resolve?(["success": success])
|
|
383
403
|
} else {
|
|
384
|
-
self?.
|
|
404
|
+
if self?.eventsEnableStatus["ON_ERROR"] == true {
|
|
405
|
+
self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
|
|
406
|
+
}
|
|
385
407
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
386
408
|
}
|
|
387
409
|
}
|
|
@@ -412,7 +434,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
412
434
|
if success {
|
|
413
435
|
resolve?(["success": success])
|
|
414
436
|
} else {
|
|
415
|
-
self?.
|
|
437
|
+
if self?.eventsEnableStatus["ON_ERROR"] == true {
|
|
438
|
+
self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
|
|
439
|
+
}
|
|
416
440
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
417
441
|
}
|
|
418
442
|
})
|
|
@@ -447,7 +471,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
447
471
|
if success {
|
|
448
472
|
resolve?(["success": success])
|
|
449
473
|
} else {
|
|
450
|
-
self?.
|
|
474
|
+
if self?.eventsEnableStatus["ON_ERROR"] == true {
|
|
475
|
+
self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
|
|
476
|
+
}
|
|
451
477
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
452
478
|
}
|
|
453
479
|
})
|
|
@@ -471,7 +497,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
471
497
|
guard let remotePeers = self?.hms?.remotePeers,
|
|
472
498
|
let track = HMSHelper.getTrackFromTrackId(trackId, remotePeers)
|
|
473
499
|
else {
|
|
474
|
-
strongSelf.
|
|
500
|
+
if strongSelf.eventsEnableStatus["ON_ERROR"] == true {
|
|
501
|
+
strongSelf.delegate?.emitEvent("ON_ERROR", ["error": ["code": 6002, "description": "Track not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": strongSelf.id])
|
|
502
|
+
}
|
|
475
503
|
reject?("Track not found", "Track not found", nil)
|
|
476
504
|
return
|
|
477
505
|
}
|
|
@@ -509,7 +537,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
509
537
|
if success {
|
|
510
538
|
resolve?(["success": success])
|
|
511
539
|
} else {
|
|
512
|
-
self?.
|
|
540
|
+
if self?.eventsEnableStatus["ON_ERROR"] == true {
|
|
541
|
+
self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
|
|
542
|
+
}
|
|
513
543
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
514
544
|
}
|
|
515
545
|
})
|
|
@@ -532,7 +562,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
532
562
|
if success {
|
|
533
563
|
resolve?(["success": success])
|
|
534
564
|
} else {
|
|
535
|
-
self?.
|
|
565
|
+
if self?.eventsEnableStatus["ON_ERROR"] == true {
|
|
566
|
+
self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
|
|
567
|
+
}
|
|
536
568
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
537
569
|
}
|
|
538
570
|
})
|
|
@@ -611,7 +643,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
611
643
|
resolve?(["success": success])
|
|
612
644
|
return
|
|
613
645
|
} else {
|
|
614
|
-
self.
|
|
646
|
+
if self.eventsEnableStatus["ON_ERROR"] == true {
|
|
647
|
+
self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
|
|
648
|
+
}
|
|
615
649
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
616
650
|
return
|
|
617
651
|
}
|
|
@@ -635,7 +669,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
635
669
|
|
|
636
670
|
if remoteAudioTrack != nil {
|
|
637
671
|
remoteAudioTrack?.setVolume(volume)
|
|
638
|
-
} else {
|
|
672
|
+
} else if strongSelf.eventsEnableStatus["ON_ERROR"] == true {
|
|
639
673
|
strongSelf.delegate?.emitEvent("ON_ERROR", ["error": ["code": 6002, "description": "Track not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": strongSelf.id])
|
|
640
674
|
}
|
|
641
675
|
}
|
|
@@ -657,7 +691,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
657
691
|
if let meetLink = URL(string: meetingString) {
|
|
658
692
|
meetingUrl = meetLink
|
|
659
693
|
} else {
|
|
660
|
-
|
|
694
|
+
if eventsEnableStatus[ON_ERROR] == true {
|
|
695
|
+
delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "Invalid meeting url passed", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
|
|
696
|
+
}
|
|
661
697
|
reject?("Invalid meeting url passed", "Invalid meeting url passed", nil)
|
|
662
698
|
}
|
|
663
699
|
|
|
@@ -669,13 +705,15 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
669
705
|
let roomData = HMSDecoder.getHmsRoom(self.hms?.room)
|
|
670
706
|
let type = self.getString(from: HMSRoomUpdate.browserRecordingStateUpdated)
|
|
671
707
|
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
708
|
+
if self.eventsEnableStatus[self.ON_ROOM_UPDATE] == true {
|
|
709
|
+
self.delegate?.emitEvent(self.ON_ROOM_UPDATE, ["event": self.ON_ROOM_UPDATE, "id": self.id, "type": type, "room": roomData])
|
|
710
|
+
}
|
|
675
711
|
resolve?(["success": success])
|
|
676
712
|
return
|
|
677
713
|
} else {
|
|
678
|
-
self.
|
|
714
|
+
if self.eventsEnableStatus[self.ON_ERROR] == true {
|
|
715
|
+
self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
|
|
716
|
+
}
|
|
679
717
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
680
718
|
return
|
|
681
719
|
}
|
|
@@ -688,13 +726,15 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
688
726
|
let roomData = HMSDecoder.getHmsRoom(self.hms?.room)
|
|
689
727
|
let type = self.getString(from: HMSRoomUpdate.browserRecordingStateUpdated)
|
|
690
728
|
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
729
|
+
if self.eventsEnableStatus[self.ON_ROOM_UPDATE] == true {
|
|
730
|
+
self.delegate?.emitEvent(self.ON_ROOM_UPDATE, ["event": self.ON_ROOM_UPDATE, "id": self.id, "type": type, "room": roomData])
|
|
731
|
+
}
|
|
694
732
|
resolve?(["success": success])
|
|
695
733
|
return
|
|
696
734
|
} else {
|
|
697
|
-
self.
|
|
735
|
+
if self.eventsEnableStatus[self.ON_ERROR] == true {
|
|
736
|
+
self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
|
|
737
|
+
}
|
|
698
738
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
699
739
|
return
|
|
700
740
|
}
|
|
@@ -711,16 +751,12 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
711
751
|
|
|
712
752
|
hms?.startHLSStreaming(config: config, completion: { success, error in
|
|
713
753
|
if success {
|
|
714
|
-
let roomData = HMSDecoder.getHmsRoom(self.hms?.room)
|
|
715
|
-
let type = self.getString(from: HMSRoomUpdate.hlsStreamingStateUpdated)
|
|
716
|
-
|
|
717
|
-
let localPeerData = HMSDecoder.getHmsLocalPeer(self.hms?.localPeer)
|
|
718
|
-
let remotePeerData = HMSDecoder.getHmsRemotePeers(self.hms?.remotePeers)
|
|
719
|
-
self.delegate?.emitEvent(self.ON_ROOM_UPDATE, ["event": self.ON_ROOM_UPDATE, "id": self.id, "type": type, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
|
|
720
754
|
resolve?(["success": success])
|
|
721
755
|
return
|
|
722
756
|
} else {
|
|
723
|
-
self.
|
|
757
|
+
if self.eventsEnableStatus[self.ON_ERROR] == true {
|
|
758
|
+
self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
|
|
759
|
+
}
|
|
724
760
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
725
761
|
return
|
|
726
762
|
}
|
|
@@ -730,16 +766,12 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
730
766
|
func stopHLSStreaming(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
731
767
|
hms?.stopHLSStreaming(config: nil, completion: { success, error in
|
|
732
768
|
if success {
|
|
733
|
-
let roomData = HMSDecoder.getHmsRoom(self.hms?.room)
|
|
734
|
-
let type = self.getString(from: HMSRoomUpdate.browserRecordingStateUpdated)
|
|
735
|
-
|
|
736
|
-
let localPeerData = HMSDecoder.getHmsLocalPeer(self.hms?.localPeer)
|
|
737
|
-
let remotePeerData = HMSDecoder.getHmsRemotePeers(self.hms?.remotePeers)
|
|
738
|
-
self.delegate?.emitEvent(self.ON_ROOM_UPDATE, ["event": self.ON_ROOM_UPDATE, "id": self.id, "type": type, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
|
|
739
769
|
resolve?(["success": success])
|
|
740
770
|
return
|
|
741
771
|
} else {
|
|
742
|
-
self.
|
|
772
|
+
if self.eventsEnableStatus[self.ON_ERROR] == true {
|
|
773
|
+
self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
|
|
774
|
+
}
|
|
743
775
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
744
776
|
return
|
|
745
777
|
}
|
|
@@ -759,7 +791,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
759
791
|
if success {
|
|
760
792
|
resolve?(["success": success])
|
|
761
793
|
} else {
|
|
762
|
-
self.
|
|
794
|
+
if self.eventsEnableStatus[self.ON_ERROR] == true {
|
|
795
|
+
self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
|
|
796
|
+
}
|
|
763
797
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
764
798
|
}
|
|
765
799
|
}
|
|
@@ -797,11 +831,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
797
831
|
peer.remoteAudioTrack()?.setPlaybackAllowed(!mute)
|
|
798
832
|
}
|
|
799
833
|
}
|
|
800
|
-
let roomData = HMSDecoder.getHmsRoom(hms?.room)
|
|
801
|
-
let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
|
|
802
|
-
let remotePeerData = HMSDecoder.getHmsRemotePeers(hms?.remotePeers)
|
|
803
|
-
|
|
804
|
-
self.delegate?.emitEvent(ON_PEER_UPDATE, ["event": ON_PEER_UPDATE, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
|
|
805
834
|
}
|
|
806
835
|
|
|
807
836
|
func enableRTCStats() {
|
|
@@ -814,7 +843,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
814
843
|
|
|
815
844
|
func startScreenshare(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
816
845
|
guard let preferredExtension = preferredExtension else {
|
|
817
|
-
|
|
846
|
+
if eventsEnableStatus[ON_ERROR] == true {
|
|
847
|
+
delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "Could not start screen share, preferredExtension not passed in Build method", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
|
|
848
|
+
}
|
|
818
849
|
reject?("Could not start screen share, preferredExtension not passed in Build method", "Could not start screen share, preferredExtension not passed in Build method", nil)
|
|
819
850
|
return
|
|
820
851
|
}
|
|
@@ -836,7 +867,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
836
867
|
|
|
837
868
|
func stopScreenshare(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
838
869
|
guard let preferredExtension = preferredExtension else {
|
|
839
|
-
|
|
870
|
+
if eventsEnableStatus[ON_ERROR] == true {
|
|
871
|
+
delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "Could not start screen share, preferredExtension not passed in Build method", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
|
|
872
|
+
}
|
|
840
873
|
reject?("Could not start screen share, preferredExtension not passed in Build method", "Could not start screen share, preferredExtension not passed in Build method", nil)
|
|
841
874
|
return
|
|
842
875
|
}
|
|
@@ -879,15 +912,21 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
879
912
|
try audioFilePlayerNode.play(fileUrl: url, loops: loops, interrupts: interrupts)
|
|
880
913
|
resolve?(["success": true])
|
|
881
914
|
} catch {
|
|
882
|
-
|
|
915
|
+
if eventsEnableStatus[ON_ERROR] == true {
|
|
916
|
+
delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": error.localizedDescription, "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
|
|
917
|
+
}
|
|
883
918
|
reject?(error.localizedDescription, error.localizedDescription, nil)
|
|
884
919
|
}
|
|
885
920
|
} else {
|
|
886
|
-
|
|
921
|
+
if eventsEnableStatus[ON_ERROR] == true {
|
|
922
|
+
delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "Incorrect url", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
|
|
923
|
+
}
|
|
887
924
|
reject?("Incorrect URL", "Incorrect URL", nil)
|
|
888
925
|
}
|
|
889
926
|
} else {
|
|
890
|
-
|
|
927
|
+
if eventsEnableStatus[ON_ERROR] == true {
|
|
928
|
+
delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
|
|
929
|
+
}
|
|
891
930
|
reject?("AudioFilePlayerNode not found", "AudioFilePlayerNode not found", nil)
|
|
892
931
|
}
|
|
893
932
|
}
|
|
@@ -921,7 +960,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
921
960
|
}
|
|
922
961
|
if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
|
|
923
962
|
audioFilePlayerNode.stop()
|
|
924
|
-
} else {
|
|
963
|
+
} else if eventsEnableStatus[ON_ERROR] == true {
|
|
925
964
|
delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
|
|
926
965
|
}
|
|
927
966
|
}
|
|
@@ -939,9 +978,11 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
939
978
|
do {
|
|
940
979
|
try audioFilePlayerNode.resume()
|
|
941
980
|
} catch {
|
|
942
|
-
|
|
981
|
+
if eventsEnableStatus[ON_ERROR] == true {
|
|
982
|
+
delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": error.localizedDescription, "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
|
|
983
|
+
}
|
|
943
984
|
}
|
|
944
|
-
} else {
|
|
985
|
+
} else if eventsEnableStatus[ON_ERROR] == true {
|
|
945
986
|
delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
|
|
946
987
|
}
|
|
947
988
|
}
|
|
@@ -957,7 +998,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
957
998
|
}
|
|
958
999
|
if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
|
|
959
1000
|
audioFilePlayerNode.pause()
|
|
960
|
-
} else {
|
|
1001
|
+
} else if eventsEnableStatus[ON_ERROR] == true {
|
|
961
1002
|
delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
|
|
962
1003
|
}
|
|
963
1004
|
}
|
|
@@ -975,7 +1016,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
975
1016
|
if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
|
|
976
1017
|
resolve?(audioFilePlayerNode.isPlaying)
|
|
977
1018
|
} else {
|
|
978
|
-
|
|
1019
|
+
if eventsEnableStatus[ON_ERROR] == true {
|
|
1020
|
+
delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
|
|
1021
|
+
}
|
|
979
1022
|
reject?("AudioFilePlayerNode not found", "AudioFilePlayerNode not found", nil)
|
|
980
1023
|
}
|
|
981
1024
|
}
|
|
@@ -993,7 +1036,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
993
1036
|
if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
|
|
994
1037
|
resolve?(audioFilePlayerNode.currentTime)
|
|
995
1038
|
} else {
|
|
996
|
-
|
|
1039
|
+
if eventsEnableStatus[ON_ERROR] == true {
|
|
1040
|
+
delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
|
|
1041
|
+
}
|
|
997
1042
|
reject?("AudioFilePlayerNode not found", "AudioFilePlayerNode not found", nil)
|
|
998
1043
|
}
|
|
999
1044
|
}
|
|
@@ -1011,7 +1056,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
1011
1056
|
if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
|
|
1012
1057
|
resolve?(audioFilePlayerNode.duration)
|
|
1013
1058
|
} else {
|
|
1014
|
-
|
|
1059
|
+
if eventsEnableStatus[ON_ERROR] == true {
|
|
1060
|
+
delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
|
|
1061
|
+
}
|
|
1015
1062
|
reject?("AudioFilePlayerNode not found", "AudioFilePlayerNode not found", nil)
|
|
1016
1063
|
}
|
|
1017
1064
|
}
|
|
@@ -1031,12 +1078,48 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
1031
1078
|
if success {
|
|
1032
1079
|
resolve?(["success": success])
|
|
1033
1080
|
} else {
|
|
1034
|
-
self.
|
|
1081
|
+
if self.eventsEnableStatus[self.ON_ERROR] == true {
|
|
1082
|
+
self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
|
|
1083
|
+
}
|
|
1035
1084
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
1036
1085
|
}
|
|
1037
1086
|
}
|
|
1038
1087
|
}
|
|
1039
1088
|
|
|
1089
|
+
func enableEvent(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
1090
|
+
guard let eventType = data.value(forKey: "eventType") as? String else {
|
|
1091
|
+
let errorMessage = "enableEvent: " + HMSHelper.getUnavailableRequiredKey(data, ["eventType"])
|
|
1092
|
+
emitRequiredKeysError(errorMessage)
|
|
1093
|
+
reject?(errorMessage, errorMessage, nil)
|
|
1094
|
+
return
|
|
1095
|
+
}
|
|
1096
|
+
|
|
1097
|
+
eventsEnableStatus[eventType] = true
|
|
1098
|
+
resolve?(["success": true, "message": "function call executed successfully"])
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
func disableEvent(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
1102
|
+
guard let eventType = data.value(forKey: "eventType") as? String else {
|
|
1103
|
+
let errorMessage = "disableEvent: " + HMSHelper.getUnavailableRequiredKey(data, ["eventType"])
|
|
1104
|
+
emitRequiredKeysError(errorMessage)
|
|
1105
|
+
reject?(errorMessage, errorMessage, nil)
|
|
1106
|
+
return
|
|
1107
|
+
}
|
|
1108
|
+
|
|
1109
|
+
eventsEnableStatus[eventType] = false
|
|
1110
|
+
resolve?(["success": true, "message": "function call executed successfully"])
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
func restrictData(_ data: NSDictionary) {
|
|
1114
|
+
guard let roleName = data.value(forKey: "roleName") as? String else {
|
|
1115
|
+
let errorMessage = "restrictData: " + HMSHelper.getUnavailableRequiredKey(data, ["roleName"])
|
|
1116
|
+
emitRequiredKeysError(errorMessage)
|
|
1117
|
+
return
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
HMSDecoder.setRestrictRoleData(roleName, true)
|
|
1121
|
+
}
|
|
1122
|
+
|
|
1040
1123
|
// MARK: - HMS SDK Get APIs
|
|
1041
1124
|
func getRoom(_ resolve: RCTPromiseResolveBlock?) {
|
|
1042
1125
|
let roomData = HMSDecoder.getHmsRoom(hms?.room)
|
|
@@ -1065,7 +1148,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
1065
1148
|
func getSessionMetaData(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
1066
1149
|
hms?.getSessionMetadata { result, error in
|
|
1067
1150
|
if error != nil {
|
|
1068
|
-
self.
|
|
1151
|
+
if self.eventsEnableStatus[self.ON_ERROR] == true {
|
|
1152
|
+
self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
|
|
1153
|
+
}
|
|
1069
1154
|
reject?(error?.localizedDescription, error?.localizedDescription, nil)
|
|
1070
1155
|
} else {
|
|
1071
1156
|
resolve?(result)
|
|
@@ -1075,21 +1160,33 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
1075
1160
|
|
|
1076
1161
|
// MARK: - HMS SDK Delegate Callbacks
|
|
1077
1162
|
func on(join room: HMSRoom) {
|
|
1078
|
-
let roomData = HMSDecoder.getHmsRoom(room)
|
|
1079
|
-
|
|
1080
1163
|
self.recentPreviewTracks = []
|
|
1164
|
+
if eventsEnableStatus[ON_JOIN] != true {
|
|
1165
|
+
return
|
|
1166
|
+
}
|
|
1167
|
+
let roomData = HMSDecoder.getHmsRoom(room)
|
|
1081
1168
|
self.delegate?.emitEvent(ON_JOIN, ["event": ON_JOIN, "id": self.id, "room": roomData])
|
|
1082
1169
|
}
|
|
1083
1170
|
|
|
1084
1171
|
func onPreview(room: HMSRoom, localTracks: [HMSTrack]) {
|
|
1172
|
+
previewInProgress = false
|
|
1173
|
+
if eventsEnableStatus[ON_PREVIEW] != true {
|
|
1174
|
+
return
|
|
1175
|
+
}
|
|
1085
1176
|
let previewTracks = HMSDecoder.getPreviewTracks(localTracks)
|
|
1086
1177
|
let hmsRoom = HMSDecoder.getHmsRoom(room)
|
|
1087
1178
|
|
|
1088
|
-
previewInProgress = false
|
|
1089
1179
|
self.delegate?.emitEvent(ON_PREVIEW, ["event": ON_PREVIEW, "id": self.id, "room": hmsRoom, "previewTracks": previewTracks])
|
|
1090
1180
|
}
|
|
1091
1181
|
|
|
1092
1182
|
func on(room: HMSRoom, update: HMSRoomUpdate) {
|
|
1183
|
+
if eventsEnableStatus[ON_ROOM_UPDATE] != true {
|
|
1184
|
+
return
|
|
1185
|
+
}
|
|
1186
|
+
if update == .metaDataUpdated || update == .roomTypeChanged {
|
|
1187
|
+
return
|
|
1188
|
+
}
|
|
1189
|
+
|
|
1093
1190
|
let roomData = HMSDecoder.getHmsRoom(room)
|
|
1094
1191
|
let type = getString(from: update)
|
|
1095
1192
|
|
|
@@ -1097,6 +1194,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
1097
1194
|
}
|
|
1098
1195
|
|
|
1099
1196
|
func on(peer: HMSPeer, update: HMSPeerUpdate) {
|
|
1197
|
+
if eventsEnableStatus[ON_PEER_UPDATE] != true {
|
|
1198
|
+
return
|
|
1199
|
+
}
|
|
1100
1200
|
let type = getString(from: update)
|
|
1101
1201
|
let hmsPeer = HMSDecoder.getHmsPeer(peer)
|
|
1102
1202
|
|
|
@@ -1108,10 +1208,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
1108
1208
|
}
|
|
1109
1209
|
|
|
1110
1210
|
func on(track: HMSTrack, update: HMSTrackUpdate, for peer: HMSPeer) {
|
|
1111
|
-
let type = getString(from: update)
|
|
1112
|
-
let hmsPeer = HMSDecoder.getHmsPeer(peer)
|
|
1113
|
-
let hmsTrack = HMSDecoder.getHmsTrack(track)
|
|
1114
|
-
|
|
1115
1211
|
if peer.isLocal && track.source.uppercased() == "SCREEN" && track.kind == HMSTrackKind.video {
|
|
1116
1212
|
if update == .trackAdded {
|
|
1117
1213
|
isScreenShared = true
|
|
@@ -1124,19 +1220,36 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
1124
1220
|
}
|
|
1125
1221
|
}
|
|
1126
1222
|
|
|
1223
|
+
if eventsEnableStatus[ON_TRACK_UPDATE] != true {
|
|
1224
|
+
return
|
|
1225
|
+
}
|
|
1226
|
+
|
|
1227
|
+
let type = getString(from: update)
|
|
1228
|
+
let hmsPeer = HMSDecoder.getHmsPeer(peer)
|
|
1229
|
+
let hmsTrack = HMSDecoder.getHmsTrack(track)
|
|
1230
|
+
|
|
1127
1231
|
self.delegate?.emitEvent(ON_TRACK_UPDATE, ["event": ON_TRACK_UPDATE, "id": self.id, "type": type, "peer": hmsPeer, "track": hmsTrack])
|
|
1128
1232
|
}
|
|
1129
1233
|
|
|
1130
1234
|
func on(error: Error) {
|
|
1131
1235
|
if previewInProgress { previewInProgress = false }
|
|
1236
|
+
if eventsEnableStatus[ON_ERROR] != true {
|
|
1237
|
+
return
|
|
1238
|
+
}
|
|
1132
1239
|
self.delegate?.emitEvent(ON_ERROR, ["error": HMSDecoder.getError(error), "id": id])
|
|
1133
1240
|
}
|
|
1134
1241
|
|
|
1135
1242
|
func on(message: HMSMessage) {
|
|
1243
|
+
if eventsEnableStatus[ON_MESSAGE] != true {
|
|
1244
|
+
return
|
|
1245
|
+
}
|
|
1136
1246
|
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])
|
|
1137
1247
|
}
|
|
1138
1248
|
|
|
1139
1249
|
func on(updated speakers: [HMSSpeaker]) {
|
|
1250
|
+
if eventsEnableStatus[ON_SPEAKER] != true {
|
|
1251
|
+
return
|
|
1252
|
+
}
|
|
1140
1253
|
var speakerPeerIds: [[String: Any]] = []
|
|
1141
1254
|
for speaker in speakers {
|
|
1142
1255
|
speakerPeerIds.append(["peer": HMSDecoder.getHmsPeer(speaker.peer), "level": speaker.level, "track": HMSDecoder.getHmsTrack(speaker.track)])
|
|
@@ -1146,26 +1259,42 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
1146
1259
|
|
|
1147
1260
|
func onReconnecting() {
|
|
1148
1261
|
reconnectingStage = true
|
|
1262
|
+
if eventsEnableStatus[RECONNECTING] != true {
|
|
1263
|
+
return
|
|
1264
|
+
}
|
|
1149
1265
|
self.delegate?.emitEvent(RECONNECTING, ["event": RECONNECTING, "error": ["code": 1003, "description": "Network connection lost ", "isTerminal": false, "canRetry": true], "id": self.id ])
|
|
1150
1266
|
}
|
|
1151
1267
|
|
|
1152
1268
|
func onReconnected() {
|
|
1153
1269
|
reconnectingStage = false
|
|
1270
|
+
if eventsEnableStatus[RECONNECTED] != true {
|
|
1271
|
+
return
|
|
1272
|
+
}
|
|
1154
1273
|
self.delegate?.emitEvent(RECONNECTED, ["event": RECONNECTED, "id": self.id ])
|
|
1155
1274
|
}
|
|
1156
1275
|
|
|
1157
1276
|
func on(roleChangeRequest: HMSRoleChangeRequest) {
|
|
1158
|
-
let decodedRoleChangeRequest = HMSDecoder.getHmsRoleChangeRequest(roleChangeRequest, self.id)
|
|
1159
1277
|
recentRoleChangeRequest = roleChangeRequest
|
|
1278
|
+
if eventsEnableStatus[ON_ROLE_CHANGE_REQUEST] != true {
|
|
1279
|
+
return
|
|
1280
|
+
}
|
|
1281
|
+
let decodedRoleChangeRequest = HMSDecoder.getHmsRoleChangeRequest(roleChangeRequest, self.id)
|
|
1160
1282
|
self.delegate?.emitEvent(ON_ROLE_CHANGE_REQUEST, decodedRoleChangeRequest)
|
|
1161
1283
|
}
|
|
1162
1284
|
|
|
1163
1285
|
func on(changeTrackStateRequest: HMSChangeTrackStateRequest) {
|
|
1286
|
+
if eventsEnableStatus["ON_CHANGE_TRACK_STATE_REQUEST"] != true {
|
|
1287
|
+
return
|
|
1288
|
+
}
|
|
1164
1289
|
let decodedChangeTrackStateRequest = HMSDecoder.getHmsChangeTrackStateRequest(changeTrackStateRequest, id)
|
|
1165
1290
|
delegate?.emitEvent("ON_CHANGE_TRACK_STATE_REQUEST", decodedChangeTrackStateRequest)
|
|
1166
1291
|
}
|
|
1167
1292
|
|
|
1168
1293
|
func on(removedFromRoom notification: HMSRemovedFromRoomNotification) {
|
|
1294
|
+
HMSDecoder.clearRestrictDataStates()
|
|
1295
|
+
if eventsEnableStatus[ON_REMOVED_FROM_ROOM] != true {
|
|
1296
|
+
return
|
|
1297
|
+
}
|
|
1169
1298
|
let requestedBy = notification.requestedBy as HMSPeer?
|
|
1170
1299
|
var decodedRequestedBy: [String: Any]?
|
|
1171
1300
|
if let requested = requestedBy {
|
|
@@ -1177,6 +1306,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
1177
1306
|
}
|
|
1178
1307
|
|
|
1179
1308
|
func on(rtcStats: HMSRTCStatsReport) {
|
|
1309
|
+
if eventsEnableStatus[ON_RTC_STATS] != true {
|
|
1310
|
+
return
|
|
1311
|
+
}
|
|
1180
1312
|
if !rtcStatsAttached {
|
|
1181
1313
|
return
|
|
1182
1314
|
}
|
|
@@ -1187,46 +1319,58 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
1187
1319
|
self.delegate?.emitEvent(ON_RTC_STATS, ["video": video, "audio": audio, "combined": combined, "id": self.id])
|
|
1188
1320
|
}
|
|
1189
1321
|
|
|
1190
|
-
func on(localAudioStats: HMSLocalAudioStats, track:
|
|
1322
|
+
func on(localAudioStats: HMSLocalAudioStats, track: HMSAudioTrack, peer: HMSPeer) {
|
|
1323
|
+
if eventsEnableStatus[ON_LOCAL_AUDIO_STATS] != true {
|
|
1324
|
+
return
|
|
1325
|
+
}
|
|
1191
1326
|
if !rtcStatsAttached {
|
|
1192
1327
|
return
|
|
1193
1328
|
}
|
|
1194
1329
|
let localStats = HMSDecoder.getLocalAudioStats(localAudioStats)
|
|
1195
|
-
let localTrack = HMSDecoder.
|
|
1330
|
+
let localTrack = HMSDecoder.getHmsAudioTrack(track)
|
|
1196
1331
|
let decodedPeer = HMSDecoder.getHmsPeer(peer)
|
|
1197
1332
|
|
|
1198
1333
|
self.delegate?.emitEvent(ON_LOCAL_AUDIO_STATS, ["localAudioStats": localStats, "track": localTrack, "peer": decodedPeer, "id": self.id])
|
|
1199
1334
|
}
|
|
1200
1335
|
|
|
1201
|
-
func on(localVideoStats: HMSLocalVideoStats, track:
|
|
1336
|
+
func on(localVideoStats: [HMSLocalVideoStats], track: HMSVideoTrack, peer: HMSPeer) {
|
|
1337
|
+
if eventsEnableStatus[ON_LOCAL_VIDEO_STATS] != true {
|
|
1338
|
+
return
|
|
1339
|
+
}
|
|
1202
1340
|
if !rtcStatsAttached {
|
|
1203
1341
|
return
|
|
1204
1342
|
}
|
|
1205
1343
|
let localStats = HMSDecoder.getLocalVideoStats(localVideoStats)
|
|
1206
1344
|
let decodedPeer = HMSDecoder.getHmsPeer(peer)
|
|
1207
|
-
let localTrack = HMSDecoder.
|
|
1345
|
+
let localTrack = HMSDecoder.getHmsVideoTrack(track)
|
|
1208
1346
|
|
|
1209
1347
|
self.delegate?.emitEvent(ON_LOCAL_VIDEO_STATS, ["localVideoStats": localStats, "track": localTrack, "peer": decodedPeer, "id": self.id])
|
|
1210
1348
|
}
|
|
1211
1349
|
|
|
1212
|
-
func on(remoteAudioStats: HMSRemoteAudioStats, track:
|
|
1350
|
+
func on(remoteAudioStats: HMSRemoteAudioStats, track: HMSAudioTrack, peer: HMSPeer) {
|
|
1351
|
+
if eventsEnableStatus[ON_REMOTE_AUDIO_STATS] != true {
|
|
1352
|
+
return
|
|
1353
|
+
}
|
|
1213
1354
|
if !rtcStatsAttached {
|
|
1214
1355
|
return
|
|
1215
1356
|
}
|
|
1216
1357
|
let remoteStats = HMSDecoder.getRemoteAudioStats(remoteAudioStats)
|
|
1217
|
-
let remoteTrack = HMSDecoder.
|
|
1358
|
+
let remoteTrack = HMSDecoder.getHmsAudioTrack(track)
|
|
1218
1359
|
let decodedPeer = HMSDecoder.getHmsPeer(peer)
|
|
1219
1360
|
|
|
1220
1361
|
self.delegate?.emitEvent(ON_REMOTE_AUDIO_STATS, ["remoteAudioStats": remoteStats, "track": remoteTrack, "peer": decodedPeer, "id": self.id])
|
|
1221
1362
|
}
|
|
1222
1363
|
|
|
1223
|
-
func on(remoteVideoStats: HMSRemoteVideoStats, track:
|
|
1364
|
+
func on(remoteVideoStats: HMSRemoteVideoStats, track: HMSVideoTrack, peer: HMSPeer) {
|
|
1365
|
+
if eventsEnableStatus[ON_REMOTE_VIDEO_STATS] != true {
|
|
1366
|
+
return
|
|
1367
|
+
}
|
|
1224
1368
|
if !rtcStatsAttached {
|
|
1225
1369
|
return
|
|
1226
1370
|
}
|
|
1227
1371
|
let remoteStats = HMSDecoder.getRemoteVideoStats(remoteVideoStats)
|
|
1228
1372
|
let decodedPeer = HMSDecoder.getHmsPeer(peer)
|
|
1229
|
-
let remoteTrack = HMSDecoder.
|
|
1373
|
+
let remoteTrack = HMSDecoder.getHmsVideoTrack(track)
|
|
1230
1374
|
|
|
1231
1375
|
self.delegate?.emitEvent(ON_REMOTE_VIDEO_STATS, ["remoteVideoStats": remoteStats, "track": remoteTrack, "peer": decodedPeer, "id": self.id])
|
|
1232
1376
|
}
|
|
@@ -1277,23 +1421,28 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
1277
1421
|
func getString(from update: HMSRoomUpdate) -> String {
|
|
1278
1422
|
switch update {
|
|
1279
1423
|
case .roomTypeChanged:
|
|
1280
|
-
return "
|
|
1424
|
+
return "ROOM_PEER_COUNT_UPDATED"
|
|
1281
1425
|
case .metaDataUpdated:
|
|
1282
|
-
return "
|
|
1426
|
+
return "ROOM_PEER_COUNT_UPDATED"
|
|
1283
1427
|
case .browserRecordingStateUpdated:
|
|
1284
1428
|
return "BROWSER_RECORDING_STATE_UPDATED"
|
|
1285
1429
|
case .hlsStreamingStateUpdated:
|
|
1286
1430
|
return "HLS_STREAMING_STATE_UPDATED"
|
|
1287
1431
|
case .rtmpStreamingStateUpdated:
|
|
1288
1432
|
return "RTMP_STREAMING_STATE_UPDATED"
|
|
1289
|
-
case.serverRecordingStateUpdated:
|
|
1433
|
+
case .serverRecordingStateUpdated:
|
|
1290
1434
|
return "SERVER_RECORDING_STATE_UPDATED"
|
|
1435
|
+
case .hlsRecordingStateUpdated:
|
|
1436
|
+
return "HLS_RECORDING_STATE_UPDATED"
|
|
1291
1437
|
default:
|
|
1292
1438
|
return ""
|
|
1293
1439
|
}
|
|
1294
1440
|
}
|
|
1295
1441
|
|
|
1296
1442
|
func emitRequiredKeysError(_ error: String) {
|
|
1443
|
+
if eventsEnableStatus[ON_ERROR] != true {
|
|
1444
|
+
return
|
|
1445
|
+
}
|
|
1297
1446
|
delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": error, "isTerminal": false, "canRetry": true], "id": id])
|
|
1298
1447
|
}
|
|
1299
1448
|
}
|