@100mslive/react-native-hms 0.7.4 → 0.8.3

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 (211) hide show
  1. package/README.md +37 -39
  2. package/android/.gradle/checksums/checksums.lock +0 -0
  3. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  4. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  5. package/android/.project +8 -2
  6. package/android/build.gradle +1 -2
  7. package/android/src/main/java/com/reactnativehmssdk/HmsDecoder.kt +268 -232
  8. package/android/src/main/java/com/reactnativehmssdk/HmsHelper.kt +122 -12
  9. package/android/src/main/java/com/reactnativehmssdk/HmsModule.kt +143 -519
  10. package/android/src/main/java/com/reactnativehmssdk/HmsSDK.kt +940 -0
  11. package/android/src/main/java/com/reactnativehmssdk/HmsView.kt +34 -22
  12. package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +1 -2
  13. package/android/src/main/java/com/reactnativehmssdk/HmssdkViewManager.kt +9 -13
  14. package/ios/HmsDecoder.swift +168 -33
  15. package/ios/HmsHelper.swift +121 -1
  16. package/ios/HmsManager.m +20 -14
  17. package/ios/HmsManager.swift +125 -398
  18. package/ios/HmsSDK.swift +784 -0
  19. package/ios/HmsView.swift +16 -8
  20. package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
  21. package/lib/commonjs/classes/HMSAudioTrackSettings.js +3 -0
  22. package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
  23. package/lib/commonjs/classes/HMSBrowserRecordingState.js +23 -0
  24. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -0
  25. package/lib/commonjs/classes/HMSCameraFacing.js +14 -0
  26. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -0
  27. package/lib/commonjs/classes/HMSConfig.js +3 -7
  28. package/lib/commonjs/classes/HMSConfig.js.map +1 -1
  29. package/lib/commonjs/classes/HMSEncoder.js +65 -35
  30. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  31. package/lib/commonjs/classes/HMSException.js +30 -0
  32. package/lib/commonjs/classes/HMSException.js.map +1 -0
  33. package/lib/commonjs/classes/HMSHelper.js +2 -2
  34. package/lib/commonjs/classes/HMSHelper.js.map +1 -1
  35. package/lib/commonjs/classes/HMSLocalAudioTrack.js +39 -1
  36. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  37. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  38. package/lib/commonjs/classes/HMSLocalVideoTrack.js +28 -2
  39. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  40. package/lib/commonjs/classes/HMSLogger.js +28 -1
  41. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  42. package/lib/commonjs/classes/HMSPeer.js +3 -0
  43. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  44. package/lib/commonjs/classes/HMSPeerUpdate.js +1 -0
  45. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  46. package/lib/commonjs/classes/HMSPermissions.js +6 -0
  47. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  48. package/lib/commonjs/classes/HMSRTMPConfig.js +26 -0
  49. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -0
  50. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +21 -0
  51. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  52. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  53. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +21 -0
  54. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  55. package/lib/commonjs/classes/HMSRoom.js +9 -0
  56. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  57. package/lib/commonjs/classes/HMSRtmpStreamingState.js +23 -0
  58. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -0
  59. package/lib/commonjs/classes/HMSSDK.js +399 -150
  60. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  61. package/lib/commonjs/classes/HMSServerRecordingState.js +23 -0
  62. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -0
  63. package/lib/commonjs/classes/HMSTrack.js +8 -18
  64. package/lib/commonjs/classes/HMSTrack.js.map +1 -1
  65. package/lib/commonjs/classes/HMSTrackSettings.js +3 -0
  66. package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
  67. package/lib/commonjs/classes/HMSTrackType.js +14 -0
  68. package/lib/commonjs/classes/HMSTrackType.js.map +1 -0
  69. package/lib/commonjs/classes/HMSVideoCodec.js +4 -4
  70. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  71. package/lib/commonjs/classes/HMSVideoResolution.js +23 -0
  72. package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -0
  73. package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
  74. package/lib/commonjs/classes/HMSVideoTrack.js +2 -0
  75. package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
  76. package/lib/commonjs/classes/HMSVideoTrackSettings.js +0 -3
  77. package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
  78. package/lib/commonjs/classes/HmsView.js +10 -7
  79. package/lib/commonjs/classes/HmsView.js.map +1 -1
  80. package/lib/commonjs/index.js +112 -0
  81. package/lib/commonjs/index.js.map +1 -1
  82. package/lib/module/classes/HMSAudioTrack.js.map +1 -1
  83. package/lib/module/classes/HMSAudioTrackSettings.js +3 -0
  84. package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
  85. package/lib/module/classes/HMSBrowserRecordingState.js +14 -0
  86. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -0
  87. package/lib/module/classes/HMSCameraFacing.js +7 -0
  88. package/lib/module/classes/HMSCameraFacing.js.map +1 -0
  89. package/lib/module/classes/HMSConfig.js +3 -7
  90. package/lib/module/classes/HMSConfig.js.map +1 -1
  91. package/lib/module/classes/HMSEncoder.js +64 -35
  92. package/lib/module/classes/HMSEncoder.js.map +1 -1
  93. package/lib/module/classes/HMSException.js +21 -0
  94. package/lib/module/classes/HMSException.js.map +1 -0
  95. package/lib/module/classes/HMSHelper.js +2 -2
  96. package/lib/module/classes/HMSHelper.js.map +1 -1
  97. package/lib/module/classes/HMSLocalAudioTrack.js +37 -2
  98. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  99. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  100. package/lib/module/classes/HMSLocalVideoTrack.js +25 -2
  101. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  102. package/lib/module/classes/HMSLogger.js +28 -1
  103. package/lib/module/classes/HMSLogger.js.map +1 -1
  104. package/lib/module/classes/HMSPeer.js +3 -0
  105. package/lib/module/classes/HMSPeer.js.map +1 -1
  106. package/lib/module/classes/HMSPeerUpdate.js +1 -0
  107. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  108. package/lib/module/classes/HMSPermissions.js +6 -0
  109. package/lib/module/classes/HMSPermissions.js.map +1 -1
  110. package/lib/module/classes/HMSRTMPConfig.js +17 -0
  111. package/lib/module/classes/HMSRTMPConfig.js.map +1 -0
  112. package/lib/module/classes/HMSRemoteAudioTrack.js +18 -0
  113. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  114. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  115. package/lib/module/classes/HMSRemoteVideoTrack.js +18 -0
  116. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  117. package/lib/module/classes/HMSRoom.js +9 -0
  118. package/lib/module/classes/HMSRoom.js.map +1 -1
  119. package/lib/module/classes/HMSRtmpStreamingState.js +14 -0
  120. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -0
  121. package/lib/module/classes/HMSSDK.js +388 -150
  122. package/lib/module/classes/HMSSDK.js.map +1 -1
  123. package/lib/module/classes/HMSServerRecordingState.js +14 -0
  124. package/lib/module/classes/HMSServerRecordingState.js.map +1 -0
  125. package/lib/module/classes/HMSTrack.js +8 -16
  126. package/lib/module/classes/HMSTrack.js.map +1 -1
  127. package/lib/module/classes/HMSTrackSettings.js +3 -0
  128. package/lib/module/classes/HMSTrackSettings.js.map +1 -1
  129. package/lib/module/classes/HMSTrackType.js +7 -0
  130. package/lib/module/classes/HMSTrackType.js.map +1 -0
  131. package/lib/module/classes/HMSVideoCodec.js +4 -4
  132. package/lib/module/classes/HMSVideoCodec.js.map +1 -1
  133. package/lib/module/classes/HMSVideoResolution.js +14 -0
  134. package/lib/module/classes/HMSVideoResolution.js.map +1 -0
  135. package/lib/module/classes/HMSVideoSettings.js.map +1 -1
  136. package/lib/module/classes/HMSVideoTrack.js +2 -0
  137. package/lib/module/classes/HMSVideoTrack.js.map +1 -1
  138. package/lib/module/classes/HMSVideoTrackSettings.js +0 -3
  139. package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
  140. package/lib/module/classes/HmsView.js +10 -7
  141. package/lib/module/classes/HmsView.js.map +1 -1
  142. package/lib/module/index.js +8 -0
  143. package/lib/module/index.js.map +1 -1
  144. package/lib/typescript/classes/HMSAudioTrack.d.ts +3 -0
  145. package/lib/typescript/classes/HMSAudioTrackSettings.d.ts +3 -0
  146. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +9 -0
  147. package/lib/typescript/classes/HMSCameraFacing.d.ts +4 -0
  148. package/lib/typescript/classes/HMSConfig.d.ts +2 -4
  149. package/lib/typescript/classes/HMSEncoder.d.ts +14 -12
  150. package/lib/typescript/classes/HMSException.d.ts +22 -0
  151. package/lib/typescript/classes/HMSLocalAudioTrack.d.ts +5 -0
  152. package/lib/typescript/classes/HMSLocalPeer.d.ts +6 -0
  153. package/lib/typescript/classes/HMSLocalVideoTrack.d.ts +4 -0
  154. package/lib/typescript/classes/HMSLogger.d.ts +11 -4
  155. package/lib/typescript/classes/HMSPeer.d.ts +2 -0
  156. package/lib/typescript/classes/HMSPeerUpdate.d.ts +1 -0
  157. package/lib/typescript/classes/HMSPermissions.d.ts +4 -0
  158. package/lib/typescript/classes/HMSRTMPConfig.d.ts +10 -0
  159. package/lib/typescript/classes/HMSRemoteAudioTrack.d.ts +4 -0
  160. package/lib/typescript/classes/HMSRemotePeer.d.ts +3 -0
  161. package/lib/typescript/classes/HMSRemoteVideoTrack.d.ts +4 -0
  162. package/lib/typescript/classes/HMSRoom.d.ts +9 -0
  163. package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +9 -0
  164. package/lib/typescript/classes/HMSSDK.d.ts +40 -11
  165. package/lib/typescript/classes/HMSServerRecordingState.d.ts +9 -0
  166. package/lib/typescript/classes/HMSTrack.d.ts +6 -1
  167. package/lib/typescript/classes/HMSTrackSettings.d.ts +2 -0
  168. package/lib/typescript/classes/HMSTrackType.d.ts +4 -0
  169. package/lib/typescript/classes/HMSVideoCodec.d.ts +4 -4
  170. package/lib/typescript/classes/HMSVideoResolution.d.ts +8 -0
  171. package/lib/typescript/classes/HMSVideoSettings.d.ts +3 -3
  172. package/lib/typescript/classes/HMSVideoTrack.d.ts +5 -1
  173. package/lib/typescript/classes/HMSVideoTrackSettings.d.ts +13 -10
  174. package/lib/typescript/classes/HmsView.d.ts +2 -1
  175. package/lib/typescript/index.d.ts +8 -0
  176. package/package.json +1 -1
  177. package/src/classes/HMSAudioTrack.ts +3 -0
  178. package/src/classes/HMSAudioTrackSettings.ts +9 -1
  179. package/src/classes/HMSBrowserRecordingState.ts +11 -0
  180. package/src/classes/HMSCameraFacing.ts +4 -0
  181. package/src/classes/HMSConfig.ts +3 -7
  182. package/src/classes/HMSEncoder.ts +64 -28
  183. package/src/classes/HMSException.ts +33 -0
  184. package/src/classes/HMSHelper.ts +2 -2
  185. package/src/classes/HMSLocalAudioTrack.ts +35 -2
  186. package/src/classes/HMSLocalPeer.ts +6 -0
  187. package/src/classes/HMSLocalVideoTrack.ts +22 -2
  188. package/src/classes/HMSLogger.ts +19 -6
  189. package/src/classes/HMSPeer.ts +3 -0
  190. package/src/classes/HMSPeerUpdate.ts +1 -0
  191. package/src/classes/HMSPermissions.ts +6 -0
  192. package/src/classes/HMSRTMPConfig.ts +15 -0
  193. package/src/classes/HMSRemoteAudioTrack.ts +29 -2
  194. package/src/classes/HMSRemotePeer.ts +3 -0
  195. package/src/classes/HMSRemoteVideoTrack.ts +29 -2
  196. package/src/classes/HMSRoom.ts +12 -0
  197. package/src/classes/HMSRtmpStreamingState.ts +11 -0
  198. package/src/classes/{HMSSDK.ts → HMSSDK.tsx} +332 -98
  199. package/src/classes/HMSServerRecordingState.ts +11 -0
  200. package/src/classes/HMSTrack.ts +9 -15
  201. package/src/classes/HMSTrackSettings.ts +3 -0
  202. package/src/classes/HMSTrackType.ts +4 -0
  203. package/src/classes/HMSVideoCodec.ts +4 -4
  204. package/src/classes/HMSVideoResolution.ts +9 -0
  205. package/src/classes/HMSVideoSettings.ts +3 -3
  206. package/src/classes/HMSVideoTrack.ts +6 -1
  207. package/src/classes/HMSVideoTrackSettings.ts +13 -10
  208. package/src/classes/HmsView.tsx +4 -0
  209. package/src/index.ts +8 -0
  210. package/ios/Hmssdk.m +0 -8
  211. package/ios/Hmssdk.swift +0 -8
