@100mslive/react-native-hms 0.9.4 → 0.9.7

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 (216) hide show
  1. package/README.md +3 -5
  2. package/android/.gradle/6.9/fileHashes/fileHashes.bin +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/outputFiles.bin +0 -0
  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 +3 -3
  10. package/android/src/main/java/com/reactnativehmssdk/{HmsDecoder.kt → HMSDecoder.kt} +38 -34
  11. package/android/src/main/java/com/reactnativehmssdk/{HmsHelper.kt → HMSHelper.kt} +115 -75
  12. package/android/src/main/java/com/reactnativehmssdk/{HmsModule.kt → HMSManager.kt} +51 -41
  13. package/android/src/main/java/com/reactnativehmssdk/{HmsSDK.kt → HMSRNSDK.kt} +171 -159
  14. package/android/src/main/java/com/reactnativehmssdk/{HmssdkViewManager.kt → HMSSDKViewManager.kt} +38 -17
  15. package/android/src/main/java/com/reactnativehmssdk/{HmsView.kt → HMSView.kt} +10 -10
  16. package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +17 -18
  17. package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +2 -2
  18. package/ios/{HmsDecoder.swift → HMSDecoder.swift} +27 -26
  19. package/ios/{HmsHelper.swift → HMSHelper.swift} +13 -7
  20. package/ios/{HmsManager.m → HMSManager.m} +2 -1
  21. package/ios/{HmsManager.swift → HMSManager.swift} +46 -38
  22. package/ios/{HmsSDK.swift → HMSRNSDK.swift} +128 -128
  23. package/ios/{HmsView.m → HMSView.m} +1 -1
  24. package/ios/{HmsView.swift → HMSView.swift} +9 -20
  25. package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
  26. package/lib/commonjs/classes/HMSAudioSettings.js.map +1 -1
  27. package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
  28. package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
  29. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  30. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
  31. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
  32. package/lib/commonjs/classes/HMSConfig.js.map +1 -1
  33. package/lib/commonjs/classes/HMSEncoder.js +42 -17
  34. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  35. package/lib/commonjs/classes/HMSException.js.map +1 -1
  36. package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
  37. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  38. package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -1
  39. package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -1
  40. package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
  41. package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
  42. package/lib/commonjs/classes/HMSHelper.js.map +1 -1
  43. package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -1
  44. package/lib/commonjs/classes/HMSLocalAudioTrack.js +6 -8
  45. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  46. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  47. package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -1
  48. package/lib/commonjs/classes/HMSLocalVideoTrack.js +6 -8
  49. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  50. package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
  51. package/lib/commonjs/classes/HMSLogger.js +19 -1
  52. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  53. package/lib/commonjs/classes/HMSMessage.js +1 -1
  54. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  55. package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
  56. package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
  57. package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -1
  58. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  59. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  60. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  61. package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
  62. package/lib/commonjs/classes/HMSRTCStats.js.map +1 -1
  63. package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -1
  64. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  65. package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -1
  66. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +6 -8
  67. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  68. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  69. package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -1
  70. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +6 -8
  71. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  72. package/lib/commonjs/classes/HMSRole.js.map +1 -1
  73. package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
  74. package/lib/commonjs/classes/HMSRoom.js +3 -0
  75. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  76. package/lib/commonjs/classes/HMSRoomUpdate.js +1 -3
  77. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  78. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  79. package/lib/commonjs/classes/HMSSDK.js +119 -239
  80. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  81. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  82. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js.map +1 -1
  83. package/lib/commonjs/classes/HMSSimulcastSettings.js.map +1 -1
  84. package/lib/commonjs/classes/HMSSpeaker.js.map +1 -1
  85. package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
  86. package/lib/commonjs/classes/HMSTrack.js.map +1 -1
  87. package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
  88. package/lib/commonjs/classes/HMSTrackSource.js +15 -0
  89. package/lib/commonjs/classes/HMSTrackSource.js.map +1 -0
  90. package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
  91. package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
  92. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  93. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  94. package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -1
  95. package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
  96. package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
  97. package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
  98. package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
  99. package/lib/commonjs/classes/HmsView.js +64 -16
  100. package/lib/commonjs/classes/HmsView.js.map +1 -1
  101. package/lib/commonjs/index.js +14 -28
  102. package/lib/commonjs/index.js.map +1 -1
  103. package/lib/module/classes/HMSAudioCodec.js.map +1 -1
  104. package/lib/module/classes/HMSAudioSettings.js.map +1 -1
  105. package/lib/module/classes/HMSAudioTrack.js.map +1 -1
  106. package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
  107. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  108. package/lib/module/classes/HMSCameraFacing.js.map +1 -1
  109. package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
  110. package/lib/module/classes/HMSConfig.js.map +1 -1
  111. package/lib/module/classes/HMSEncoder.js +30 -10
  112. package/lib/module/classes/HMSEncoder.js.map +1 -1
  113. package/lib/module/classes/HMSException.js.map +1 -1
  114. package/lib/module/classes/HMSHLSConfig.js.map +1 -1
  115. package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  116. package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -1
  117. package/lib/module/classes/HMSHLSRecordingState.js.map +1 -1
  118. package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
  119. package/lib/module/classes/HMSHLSVariant.js.map +1 -1
  120. package/lib/module/classes/HMSHelper.js.map +1 -1
  121. package/lib/module/classes/HMSLocalAudioStats.js.map +1 -1
  122. package/lib/module/classes/HMSLocalAudioTrack.js +6 -6
  123. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  124. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  125. package/lib/module/classes/HMSLocalVideoStats.js.map +1 -1
  126. package/lib/module/classes/HMSLocalVideoTrack.js +6 -6
  127. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  128. package/lib/module/classes/HMSLogLevel.js.map +1 -1
  129. package/lib/module/classes/HMSLogger.js +10 -0
  130. package/lib/module/classes/HMSLogger.js.map +1 -1
  131. package/lib/module/classes/HMSMessage.js +1 -1
  132. package/lib/module/classes/HMSMessage.js.map +1 -1
  133. package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
  134. package/lib/module/classes/HMSMessageRecipientType.js.map +1 -1
  135. package/lib/module/classes/HMSNetworkQuality.js.map +1 -1
  136. package/lib/module/classes/HMSPeer.js.map +1 -1
  137. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  138. package/lib/module/classes/HMSPermissions.js.map +1 -1
  139. package/lib/module/classes/HMSPublishSettings.js.map +1 -1
  140. package/lib/module/classes/HMSRTCStats.js.map +1 -1
  141. package/lib/module/classes/HMSRTCStatsReport.js.map +1 -1
  142. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  143. package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -1
  144. package/lib/module/classes/HMSRemoteAudioTrack.js +6 -6
  145. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  146. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  147. package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -1
  148. package/lib/module/classes/HMSRemoteVideoTrack.js +6 -6
  149. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  150. package/lib/module/classes/HMSRole.js.map +1 -1
  151. package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
  152. package/lib/module/classes/HMSRoom.js +3 -0
  153. package/lib/module/classes/HMSRoom.js.map +1 -1
  154. package/lib/module/classes/HMSRoomUpdate.js +1 -3
  155. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  156. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  157. package/lib/module/classes/HMSSDK.js +118 -239
  158. package/lib/module/classes/HMSSDK.js.map +1 -1
  159. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  160. package/lib/module/classes/HMSSimulcastLayerSettings.js.map +1 -1
  161. package/lib/module/classes/HMSSimulcastSettings.js.map +1 -1
  162. package/lib/module/classes/HMSSpeaker.js.map +1 -1
  163. package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
  164. package/lib/module/classes/HMSTrack.js.map +1 -1
  165. package/lib/module/classes/HMSTrackSettings.js.map +1 -1
  166. package/lib/module/classes/HMSTrackSource.js +8 -0
  167. package/lib/module/classes/HMSTrackSource.js.map +1 -0
  168. package/lib/module/classes/HMSTrackType.js.map +1 -1
  169. package/lib/module/classes/HMSTrackUpdate.js.map +1 -1
  170. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  171. package/lib/module/classes/HMSVideoCodec.js.map +1 -1
  172. package/lib/module/classes/HMSVideoResolution.js.map +1 -1
  173. package/lib/module/classes/HMSVideoSettings.js.map +1 -1
  174. package/lib/module/classes/HMSVideoTrack.js.map +1 -1
  175. package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
  176. package/lib/module/classes/HMSVideoViewMode.js.map +1 -1
  177. package/lib/module/classes/HmsView.js +62 -16
  178. package/lib/module/classes/HmsView.js.map +1 -1
  179. package/lib/module/index.js +1 -2
  180. package/lib/module/index.js.map +1 -1
  181. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +2 -2
  182. package/lib/typescript/classes/HMSEncoder.d.ts +9 -3
  183. package/lib/typescript/classes/HMSLogger.d.ts +3 -0
  184. package/lib/typescript/classes/HMSMessage.d.ts +3 -3
  185. package/lib/typescript/classes/HMSRoom.d.ts +2 -0
  186. package/lib/typescript/classes/HMSRoomUpdate.d.ts +1 -3
  187. package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +2 -2
  188. package/lib/typescript/classes/HMSSDK.d.ts +6 -10
  189. package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -2
  190. package/lib/typescript/classes/HMSTrackSource.d.ts +5 -0
  191. package/lib/typescript/classes/HmsView.d.ts +5 -7
  192. package/lib/typescript/index.d.ts +1 -2
  193. package/package.json +2 -2
  194. package/react-native-hms.podspec +2 -2
  195. package/src/classes/HMSBrowserRecordingState.ts +2 -2
  196. package/src/classes/HMSEncoder.ts +30 -18
  197. package/src/classes/HMSLocalAudioTrack.ts +6 -6
  198. package/src/classes/HMSLocalVideoTrack.ts +6 -6
  199. package/src/classes/HMSLogger.ts +11 -0
  200. package/src/classes/HMSMessage.ts +4 -4
  201. package/src/classes/HMSRemoteAudioTrack.ts +6 -6
  202. package/src/classes/HMSRemoteVideoTrack.ts +6 -6
  203. package/src/classes/HMSRoom.ts +3 -0
  204. package/src/classes/HMSRoomUpdate.ts +1 -3
  205. package/src/classes/HMSRtmpStreamingState.ts +2 -2
  206. package/src/classes/HMSSDK.tsx +58 -69
  207. package/src/classes/HMSServerRecordingState.ts +2 -2
  208. package/src/classes/HMSTrackSource.ts +5 -0
  209. package/src/classes/HmsView.tsx +98 -48
  210. package/src/index.ts +1 -2
  211. package/lib/commonjs/classes/HMSSpeakerUpdate.js +0 -26
  212. package/lib/commonjs/classes/HMSSpeakerUpdate.js.map +0 -1
  213. package/lib/module/classes/HMSSpeakerUpdate.js +0 -17
  214. package/lib/module/classes/HMSSpeakerUpdate.js.map +0 -1
  215. package/lib/typescript/classes/HMSSpeakerUpdate.d.ts +0 -11
  216. package/src/classes/HMSSpeakerUpdate.ts +0 -17
