@100mslive/react-native-hms 1.9.0 → 1.9.1-beta.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.
Files changed (87) hide show
  1. package/android/src/main/java/com/reactnativehmssdk/HMSAudioshareActivity.kt +1 -1
  2. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayer.kt +4 -3
  3. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +27 -22
  4. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +226 -249
  5. package/android/src/main/java/com/reactnativehmssdk/HMSView.kt +24 -4
  6. package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +1 -1
  7. package/ios/HMSHLSPlayerManager.swift +20 -11
  8. package/ios/HMSManager.m +40 -10
  9. package/ios/HMSManager.swift +20 -20
  10. package/ios/HMSRNSDK.swift +86 -85
  11. package/lib/commonjs/classes/HMSPIPConfig.js +4 -0
  12. package/lib/commonjs/classes/HMSPIPConfig.js.map +1 -0
  13. package/lib/commonjs/classes/HMSSDK.js +0 -2
  14. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  15. package/lib/commonjs/classes/HmsView.js +14 -1
  16. package/lib/commonjs/classes/HmsView.js.map +1 -1
  17. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js +8 -5
  18. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  19. package/lib/commonjs/components/HMSHLSPlayer/hooks.js +6 -1
  20. package/lib/commonjs/components/HMSHLSPlayer/hooks.js.map +1 -1
  21. package/lib/commonjs/components/HMSHLSPlayer/index.js +8 -1
  22. package/lib/commonjs/components/HMSHLSPlayer/index.js.map +1 -1
  23. package/lib/commonjs/hooks/hmsviews.js +17 -0
  24. package/lib/commonjs/hooks/hmsviews.js.map +1 -0
  25. package/lib/commonjs/index.js +9 -1
  26. package/lib/commonjs/index.js.map +1 -1
  27. package/lib/commonjs/stores/hls-player-playback-slice.js +4 -0
  28. package/lib/commonjs/stores/hls-player-playback-slice.js.map +1 -1
  29. package/lib/commonjs/stores/hms-store.js +3 -1
  30. package/lib/commonjs/stores/hms-store.js.map +1 -1
  31. package/lib/commonjs/stores/hmsviews-slice.js +19 -0
  32. package/lib/commonjs/stores/hmsviews-slice.js.map +1 -0
  33. package/lib/commonjs/stores/types.js +9 -0
  34. package/lib/commonjs/stores/types.js.map +1 -1
  35. package/lib/commonjs/types.js +1 -1
  36. package/lib/commonjs/types.js.map +1 -1
  37. package/lib/module/classes/HMSPIPConfig.js +2 -0
  38. package/lib/module/classes/HMSPIPConfig.js.map +1 -0
  39. package/lib/module/classes/HMSSDK.js +0 -3
  40. package/lib/module/classes/HMSSDK.js.map +1 -1
  41. package/lib/module/classes/HmsView.js +14 -1
  42. package/lib/module/classes/HmsView.js.map +1 -1
  43. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js +9 -6
  44. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  45. package/lib/module/components/HMSHLSPlayer/hooks.js +4 -0
  46. package/lib/module/components/HMSHLSPlayer/hooks.js.map +1 -1
  47. package/lib/module/components/HMSHLSPlayer/index.js +1 -1
  48. package/lib/module/components/HMSHLSPlayer/index.js.map +1 -1
  49. package/lib/module/hooks/hmsviews.js +12 -0
  50. package/lib/module/hooks/hmsviews.js.map +1 -0
  51. package/lib/module/index.js +1 -0
  52. package/lib/module/index.js.map +1 -1
  53. package/lib/module/stores/hls-player-playback-slice.js +4 -0
  54. package/lib/module/stores/hls-player-playback-slice.js.map +1 -1
  55. package/lib/module/stores/hms-store.js +3 -1
  56. package/lib/module/stores/hms-store.js.map +1 -1
  57. package/lib/module/stores/hmsviews-slice.js +12 -0
  58. package/lib/module/stores/hmsviews-slice.js.map +1 -0
  59. package/lib/module/stores/types.js +9 -0
  60. package/lib/module/stores/types.js.map +1 -1
  61. package/lib/module/types.js +1 -1
  62. package/lib/module/types.js.map +1 -1
  63. package/lib/typescript/classes/HMSPIPConfig.d.ts +7 -0
  64. package/lib/typescript/classes/HMSSDK.d.ts +3 -9
  65. package/lib/typescript/components/HMSHLSPlayer/hooks.d.ts +2 -0
  66. package/lib/typescript/components/HMSHLSPlayer/index.d.ts +1 -1
  67. package/lib/typescript/hooks/hmsviews.d.ts +3 -0
  68. package/lib/typescript/index.d.ts +2 -0
  69. package/lib/typescript/stores/hms-store.d.ts +4 -3
  70. package/lib/typescript/stores/hmsviews-slice.d.ts +5 -0
  71. package/lib/typescript/stores/types.d.ts +14 -2
  72. package/lib/typescript/types.d.ts +9 -5
  73. package/package.json +3 -1
  74. package/sdk-versions.json +1 -1
  75. package/src/classes/HMSPIPConfig.ts +7 -0
  76. package/src/classes/HMSSDK.tsx +3 -11
  77. package/src/classes/HmsView.tsx +16 -2
  78. package/src/components/HMSHLSPlayer/HMSHLSPlayer.tsx +11 -5
  79. package/src/components/HMSHLSPlayer/hooks.ts +7 -0
  80. package/src/components/HMSHLSPlayer/index.ts +1 -0
  81. package/src/hooks/hmsviews.ts +13 -0
  82. package/src/index.ts +2 -0
  83. package/src/stores/hls-player-playback-slice.ts +3 -0
  84. package/src/stores/hms-store.ts +2 -0
  85. package/src/stores/hmsviews-slice.ts +20 -0
  86. package/src/stores/types.ts +20 -1
  87. package/src/types.ts +13 -3