package/ios/HmsManager.m CHANGED
@@ -5,21 +5,27 @@
5
5
 
6
6
  RCT_EXTERN_METHOD(join: (NSDictionary) credentials)
7
7
  RCT_EXTERN_METHOD(preview: (NSDictionary) credentials)
8
- RCT_EXTERN_METHOD(setLocalMute: (BOOL) isMute)
9
- RCT_EXTERN_METHOD(setLocalVideoMute: (BOOL) isMute)
10
- RCT_EXTERN_METHOD(sendBroadcastMessage: (NSDictionary) data)
11
- RCT_EXTERN_METHOD(sendGroupMessage: (NSDictionary) data)
12
- RCT_EXTERN_METHOD(sendDirectMessage: (NSDictionary) data)
8
+ RCT_EXTERN_METHOD(setLocalMute: (NSDictionary) isMute)
9
+ RCT_EXTERN_METHOD(setLocalVideoMute: (NSDictionary) isMute)
10
+ RCT_EXTERN_METHOD(sendBroadcastMessage: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
11
+ RCT_EXTERN_METHOD(sendGroupMessage: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
12
+ RCT_EXTERN_METHOD(sendDirectMessage: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
13
13
  RCT_EXTERN_METHOD(setPlaybackAllowed: (NSDictionary) data)
14
- RCT_EXTERN_METHOD(removePeer: (NSDictionary) data)
15
- RCT_EXTERN_METHOD(endRoom: (NSDictionary) data)
16
- RCT_EXTERN_METHOD(changeRole: (NSDictionary) data)
17
- RCT_EXTERN_METHOD(changeTrackState: (NSDictionary) data)
18
- RCT_EXTERN_METHOD(acceptRoleChange)
14
+ RCT_EXTERN_METHOD(removePeer: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
15
+ RCT_EXTERN_METHOD(endRoom: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
16
+ RCT_EXTERN_METHOD(changeRole: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
17
+ RCT_EXTERN_METHOD(changeTrackState: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
18
+ RCT_EXTERN_METHOD(changeTrackStateRoles: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
19
+ RCT_EXTERN_METHOD(acceptRoleChange: (NSDictionary) data)
19
20
  RCT_EXTERN_METHOD(isMute: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
21
+ RCT_EXTERN_METHOD(getRoom: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
22
+ RCT_EXTERN_METHOD(switchCamera: (NSDictionary) data)
23
+ RCT_EXTERN_METHOD(setVolume: (NSDictionary) data)
24
+ RCT_EXTERN_METHOD(build : (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
25
+ RCT_EXTERN_METHOD(leave: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
26
+ RCT_EXTERN_METHOD(muteAllPeersAudio: (NSDictionary) mute)
20
27
  RCT_EXTERN_METHOD(isPlaybackAllowed: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
21
- RCT_EXTERN_METHOD(switchCamera)
22
- RCT_EXTERN_METHOD(build)
23
- RCT_EXTERN_METHOD(leave)
24
- RCT_EXTERN_METHOD(muteAllPeersAudio: (BOOL) mute)
28
+ RCT_EXTERN_METHOD(changeMetadata: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
29
+ RCT_EXTERN_METHOD(startRTMPOrRecording: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
30
+ RCT_EXTERN_METHOD(stopRtmpAndRecording: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
25
31
  @end
@@ -2,12 +2,9 @@
2
2
  import HMSSDK
3
3
 
4
4
  @objc(HmsManager)
5
- class HmsManager: RCTEventEmitter, HMSUpdateListener, HMSPreviewListener {
5
+ class HmsManager: RCTEventEmitter{
6
6
 
7
- var hms: HMSSDK?
8
- var config: HMSConfig?
9
- var recentRoleChangeRequest: HMSRoleChangeRequest?
10
- var recentChangeTrackStateRequest: HMSChangeTrackStateRequest?
7
+ var hmsCollection: [String: HmsSDK] = [:]
11
8
 
12
9
  let ON_PREVIEW = "ON_PREVIEW"
13
10
  let ON_JOIN = "ON_JOIN"
@@ -29,9 +26,9 @@ class HmsManager: RCTEventEmitter, HMSUpdateListener, HMSPreviewListener {
29
26
  super.init()
30
27
  }
31
28
 
32
- override class func requiresMainQueueSetup() -> Bool {
33
- true
34
- }
29
+ // override class func requiresMainQueueSetup() -> Bool {
30
+ // true
31
+ // }
35
32
 
36
33
  override func supportedEvents() -> [String]! {
37
34
  return [ON_JOIN, ON_PREVIEW, ON_ROOM_UPDATE, ON_PEER_UPDATE, ON_TRACK_UPDATE, ON_ERROR, ON_MESSAGE, ON_SPEAKER, RECONNECTING, RECONNECTED, ON_ROLE_CHANGE_REQUEST, ON_CHANGE_TRACK_STATE_REQUEST, ON_REMOVED_FROM_ROOM]
@@ -41,479 +38,209 @@ class HmsManager: RCTEventEmitter, HMSUpdateListener, HMSPreviewListener {
41
38
  // MARK: - HMS SDK Actions
42
39
 
43
40
  @objc
44
- func build() {
41
+ func build(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
45
42
  DispatchQueue.main.async { [weak self] in
46
- self?.hms = HMSSDK.build()
43
+ let hasItem = self?.hmsCollection.index(forKey: "12345")
44
+
45
+ if let _ = hasItem {
46
+ let id = UUID().uuidString
47
+ let hms = HmsSDK(data: data, delegate: self, uid: id)
48
+ self?.hmsCollection[id] = hms
49
+
50
+ resolve?(id)
51
+ } else {
52
+ let id = "12345"
53
+ let hms = HmsSDK(data: data, delegate: self, uid: id)
54
+ self?.hmsCollection[id] = hms
55
+
56
+ resolve?(id)
57
+ }
47
58
  }
48
59
  }
49
60
 
50
61
  @objc
51
62
  func preview(_ credentials: NSDictionary) {
52
-
53
- guard let authToken = credentials.value(forKey: "authToken") as? String,
54
- let user = credentials.value(forKey: "userID") as? String,
55
- let room = credentials.value(forKey: "roomID") as? String
56
- else {
57
- return
58
- }
59
-
60
- DispatchQueue.main.async { [weak self] in
61
- guard let strongSelf = self else { return }
62
- if let endpoint = credentials.value(forKey: "endpoint") as? String {
63
- strongSelf.config = HMSConfig(userName: user, userID: UUID().uuidString, roomID: room, authToken: authToken, endpoint: endpoint)
64
- strongSelf.hms?.preview(config: strongSelf.config!, delegate: strongSelf)
65
- } else {
66
- strongSelf.config = HMSConfig(userName: user, userID: UUID().uuidString, roomID: room, authToken: authToken)
67
- strongSelf.hms?.preview(config: strongSelf.config!, delegate: strongSelf)
68
- }
69
- }
63
+ let hms = HmsHelper.getHms(credentials, hmsCollection)
64
+ hms?.preview(credentials)
70
65
  }
71
66
 
72
67
  @objc
73
68
  func join(_ credentials: NSDictionary) {
74
-
75
- guard let authToken = credentials.value(forKey: "authToken") as? String,
76
- let user = credentials.value(forKey: "username") as? String,
77
- let room = credentials.value(forKey: "roomID") as? String
78
- else {
79
- return
80
- }
81
-
82
- DispatchQueue.main.async { [weak self] in
83
- guard let strongSelf = self else { return }
84
- if let config = strongSelf.config {
85
- do{
86
- try strongSelf.hms?.join(config: config, delegate: strongSelf)
87
- }catch let error{
88
- strongSelf.sendEvent(withName: strongSelf.ON_ERROR, body: ["event": strongSelf.ON_ERROR, "error": error.localizedDescription])
89
- }
90
- } else {
91
- if let endpoint = credentials.value(forKey: "endpoint") as? String {
92
- do{
93
- strongSelf.config = HMSConfig(userName: user, userID: UUID().uuidString, roomID: room, authToken: authToken, endpoint: endpoint)
94
- try strongSelf.hms?.join(config: strongSelf.config!, delegate: strongSelf)
95
- }catch let error{
96
- strongSelf.sendEvent(withName: strongSelf.ON_ERROR, body: ["event": strongSelf.ON_ERROR, "error": error.localizedDescription])
97
- }
98
- } else {
99
- do{
100
- strongSelf.config = HMSConfig(userName: user, userID: UUID().uuidString, roomID: room, authToken: authToken)
101
- try strongSelf.hms?.join(config: strongSelf.config!, delegate: strongSelf)
102
- }catch let error{
103
- strongSelf.sendEvent(withName: strongSelf.ON_ERROR, body: ["event": strongSelf.ON_ERROR, "error": error.localizedDescription])
104
- }
105
- }
106
- }
107
- }
69
+ let hms = HmsHelper.getHms(credentials, hmsCollection)
70
+ hms?.join(credentials)
108
71
  }
109
72
 
110
73
  @objc
111
- func setLocalMute(_ isMute: Bool) {
112
- DispatchQueue.main.async { [weak self] in
113
- self?.hms?.localPeer?.localAudioTrack()?.setMute(isMute)
114
- }
74
+ func setLocalMute(_ data: NSDictionary) {
75
+ let hms = HmsHelper.getHms(data, hmsCollection)
76
+
77
+ hms?.setLocalMute(data)
115
78
  }
116
79
 
117
80
  @objc
118
- func setLocalVideoMute(_ isMute: Bool) {
119
- DispatchQueue.main.async { [weak self] in
120
- self?.hms?.localPeer?.localVideoTrack()?.setMute(isMute)
121
- }
81
+ func setLocalVideoMute(_ data: NSDictionary) {
82
+ let hms = HmsHelper.getHms(data, hmsCollection)
83
+
84
+ hms?.setLocalVideoMute(data)
122
85
  }
123
86
 
124
87
  @objc
125
- func switchCamera() {
126
- DispatchQueue.main.async { [weak self] in
127
- self?.hms?.localPeer?.localVideoTrack()?.switchCamera()
128
- }
88
+ func switchCamera(_ data: NSDictionary) {
89
+ let hms = HmsHelper.getHms(data, hmsCollection)
90
+
91
+ hms?.switchCamera()
129
92
  }
130
93
 
131
94
  @objc
132
- func leave() {
133
- DispatchQueue.main.async { [weak self] in
134
- self?.config = nil
135
- self?.recentRoleChangeRequest = nil
136
- self?.recentChangeTrackStateRequest = nil
137
- self?.hms?.leave();
138
- }
95
+ func leave(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
96
+ let hms = HmsHelper.getHms(data, hmsCollection)
97
+
98
+ hms?.leave(resolve, reject)
139
99
  }
140
100
 
141
101
  @objc
142
- func sendBroadcastMessage(_ data: NSDictionary) {
143
- guard let message = data.value(forKey: "message") as? String
144
- else {
145
- return
146
- }
147
- let type = data.value(forKey: "type") as? String ?? "chat"
148
- DispatchQueue.main.async { [weak self] in
149
- self?.hms?.sendBroadcastMessage(type: type, message: message)
150
- }
102
+ func sendBroadcastMessage(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
103
+ let hms = HmsHelper.getHms(data, hmsCollection)
104
+
105
+ hms?.sendBroadcastMessage(data, resolve, reject)
151
106
  }
152
107
 
153
108
  @objc
154
- func sendGroupMessage(_ data: NSDictionary) {
155
- guard let message = data.value(forKey: "message") as? String,
156
- let targetedRoles = data.value(forKey: "roles") as? [String]
157
- else {
158
- return
159
- }
160
- let type = data.value(forKey: "type") as? String ?? "chat"
161
- DispatchQueue.main.async { [weak self] in
162
- let encodedTargetedRoles = HmsHelper.getRolesFromRoleNames(targetedRoles, roles: self?.hms?.roles)
163
- self?.hms?.sendGroupMessage(type: type, message: message, roles: encodedTargetedRoles)
164
- }
109
+ func sendGroupMessage(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
110
+ let hms = HmsHelper.getHms(data, hmsCollection)
111
+
112
+ hms?.sendGroupMessage(data, resolve, reject)
165
113
  }
166
114
 
167
115
  @objc
168
- func sendDirectMessage(_ data: NSDictionary) {
169
- guard let message = data.value(forKey: "message") as? String,
170
- let peerId = data.value(forKey: "peerId") as? String
171
- else {
172
- return
173
- }
174
- let type = data.value(forKey: "type") as? String ?? "chat"
175
- DispatchQueue.main.async { [weak self] in
176
- guard let peer = HmsHelper.getPeerFromPeerId(peerId, remotePeers: self?.hms?.remotePeers) else { return }
177
- self?.hms?.sendDirectMessage(type: type, message: message, peer: peer)
178
- }
116
+ func sendDirectMessage(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
117
+ let hms = HmsHelper.getHms(data, hmsCollection)
118
+
119
+ hms?.sendDirectMessage(data, resolve, reject)
179
120
  }
180
121
 
181
122
  @objc
182
- func acceptRoleChange() {
123
+ func acceptRoleChange(_ data: NSDictionary) {
124
+ let hms = HmsHelper.getHms(data, hmsCollection)
183
125
 
184
- DispatchQueue.main.async { [weak self] in
185
-
186
- guard let request = self?.recentRoleChangeRequest else { return }
187
-
188
- self?.hms?.accept(changeRole: request)
189
-
190
- self?.recentRoleChangeRequest = nil
191
- }
126
+ hms?.acceptRoleChange()
192
127
  }
193
128
 
194
129
  @objc
195
- func changeRole(_ data: NSDictionary) {
196
-
197
- guard let peerId = data.value(forKey: "peerId") as? String,
198
- let role = data.value(forKey: "role") as? String
199
- else {
200
- return
201
- }
202
-
203
- let force = data.value(forKey: "force") as? Bool ?? false
204
-
205
- DispatchQueue.main.async { [weak self] in
206
- guard let peer = HmsHelper.getPeerFromPeerId(peerId, remotePeers: self?.hms?.remotePeers),
207
- let role = HmsHelper.getRoleFromRoleName(role, roles: self?.hms?.roles)
208
- else { return }
130
+ func changeRole(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
131
+ let hms = HmsHelper.getHms(data, hmsCollection)
209
132
 
210
- self?.hms?.changeRole(for: peer, to: role, force: force)
211
- }
133
+ hms?.changeRole(data, resolve, reject)
212
134
  }
213
135
 
214
136
  @objc
215
- func changeTrackState(_ data: NSDictionary) {
216
-
217
- guard let trackId = data.value(forKey: "trackId") as? String
218
- else {
219
- return
220
- }
221
-
222
- let mute = data.value(forKey: "mute") as? Bool ?? true
137
+ func changeTrackState(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
138
+ let hms = HmsHelper.getHms(data, hmsCollection)
223
139
 
224
- DispatchQueue.main.async { [weak self] in
225
- guard let remotePeers = self?.hms?.remotePeers,
226
- let track = HmsHelper.getTrackFromTrackId(trackId, remotePeers)
227
- else { return }
228
-
229
- self?.hms?.changeTrackState(for: track, mute: mute)
230
- }
140
+ hms?.changeTrackState(data, resolve, reject)
231
141
  }
232
142
 
233
143
  @objc
234
- func isMute(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
235
- guard let trackId = data.value(forKey: "trackId") as? String
236
- else {
237
- reject?(nil, "NOT_FOUND", nil)
238
- return
239
- }
144
+ func changeTrackStateRoles(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
145
+ let hms = HmsHelper.getHms(data, hmsCollection)
240
146
 
241
- DispatchQueue.main.async { [weak self] in
242
- guard let localPeer = self?.hms?.localPeer,
243
- let localTrack = HmsHelper.getLocalTrackFromTrackId(trackId, localPeer: localPeer)
244
- else {
245
- guard let remotePeers = self?.hms?.remotePeers,
246
- let track = HmsHelper.getTrackFromTrackId(trackId, remotePeers)
247
- else {
248
- reject?(nil, "NOT_FOUND", nil)
249
- return
250
- }
251
- let mute = track.isMute()
252
- resolve?(mute)
253
- return
254
- }
255
- let mute = localTrack.isMute()
256
- resolve?(mute)
257
- }
147
+ hms?.changeTrackStateRoles(data, resolve, reject)
258
148
  }
259
149
 
260
150
  @objc
261
- func isPlaybackAllowed(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
262
- guard let trackId = data.value(forKey: "trackId") as? String
263
- else {
264
- reject?(nil, "NOT_FOUND", nil)
151
+ func isMute(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
152
+ let hms = HmsHelper.getHms(data, hmsCollection)
153
+ if let hmsInstance = hms {
154
+ hmsInstance.isMute(data, resolve, reject)
155
+ } else {
156
+ reject?(nil, "NO_INSTANCE", nil)
265
157
  return
266
- }
267
- DispatchQueue.main.async { [weak self] in
268
- guard let remotePeers = self?.hms?.remotePeers
269
- else {
270
- reject?(nil, "NOT_FOUND", nil)
271
- return
272
- }
273
- let remoteAudioTrack = HmsHelper.getRemoteAudioTrackFromTrackId(trackId, remotePeers)
274
- let remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, remotePeers)
275
- if (remoteAudioTrack != nil) {
276
- let isPlaybackAllowed = remoteAudioTrack?.isPlaybackAllowed()
277
- resolve?(isPlaybackAllowed)
278
- return
279
- } else if (remoteVideoTrack != nil) {
280
- let isPlaybackAllowed = remoteVideoTrack?.isPlaybackAllowed()
281
- resolve?(isPlaybackAllowed)
282
- return
283
- } else {
284
- reject?(nil, "NOT_FOUND",nil)
285
- return
286
- }
287
- }
158
+ }
288
159
  }
289
160
 
290
- @objc
291
- func setPlaybackAllowed(_ data: NSDictionary) {
292
- guard let trackId = data.value(forKey: "trackId") as? String
293
- else {
294
- return
295
- }
296
- guard let playbackAllowed = data.value(forKey: "playbackAllowed") as? Bool
297
- else {
298
- return
299
- }
300
- DispatchQueue.main.async { [weak self] in
301
- guard let remotePeers = self?.hms?.remotePeers
302
- else {
303
- return
304
- }
305
- let remoteAudioTrack = HmsHelper.getRemoteAudioTrackFromTrackId(trackId, remotePeers)
306
- let remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, remotePeers)
307
- if (remoteAudioTrack != nil) {
308
- if(playbackAllowed){
309
- remoteAudioTrack?.setPlaybackAllowed(playbackAllowed)
310
- }else {
311
- remoteAudioTrack?.setPlaybackAllowed(playbackAllowed)
312
- }
313
- } else if (remoteVideoTrack != nil) {
314
- remoteVideoTrack?.setPlaybackAllowed(playbackAllowed)
315
- }
316
- }
317
- }
318
161
 
319
162
  @objc
320
- func removePeer(_ data: NSDictionary) {
321
-
322
-
323
-
324
- guard let peerId = data.value(forKey: "peerId") as? String
325
- else {
326
- return
327
- }
328
-
329
- let reason = data.value(forKey: "reason") as? String
163
+ func removePeer(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
164
+ let hms = HmsHelper.getHms(data, hmsCollection)
330
165
 
331
- DispatchQueue.main.async { [weak self] in
332
-
333
- guard let remotePeers = self?.hms?.remotePeers,
334
- let peer = HmsHelper.getPeerFromPeerId(peerId, remotePeers: remotePeers)
335
- else { return }
336
-
337
- self?.hms?.removePeer(peer, reason: reason ?? "Removed from room")
338
- }
166
+ hms?.removePeer(data, resolve, reject)
339
167
  }
340
168
 
341
169
 
342
170
  @objc
343
- func endRoom(_ data: NSDictionary) {
344
-
345
- let lock = data.value(forKey: "lock") as? Bool
346
- let reason = data.value(forKey: "reason") as? String
171
+ func endRoom(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
172
+ let hms = HmsHelper.getHms(data, hmsCollection)
347
173
 
348
- DispatchQueue.main.async { [weak self] in
349
- self?.hms?.endRoom(lock: lock ?? false, reason: reason ?? "Room was ended")
350
- }
174
+ hms?.endRoom(data, resolve, reject)
351
175
  }
352
-
353
- // MARK: - HMS SDK Delegate Callbacks
354
-
355
- func on(join room: HMSRoom) {
356
- // Callback from join action
357
- let roomData = HmsDecoder.getHmsRoom(room)
358
- let localPeerData = HmsDecoder.getHmsLocalPeer(hms?.localPeer)
359
- let remotePeerData = HmsDecoder.getHmsRemotePeers(hms?.remotePeers)
360
-
361
- let decodedRoles = HmsDecoder.getAllRoles(hms?.roles)
362
-
363
- self.sendEvent(withName: ON_JOIN, body: ["event": ON_JOIN, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData, "roles": decodedRoles])
364
- }
365
-
366
- func onPreview(room: HMSRoom, localTracks: [HMSTrack]) {
367
- let previewTracks = HmsDecoder.getPreviewTracks(localTracks)
368
- let hmsRoom = HmsDecoder.getHmsRoom(room)
369
- let localPeerData = HmsDecoder.getHmsLocalPeer(hms?.localPeer)
370
-
371
- self.sendEvent(withName: ON_PREVIEW, body: ["event": ON_PREVIEW, "room": hmsRoom, "previewTracks": previewTracks, "localPeer": localPeerData])
372
- }
373
-
374
- func on(room: HMSRoom, update: HMSRoomUpdate) {
375
- // Listener for any updation in room
376
- let roomData = HmsDecoder.getHmsRoom(room)
377
- let type = getString(from: update)
378
-
379
- let localPeerData = HmsDecoder.getHmsLocalPeer(hms?.localPeer)
380
- let remotePeerData = HmsDecoder.getHmsRemotePeers(hms?.remotePeers)
176
+
177
+ @objc
178
+ func setPlaybackAllowed(_ data: NSDictionary) {
179
+ let hms = HmsHelper.getHms(data, hmsCollection)
381
180
 
382
- self.sendEvent(withName: ON_ROOM_UPDATE, body: ["event": ON_ROOM_UPDATE, "type": type, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
181
+ hms?.setPlaybackAllowed(data)
383
182
  }
384
183
 
385
- func on(peer: HMSPeer, update: HMSPeerUpdate) {
386
- // Listener for updates in Peers
387
- let roomData = HmsDecoder.getHmsRoom(hms?.room)
388
- let type = getString(from: update)
184
+ @objc
185
+ func isPlaybackAllowed(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
186
+ let hms = HmsHelper.getHms(data, hmsCollection)
389
187
 
390
- let localPeerData = HmsDecoder.getHmsLocalPeer(hms?.localPeer)
391
- let remotePeerData = HmsDecoder.getHmsRemotePeers(hms?.remotePeers)
392
-
393
- self.sendEvent(withName: ON_PEER_UPDATE, body: ["event": ON_PEER_UPDATE, "type": type, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
188
+ hms?.isPlaybackAllowed(data, resolve, reject)
394
189
  }
395
190
 
396
- func on(track: HMSTrack, update: HMSTrackUpdate, for peer: HMSPeer) {
397
- // Listener for updates in Tracks
398
- let roomData = HmsDecoder.getHmsRoom(hms?.room)
399
- let type = getString(from: update)
400
-
401
- let localPeerData = HmsDecoder.getHmsLocalPeer(hms?.localPeer)
402
- let remotePeerData = HmsDecoder.getHmsRemotePeers(hms?.remotePeers)
191
+ @objc
192
+ func getRoom(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
193
+ let hms = HmsHelper.getHms(data, hmsCollection)
403
194
 
404
- self.sendEvent(withName: ON_TRACK_UPDATE, body: ["event": ON_TRACK_UPDATE, "room": roomData, "type": type, "localPeer": localPeerData, "remotePeers": remotePeerData])
405
- }
406
-
407
- func on(error: HMSError) {
408
- self.sendEvent(withName: ON_ERROR, body: ["event": ON_ERROR, "error": error.description, "code": error.code.rawValue, "id": error.id, "message": error.message])
409
- }
410
-
411
- func on(message: HMSMessage) {
412
- self.sendEvent(withName: ON_MESSAGE, body: ["event": ON_MESSAGE, "sender": message.sender?.name ?? "", "time": message.time, "message": message.message, "type": message.type])
413
- }
414
-
415
- func on(updated speakers: [HMSSpeaker]) {
416
- var speakerPeerIds: [[String : Any]] = []
417
- for speaker in speakers {
418
- speakerPeerIds.append(["peer": HmsDecoder.getHmsPeer(speaker.peer), "level": speaker.level, "track": HmsDecoder.getHmsTrack(speaker.track)])
419
- }
420
- self.sendEvent(withName: ON_SPEAKER, body: ["event": ON_SPEAKER, "count": speakers.count, "peers" :speakerPeerIds])
421
- }
422
-
423
- func onReconnecting() {
424
- self.sendEvent(withName: RECONNECTING, body: ["event": RECONNECTING])
195
+ hms?.getRoom(data, resolve, reject)
425
196
  }
426
197
 
427
- func onReconnected() {
428
- self.sendEvent(withName: RECONNECTED, body: ["event": RECONNECTED])
198
+ // MARK: - HMS SDK Delegate Callbacks
199
+ func emitEvent(_ name: String, _ data: [String: Any]) {
200
+ self.sendEvent(withName: name, body: data)
429
201
  }
430
202
 
431
- func on(roleChangeRequest: HMSRoleChangeRequest) {
432
- let decodedRoleChangeRequest = HmsDecoder.getHmsRoleChangeRequest(roleChangeRequest)
433
- recentRoleChangeRequest = roleChangeRequest
434
- self.sendEvent(withName: ON_ROLE_CHANGE_REQUEST, body: decodedRoleChangeRequest)
435
- }
203
+ // MARK: Helper Functions
436
204
 
437
- func on(changeTrackStateRequest: HMSChangeTrackStateRequest) {
438
- let decodedChangeTrackStateRequest = HmsDecoder.getHmsChangeTrackStateRequest(changeTrackStateRequest)
439
- recentChangeTrackStateRequest = changeTrackStateRequest
440
- self.sendEvent(withName: ON_CHANGE_TRACK_STATE_REQUEST, body: decodedChangeTrackStateRequest)
205
+ @objc
206
+ func muteAllPeersAudio(_ data: NSDictionary) {
207
+ let hms = HmsHelper.getHms(data, hmsCollection)
208
+
209
+ hms?.muteAllPeersAudio(data)
441
210
  }
442
211
 
443
- func on(removedFromRoom notification: HMSRemovedFromRoomNotification) {
444
- let requestedBy = notification.requestedBy
445
- let decodedRequestedBy = HmsDecoder.getHmsPeer(requestedBy)
446
- let reason = notification.reason
447
- let roomEnded = notification.roomEnded
448
- self.sendEvent(withName: ON_REMOVED_FROM_ROOM, body: ["event": ON_REMOVED_FROM_ROOM, "requestedBy": decodedRequestedBy, "reason": reason, "roomEnded": roomEnded ])
212
+ @objc
213
+ func changeMetadata(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
214
+ let hms = HmsHelper.getHms(data, hmsCollection)
215
+
216
+ hms?.changeMetadata(data, resolve, reject)
449
217
  }
450
-
451
-
452
- // MARK: Helper Functions
453
-
218
+
454
219
  @objc
455
- func muteAllPeersAudio(_ mute: Bool) {
456
- DispatchQueue.main.async { [weak self] in
457
- let remotePeers = self?.hms?.remotePeers
458
- for peer in remotePeers ?? [] {
459
- peer.remoteAudioTrack()?.setPlaybackAllowed(!mute)
460
- }
461
- }
462
- let roomData = HmsDecoder.getHmsRoom(hms?.room)
463
- let localPeerData = HmsDecoder.getHmsLocalPeer(hms?.localPeer)
464
- let remotePeerData = HmsDecoder.getHmsRemotePeers(hms?.remotePeers)
220
+ func setVolume(_ data: NSDictionary) {
221
+ let hms = HmsHelper.getHms(data, hmsCollection)
465
222
 
466
- self.sendEvent(withName: ON_PEER_UPDATE, body: ["event": ON_PEER_UPDATE, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
223
+ hms?.setVolume(data)
467
224
  }
468
225
 
469
- private func getString(from update: HMSPeerUpdate) -> String {
470
- switch update {
471
- case .peerJoined:
472
- return "PEER_JOINED"
473
- case .peerLeft:
474
- return "PEER_LEFT"
475
- case .roleUpdated:
476
- return "ROLE_CHANGED"
477
- default:
478
- return ""
479
- }
226
+ @objc
227
+ func startRTMPOrRecording(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
228
+ let hms = HmsHelper.getHms(data, hmsCollection)
229
+
230
+ hms?.startRTMPOrRecording(data, resolve, reject)
480
231
  }
481
232
 
482
- private func getString(from update: HMSTrackUpdate) -> String {
483
- switch update {
484
- case .trackAdded:
485
- return "TRACK_ADDED"
486
- case .trackRemoved:
487
- return "TRACK_REMOVED"
488
- case .trackMuted:
489
- return "TRACK_MUTED"
490
- case .trackUnmuted:
491
- return "TRACK_UNMUTED"
492
- case .trackDescriptionChanged:
493
- return "TRACK_DESCRIPTION_CHANGED"
494
- case .trackDegraded:
495
- return "TRACK_DEGRADED"
496
- case .trackRestored:
497
- return "TRACK_RESTORED"
498
- default:
499
- return ""
500
- }
233
+ @objc
234
+ func stopRtmpAndRecording(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
235
+ let hms = HmsHelper.getHms(data, hmsCollection)
236
+
237
+ hms?.stopRtmpAndRecording(resolve, reject)
501
238
  }
502
239
 
503
- func getString(from update: HMSRoomUpdate) -> String {
504
- switch update {
505
- case .roomTypeChanged:
506
- return "ROOM_TYPE_CHANGED"
507
- case .metaDataUpdated:
508
- return "META_DATA_CHANGED"
509
- case .browserRecordingStateUpdated:
510
- return "BROWSER_RECORDING_STATE_UPDATED"
511
- case .rtmpStreamingStateUpdated:
512
- return "RTMP_STREAMING_STATE_UPDATED"
513
- case.serverRecordingStateUpdated:
514
- return "SERVER_RECORDING_STATE_UPDATED"
515
- default:
516
- return ""
517
- }
518
- }
240
+ // @objc
241
+ // func setLocalVideoSettings(_ data: NSDictionary) {
242
+ // let hms = HmsHelper.getHms(data, hmsCollection)
243
+ //
244
+ // hms?.setLocalVideoSettings(data)
245
+ // }
519
246
  }