@100mslive/react-native-hms 0.8.0 → 0.8.4

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 (202) hide show
  1. package/README.md +37 -39
  2. package/android/.gradle/6.9/executionHistory/executionHistory.lock +0 -0
  3. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  4. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  5. package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
  6. package/android/.gradle/checksums/checksums.lock +0 -0
  7. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  8. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  9. package/android/build.gradle +1 -2
  10. package/android/src/main/java/com/reactnativehmssdk/HmsDecoder.kt +249 -230
  11. package/android/src/main/java/com/reactnativehmssdk/HmsHelper.kt +145 -13
  12. package/android/src/main/java/com/reactnativehmssdk/HmsModule.kt +56 -21
  13. package/android/src/main/java/com/reactnativehmssdk/HmsSDK.kt +463 -247
  14. package/android/src/main/java/com/reactnativehmssdk/HmsView.kt +15 -18
  15. package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +1 -2
  16. package/android/src/main/java/com/reactnativehmssdk/HmssdkViewManager.kt +4 -10
  17. package/ios/HmsDecoder.swift +135 -35
  18. package/ios/HmsHelper.swift +103 -1
  19. package/ios/HmsManager.m +13 -9
  20. package/ios/HmsManager.swift +59 -24
  21. package/ios/HmsSDK.swift +322 -85
  22. package/ios/HmsView.swift +1 -1
  23. package/lib/commonjs/classes/HMSAudioTrackSettings.js +3 -0
  24. package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
  25. package/lib/commonjs/classes/HMSBrowserRecordingState.js +23 -0
  26. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -0
  27. package/lib/commonjs/classes/HMSCameraFacing.js +14 -0
  28. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -0
  29. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js +3 -0
  30. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
  31. package/lib/commonjs/classes/HMSConfig.js +3 -1
  32. package/lib/commonjs/classes/HMSConfig.js.map +1 -1
  33. package/lib/commonjs/classes/HMSEncoder.js +27 -7
  34. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  35. package/lib/commonjs/classes/HMSException.js +30 -0
  36. package/lib/commonjs/classes/HMSException.js.map +1 -0
  37. package/lib/commonjs/classes/HMSHelper.js +2 -2
  38. package/lib/commonjs/classes/HMSHelper.js.map +1 -1
  39. package/lib/commonjs/classes/HMSLocalAudioTrack.js +32 -0
  40. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  41. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  42. package/lib/commonjs/classes/HMSLocalVideoTrack.js +18 -0
  43. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  44. package/lib/commonjs/classes/HMSLogger.js +28 -1
  45. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  46. package/lib/commonjs/classes/HMSPeer.js +3 -0
  47. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  48. package/lib/commonjs/classes/HMSPeerUpdate.js +1 -0
  49. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  50. package/lib/commonjs/classes/HMSPermissions.js +6 -0
  51. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  52. package/lib/commonjs/classes/HMSRTMPConfig.js +26 -0
  53. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -0
  54. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +19 -0
  55. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  56. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  57. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +19 -0
  58. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  59. package/lib/commonjs/classes/HMSRoom.js +9 -0
  60. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  61. package/lib/commonjs/classes/HMSRtmpStreamingState.js +23 -0
  62. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -0
  63. package/lib/commonjs/classes/HMSSDK.js +229 -125
  64. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  65. package/lib/commonjs/classes/HMSServerRecordingState.js +23 -0
  66. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -0
  67. package/lib/commonjs/classes/HMSTrack.js +2 -19
  68. package/lib/commonjs/classes/HMSTrack.js.map +1 -1
  69. package/lib/commonjs/classes/HMSTrackSettings.js +3 -0
  70. package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
  71. package/lib/commonjs/classes/HMSVideoCodec.js +4 -4
  72. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  73. package/lib/commonjs/classes/HMSVideoResolution.js +23 -0
  74. package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -0
  75. package/lib/commonjs/classes/HMSVideoSettings.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/index.js +98 -0
  79. package/lib/commonjs/index.js.map +1 -1
  80. package/lib/module/classes/HMSAudioTrackSettings.js +3 -0
  81. package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
  82. package/lib/module/classes/HMSBrowserRecordingState.js +14 -0
  83. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -0
  84. package/lib/module/classes/HMSCameraFacing.js +7 -0
  85. package/lib/module/classes/HMSCameraFacing.js.map +1 -0
  86. package/lib/module/classes/HMSChangeTrackStateRequest.js +3 -0
  87. package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
  88. package/lib/module/classes/HMSConfig.js +3 -1
  89. package/lib/module/classes/HMSConfig.js.map +1 -1
  90. package/lib/module/classes/HMSEncoder.js +26 -7
  91. package/lib/module/classes/HMSEncoder.js.map +1 -1
  92. package/lib/module/classes/HMSException.js +21 -0
  93. package/lib/module/classes/HMSException.js.map +1 -0
  94. package/lib/module/classes/HMSHelper.js +2 -2
  95. package/lib/module/classes/HMSHelper.js.map +1 -1
  96. package/lib/module/classes/HMSLocalAudioTrack.js +30 -1
  97. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  98. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  99. package/lib/module/classes/HMSLocalVideoTrack.js +15 -0
  100. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  101. package/lib/module/classes/HMSLogger.js +28 -1
  102. package/lib/module/classes/HMSLogger.js.map +1 -1
  103. package/lib/module/classes/HMSPeer.js +3 -0
  104. package/lib/module/classes/HMSPeer.js.map +1 -1
  105. package/lib/module/classes/HMSPeerUpdate.js +1 -0
  106. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  107. package/lib/module/classes/HMSPermissions.js +6 -0
  108. package/lib/module/classes/HMSPermissions.js.map +1 -1
  109. package/lib/module/classes/HMSRTMPConfig.js +17 -0
  110. package/lib/module/classes/HMSRTMPConfig.js.map +1 -0
  111. package/lib/module/classes/HMSRemoteAudioTrack.js +16 -0
  112. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  113. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  114. package/lib/module/classes/HMSRemoteVideoTrack.js +16 -0
  115. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  116. package/lib/module/classes/HMSRoom.js +9 -0
  117. package/lib/module/classes/HMSRoom.js.map +1 -1
  118. package/lib/module/classes/HMSRtmpStreamingState.js +14 -0
  119. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -0
  120. package/lib/module/classes/HMSSDK.js +227 -125
  121. package/lib/module/classes/HMSSDK.js.map +1 -1
  122. package/lib/module/classes/HMSServerRecordingState.js +14 -0
  123. package/lib/module/classes/HMSServerRecordingState.js.map +1 -0
  124. package/lib/module/classes/HMSTrack.js +2 -17
  125. package/lib/module/classes/HMSTrack.js.map +1 -1
  126. package/lib/module/classes/HMSTrackSettings.js +3 -0
  127. package/lib/module/classes/HMSTrackSettings.js.map +1 -1
  128. package/lib/module/classes/HMSVideoCodec.js +4 -4
  129. package/lib/module/classes/HMSVideoCodec.js.map +1 -1
  130. package/lib/module/classes/HMSVideoResolution.js +14 -0
  131. package/lib/module/classes/HMSVideoResolution.js.map +1 -0
  132. package/lib/module/classes/HMSVideoSettings.js.map +1 -1
  133. package/lib/module/classes/HMSVideoTrackSettings.js +0 -3
  134. package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
  135. package/lib/module/index.js +7 -0
  136. package/lib/module/index.js.map +1 -1
  137. package/lib/typescript/classes/HMSAudioTrackSettings.d.ts +3 -0
  138. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +9 -0
  139. package/lib/typescript/classes/HMSCameraFacing.d.ts +4 -0
  140. package/lib/typescript/classes/HMSChangeTrackStateRequest.d.ts +2 -0
  141. package/lib/typescript/classes/HMSConfig.d.ts +2 -0
  142. package/lib/typescript/classes/HMSEncoder.d.ts +3 -1
  143. package/lib/typescript/classes/HMSException.d.ts +22 -0
  144. package/lib/typescript/classes/HMSLocalAudioTrack.d.ts +1 -0
  145. package/lib/typescript/classes/HMSLocalPeer.d.ts +4 -0
  146. package/lib/typescript/classes/HMSLogger.d.ts +7 -0
  147. package/lib/typescript/classes/HMSPeer.d.ts +2 -0
  148. package/lib/typescript/classes/HMSPeerUpdate.d.ts +1 -0
  149. package/lib/typescript/classes/HMSPermissions.d.ts +4 -0
  150. package/lib/typescript/classes/HMSRTMPConfig.d.ts +10 -0
  151. package/lib/typescript/classes/HMSRemotePeer.d.ts +1 -0
  152. package/lib/typescript/classes/HMSRoom.d.ts +9 -0
  153. package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +9 -0
  154. package/lib/typescript/classes/HMSSDK.d.ts +22 -13
  155. package/lib/typescript/classes/HMSServerRecordingState.d.ts +9 -0
  156. package/lib/typescript/classes/HMSTrack.d.ts +1 -1
  157. package/lib/typescript/classes/HMSTrackSettings.d.ts +2 -0
  158. package/lib/typescript/classes/HMSVideoCodec.d.ts +4 -4
  159. package/lib/typescript/classes/HMSVideoResolution.d.ts +8 -0
  160. package/lib/typescript/classes/HMSVideoSettings.d.ts +3 -3
  161. package/lib/typescript/classes/HMSVideoTrackSettings.d.ts +13 -10
  162. package/lib/typescript/index.d.ts +7 -0
  163. package/package.json +2 -1
  164. package/src/classes/HMSAudioTrackSettings.ts +9 -1
  165. package/src/classes/HMSBrowserRecordingState.ts +11 -0
  166. package/src/classes/HMSCameraFacing.ts +4 -0
  167. package/src/classes/HMSChangeTrackStateRequest.ts +7 -1
  168. package/src/classes/HMSConfig.ts +3 -1
  169. package/src/classes/HMSEncoder.ts +22 -2
  170. package/src/classes/HMSException.ts +33 -0
  171. package/src/classes/HMSHelper.ts +2 -2
  172. package/src/classes/HMSLocalAudioTrack.ts +29 -1
  173. package/src/classes/HMSLocalPeer.ts +4 -0
  174. package/src/classes/HMSLocalVideoTrack.ts +15 -0
  175. package/src/classes/HMSLogger.ts +14 -1
  176. package/src/classes/HMSPeer.ts +3 -0
  177. package/src/classes/HMSPeerUpdate.ts +1 -0
  178. package/src/classes/HMSPermissions.ts +6 -0
  179. package/src/classes/HMSRTMPConfig.ts +15 -0
  180. package/src/classes/HMSRemoteAudioTrack.ts +16 -0
  181. package/src/classes/HMSRemotePeer.ts +1 -0
  182. package/src/classes/HMSRemoteVideoTrack.ts +16 -0
  183. package/src/classes/HMSRoom.ts +12 -0
  184. package/src/classes/HMSRtmpStreamingState.ts +11 -0
  185. package/src/classes/HMSSDK.tsx +170 -71
  186. package/src/classes/HMSServerRecordingState.ts +11 -0
  187. package/src/classes/HMSTrack.ts +2 -15
  188. package/src/classes/HMSTrackSettings.ts +3 -0
  189. package/src/classes/HMSVideoCodec.ts +4 -4
  190. package/src/classes/HMSVideoResolution.ts +9 -0
  191. package/src/classes/HMSVideoSettings.ts +3 -3
  192. package/src/classes/HMSVideoTrackSettings.ts +13 -10
  193. package/src/index.ts +7 -0
  194. package/android/.gradle/6.9/executionHistory/executionHistory.bin +0 -0
  195. package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
  196. package/android/.gradle/6.9/fileHashes/resourceHashesCache.bin +0 -0
  197. package/android/.gradle/6.9/javaCompile/classAnalysis.bin +0 -0
  198. package/android/.gradle/6.9/javaCompile/jarAnalysis.bin +0 -0
  199. package/android/.gradle/6.9/javaCompile/javaCompile.lock +0 -0
  200. package/android/.gradle/6.9/javaCompile/taskHistory.bin +0 -0
  201. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  202. package/android/.project +0 -34