@@ -125,7 +125,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
125
125
  guard let role = data.value(forKey: "role") as? String
126
126
  else {
127
127
  let errorMessage = "previewForRole: " + HMSHelper.getUnavailableRequiredKey(data, ["role"])
128
- emitRequiredKeysError(errorMessage)
129
128
  reject?(errorMessage, errorMessage, nil)
130
129
  return
131
130
  }
@@ -211,8 +210,8 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
211
210
  DispatchQueue.main.async { [weak self] in
212
211
  self?.hms?.getAuthTokenByRoomCode(roomCode, userID: userId) { token, error in
213
212
  // error occurred
214
- if error != nil {
215
- reject?(error?.localizedDescription, error?.localizedDescription, nil)
213
+ if let error = error as? NSError {
214
+ reject?(String(error.code), error.localizedDescription, nil)
216
215
  return
217
216
  }
218
217
  // no error and token is valid
@@ -229,44 +228,48 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
229
228
  }
230
229
  }
231
230
 
232
- func setLocalMute(_ data: NSDictionary) {
231
+ func setLocalMute(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
233
232
  guard let isMute = data.value(forKey: "isMute") as? Bool
234
233
  else {
235
234
  let errorMessage = "setLocalMute: " + HMSHelper.getUnavailableRequiredKey(data, ["isMute"])
236
- emitRequiredKeysError(errorMessage)
235
+ reject?(errorMessage, errorMessage, nil)
237
236
  return
238
237
  }
239
238
 
240
239
  DispatchQueue.main.async { [weak self] in
241
240
  if let audioTrack = self?.hms?.localPeer?.localAudioTrack() {
242
241
  audioTrack.setMute(isMute)
243
- } else if let tracks = self?.previewForRoleTracks {
244
- if let audioTrack = tracks.first(where: { $0.kind == HMSTrackKind.audio }) as? HMSLocalAudioTrack {
245
- audioTrack.setMute(isMute)
246
- }
242
+ resolve?(true)
243
+ } else if let tracks = self?.previewForRoleTracks, let audioTrack = tracks.first(where: { $0.kind == HMSTrackKind.audio }) as? HMSLocalAudioTrack {
244
+ audioTrack.setMute(isMute)
245
+ resolve?(true)
247
246
  } else {
248
- print(#function, "No local audio track available for setting mute state.")
247
+ let errorMessage = "setLocalMute: No local audio track available for setting mute state."
248
+ print(#function, errorMessage)
249
+ reject?(errorMessage, errorMessage, nil)
249
250
  }
250
251
  }
251
252
  }
252
253
 
253
- func setLocalVideoMute(_ data: NSDictionary) {
254
+ func setLocalVideoMute(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
254
255
  guard let isMute = data.value(forKey: "isMute") as? Bool
255
256
  else {
256
257
  let errorMessage = "setLocalVideoMute: " + HMSHelper.getUnavailableRequiredKey(data, ["isMute"])
257
- emitRequiredKeysError(errorMessage)
258
+ reject?(errorMessage, errorMessage, nil)
258
259
  return
259
260
  }
260
261
 
261
262
  DispatchQueue.main.async { [weak self] in
262
263
  if let videoTrack = self?.hms?.localPeer?.localVideoTrack() {
263
264
  videoTrack.setMute(isMute)
264
- } else if let tracks = self?.previewForRoleTracks {
265
- if let videoTrack = tracks.first(where: { $0.kind == HMSTrackKind.video }) as? HMSLocalVideoTrack {
266
- videoTrack.setMute(isMute)
267
- }
265
+ resolve?(true)
266
+ } else if let tracks = self?.previewForRoleTracks, let videoTrack = tracks.first(where: { $0.kind == HMSTrackKind.video }) as? HMSLocalVideoTrack {
267
+ videoTrack.setMute(isMute)
268
+ resolve?(true)
268
269
  } else {
269
- print(#function, "No local video track available for setting mute state.")
270
+ let errorMessage = "setLocalVideoMute: No local video track available for setting mute state."
271
+ print(#function, errorMessage)
272
+ reject?(errorMessage, errorMessage, nil)
270
273
  }
271
274
  }
272
275
  }
@@ -288,24 +291,27 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
288
291
  func leave(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
289
292
  DispatchQueue.main.async { [weak self] in
290
293
  guard let strongSelf = self else {
291
- print(#function, "Could not find reference to self while executing Room leave")
294
+ let errorMessage = "\(#function): Could not find reference to self while executing Room leave"
295
+ print(#function, errorMessage)
296
+ reject?(errorMessage, errorMessage, nil)
292
297
  return
293
298
  }
294
299
 
295
300
  strongSelf.hms?.leave { [weak self] success, error in
296
301
 
297
302
  guard let strongSelf = self else {
298
- print(#function, "Could not find reference to self when callback is received while executing Room leave")
303
+ let errorMessage = "\(#function): Could not find reference to self when callback is received while executing Room leave"
304
+ print(#function, errorMessage)
305
+ reject?(errorMessage, errorMessage, nil)
299
306
  return
300
307
  }
301
308
 
302
- if success {
309
+ if let nonnilError = error {
310
+ reject?(nonnilError.localizedDescription, nonnilError.localizedDescription, nil)
311
+ } else if success {
303
312
  resolve?(["success": success])
304
313
  strongSelf.cleanup() // resetting states and doing data cleanup
305
314
  } else {
306
- if strongSelf.eventsEnableStatus[HMSConstants.ON_ERROR] == true {
307
- strongSelf.delegate?.emitEvent(HMSConstants.ON_ERROR, ["error": HMSDecoder.getError(error), "id": strongSelf.id])
308
- }
309
315
  reject?("error in leave", "error in leave", nil)
310
316
  }
311
317
  }
@@ -316,7 +322,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
316
322
  guard let message = data.value(forKey: "message") as? String
317
323
  else {
318
324
  let errorMessage = "sendBroadcastMessage: " + HMSHelper.getUnavailableRequiredKey(data, ["message"])
319
- emitRequiredKeysError(errorMessage)
320
325
  reject?(errorMessage, errorMessage, nil)
321
326
  return
322
327
  }
@@ -341,7 +346,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
341
346
  let targetedRoles = data.value(forKey: "roles") as? [String]
342
347
  else {
343
348
  let errorMessage = "sendGroupMessage: " + HMSHelper.getUnavailableRequiredKey(data, ["message", "roles"])
344
- emitRequiredKeysError(errorMessage)
345
349
  reject?(errorMessage, errorMessage, nil)
346
350
  return
347
351
  }
@@ -366,7 +370,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
366
370
  let peerId = data.value(forKey: "peerId") as? String
367
371
  else {
368
372
  let errorMessage = "sendDirectMessage: " + HMSHelper.getUnavailableRequiredKey(data, ["message", "peerId"])
369
- emitRequiredKeysError(errorMessage)
370
373
  reject?(errorMessage, errorMessage, nil)
371
374
  return
372
375
  }
@@ -394,7 +397,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
394
397
  guard let request = self?.recentRoleChangeRequest
395
398
  else {
396
399
  let errorMessage = "acceptRoleChange: recentRoleChangeRequest not found"
397
- self?.emitRequiredKeysError(errorMessage)
398
400
  reject?(errorMessage, errorMessage, nil)
399
401
  return
400
402
  }
@@ -417,7 +419,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
417
419
  let role = data.value(forKey: "role") as? String
418
420
  else {
419
421
  let errorMessage = "changeRole: " + HMSHelper.getUnavailableRequiredKey(data, ["peerId", "role"])
420
- emitRequiredKeysError(errorMessage)
421
422
  reject?(errorMessage, errorMessage, nil)
422
423
  return
423
424
  }
@@ -452,7 +453,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
452
453
  guard let toRoleString = data.object(forKey: "toRole") as? String
453
454
  else {
454
455
  let errorMessage = "changeRolesOfAllPeers: " + HMSHelper.getUnavailableRequiredKey(data, ["toRole"])
455
- emitRequiredKeysError(errorMessage)
456
456
  reject?(errorMessage, errorMessage, nil)
457
457
  return
458
458
  }
@@ -461,7 +461,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
461
461
 
462
462
  guard let toRole = HMSHelper.getRoleFromRoleName(toRoleString, roles: self?.hms?.roles) else {
463
463
  let errorMessage = "changeRolesOfAllPeers: " + HMSHelper.getUnavailableRequiredKey(data, ["toRole"])
464
- self?.emitRequiredKeysError(errorMessage)
465
464
  reject?(errorMessage, errorMessage, nil)
466
465
  return
467
466
  }
@@ -487,7 +486,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
487
486
  guard let trackId = data.value(forKey: "trackId") as? String
488
487
  else {
489
488
  let errorMessage = "changeTrackState: " + HMSHelper.getUnavailableRequiredKey(data, ["trackId"])
490
- emitRequiredKeysError(errorMessage)
491
489
  reject?(errorMessage, errorMessage, nil)
492
490
  return
493
491
  }
@@ -517,7 +515,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
517
515
  guard let mute = data.value(forKey: "mute") as? Bool
518
516
  else {
519
517
  let errorMessage = "changeTrackStateForRoles: " + HMSHelper.getUnavailableRequiredKey(data, ["mute"])
520
- emitRequiredKeysError(errorMessage)
521
518
  reject?(errorMessage, errorMessage, nil)
522
519
  return
523
520
  }
@@ -550,7 +547,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
550
547
  guard let trackId = data.value(forKey: "trackId") as? String
551
548
  else {
552
549
  let errorMessage = "isMute: " + HMSHelper.getUnavailableRequiredKey(data, ["trackId"])
553
- emitRequiredKeysError(errorMessage)
554
550
  reject?(errorMessage, errorMessage, nil)
555
551
  return
556
552
  }
@@ -580,7 +576,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
580
576
  guard let peerId = data.value(forKey: "peerId") as? String
581
577
  else {
582
578
  let errorMessage = "removePeer: " + HMSHelper.getUnavailableRequiredKey(data, ["peerId"])
583
- emitRequiredKeysError(errorMessage)
584
579
  reject?(errorMessage, errorMessage, nil)
585
580
  return
586
581
  }
@@ -612,7 +607,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
612
607
  let reason = data.value(forKey: "reason") as? String
613
608
  else {
614
609
  let errorMessage = "endRoom: " + HMSHelper.getUnavailableRequiredKey(data, ["lock", "reason"])
615
- emitRequiredKeysError(errorMessage)
616
610
  reject?(errorMessage, errorMessage, nil)
617
611
  return
618
612
  }
@@ -633,7 +627,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
633
627
  guard let trackId = data.value(forKey: "trackId") as? String
634
628
  else {
635
629
  let errorMessage = "isPlaybackAllowed: " + HMSHelper.getUnavailableRequiredKey(data, ["trackId"])
636
- emitRequiredKeysError(errorMessage)
637
630
  reject?(errorMessage, errorMessage, nil)
638
631
  return
639
632
  }
@@ -660,29 +653,35 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
660
653
  }
661
654
  }
662
655
 
663
- func setPlaybackAllowed(_ data: NSDictionary) {
656
+ func setPlaybackAllowed(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
664
657
  guard let trackId = data.value(forKey: "trackId") as? String,
665
658
  let playbackAllowed = data.value(forKey: "playbackAllowed") as? Bool
666
659
  else {
667
660
  let errorMessage = "setPlaybackAllowed: " + HMSHelper.getUnavailableRequiredKey(data, ["trackId", "playbackAllowed"])
668
- emitRequiredKeysError(errorMessage)
661
+ reject?(errorMessage, errorMessage, nil)
669
662
  return
670
663
  }
664
+
671
665
  DispatchQueue.main.async { [weak self] in
672
666
  guard let remotePeers = self?.hms?.remotePeers
673
667
  else {
668
+ let errorMessage = "setPlaybackAllowed: No remote peers found"
669
+ reject?(errorMessage, errorMessage, nil)
674
670
  return
675
671
  }
672
+
676
673
  let remoteAudioTrack = HMSHelper.getRemoteAudioTrackFromTrackId(trackId, remotePeers)
677
674
  let remoteVideoTrack = HMSHelper.getRemoteVideoTrackFromTrackId(trackId, remotePeers)
675
+
678
676
  if remoteAudioTrack != nil {
679
- if playbackAllowed {
680
- remoteAudioTrack?.setPlaybackAllowed(playbackAllowed)
681
- } else {
682
- remoteAudioTrack?.setPlaybackAllowed(playbackAllowed)
683
- }
677
+ remoteAudioTrack?.setPlaybackAllowed(playbackAllowed)
678
+ resolve?(true)
684
679
  } else if remoteVideoTrack != nil {
685
680
  remoteVideoTrack?.setPlaybackAllowed(playbackAllowed)
681
+ resolve?(true)
682
+ } else {
683
+ let errorMessage = "setPlaybackAllowed: No remote audio or video track to set playback"
684
+ reject?(errorMessage, errorMessage, nil)
686
685
  }
687
686
  }
688
687
  }
@@ -691,7 +690,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
691
690
  guard let metadata = data.value(forKey: "metadata") as? String
692
691
  else {
693
692
  let errorMessage = "changeMetadata: " + HMSHelper.getUnavailableRequiredKey(data, ["metadata"])
694
- emitRequiredKeysError(errorMessage)
695
693
  reject?(errorMessage, errorMessage, nil)
696
694
  return
697
695
  }
@@ -707,23 +705,27 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
707
705
  })
708
706
  }
709
707
 
710
- func setVolume(_ data: NSDictionary) {
708
+ func setVolume(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
711
709
  guard let trackId = data.value(forKey: "trackId") as? String,
712
710
  let volume = data.value(forKey: "volume") as? Double
713
711
  else {
714
712
  let errorMessage = "setVolume: " + HMSHelper.getUnavailableRequiredKey(data, ["trackId", "volume"])
715
- emitRequiredKeysError(errorMessage)
713
+ reject?(errorMessage, errorMessage, nil)
716
714
  return
717
715
  }
718
716
 
719
717
  DispatchQueue.main.async { [weak self] in
720
718
  guard let strongSelf = self else { return }
721
- let remotePeers = self?.hms?.remotePeers
719
+ let remotePeers = strongSelf.hms?.remotePeers
722
720
 
723
721
  let remoteAudioTrack = HMSHelper.getRemoteAudioAuxiliaryTrackFromTrackId(trackId, remotePeers)
724
722
 
725
723
  if remoteAudioTrack != nil {
726
724
  remoteAudioTrack?.setVolume(volume)
725
+ resolve?(true)
726
+ } else {
727
+ let errorMessage = "setVolume: No remote audio track not available"
728
+ reject?(errorMessage, errorMessage, nil)
727
729
  }
728
730
  }
729
731
  }
@@ -732,7 +734,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
732
734
  guard let record = data.value(forKey: "record") as? Bool
733
735
  else {
734
736
  let errorMessage = "startRTMPOrRecording: " + HMSHelper.getUnavailableRequiredKey(data, ["record"])
735
- emitRequiredKeysError(errorMessage)
736
737
  reject?(errorMessage, errorMessage, nil)
737
738
  return
738
739
  }
@@ -747,6 +748,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
747
748
  meetingUrl = meetLink
748
749
  } else {
749
750
  reject?("Invalid meeting url passed", "Invalid meeting url passed", nil)
751
+ return
750
752
  }
751
753
  }
752
754
 
@@ -811,7 +813,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
811
813
  guard let name = data.value(forKey: "name") as? String
812
814
  else {
813
815
  let errorMessage = "changeName: " + HMSHelper.getUnavailableRequiredKey(data, ["name"])
814
- emitRequiredKeysError(errorMessage)
815
816
  reject?(errorMessage, errorMessage, nil)
816
817
  return
817
818
  }
@@ -843,18 +844,23 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
843
844
  }
844
845
  }
845
846
 
846
- func setPlaybackForAllAudio(_ data: NSDictionary) {
847
+ func setPlaybackForAllAudio(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
847
848
  guard let mute = data.value(forKey: "mute") as? Bool
848
849
  else {
849
- let errorMessage = "setPlaybackForAllAudio: " + HMSHelper.getUnavailableRequiredKey(data, ["setPlaybackForAllAudio"])
850
- emitRequiredKeysError(errorMessage)
850
+ let errorMessage = "setPlaybackForAllAudio: " + HMSHelper.getUnavailableRequiredKey(data, ["mute"])
851
+ reject?(errorMessage, errorMessage, nil)
851
852
  return
852
853
  }
853
854
 
854
855
  DispatchQueue.main.async { [weak self] in
855
- let remotePeers = self?.hms?.remotePeers
856
- for peer in remotePeers ?? [] {
857
- peer.remoteAudioTrack()?.setPlaybackAllowed(!mute)
856
+ if let remotePeers = self?.hms?.remotePeers {
857
+ for peer in remotePeers {
858
+ peer.remoteAudioTrack()?.setPlaybackAllowed(!mute)
859
+ }
860
+ resolve?(true)
861
+ } else {
862
+ let errorMessage = "setPlaybackForAllAudio: No Audio is available to set playback"
863
+ reject?(errorMessage, errorMessage, nil)
858
864
  }
859
865
  }
860
866
  }
@@ -954,7 +960,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
954
960
  let playerNode = audioMixerSourceMap[audioNodeName]
955
961
  else {
956
962
  let errorMessage = "playAudioShare: " + HMSHelper.getUnavailableRequiredKey(data, ["audioNode", "fileUrl"])
957
- emitRequiredKeysError(errorMessage)
958
963
  reject?(errorMessage, errorMessage, nil)
959
964
  return
960
965
  }
@@ -976,14 +981,14 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
976
981
  }
977
982
  }
978
983
 
979
- func setAudioShareVolume(_ data: NSDictionary) {
984
+ func setAudioShareVolume(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
980
985
  guard let volume = data.value(forKey: "volume") as? NSNumber,
981
986
  let audioNodeName = data.value(forKey: "audioNode") as? String,
982
987
  let audioMixerSourceMap = HMSHelper.getAudioMixerSourceMap(),
983
988
  let playerNode = audioMixerSourceMap[audioNodeName]
984
989
  else {
985
990
  let errorMessage = "setAudioShareVolume: " + HMSHelper.getUnavailableRequiredKey(data, ["audioNode", "volume"])
986
- emitRequiredKeysError(errorMessage)
991
+ reject?(errorMessage, errorMessage, nil)
987
992
  return
988
993
  }
989
994
  if let audioMicNode = playerNode as? HMSMicNode {
@@ -992,53 +997,64 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
992
997
  if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
993
998
  audioFilePlayerNode.volume = volume.floatValue
994
999
  }
1000
+ resolve?(true)
995
1001
  }
996
1002
 
997
- func stopAudioShare(_ data: NSDictionary) {
1003
+ func stopAudioShare(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
998
1004
  guard let audioNodeName = data.value(forKey: "audioNode") as? String,
999
1005
  let audioMixerSourceMap = HMSHelper.getAudioMixerSourceMap(),
1000
1006
  let playerNode = audioMixerSourceMap[audioNodeName]
1001
1007
  else {
1002
1008
  let errorMessage = "stopAudioShare: " + HMSHelper.getUnavailableRequiredKey(data, ["audioNode"])
1003
- emitRequiredKeysError(errorMessage)
1009
+ reject?(errorMessage, errorMessage, nil)
1004
1010
  return
1005
1011
  }
1006
1012
  if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
1007
1013
  audioFilePlayerNode.stop()
1014
+ resolve?(true)
1015
+ } else {
1016
+ let errorMessage = "stopAudioShare: HMSAudioFilePlayerNode not available!"
1017
+ reject?(errorMessage, errorMessage, nil)
1008
1018
  }
1009
1019
  }
1010
1020
 
1011
- func resumeAudioShare(_ data: NSDictionary) {
1021
+ func resumeAudioShare(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
1012
1022
  guard let audioNodeName = data.value(forKey: "audioNode") as? String,
1013
1023
  let audioMixerSourceMap = HMSHelper.getAudioMixerSourceMap(),
1014
1024
  let playerNode = audioMixerSourceMap[audioNodeName]
1015
1025
  else {
1016
1026
  let errorMessage = "resumeAudioShare: " + HMSHelper.getUnavailableRequiredKey(data, ["audioNode"])
1017
- emitRequiredKeysError(errorMessage)
1027
+ reject?(errorMessage, errorMessage, nil)
1018
1028
  return
1019
1029
  }
1020
1030
  if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
1021
1031
  do {
1022
1032
  try audioFilePlayerNode.resume()
1033
+ resolve?(true)
1023
1034
  } catch {
1024
- if eventsEnableStatus[HMSConstants.ON_ERROR] == true {
1025
- delegate?.emitEvent(HMSConstants.ON_ERROR, ["error": ["code": 6002, "description": error.localizedDescription, "isTerminal": false, "canRetry": true, "params": ["function": #function]] as [String: Any], "id": id])
1026
- }
1035
+ reject?(error.localizedDescription, error.localizedDescription, nil)
1027
1036
  }
1037
+ } else {
1038
+ let errorMessage = "resumeAudioShare: HMSAudioFilePlayerNode not available!"
1039
+ reject?(errorMessage, errorMessage, nil)
1028
1040
  }
1029
1041
  }
1030
1042
 
1031
- func pauseAudioShare(_ data: NSDictionary) {
1043
+ func pauseAudioShare(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
1032
1044
  guard let audioNodeName = data.value(forKey: "audioNode") as? String,
1033
1045
  let audioMixerSourceMap = HMSHelper.getAudioMixerSourceMap(),
1034
1046
  let playerNode = audioMixerSourceMap[audioNodeName]
1035
1047
  else {
1036
1048
  let errorMessage = "pauseAudioShare: " + HMSHelper.getUnavailableRequiredKey(data, ["audioNode"])
1037
- emitRequiredKeysError(errorMessage)
1049
+ reject?(errorMessage, errorMessage, nil)
1038
1050
  return
1039
1051
  }
1040
1052
  if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
1041
1053
  audioFilePlayerNode.pause()
1054
+ resolve?(true)
1055
+ } else {
1056
+ let errorMessage = "pauseAudioShare: HMSAudioFilePlayerNode not available!"
1057
+ reject?(errorMessage, errorMessage, nil)
1042
1058
  }
1043
1059
  }
1044
1060
 
@@ -1048,7 +1064,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1048
1064
  let playerNode = audioMixerSourceMap[audioNodeName]
1049
1065
  else {
1050
1066
  let errorMessage = "pauseAudioShare: " + HMSHelper.getUnavailableRequiredKey(data, ["audioNode"])
1051
- emitRequiredKeysError(errorMessage)
1052
1067
  reject?(errorMessage, errorMessage, nil)
1053
1068
  return
1054
1069
  }
@@ -1065,7 +1080,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1065
1080
  let playerNode = audioMixerSourceMap[audioNodeName]
1066
1081
  else {
1067
1082
  let errorMessage = "pauseAudioShare: " + HMSHelper.getUnavailableRequiredKey(data, ["audioNode"])
1068
- emitRequiredKeysError(errorMessage)
1069
1083
  reject?(errorMessage, errorMessage, nil)
1070
1084
  return
1071
1085
  }
@@ -1082,7 +1096,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1082
1096
  let playerNode = audioMixerSourceMap[audioNodeName]
1083
1097
  else {
1084
1098
  let errorMessage = "pauseAudioShare: " + HMSHelper.getUnavailableRequiredKey(data, ["audioNode"])
1085
- emitRequiredKeysError(errorMessage)
1086
1099
  reject?(errorMessage, errorMessage, nil)
1087
1100
  return
1088
1101
  }
@@ -1104,7 +1117,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1104
1117
  func enableEvent(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
1105
1118
  guard let eventType = data.value(forKey: "eventType") as? String else {
1106
1119
  let errorMessage = "enableEvent: " + HMSHelper.getUnavailableRequiredKey(data, ["eventType"])
1107
- emitRequiredKeysError(errorMessage)
1108
1120
  reject?(errorMessage, errorMessage, nil)
1109
1121
  return
1110
1122
  }
@@ -1116,7 +1128,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1116
1128
  func disableEvent(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
1117
1129
  guard let eventType = data.value(forKey: "eventType") as? String else {
1118
1130
  let errorMessage = "disableEvent: " + HMSHelper.getUnavailableRequiredKey(data, ["eventType"])
1119
- emitRequiredKeysError(errorMessage)
1120
1131
  reject?(errorMessage, errorMessage, nil)
1121
1132
  return
1122
1133
  }
@@ -1125,14 +1136,15 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1125
1136
  resolve?(["success": true, "message": "function call executed successfully"] as [String: Any])
1126
1137
  }
1127
1138
 
1128
- func restrictData(_ data: NSDictionary) {
1139
+ func restrictData(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
1129
1140
  guard let roleName = data.value(forKey: "roleName") as? String else {
1130
1141
  let errorMessage = "restrictData: " + HMSHelper.getUnavailableRequiredKey(data, ["roleName"])
1131
- emitRequiredKeysError(errorMessage)
1142
+ reject?(errorMessage, errorMessage, nil)
1132
1143
  return
1133
1144
  }
1134
1145
 
1135
1146
  HMSDecoder.setRestrictRoleData(roleName, true)
1147
+ resolve?(true)
1136
1148
  }
1137
1149
 
1138
1150
  // MARK: - HMS SDK Get APIs
@@ -1272,7 +1284,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1272
1284
  guard let trackId = data.value(forKey: "trackId") as? String
1273
1285
  else {
1274
1286
  let errorMessage = "\(#function) " + HMSHelper.getUnavailableRequiredKey(data, ["trackId"])
1275
- emitRequiredKeysError(errorMessage)
1276
1287
  reject?(errorMessage, errorMessage, nil)
1277
1288
  return
1278
1289
  }
@@ -1284,7 +1295,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1284
1295
  let remoteVideoTrack = HMSHelper.getRemoteVideoTrackFromTrackId(trackId, remotePeers)
1285
1296
  else {
1286
1297
  let errorMessage = "\(#function) " + "TRACK_NOT_FOUND"
1287
- self?.emitRequiredKeysError(errorMessage)
1288
1298
  reject?(errorMessage, errorMessage, nil)
1289
1299
  return
1290
1300
  }
@@ -1297,7 +1307,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1297
1307
  guard let trackId = data.value(forKey: "trackId") as? String
1298
1308
  else {
1299
1309
  let errorMessage = "\(#function) " + HMSHelper.getUnavailableRequiredKey(data, ["trackId"])
1300
- emitRequiredKeysError(errorMessage)
1301
1310
  reject?(errorMessage, errorMessage, nil)
1302
1311
  return
1303
1312
  }
@@ -1309,7 +1318,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1309
1318
  let remoteAudioTrack = HMSHelper.getRemoteAudioTrackFromTrackId(trackId, remotePeers)
1310
1319
  else {
1311
1320
  let errorMessage = "\(#function) " + "TRACK_NOT_FOUND"
1312
- self?.emitRequiredKeysError(errorMessage)
1313
1321
  reject?(errorMessage, errorMessage, nil)
1314
1322
  return
1315
1323
  }
@@ -1553,7 +1561,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1553
1561
  guard let trackId = data.value(forKey: "trackId") as? String
1554
1562
  else {
1555
1563
  let errorMessage = "\(#function) " + HMSHelper.getUnavailableRequiredKey(data, ["trackId"])
1556
- emitRequiredKeysError(errorMessage)
1557
1564
  reject?(errorMessage, errorMessage, nil)
1558
1565
  return
1559
1566
  }
@@ -1565,7 +1572,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1565
1572
  let remoteVideoTrack = HMSHelper.getRemoteVideoTrackFromTrackId(trackId, remotePeers)
1566
1573
  else {
1567
1574
  let errorMessage = "\(#function) " + "TRACK_NOT_FOUND"
1568
- self?.emitRequiredKeysError(errorMessage)
1569
1575
  reject?(errorMessage, errorMessage, nil)
1570
1576
  return
1571
1577
  }
@@ -1573,7 +1579,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1573
1579
  guard let layerDefinitions = remoteVideoTrack.layerDefinitions
1574
1580
  else {
1575
1581
  let errorMessage = "\(#function) " + "layer definitions not available for track: '\(trackId)' !"
1576
- self.emitRequiredKeysError(errorMessage)
1577
1582
  reject?(errorMessage, errorMessage, nil)
1578
1583
  return
1579
1584
  }
@@ -1589,7 +1594,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1589
1594
  guard let trackId = data.value(forKey: "trackId") as? String
1590
1595
  else {
1591
1596
  let errorMessage = "\(#function) " + HMSHelper.getUnavailableRequiredKey(data, ["trackId"])
1592
- emitRequiredKeysError(errorMessage)
1593
1597
  reject?(errorMessage, errorMessage, nil)
1594
1598
  return
1595
1599
  }
@@ -1601,7 +1605,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1601
1605
  let remoteVideoTrack = HMSHelper.getRemoteVideoTrackFromTrackId(trackId, remotePeers)
1602
1606
  else {
1603
1607
  let errorMessage = "\(#function) " + "TRACK_NOT_FOUND"
1604
- self?.emitRequiredKeysError(errorMessage)
1605
1608
  reject?(errorMessage, errorMessage, nil)
1606
1609
  return
1607
1610
  }
@@ -1617,7 +1620,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1617
1620
  let layer = data.value(forKey: "layer") as? String
1618
1621
  else {
1619
1622
  let errorMessage = "\(#function) " + HMSHelper.getUnavailableRequiredKey(data, ["trackId", "layer"])
1620
- emitRequiredKeysError(errorMessage)
1621
1623
  reject?(errorMessage, errorMessage, nil)
1622
1624
  return
1623
1625
  }
@@ -1629,7 +1631,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1629
1631
  let remoteVideoTrack = HMSHelper.getRemoteVideoTrackFromTrackId(trackId, remotePeers)
1630
1632
  else {
1631
1633
  let errorMessage = "\(#function) " + "TRACK_NOT_FOUND"
1632
- self?.emitRequiredKeysError(errorMessage)
1633
1634
  reject?(errorMessage, errorMessage, nil)
1634
1635
  return
1635
1636
  }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ ;
4
+ //# sourceMappingURL=HMSPIPConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["HMSPIPConfig.ts"],"sourcesContent":["export interface HMSPIPConfig {\n autoEnterPipMode?: boolean;\n aspectRatio?: [number, number];\n endButton?: boolean;\n audioButton?: boolean;\n videoButton?: boolean;\n};\n"],"mappings":";;AAMC"}
@@ -24,8 +24,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
24
24
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
25
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
26
26
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
27
- // TODO: Rename to HMSPIPConfig & to be moved to a separate file
28
-
29
27
  const ReactNativeVersion = require('react-native/Libraries/Core/ReactNativeVersion');
30
28
  let HmsSdk;
31
29
  class HMSSDK {