@@ -1,14 +1,17 @@
1
1
  package com.reactnativehmssdk
2
2
 
3
3
  import android.os.Build
4
+ import androidx.annotation.NonNull
5
+ import androidx.annotation.Nullable
4
6
  import androidx.annotation.RequiresApi
7
+ import com.facebook.react.bridge.ReadableArray
5
8
  import com.facebook.react.bridge.ReadableMap
6
9
  import com.facebook.react.common.MapBuilder
7
10
  import com.facebook.react.uimanager.SimpleViewManager
8
11
  import com.facebook.react.uimanager.ThemedReactContext
9
12
  import com.facebook.react.uimanager.annotations.ReactProp
10
13
 
11
- class HmssdkViewManager : SimpleViewManager<HmsView>() {
14
+ class HMSSDKViewManager : SimpleViewManager<HMSView>() {
12
15
 
13
16
  private var reactContext: ThemedReactContext? = null
14
17
 
@@ -16,9 +19,9 @@ class HmssdkViewManager : SimpleViewManager<HmsView>() {
16
19
  return REACT_CLASS
17
20
  }
18
21
 
19
- public override fun createViewInstance(reactContext: ThemedReactContext): HmsView {
22
+ public override fun createViewInstance(reactContext: ThemedReactContext): HMSView {
20
23
  this.reactContext = reactContext
21
- return HmsView(reactContext)
24
+ return HMSView(reactContext)
22
25
  }
23
26
 
24
27
  override fun getExportedCustomBubblingEventTypeConstants(): MutableMap<String, Any>? {
@@ -30,8 +33,34 @@ class HmssdkViewManager : SimpleViewManager<HmsView>() {
30
33
  .build()
31
34
  }
32
35
 
36
+ override fun getExportedCustomDirectEventTypeConstants(): MutableMap<String, Any>? {
37
+ return MapBuilder.of(
38
+ "captureFrame",
39
+ MapBuilder.of("registrationName", "onDataReturned"),
40
+ )
41
+ }
42
+
43
+ @RequiresApi(Build.VERSION_CODES.N)
44
+ override fun receiveCommand(@NonNull root: HMSView, commandId: String?, args: ReadableArray?) {
45
+ when (commandId) {
46
+ "capture" -> root.captureHmsView(args)
47
+ }
48
+ }
49
+
50
+ @RequiresApi(Build.VERSION_CODES.N)
51
+ override fun receiveCommand(@NonNull root: HMSView, commandId: Int, args: ReadableArray?) {
52
+ when (commandId) {
53
+ 1 -> root.captureHmsView(args)
54
+ }
55
+ }
56
+
57
+ @Nullable
58
+ override fun getCommandsMap(): Map<String, Int>? {
59
+ return MapBuilder.of("capture", 1)
60
+ }
61
+
33
62
  @ReactProp(name = "data")
34
- fun setData(view: HmsView, data: ReadableMap) {
63
+ fun setData(view: HMSView, data: ReadableMap) {
35
64
  val trackId = data.getString("trackId")
36
65
  val id = data.getString("id")
37
66
  val mirror = data.getBoolean("mirror")
@@ -42,28 +71,20 @@ class HmssdkViewManager : SimpleViewManager<HmsView>() {
42
71
  }
43
72
 
44
73
  @ReactProp(name = "scaleType")
45
- fun setScaleType(view: HmsView, data: String?) {
74
+ fun setScaleType(view: HMSView, data: String?) {
46
75
  view.updateScaleType(data)
47
76
  }
48
77
 
49
78
  @ReactProp(name = "setZOrderMediaOverlay")
50
- fun setZOrderMediaOverlay(view: HmsView, data: Boolean?) {
79
+ fun setZOrderMediaOverlay(view: HMSView, data: Boolean?) {
51
80
  view.updateZOrderMediaOverlay(data)
52
81
  }
53
-
54
- @RequiresApi(Build.VERSION_CODES.N)
55
- @ReactProp(name = "screenshot")
56
- fun setCaptureHmsView(view: HmsView, screenshot: Boolean?) {
57
- if(screenshot == true){
58
- view.captureHmsView()
59
- }
60
- }
61
82
 
62
- private fun getHms(): MutableMap<String, HmsSDK>? {
63
- return reactContext?.getNativeModule(HmsModule::class.java)?.getHmsInstance()
83
+ private fun getHms(): MutableMap<String, HMSRNSDK>? {
84
+ return reactContext?.getNativeModule(HMSManager::class.java)?.getHmsInstance()
64
85
  }
65
86
 
66
87
  companion object {
67
- const val REACT_CLASS = "HmsView"
88
+ const val REACT_CLASS = "HMSView"
68
89
  }
69
90
  }
@@ -8,6 +8,7 @@ import android.widget.FrameLayout
8
8
  import androidx.annotation.RequiresApi
9
9
  import com.facebook.react.bridge.Arguments
10
10
  import com.facebook.react.bridge.ReactContext
11
+ import com.facebook.react.bridge.ReadableArray
11
12
  import com.facebook.react.bridge.WritableMap
12
13
  import com.facebook.react.uimanager.events.RCTEventEmitter
13
14
  import live.hms.video.media.tracks.HMSVideoTrack
@@ -17,17 +18,16 @@ import org.webrtc.RendererCommon
17
18
  import org.webrtc.SurfaceViewRenderer
18
19
 
19
20
  @SuppressLint("ViewConstructor")
20
- class HmsView(context: ReactContext) : FrameLayout(context) {
21
+ class HMSView(context: ReactContext) : FrameLayout(context) {
21
22
  private var surfaceView: SurfaceViewRenderer = SurfaceViewRenderer(context)
22
23
  private var videoTrack: HMSVideoTrack? = null
23
24
  private var scaleTypeApplied: Boolean = false
24
25
  private var sdkId: String = "12345"
25
26
  private var currentScaleType: RendererCommon.ScalingType =
26
- RendererCommon.ScalingType.SCALE_ASPECT_FILL
27
+ RendererCommon.ScalingType.SCALE_ASPECT_FILL
27
28
 
28
29
  init {
29
- val inflater =
30
- getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
30
+ val inflater = getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
31
31
  val view = inflater.inflate(R.layout.hms_view, this)
32
32
 
33
33
  surfaceView = view.findViewById(R.id.surfaceView)
@@ -35,8 +35,8 @@ class HmsView(context: ReactContext) : FrameLayout(context) {
35
35
  }
36
36
 
37
37
  @RequiresApi(Build.VERSION_CODES.N)
38
- fun captureHmsView() {
39
- HmsHelper.captureSurfaceView(surfaceView, context, sdkId)
38
+ fun captureHmsView(args: ReadableArray?) {
39
+ HMSHelper.captureSurfaceView(surfaceView, sdkId, args, context, id)
40
40
  }
41
41
 
42
42
  private fun onReceiveNativeEvent() {
@@ -97,10 +97,10 @@ class HmsView(context: ReactContext) : FrameLayout(context) {
97
97
  }
98
98
 
99
99
  fun setData(
100
- id: String?,
101
- trackId: String?,
102
- hmsCollection: MutableMap<String, HmsSDK>,
103
- mirror: Boolean?
100
+ id: String?,
101
+ trackId: String?,
102
+ hmsCollection: MutableMap<String, HMSRNSDK>,
103
+ mirror: Boolean?
104
104
  ) {
105
105
  if (id != null) {
106
106
  sdkId = id
@@ -8,8 +8,6 @@ import android.os.Bundle
8
8
  import androidx.activity.ComponentActivity
9
9
  import androidx.activity.result.ActivityResultLauncher
10
10
  import androidx.activity.result.contract.ActivityResultContracts
11
- import com.facebook.react.bridge.Arguments
12
- import com.facebook.react.bridge.WritableMap
13
11
  import live.hms.video.error.HMSException
14
12
  import live.hms.video.sdk.HMSActionResultListener
15
13
 
@@ -19,16 +17,16 @@ class HmsScreenshareActivity : ComponentActivity() {
19
17
  if (result.resultCode == Activity.RESULT_OK) {
20
18
  val mediaProjectionPermissionResultData: Intent? = result.data
21
19
  val id = intent.getStringExtra("id")
22
- HmsModule.hmsCollection[id]?.hmsSDK?.startScreenshare(
20
+ HMSManager.hmsCollection[id]?.hmsSDK?.startScreenshare(
23
21
  object : HMSActionResultListener {
24
22
  override fun onError(error: HMSException) {
25
23
  finish()
26
- HmsModule.hmsCollection[id]?.screenshareCallback?.reject(error)
27
- HmsModule.hmsCollection[id]?.emitHMSError(error)
24
+ HMSManager.hmsCollection[id]?.screenshareCallback?.reject(error)
25
+ HMSManager.hmsCollection[id]?.emitHMSError(error)
28
26
  }
29
27
  override fun onSuccess() {
30
- HmsModule.hmsCollection[id]?.screenshareCallback?.resolve(
31
- HmsModule.hmsCollection[id]?.emitHMSSuccess()
28
+ HMSManager.hmsCollection[id]?.screenshareCallback?.resolve(
29
+ HMSManager.hmsCollection[id]?.emitHMSSuccess()
32
30
  )
33
31
  finish()
34
32
  }
@@ -37,15 +35,16 @@ class HmsScreenshareActivity : ComponentActivity() {
37
35
  )
38
36
  } else {
39
37
  val id = intent.getStringExtra("id")
40
- val error = HMSException(
41
- 103,
42
- "RESULT_CANCELED",
43
- "RESULT_CANCELED",
44
- "RESULT_CANCELED",
45
- "RESULT_CANCELED"
46
- )
47
- HmsModule.hmsCollection[id]?.screenshareCallback?.reject(error)
48
- HmsModule.hmsCollection[id]?.emitHMSError(error)
38
+ val error =
39
+ HMSException(
40
+ 103,
41
+ "RESULT_CANCELED",
42
+ "RESULT_CANCELED",
43
+ "RESULT_CANCELED",
44
+ "RESULT_CANCELED"
45
+ )
46
+ HMSManager.hmsCollection[id]?.screenshareCallback?.reject(error)
47
+ HMSManager.hmsCollection[id]?.emitHMSError(error)
49
48
  finish()
50
49
  }
51
50
  }
@@ -57,7 +56,7 @@ class HmsScreenshareActivity : ComponentActivity() {
57
56
 
58
57
  private fun startScreenshare() {
59
58
  val id = intent.getStringExtra("id")
60
- val isScreenShared = HmsModule.hmsCollection[id]?.hmsSDK?.isScreenShared()
59
+ val isScreenShared = HMSManager.hmsCollection[id]?.hmsSDK?.isScreenShared()
61
60
  if (isScreenShared !== null && !isScreenShared) {
62
61
  try {
63
62
  val mediaProjectionManager =
@@ -67,7 +66,7 @@ class HmsScreenshareActivity : ComponentActivity() {
67
66
  println(e)
68
67
  }
69
68
  } else {
70
- HmsModule.hmsCollection[id]?.emitHMSError(
69
+ HMSManager.hmsCollection[id]?.emitHMSError(
71
70
  HMSException(
72
71
  103,
73
72
  "SCREENSHARE_IS_ALREADY_RUNNING",
@@ -7,10 +7,10 @@ import com.facebook.react.uimanager.ViewManager
7
7
 
8
8
  class HmssdkPackage : ReactPackage {
9
9
  override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
10
- return listOf(HmsModule(reactContext))
10
+ return listOf(HMSManager(reactContext))
11
11
  }
12
12
 
13
13
  override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
14
- return listOf<ViewManager<*, *>>(HmssdkViewManager())
14
+ return listOf<ViewManager<*, *>>(HMSSDKViewManager())
15
15
  }
16
16
  }
@@ -1,27 +1,28 @@
1
1
  import HMSSDK
2
2
  import Foundation
3
3
 
4
- class HmsDecoder: NSObject {
4
+ class HMSDecoder: NSObject {
5
5
  static func getHmsRoom (_ hmsRoom: HMSRoom?) -> [String: Any] {
6
6
 
7
7
  guard let room = hmsRoom else { return [:] }
8
8
 
9
9
  let id = room.roomID ?? ""
10
+ let sessionId = room.sessionID ?? ""
10
11
  let name = room.name ?? ""
11
12
  let metaData = room.metaData ?? ""
12
13
  let count = room.peerCount ?? 0
13
- let browserRecordingState = HmsDecoder.getHMSBrowserRecordingState(hmsRoom?.browserRecordingState)
14
- let rtmpStreamingState = HmsDecoder.getHMSRtmpStreamingState(hmsRoom?.rtmpStreamingState)
15
- let serverRecordingState = HmsDecoder.getHMSServerRecordingState(hmsRoom?.serverRecordingState)
16
- let hlsStreamingState = HmsDecoder.getHlsStreamingState(hmsRoom?.hlsStreamingState)
17
- let hlsRecordingState = HmsDecoder.getHlsRecordingState(hmsRoom?.hlsRecordingState)
14
+ let browserRecordingState = HMSDecoder.getHMSBrowserRecordingState(hmsRoom?.browserRecordingState)
15
+ let rtmpStreamingState = HMSDecoder.getHMSRtmpStreamingState(hmsRoom?.rtmpStreamingState)
16
+ let serverRecordingState = HMSDecoder.getHMSServerRecordingState(hmsRoom?.serverRecordingState)
17
+ let hlsStreamingState = HMSDecoder.getHlsStreamingState(hmsRoom?.hlsStreamingState)
18
+ let hlsRecordingState = HMSDecoder.getHlsRecordingState(hmsRoom?.hlsRecordingState)
18
19
  var peers = [[String: Any]]()
19
20
 
20
21
  for peer in room.peers {
21
22
  peers.append(getHmsPeer(peer))
22
23
  }
23
24
 
24
- return ["id": id, "name": name, "metaData": metaData, "peers": peers, "browserRecordingState": browserRecordingState, "rtmpHMSRtmpStreamingState": rtmpStreamingState, "serverRecordingState": serverRecordingState, "hlsRecordingState": hlsRecordingState, "hlsStreamingState": hlsStreamingState, "peerCount": count]
25
+ return ["id": id, "name": name, "metaData": metaData, "peers": peers, "browserRecordingState": browserRecordingState, "rtmpHMSRtmpStreamingState": rtmpStreamingState, "serverRecordingState": serverRecordingState, "hlsRecordingState": hlsRecordingState, "hlsStreamingState": hlsStreamingState, "peerCount": count, "sessionId": sessionId]
25
26
  }
26
27
 
27
28
  static func getHmsPeer (_ hmsPeer: HMSPeer?) -> [String: Any] {
@@ -71,7 +72,7 @@ class HmsDecoder: NSObject {
71
72
  let source = hmsTrack.source
72
73
  let trackDescription = hmsTrack.trackDescription
73
74
  let isMute = hmsTrack.isMute()
74
- let type = HmsHelper.getHmsTrackType(hmsTrack.kind) ?? ""
75
+ let type = HMSHelper.getHmsTrackType(hmsTrack.kind) ?? ""
75
76
 
76
77
  return ["trackId": trackId, "source": source, "trackDescription": trackDescription, "isMute": isMute, "type": type, "kind": type]
77
78
  }
@@ -84,7 +85,7 @@ class HmsDecoder: NSObject {
84
85
  let source: String = hmsTrack.source
85
86
  let trackDescription: String = hmsTrack.trackDescription
86
87
  let isMute: Bool = hmsTrack.isMute()
87
- let kind: String = HmsHelper.getHmsTrackType(hmsTrack.kind) ?? ""
88
+ let kind: String = HMSHelper.getHmsTrackType(hmsTrack.kind) ?? ""
88
89
 
89
90
  return ["trackId": trackId, "source": source, "trackDescription": trackDescription, "isMute": isMute, "type": kind, "kind": kind]
90
91
  }
@@ -98,7 +99,7 @@ class HmsDecoder: NSObject {
98
99
  let trackDescription = hmsTrack.trackDescription
99
100
  let isMute = hmsTrack.isMute()
100
101
  let isDegraded = hmsTrack.isDegraded()
101
- let kind: String = HmsHelper.getHmsTrackType(hmsTrack.kind) ?? ""
102
+ let kind: String = HMSHelper.getHmsTrackType(hmsTrack.kind) ?? ""
102
103
 
103
104
  return ["trackId": trackId, "source": source, "trackDescription": trackDescription, "isMute": isMute, "isDegraded": isDegraded, "type": kind, "kind": kind]
104
105
  }
@@ -140,12 +141,12 @@ class HmsDecoder: NSObject {
140
141
  }
141
142
 
142
143
  static func getHmsLocalAudioTrack(_ localAudio: HMSLocalAudioTrack) -> [String: Any] {
143
- let type = HmsHelper.getHmsTrackType(localAudio.kind) ?? ""
144
+ let type = HMSHelper.getHmsTrackType(localAudio.kind) ?? ""
144
145
  return ["trackId": localAudio.trackId, "source": localAudio.source, "trackDescription": localAudio.trackDescription, "settings": getHmsAudioTrackSettings(localAudio.settings), "isMute": localAudio.isMute(), "type": type, "kind": type]
145
146
  }
146
147
 
147
148
  static func getHmsLocalVideoTrack(_ localVideo: HMSLocalVideoTrack) -> [String: Any] {
148
- let type = HmsHelper.getHmsTrackType(localVideo.kind) ?? ""
149
+ let type = HMSHelper.getHmsTrackType(localVideo.kind) ?? ""
149
150
  return ["trackId": localVideo.trackId, "source": localVideo.source, "trackDescription": localVideo.trackDescription, "settings": getHmsVideoTrackSettings(localVideo.settings), "isMute": localVideo.isMute(), "type": type, "kind": type]
150
151
  }
151
152
 
@@ -260,12 +261,12 @@ class HmsDecoder: NSObject {
260
261
  }
261
262
 
262
263
  static func getHMSRemoteAudioTrack(_ remoteAudio: HMSRemoteAudioTrack) -> [String: Any] {
263
- let type = HmsHelper.getHmsTrackType(remoteAudio.kind) ?? ""
264
+ let type = HMSHelper.getHmsTrackType(remoteAudio.kind) ?? ""
264
265
  return ["trackId": remoteAudio.trackId, "source": remoteAudio.source, "trackDescription": remoteAudio.trackDescription, "playbackAllowed": remoteAudio.isPlaybackAllowed(), "isMute": remoteAudio.isMute(), "type": type, "kind": type]
265
266
  }
266
267
 
267
268
  static func getHMSRemoteVideoTrack(_ remoteVideo: HMSRemoteVideoTrack) -> [String: Any] {
268
- let type = HmsHelper.getHmsTrackType(remoteVideo.kind) ?? ""
269
+ let type = HMSHelper.getHmsTrackType(remoteVideo.kind) ?? ""
269
270
  return ["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]
270
271
  }
271
272
 
@@ -275,13 +276,13 @@ class HmsDecoder: NSObject {
275
276
 
276
277
  for track in tracks {
277
278
  if let localVideo = track as? HMSLocalVideoTrack {
278
- let type = HmsHelper.getHmsTrackType(localVideo.kind) ?? ""
279
+ let type = HMSHelper.getHmsTrackType(localVideo.kind) ?? ""
279
280
  let localVideoTrackData: [String: Any] = ["trackId": localVideo.trackId, "source": localVideo.source, "trackDescription": localVideo.trackDescription, "settings": getHmsVideoTrackSettings(localVideo.settings), "isMute": localVideo.isMute(), "kind": type, "type": type]
280
281
  hmsTracks["videoTrack"] = localVideoTrackData
281
282
  }
282
283
 
283
284
  if let localAudio = track as? HMSLocalAudioTrack {
284
- let type = HmsHelper.getHmsTrackType(localAudio.kind) ?? ""
285
+ let type = HMSHelper.getHmsTrackType(localAudio.kind) ?? ""
285
286
  let localAudioTrackData: [String: Any] = ["trackId": localAudio.trackId, "source": localAudio.source, "trackDescription": localAudio.trackDescription, "settings": getHmsAudioTrackSettings(localAudio.settings), "isMute": localAudio.isMute(), "kind": type, "type": type]
286
287
  hmsTracks["audioTrack"] = localAudioTrackData
287
288
  }
@@ -293,7 +294,7 @@ class HmsDecoder: NSObject {
293
294
  var decodedRoles = [[String: Any]]()
294
295
  if let extractedRoles = roles {
295
296
  for role in extractedRoles {
296
- decodedRoles.append(HmsDecoder.getHmsRole(role))
297
+ decodedRoles.append(HMSDecoder.getHmsRole(role))
297
298
  }
298
299
  }
299
300
  return decodedRoles
@@ -475,7 +476,7 @@ class HmsDecoder: NSObject {
475
476
  return request
476
477
  }
477
478
 
478
- static func getError(_ errorObj: HMSError?) -> [String: Any] {
479
+ static func getError(_ errorObj: HMSError?) -> [String: Any]? {
479
480
  if let error = errorObj {
480
481
  let code = error.code
481
482
  let description = error.description
@@ -488,7 +489,7 @@ class HmsDecoder: NSObject {
488
489
 
489
490
  return ["code": code, "description": description, "localizedDescription": localizedDescription, "debugDescription": debugDescription, "message": message, "name": name, "action": action, "id": id]
490
491
  } else {
491
- return [:]
492
+ return nil
492
493
  }
493
494
  }
494
495
 
@@ -496,7 +497,7 @@ class HmsDecoder: NSObject {
496
497
  if let recordingState = data {
497
498
  let running = recordingState.running
498
499
  let startedAt = recordingState.startedAt?.timeIntervalSince1970 ?? 0
499
- let error = HmsDecoder.getError(recordingState.error)
500
+ let error = HMSDecoder.getError(recordingState.error)
500
501
 
501
502
  return ["running": running, "error": error, "startedAt": startedAt * 1000]
502
503
  } else {
@@ -508,7 +509,7 @@ class HmsDecoder: NSObject {
508
509
  if let streamingState = data {
509
510
  let running = streamingState.running
510
511
  let startedAt = streamingState.startedAt?.timeIntervalSince1970 ?? 0
511
- let error = HmsDecoder.getError(streamingState.error)
512
+ let error = HMSDecoder.getError(streamingState.error)
512
513
 
513
514
  return ["running": running, "error": error, "startedAt": startedAt * 1000]
514
515
  } else {
@@ -520,7 +521,7 @@ class HmsDecoder: NSObject {
520
521
  if let recordingState = data {
521
522
  let running = recordingState.running
522
523
  let startedAt = recordingState.startedAt?.timeIntervalSince1970 ?? 0
523
- let error = HmsDecoder.getError(recordingState.error)
524
+ let error = HMSDecoder.getError(recordingState.error)
524
525
 
525
526
  return ["running": running, "error": error, "startedAt": startedAt * 1000]
526
527
  } else {
@@ -531,7 +532,7 @@ class HmsDecoder: NSObject {
531
532
  static func getHlsStreamingState(_ data: HMSHLSStreamingState?) -> [String: Any] {
532
533
  if let streamingState = data {
533
534
  let running = streamingState.running
534
- let variants = HmsDecoder.getHMSHlsVariant(streamingState.variants)
535
+ let variants = HMSDecoder.getHMSHlsVariant(streamingState.variants)
535
536
 
536
537
  return ["running": running, "variants": variants]
537
538
  } else {
@@ -578,7 +579,7 @@ class HmsDecoder: NSObject {
578
579
  }
579
580
 
580
581
  static func getLocalVideoStats(_ data: HMSLocalVideoStats) -> [String: Any] {
581
- return ["roundTripTime": data.roundTripTime, "bytesSent": data.bytesSent, "bitrate": data.bitrate, "resolution": HmsDecoder.getHmsVideoResolution(data.resolution), "frameRate": data.frameRate]
582
+ return ["roundTripTime": data.roundTripTime, "bytesSent": data.bytesSent, "bitrate": data.bitrate, "resolution": HMSDecoder.getHmsVideoResolution(data.resolution), "frameRate": data.frameRate]
582
583
  }
583
584
 
584
585
  static func getRemoteAudioStats(_ data: HMSRemoteAudioStats) -> [String: Any] {
@@ -586,11 +587,11 @@ class HmsDecoder: NSObject {
586
587
  }
587
588
 
588
589
  static func getRemoteVideoStats(_ data: HMSRemoteVideoStats) -> [String: Any] {
589
- return ["bitrate": data.bitrate, "packetsReceived": data.packetsReceived, "packetsLost": data.packetsLost, "bytesReceived": data.bytesReceived, "jitter": data.jitter, "resolution": HmsDecoder.getHmsVideoResolution(data.resolution), "frameRate": data.frameRate]
590
+ return ["bitrate": data.bitrate, "packetsReceived": data.packetsReceived, "packetsLost": data.packetsLost, "bytesReceived": data.bytesReceived, "jitter": data.jitter, "resolution": HMSDecoder.getHmsVideoResolution(data.resolution), "frameRate": data.frameRate]
590
591
  }
591
592
 
592
593
  static func getHmsMessageRecipient(_ recipient: HMSMessageRecipient) -> [String: Any] {
593
- return ["recipientPeer": getHmsPeer(recipient.peerRecipient), "recipientRoles": getAllRoles(recipient.rolesRecipient), "type": self.getRecipientType(from: recipient.type)]
594
+ return ["recipientPeer": getHmsPeer(recipient.peerRecipient), "recipientRoles": getAllRoles(recipient.rolesRecipient), "recipientType": self.getRecipientType(from: recipient.type)]
594
595
  }
595
596
 
596
597
  static func getHmsNetworkQuality(_ hmsNetworkQuality: HMSNetworkQuality?) -> [String: Any] {
@@ -1,7 +1,7 @@
1
1
  import HMSSDK
2
2
  import Foundation
3
3
 
4
- class HmsHelper: NSObject {
4
+ class HMSHelper: NSObject {
5
5
 
6
6
  static func getPeerFromPeerId(_ peerID: String?, remotePeers: [HMSRemotePeer]?, localPeer: HMSLocalPeer?) -> HMSPeer? {
7
7
 
@@ -113,7 +113,7 @@ class HmsHelper: NSObject {
113
113
  return nil
114
114
  }
115
115
 
116
- static func getHms(_ credentials: NSDictionary, _ hmsCollection: [String: HmsSDK]) -> HmsSDK? {
116
+ static func getHms(_ credentials: NSDictionary, _ hmsCollection: [String: HMSRNSDK]) -> HMSRNSDK? {
117
117
  guard let id = credentials.value(forKey: "id") as? String,
118
118
  let hms = hmsCollection[id]
119
119
  else {
@@ -130,13 +130,19 @@ class HmsHelper: NSObject {
130
130
  let maxFrameRate = data.value(forKey: "maxFrameRate") as? Int,
131
131
  let cameraFacing = data.value(forKey: "cameraFacing") as? String,
132
132
  let trackDescription = data.value(forKey: "trackDescription") as? String?,
133
- let resolutionObj = HmsHelper.getVideoResolution(resolution ?? [:])
133
+ let resolutionObj = HMSHelper.getVideoResolution(resolution ?? [:])
134
134
  else {
135
135
  return nil
136
136
  }
137
- let codecEncoded = HmsHelper.getVideoCodec(codec)
138
- let cameraFacingEncoded = HmsHelper.getCameraFacing(cameraFacing)
139
- let hmsTrackSettings = HMSVideoTrackSettings(codec: codecEncoded, resolution: resolutionObj, maxBitrate: maxBitrate, maxFrameRate: maxFrameRate, cameraFacing: cameraFacingEncoded, trackDescription: trackDescription)
137
+ let codecEncoded = HMSHelper.getVideoCodec(codec)
138
+ let cameraFacingEncoded = HMSHelper.getCameraFacing(cameraFacing)
139
+ let hmsTrackSettings = HMSVideoTrackSettings(codec: codecEncoded,
140
+ resolution: resolutionObj,
141
+ maxBitrate: maxBitrate,
142
+ maxFrameRate: maxFrameRate,
143
+ cameraFacing: cameraFacingEncoded,
144
+ trackDescription: trackDescription,
145
+ videoPlugins: nil)
140
146
  return hmsTrackSettings
141
147
  }
142
148
 
@@ -201,7 +207,7 @@ class HmsHelper: NSObject {
201
207
  static func getHMSHLSMeetingURLVariants(_ variants: [[String: Any]]?) -> [HMSHLSMeetingURLVariant] {
202
208
  var hlsVariants: [HMSHLSMeetingURLVariant] = []
203
209
  for variant in variants ?? [] {
204
- let meetingURLVariant = HmsHelper.getHMSHLSMeetingURLVariant(variant)
210
+ let meetingURLVariant = HMSHelper.getHMSHLSMeetingURLVariant(variant)
205
211
  if let extractedVariant = meetingURLVariant {
206
212
  hlsVariants.append(extractedVariant)
207
213
  }
@@ -1,7 +1,7 @@
1
1
  #import <React/RCTEventEmitter.h>
2
2
  #import <Foundation/Foundation.h>
3
3
 
4
- @interface RCT_EXTERN_MODULE(HmsManager, RCTEventEmitter)
4
+ @interface RCT_EXTERN_MODULE(HMSManager, RCTEventEmitter)
5
5
 
6
6
  RCT_EXTERN_METHOD(join: (NSDictionary) credentials)
7
7
  RCT_EXTERN_METHOD(preview: (NSDictionary) credentials)
@@ -36,4 +36,5 @@ RCT_EXTERN_METHOD(stopHLSStreaming: (NSDictionary) data :(RCTPromiseResolveBlock
36
36
  RCT_EXTERN_METHOD(changeName: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
37
37
  RCT_EXTERN_METHOD(enableRTCStats: (NSDictionary) data)
38
38
  RCT_EXTERN_METHOD(disableRTCStats: (NSDictionary) data)
39
+ RCT_EXTERN_METHOD(destroy: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
39
40
  @end