@@ -1,21 +1,21 @@
1
1
  package com.reactnativehmssdk
2
2
 
3
+ import android.annotation.SuppressLint
3
4
  import android.widget.FrameLayout
4
5
  import com.facebook.react.bridge.ReactContext
5
- import live.hms.video.media.tracks.HMSTrackSource
6
6
  import live.hms.video.media.tracks.HMSTrackType
7
7
  import live.hms.video.media.tracks.HMSVideoTrack
8
8
  import live.hms.video.utils.SharedEglContext
9
9
  import org.webrtc.RendererCommon
10
10
  import org.webrtc.SurfaceViewRenderer
11
11
 
12
+ @SuppressLint("ViewConstructor")
12
13
  class HmsView(context: ReactContext) : FrameLayout(context) {
13
- private var surfaceView: SurfaceViewRenderer
14
+ private var surfaceView: SurfaceViewRenderer = SurfaceViewRenderer(context)
14
15
  private var videoTrack: HMSVideoTrack? = null
15
16
  private var localTrack: String? = null
16
17
 
17
18
  init {
18
- surfaceView = SurfaceViewRenderer(context)
19
19
  surfaceView.setEnableHardwareScaler(true)
20
20
  surfaceView.setScalingType(RendererCommon.ScalingType.SCALE_ASPECT_FIT)
21
21
  addView(surfaceView)
@@ -58,11 +58,10 @@ class HmsView(context: ReactContext) : FrameLayout(context) {
58
58
  fun setData(
59
59
  id: String?,
60
60
  trackId: String?,
61
- sink: Boolean?,
62
61
  hmsCollection: MutableMap<String, HmsSDK>,
63
62
  mirror: Boolean?
64
63
  ) {
65
- var sdkId: String = "12345"
64
+ var sdkId = "12345"
66
65
 
67
66
  if (id != null) {
68
67
  sdkId = id
@@ -81,23 +80,21 @@ class HmsView(context: ReactContext) : FrameLayout(context) {
81
80
  }
82
81
 
83
82
  val remotePeers = hms.getRemotePeers()
84
- if (remotePeers !== null) {
85
- for (peer in remotePeers) {
86
- val videoTrackId = peer.videoTrack?.trackId
83
+ for (peer in remotePeers) {
84
+ val videoTrackId = peer.videoTrack?.trackId
87
85
 
88
- val auxiliaryTracks = peer.auxiliaryTracks
89
- for (track in auxiliaryTracks) {
90
- val auxTrackId = track.trackId
91
- if (trackId == auxTrackId && track.source == HMSTrackSource.SCREEN && track.type == HMSTrackType.VIDEO && !track.isMute) {
92
- videoTrack = track as HMSVideoTrack
93
- return
94
- }
95
- }
96
- if (videoTrackId == localTrack) {
97
- videoTrack = peer.videoTrack
86
+ val auxiliaryTracks = peer.auxiliaryTracks
87
+ for (track in auxiliaryTracks) {
88
+ val auxTrackId = track.trackId
89
+ if (trackId == auxTrackId && track.type == HMSTrackType.VIDEO && !track.isMute) {
90
+ videoTrack = track as HMSVideoTrack
98
91
  return
99
92
  }
100
93
  }
94
+ if (videoTrackId == localTrack) {
95
+ videoTrack = peer.videoTrack
96
+ return
97
+ }
101
98
  }
102
99
  }
103
100
  }
@@ -4,7 +4,6 @@ import com.facebook.react.ReactPackage
4
4
  import com.facebook.react.bridge.NativeModule
5
5
  import com.facebook.react.bridge.ReactApplicationContext
6
6
  import com.facebook.react.uimanager.ViewManager
7
- import java.util.*
8
7
 
9
8
  class HmssdkPackage : ReactPackage {
10
9
  override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
@@ -12,6 +11,6 @@ class HmssdkPackage : ReactPackage {
12
11
  }
13
12
 
14
13
  override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
15
- return Arrays.asList<ViewManager<*, *>>(HmssdkViewManager())
14
+ return listOf<ViewManager<*, *>>(HmssdkViewManager())
16
15
  }
17
16
  }
@@ -13,26 +13,21 @@ class HmssdkViewManager : SimpleViewManager<HmsView>() {
13
13
  return REACT_CLASS
14
14
  }
15
15
 
16
- override fun onDropViewInstance(view: HmsView) {
17
- super.onDropViewInstance(view)
18
- }
19
-
20
16
  public override fun createViewInstance(reactContext: ThemedReactContext): HmsView {
21
17
  this.reactContext = reactContext
22
- val view = HmsView(reactContext)
23
- return view
18
+ return HmsView(reactContext)
24
19
  }
25
20
 
26
21
  @ReactProp(name = "data")
27
22
  fun setData(view: HmsView, data: ReadableMap) {
28
23
  val trackId = data.getString("trackId")
29
- val sink = data.getBoolean("sink")
24
+ // val sink = data.getBoolean("sink")
30
25
  val id = data.getString("id")
31
26
  val mirror = data.getBoolean("mirror")
32
27
 
33
28
  val hmsCollection = getHms()
34
29
  if (hmsCollection != null) {
35
- view.setData(id, trackId, sink, hmsCollection, mirror)
30
+ view.setData(id, trackId, hmsCollection, mirror)
36
31
  }
37
32
  // do the processing here
38
33
  }
@@ -43,8 +38,7 @@ class HmssdkViewManager : SimpleViewManager<HmsView>() {
43
38
  }
44
39
 
45
40
  private fun getHms(): MutableMap<String, HmsSDK>? {
46
- val hmsCollection = reactContext?.getNativeModule(HmsModule::class.java)?.getHmsInstance()
47
- return hmsCollection
41
+ return reactContext?.getNativeModule(HmsModule::class.java)?.getHmsInstance()
48
42
  }
49
43
 
50
44
  companion object {
@@ -9,13 +9,16 @@ class HmsDecoder: NSObject {
9
9
  let id = room.roomID ?? ""
10
10
  let name = room.name ?? ""
11
11
  let metaData = room.metaData ?? ""
12
+ let browserRecordingState = HmsDecoder.getHMSBrowserRecordingState(hmsRoom?.browserRecordingState)
13
+ let rtmpStreamingState = HmsDecoder.getHMSRtmpStreamingState(hmsRoom?.rtmpStreamingState)
14
+ let serverRecordingState = HmsDecoder.getHMSServerRecordingState(hmsRoom?.serverRecordingState)
12
15
  var peers = [[String: Any]]()
13
16
 
14
17
  for peer in room.peers {
15
18
  peers.append(getHmsPeer(peer))
16
19
  }
17
20
 
18
- return ["id": id, "name": name, "metaData": metaData, "peers": peers]
21
+ return ["id": id, "name": name, "metaData": metaData, "peers": peers, "browserRecordingState": browserRecordingState, "rtmpHMSRtmpStreamingState": rtmpStreamingState, "serverRecordingState": serverRecordingState]
19
22
  }
20
23
 
21
24
  static func getHmsPeer (_ peer: HMSPeer) -> [String: Any] {
@@ -25,27 +28,34 @@ class HmsDecoder: NSObject {
25
28
  let isLocal = peer.isLocal
26
29
  let customerUserID = peer.customerUserID ?? ""
27
30
  let customerDescription = peer.metadata ?? ""
31
+ let metadata = peer.metadata ?? ""
28
32
  let audioTrack = getHmsAudioTrack(peer.audioTrack)
29
33
  let videoTrack = getHmsVideoTrack(peer.videoTrack)
30
34
  let role = getHmsRole(peer.role)
31
35
 
32
- var auxiliaryTracks = [[String: Any]]()
33
-
34
- for track in peer.auxiliaryTracks ?? [] {
35
- auxiliaryTracks.append(getHmsTrack(track))
36
- }
36
+ let auxiliaryTracks = getAllTracks(peer.auxiliaryTracks ?? [] )
37
37
 
38
38
  return ["peerID": peerID,
39
39
  "name": name,
40
40
  "isLocal": isLocal,
41
41
  "customerUserID": customerUserID,
42
42
  "customerDescription": customerDescription,
43
+ "metadata": metadata,
43
44
  "audioTrack": audioTrack,
44
45
  "videoTrack": videoTrack,
45
46
  "auxiliaryTracks": auxiliaryTracks,
46
47
  "role": role]
47
48
  }
48
49
 
50
+ static func getAllTracks (_ tracks: [HMSTrack]) -> [[String: Any]] {
51
+ var auxiliaryTracks = [[String: Any]]()
52
+
53
+ for track in tracks {
54
+ auxiliaryTracks.append(getHmsTrack(track))
55
+ }
56
+ return auxiliaryTracks
57
+ }
58
+
49
59
  static func getHmsTrack (_ track: HMSTrack?) -> [String: Any] {
50
60
 
51
61
  guard let hmsTrack = track else { return [:] }
@@ -54,9 +64,9 @@ class HmsDecoder: NSObject {
54
64
  let source = hmsTrack.source
55
65
  let trackDescription = hmsTrack.trackDescription
56
66
  let isMute = hmsTrack.isMute()
57
- let type = HmsHelper.getHmsTrackType(hmsTrack.kind)
67
+ let type = HmsHelper.getHmsTrackType(hmsTrack.kind) ?? ""
58
68
 
59
- return ["trackId": trackId, "source": source, "trackDescription": trackDescription, "isMute": isMute, "type": type]
69
+ return ["trackId": trackId, "source": source, "trackDescription": trackDescription, "isMute": isMute, "type": type, "kind": type]
60
70
  }
61
71
 
62
72
  static func getHmsAudioTrack (_ hmsAudioTrack: HMSAudioTrack?) -> [String: Any] {
@@ -67,8 +77,9 @@ class HmsDecoder: NSObject {
67
77
  let source: String = hmsTrack.source
68
78
  let trackDescription: String = hmsTrack.trackDescription
69
79
  let isMute: Bool = hmsTrack.isMute()
80
+ let kind: String = HmsHelper.getHmsTrackType(hmsTrack.kind) ?? ""
70
81
 
71
- return ["trackId": trackId, "source": source, "trackDescription": trackDescription, "isMute": isMute]
82
+ return ["trackId": trackId, "source": source, "trackDescription": trackDescription, "isMute": isMute, "type": kind, "kind": kind]
72
83
  }
73
84
 
74
85
  static func getHmsVideoTrack (_ hmsVideoTrack: HMSVideoTrack?) -> [String: Any] {
@@ -80,8 +91,9 @@ class HmsDecoder: NSObject {
80
91
  let trackDescription = hmsTrack.trackDescription
81
92
  let isMute = hmsTrack.isMute()
82
93
  let isDegraded = hmsTrack.isDegraded()
94
+ let kind: String = HmsHelper.getHmsTrackType(hmsTrack.kind) ?? ""
83
95
 
84
- return ["trackId": trackId, "source": source, "trackDescription": trackDescription, "isMute": isMute, "isDegraded": isDegraded]
96
+ return ["trackId": trackId, "source": source, "trackDescription": trackDescription, "isMute": isMute, "isDegraded": isDegraded, "type": kind, "kind": kind]
85
97
  }
86
98
 
87
99
  static func getHmsLocalPeer(_ hmsLocalPeer: HMSLocalPeer?) -> [String: Any] {
@@ -93,6 +105,7 @@ class HmsDecoder: NSObject {
93
105
  let isLocal = peer.isLocal
94
106
  let customerUserID = peer.customerUserID ?? ""
95
107
  let customerDescription = peer.metadata ?? ""
108
+ let metadata = peer.metadata ?? ""
96
109
  let audioTrack = getHmsAudioTrack(peer.audioTrack)
97
110
  let videoTrack = getHmsVideoTrack(peer.videoTrack)
98
111
  let role = getHmsRole(peer.role)
@@ -107,15 +120,17 @@ class HmsDecoder: NSObject {
107
120
 
108
121
  var localAudioTrackData = [String: Any]()
109
122
  if let localAudio = localAudioTrack {
110
- localAudioTrackData = ["trackId": localAudio.trackId, "source": localAudio.source, "trackDescription": localAudio.trackDescription, "settings": getHmsAudioTrackSettings(localAudio.settings), "isMute": localAudioTrack?.isMute() ?? false]
123
+ let type = HmsHelper.getHmsTrackType(localAudio.kind) ?? ""
124
+ localAudioTrackData = ["trackId": localAudio.trackId, "source": localAudio.source, "trackDescription": localAudio.trackDescription, "settings": getHmsAudioTrackSettings(localAudio.settings), "isMute": localAudioTrack?.isMute() ?? false, "type": type, "kind": type]
111
125
  }
112
126
 
113
127
  var localVideoTrackData = [String: Any]()
114
128
  if let localVideo = localVideoTrack {
115
- localVideoTrackData = ["trackId": localVideo.trackId, "source": localVideo.source, "trackDescription": localVideo.trackDescription, "settings": getHmsVideoTrackSettings(localVideo.settings), "isMute":localAudioTrack?.isMute() ?? false]
129
+ let type = HmsHelper.getHmsTrackType(localVideo.kind) ?? ""
130
+ localVideoTrackData = ["trackId": localVideo.trackId, "source": localVideo.source, "trackDescription": localVideo.trackDescription, "settings": getHmsVideoTrackSettings(localVideo.settings), "isMute":localAudioTrack?.isMute() ?? false, "type": type, "kind": type]
116
131
  }
117
132
 
118
- return ["peerID": peerID, "name": name, "isLocal": isLocal, "customerUserID": customerUserID, "customerDescription": customerDescription, "audioTrack": audioTrack, "videoTrack": videoTrack, "auxiliaryTracks": auxiliaryTracks, "localAudioTrackData": localAudioTrackData, "localVideoTrackData": localVideoTrackData, "role": role]
133
+ return ["peerID": peerID, "name": name, "isLocal": isLocal, "customerUserID": customerUserID, "customerDescription": customerDescription, "metadata": metadata, "audioTrack": audioTrack, "videoTrack": videoTrack, "auxiliaryTracks": auxiliaryTracks, "localAudioTrackData": localAudioTrackData, "localVideoTrackData": localVideoTrackData, "role": role]
119
134
  }
120
135
 
121
136
  static func getHmsAudioTrackSettings(_ hmsAudioTrackSettings: HMSAudioTrackSettings?) -> [String: Any] {
@@ -132,11 +147,11 @@ class HmsDecoder: NSObject {
132
147
 
133
148
  guard let settings = hmsVideoTrackSettings else { return [:] }
134
149
 
135
- let codec = settings.codec.rawValue
136
- let resolution = settings.resolution
150
+ let codec = getHmsVideoTrackCodec(settings.codec)
151
+ let resolution = getHmsVideoResolution(settings.resolution)
137
152
  let maxBitrate = settings.maxBitrate
138
153
  let maxFrameRate = settings.maxFrameRate
139
- let cameraFacing = settings.cameraFacing.rawValue
154
+ let cameraFacing = getHmsVideoTrackCameraFacing(settings.cameraFacing)
140
155
  let trackDescription = settings.trackDescription ?? ""
141
156
 
142
157
  var simulcastSettingsData = [[String: Any]]()
@@ -153,6 +168,34 @@ class HmsDecoder: NSObject {
153
168
  return ["codec": codec, "resolution": resolution, "maxBitrate": maxBitrate, "maxFrameRate": maxFrameRate, "cameraFacing": cameraFacing, "trackDescription": trackDescription, "simulcastSettings": simulcastSettingsData]
154
169
  }
155
170
 
171
+ static func getHmsVideoTrackCodec(_ codec : HMSCodec) -> String {
172
+ switch(codec) {
173
+ case HMSCodec.VP8:
174
+ return "VP8"
175
+ case HMSCodec.H264:
176
+ return "H264"
177
+ default:
178
+ return "H264"
179
+ }
180
+ }
181
+
182
+ static func getHmsVideoTrackCameraFacing(_ cameraFacing : HMSCameraFacing) -> String {
183
+ switch(cameraFacing) {
184
+ case HMSCameraFacing.front:
185
+ return "FRONT"
186
+ case HMSCameraFacing.back:
187
+ return "BACK"
188
+ default:
189
+ return "FRONT"
190
+ }
191
+ }
192
+
193
+ static func getHmsVideoResolution(_ hmsVideoResolution: HMSVideoResolution?) -> [String: Any] {
194
+ guard let resolution = hmsVideoResolution else { return [:] }
195
+
196
+ return ["width": resolution.width, "height": resolution.height]
197
+ }
198
+
156
199
  static func getHmsRemotePeers (_ remotePeers: [HMSRemotePeer]?) -> [[String: Any]] {
157
200
  guard let remotePeers = remotePeers else { return [[:]] }
158
201
 
@@ -172,6 +215,7 @@ class HmsDecoder: NSObject {
172
215
  let isLocal = hmsRemotePeer.isLocal
173
216
  let customerUserID = hmsRemotePeer.customerUserID ?? ""
174
217
  let customerDescription = hmsRemotePeer.metadata ?? ""
218
+ let metadata = hmsRemotePeer.metadata ?? ""
175
219
  let audioTrack = getHmsAudioTrack(hmsRemotePeer.audioTrack)
176
220
  let videoTrack = getHmsVideoTrack(hmsRemotePeer.videoTrack)
177
221
  let role = getHmsRole(hmsRemotePeer.role)
@@ -187,15 +231,17 @@ class HmsDecoder: NSObject {
187
231
 
188
232
  var remoteAudioTrackData = [String: Any]()
189
233
  if let remoteAudio = remoteAudioTrack {
190
- remoteAudioTrackData = ["trackId": remoteAudio.trackId, "source": remoteAudio.source, "trackDescription": remoteAudio.trackDescription, "playbackAllowed": remoteAudio.isPlaybackAllowed(), "isMute": remoteAudio.isMute()]
234
+ let type = HmsHelper.getHmsTrackType(remoteAudio.kind) ?? ""
235
+ remoteAudioTrackData = ["trackId": remoteAudio.trackId, "source": remoteAudio.source, "trackDescription": remoteAudio.trackDescription, "playbackAllowed": remoteAudio.isPlaybackAllowed(), "isMute": remoteAudio.isMute(), "type": type, "kind": type]
191
236
  }
192
237
 
193
238
  var remoteVideoTrackData = [String: Any]()
194
239
  if let remoteVideo = remoteVideoTrack {
195
- remoteVideoTrackData = ["trackId": remoteVideo.trackId, "source": remoteVideo.source, "trackDescription": remoteVideo.trackDescription, "layer": remoteVideo.layer.rawValue, "playbackAllowed": remoteVideo.isPlaybackAllowed(), "isMute": remoteVideo.isMute()]
240
+ let type = HmsHelper.getHmsTrackType(remoteVideo.kind) ?? ""
241
+ remoteVideoTrackData = ["trackId": remoteVideo.trackId, "source": remoteVideo.source, "trackDescription": remoteVideo.trackDescription, "layer": remoteVideo.layer.rawValue, "playbackAllowed": remoteVideo.isPlaybackAllowed(), "isMute": remoteVideo.isMute(), "isDegraded": remoteVideo.isDegraded(), "type": type, "kind": type]
196
242
  }
197
243
 
198
- return ["peerID": peerID, "name": name, "isLocal": isLocal, "customerUserID": customerUserID, "customerDescription": customerDescription, "audioTrack": audioTrack, "videoTrack": videoTrack, "auxiliaryTracks": auxiliaryTracks, "remoteAudioTrackData": remoteAudioTrackData, "remoteVideoTrackData": remoteVideoTrackData, "role": role]
244
+ return ["peerID": peerID, "name": name, "isLocal": isLocal, "customerUserID": customerUserID, "customerDescription": customerDescription, "metadata": metadata, "audioTrack": audioTrack, "videoTrack": videoTrack, "auxiliaryTracks": auxiliaryTracks, "remoteAudioTrackData": remoteAudioTrackData, "remoteVideoTrackData": remoteVideoTrackData, "role": role]
199
245
  }
200
246
 
201
247
  static func getPreviewTracks(_ tracks: [HMSTrack]) -> [String: Any] {
@@ -204,12 +250,14 @@ class HmsDecoder: NSObject {
204
250
 
205
251
  for track in tracks {
206
252
  if let localVideo = track as? HMSLocalVideoTrack {
207
- let localVideoTrackData: [String : Any] = ["trackId": localVideo.trackId, "source": localVideo.source, "trackDescription": localVideo.trackDescription, "settings": getHmsVideoTrackSettings(localVideo.settings), "isMute": localVideo.isMute()]
253
+ let type = HmsHelper.getHmsTrackType(localVideo.kind) ?? ""
254
+ let localVideoTrackData: [String : Any] = ["trackId": localVideo.trackId, "source": localVideo.source, "trackDescription": localVideo.trackDescription, "settings": getHmsVideoTrackSettings(localVideo.settings), "isMute": localVideo.isMute(), "kind": type, "type": type]
208
255
  hmsTracks["videoTrack"] = localVideoTrackData
209
256
  }
210
257
 
211
258
  if let localAudio = track as? HMSLocalAudioTrack {
212
- let localAudioTrackData: [String : Any] = ["trackId": localAudio.trackId, "source": localAudio.source, "trackDescription": localAudio.trackDescription, "settings": getHmsAudioTrackSettings(localAudio.settings), "isMute": localAudio.isMute()]
259
+ let type = HmsHelper.getHmsTrackType(localAudio.kind) ?? ""
260
+ let localAudioTrackData: [String : Any] = ["trackId": localAudio.trackId, "source": localAudio.source, "trackDescription": localAudio.trackDescription, "settings": getHmsAudioTrackSettings(localAudio.settings), "isMute": localAudio.isMute(), "kind": type, "type": type]
213
261
  hmsTracks["audioTrack"] = localAudioTrackData
214
262
  }
215
263
  }
@@ -267,7 +315,12 @@ class HmsDecoder: NSObject {
267
315
  let screen = getHmsVideoSettings(publishSettings.screen)
268
316
  let videoSimulcastLayers = getHmsSimulcastLayers(publishSettings.videoSimulcastLayers)
269
317
  let screenSimulcastLayers = getHmsSimulcastLayers(publishSettings.screenSimulcastLayers)
270
- let allowed = publishSettings.allowed ?? []
318
+ var allowed = publishSettings.allowed ?? []
319
+ if((publishSettings.allowed) != nil) {
320
+ allowed = getWriteableArray(publishSettings.allowed)
321
+ }else {
322
+ allowed = []
323
+ }
271
324
 
272
325
  return ["audio": audio,
273
326
  "video": video,
@@ -276,6 +329,16 @@ class HmsDecoder: NSObject {
276
329
  "screenSimulcastLayers": screenSimulcastLayers,
277
330
  "allowed": allowed]
278
331
  }
332
+
333
+ static func getWriteableArray(_ array: [String]?) -> [String] {
334
+ var decodedArray = [String]()
335
+ if let extractedArray = array {
336
+ for value in extractedArray {
337
+ decodedArray.append(value)
338
+ }
339
+ }
340
+ return decodedArray
341
+ }
279
342
 
280
343
  static func getHmsAudioSettings(_ audioSettings: HMSAudioSettings) -> [String: Any] {
281
344
  let bitRate = audioSettings.bitRate
@@ -347,14 +410,14 @@ class HmsDecoder: NSObject {
347
410
  return [:]
348
411
  }
349
412
 
350
- static func getHmsChangeTrackStateRequest(_ changeTrackStateRequest: HMSChangeTrackStateRequest) -> [String: Any] {
413
+ static func getHmsChangeTrackStateRequest(_ changeTrackStateRequest: HMSChangeTrackStateRequest, _ id: String) -> [String: Any] {
351
414
  var requestedBy: [String: Any]?
352
415
  if let peer = changeTrackStateRequest.requestedBy {
353
416
  requestedBy = getHmsPeer(peer)
354
417
  }
355
418
  let trackType = changeTrackStateRequest.track.kind == .video ? "video" : "audio"
356
419
 
357
- var request = ["trackType": trackType] as [String: Any]
420
+ var request = ["trackType": trackType, "id": id, "mute": changeTrackStateRequest.mute] as [String: Any]
358
421
  if let requestedBy = requestedBy {
359
422
  request["requestedBy"] = requestedBy
360
423
  }
@@ -362,16 +425,53 @@ class HmsDecoder: NSObject {
362
425
  return request
363
426
  }
364
427
 
365
- static func getError(_ error: HMSError) -> [String: Any] {
366
- let code = error.code
367
- let description = error.description
368
- let localizedDescription = error.localizedDescription
369
- let debugDescription = error.debugDescription
370
- let message = error.message
371
- let name = error.id
372
- let id = error.id
373
- let action = error.action
374
-
375
- return ["code": code, "description": description, "localizedDescription":localizedDescription, "debugDescription":debugDescription, "message":message, "name":name, "action":action, "id": id]
428
+ static func getError(_ errorObj: HMSError?) -> [String: Any] {
429
+ if let error = errorObj {
430
+ let code = error.code
431
+ let description = error.description
432
+ let localizedDescription = error.localizedDescription
433
+ let debugDescription = error.debugDescription
434
+ let message = error.message
435
+ let name = error.id
436
+ let id = error.id
437
+ let action = error.action
438
+
439
+ return ["code": code, "description": description, "localizedDescription":localizedDescription, "debugDescription":debugDescription, "message":message, "name":name, "action":action, "id": id]
440
+ } else {
441
+ return [:]
442
+ }
443
+ }
444
+
445
+ static func getHMSBrowserRecordingState(_ data: HMSBrowserRecordingState?) -> [String: Any] {
446
+ if let recordingState = data {
447
+ let running = recordingState.running
448
+ let error = HmsDecoder.getError(recordingState.error)
449
+
450
+ return ["running": running, "error": error]
451
+ } else {
452
+ return [:]
453
+ }
454
+ }
455
+
456
+ static func getHMSRtmpStreamingState(_ data: HMSRTMPStreamingState?) -> [String: Any] {
457
+ if let streamingState = data {
458
+ let running = streamingState.running
459
+ let error = HmsDecoder.getError(streamingState.error)
460
+
461
+ return ["running": running, "error": error]
462
+ } else {
463
+ return [:]
464
+ }
465
+ }
466
+
467
+ static func getHMSServerRecordingState(_ data: HMSServerRecordingState?) -> [String: Any] {
468
+ if let recordingState = data {
469
+ let running = recordingState.running
470
+ let error = HmsDecoder.getError(recordingState.error)
471
+
472
+ return ["running": running, "error": error]
473
+ } else {
474
+ return [:]
475
+ }
376
476
  }
377
477
  }
@@ -3,7 +3,17 @@ import Foundation
3
3
 
4
4
  class HmsHelper: NSObject {
5
5
 
6
- static func getPeerFromPeerId(_ peerID: String?, remotePeers: [HMSRemotePeer]?) -> HMSPeer? {
6
+ static func getPeerFromPeerId(_ peerID: String?, remotePeers: [HMSRemotePeer]?, localPeer: HMSLocalPeer?) -> HMSPeer? {
7
+
8
+ guard let peerID = peerID, let peers = remotePeers else { return nil }
9
+ if(peerID == localPeer?.peerID) {
10
+ return localPeer
11
+ }
12
+ return peers.first { $0.peerID == peerID }
13
+ }
14
+
15
+
16
+ static func getRemotePeerFromPeerId(_ peerID: String?, remotePeers: [HMSRemotePeer]?) -> HMSPeer? {
7
17
 
8
18
  guard let peerID = peerID, let peers = remotePeers else { return nil }
9
19
 
@@ -53,6 +63,22 @@ class HmsHelper: NSObject {
53
63
  return nil
54
64
  }
55
65
 
66
+ static func getRemoteAudioAuxiliaryTrackFromTrackId(_ trackID: String?, _ remotePeers: [HMSRemotePeer]?) -> HMSRemoteAudioTrack? {
67
+ for peer in remotePeers ?? [] {
68
+ if peer.audioTrack?.trackId == trackID {
69
+ return peer.audioTrack as? HMSRemoteAudioTrack
70
+ }
71
+ let auxTracks = peer.auxiliaryTracks
72
+
73
+ for track in auxTracks ?? [] {
74
+ if (track.kind == HMSTrackKind.audio && track.trackId == trackID) {
75
+ return track as? HMSRemoteAudioTrack
76
+ }
77
+ }
78
+ }
79
+ return nil
80
+ }
81
+
56
82
  static func getRemoteVideoTrackFromTrackId(_ trackID: String?, _ remotePeers: [HMSRemotePeer]?) -> HMSRemoteVideoTrack? {
57
83
  for peer in remotePeers ?? [] {
58
84
  if peer.videoTrack?.trackId == trackID {
@@ -98,4 +124,80 @@ class HmsHelper: NSObject {
98
124
  }
99
125
  return hms
100
126
  }
127
+
128
+ static func getLocalVideoSettings(_ settings: NSDictionary?) -> HMSVideoTrackSettings? {
129
+ guard let data = settings,
130
+ let codec = data.value(forKey: "codec") as? String,
131
+ let resolution = data.value(forKey: "resolution") as? [String : Double]?,
132
+ let maxBitrate = data.value(forKey: "maxBitrate") as? Int,
133
+ let maxFrameRate = data.value(forKey: "maxFrameRate") as? Int,
134
+ let cameraFacing = data.value(forKey: "cameraFacing") as? String,
135
+ let trackDescription = data.value(forKey: "trackDescription") as? String?,
136
+ let resolutionObj = HmsHelper.getVideoResolution(resolution ?? [:])
137
+ else {
138
+ return nil
139
+ }
140
+ let codecEncoded = HmsHelper.getVideoCodec(codec)
141
+ let cameraFacingEncoded = HmsHelper.getCameraFacing(cameraFacing)
142
+ let hmsTrackSettings = HMSVideoTrackSettings(codec: codecEncoded, resolution: resolutionObj, maxBitrate: maxBitrate, maxFrameRate: maxFrameRate, cameraFacing: cameraFacingEncoded, trackDescription: trackDescription)
143
+ return hmsTrackSettings
144
+ }
145
+
146
+ static func getLocalAudioSettings(_ settings: NSDictionary?) -> HMSAudioTrackSettings? {
147
+ guard let data = settings,
148
+ let maxBitrate = data.value(forKey: "maxBitrate") as? Int,
149
+ let trackDescription = data.value(forKey: "trackDescription") as? String?
150
+ else {
151
+ return nil
152
+ }
153
+ let hmsTrackSettings = HMSAudioTrackSettings(maxBitrate: maxBitrate, trackDescription: trackDescription)
154
+ return hmsTrackSettings
155
+ }
156
+
157
+ static func getVideoResolution(_ data: [String : Double]) -> HMSVideoResolution? {
158
+ guard let width = data["width"],
159
+ let height = data["height"]
160
+ else {
161
+ return nil
162
+ }
163
+
164
+ return HMSVideoResolution.init(width: width, height: height)
165
+ }
166
+
167
+ static func getVideoCodec(_ codecString: String?) -> HMSCodec {
168
+ switch codecString {
169
+ case "H264":
170
+ return HMSCodec.H264
171
+ case "VP8":
172
+ return HMSCodec.VP8
173
+ default:
174
+ return HMSCodec.H264
175
+ }
176
+ }
177
+
178
+ static func getCameraFacing(_ cameraFacing: String) -> HMSCameraFacing {
179
+ switch cameraFacing {
180
+ case "FRONT":
181
+ return HMSCameraFacing.front
182
+ case "BACK":
183
+ return HMSCameraFacing.back
184
+ default:
185
+ return HMSCameraFacing.front
186
+ }
187
+ }
188
+
189
+ static func getRtmpUrls(_ strings: [String]?) -> [URL]? {
190
+ if let extractedStrings = strings {
191
+ var arr: [URL] = []
192
+ for urlString in extractedStrings {
193
+ let urlInstance = URL(string: urlString)
194
+ if let urlExtracted = urlInstance {
195
+ arr.append(urlExtracted)
196
+ }
197
+ }
198
+ return arr
199
+ } else {
200
+ return nil
201
+ }
202
+ }
101
203
  }
package/ios/HmsManager.m CHANGED
@@ -7,21 +7,25 @@ RCT_EXTERN_METHOD(join: (NSDictionary) credentials)
7
7
  RCT_EXTERN_METHOD(preview: (NSDictionary) credentials)
8
8
  RCT_EXTERN_METHOD(setLocalMute: (NSDictionary) isMute)
9
9
  RCT_EXTERN_METHOD(setLocalVideoMute: (NSDictionary) isMute)
10
- RCT_EXTERN_METHOD(sendBroadcastMessage: (NSDictionary) data)
11
- RCT_EXTERN_METHOD(sendGroupMessage: (NSDictionary) data)
12
- RCT_EXTERN_METHOD(sendDirectMessage: (NSDictionary) data)
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(changeTrackStateRoles: (NSDictionary) data)
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
19
  RCT_EXTERN_METHOD(acceptRoleChange: (NSDictionary) data)
20
20
  RCT_EXTERN_METHOD(isMute: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
21
21
  RCT_EXTERN_METHOD(getRoom: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
22
22
  RCT_EXTERN_METHOD(switchCamera: (NSDictionary) data)
23
- RCT_EXTERN_METHOD(build :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
23
+ RCT_EXTERN_METHOD(setVolume: (NSDictionary) data)
24
+ RCT_EXTERN_METHOD(build : (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
24
25
  RCT_EXTERN_METHOD(leave: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
25
26
  RCT_EXTERN_METHOD(muteAllPeersAudio: (NSDictionary) mute)
26
27
  RCT_EXTERN_METHOD(isPlaybackAllowed: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
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)
27
31
  @end