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

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 (181) hide show
  1. package/README.md +1 -2
  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 +1 -1
  10. package/android/src/main/java/com/reactnativehmssdk/HmsHelper.kt +80 -73
  11. package/android/src/main/java/com/reactnativehmssdk/HmsSDK.kt +1 -1
  12. package/android/src/main/java/com/reactnativehmssdk/HmsView.kt +9 -9
  13. package/android/src/main/java/com/reactnativehmssdk/HmssdkViewManager.kt +29 -8
  14. package/ios/HmsView.swift +2 -14
  15. package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
  16. package/lib/commonjs/classes/HMSAudioSettings.js.map +1 -1
  17. package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
  18. package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
  19. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  20. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
  21. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
  22. package/lib/commonjs/classes/HMSConfig.js.map +1 -1
  23. package/lib/commonjs/classes/HMSEncoder.js +15 -7
  24. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  25. package/lib/commonjs/classes/HMSException.js.map +1 -1
  26. package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
  27. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  28. package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -1
  29. package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -1
  30. package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
  31. package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
  32. package/lib/commonjs/classes/HMSHelper.js.map +1 -1
  33. package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -1
  34. package/lib/commonjs/classes/HMSLocalAudioTrack.js +3 -5
  35. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  36. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  37. package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -1
  38. package/lib/commonjs/classes/HMSLocalVideoTrack.js +3 -5
  39. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  40. package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
  41. package/lib/commonjs/classes/HMSLogger.js +19 -1
  42. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  43. package/lib/commonjs/classes/HMSMessage.js +1 -1
  44. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  45. package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
  46. package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
  47. package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -1
  48. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  49. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  50. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  51. package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
  52. package/lib/commonjs/classes/HMSRTCStats.js.map +1 -1
  53. package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -1
  54. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  55. package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -1
  56. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +3 -5
  57. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  58. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  59. package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -1
  60. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +3 -5
  61. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  62. package/lib/commonjs/classes/HMSRole.js.map +1 -1
  63. package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
  64. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  65. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  66. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  67. package/lib/commonjs/classes/HMSSDK.js +77 -202
  68. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  69. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  70. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js.map +1 -1
  71. package/lib/commonjs/classes/HMSSimulcastSettings.js.map +1 -1
  72. package/lib/commonjs/classes/HMSSpeaker.js.map +1 -1
  73. package/lib/commonjs/classes/HMSSpeakerUpdate.js.map +1 -1
  74. package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
  75. package/lib/commonjs/classes/HMSTrack.js.map +1 -1
  76. package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
  77. package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
  78. package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
  79. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  80. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  81. package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -1
  82. package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
  83. package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
  84. package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
  85. package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
  86. package/lib/commonjs/classes/HmsView.js +64 -16
  87. package/lib/commonjs/classes/HmsView.js.map +1 -1
  88. package/lib/commonjs/index.js +0 -14
  89. package/lib/commonjs/index.js.map +1 -1
  90. package/lib/module/classes/HMSAudioCodec.js.map +1 -1
  91. package/lib/module/classes/HMSAudioSettings.js.map +1 -1
  92. package/lib/module/classes/HMSAudioTrack.js.map +1 -1
  93. package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
  94. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  95. package/lib/module/classes/HMSCameraFacing.js.map +1 -1
  96. package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
  97. package/lib/module/classes/HMSConfig.js.map +1 -1
  98. package/lib/module/classes/HMSEncoder.js +5 -1
  99. package/lib/module/classes/HMSEncoder.js.map +1 -1
  100. package/lib/module/classes/HMSException.js.map +1 -1
  101. package/lib/module/classes/HMSHLSConfig.js.map +1 -1
  102. package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  103. package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -1
  104. package/lib/module/classes/HMSHLSRecordingState.js.map +1 -1
  105. package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
  106. package/lib/module/classes/HMSHLSVariant.js.map +1 -1
  107. package/lib/module/classes/HMSHelper.js.map +1 -1
  108. package/lib/module/classes/HMSLocalAudioStats.js.map +1 -1
  109. package/lib/module/classes/HMSLocalAudioTrack.js +3 -3
  110. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  111. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  112. package/lib/module/classes/HMSLocalVideoStats.js.map +1 -1
  113. package/lib/module/classes/HMSLocalVideoTrack.js +3 -3
  114. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  115. package/lib/module/classes/HMSLogLevel.js.map +1 -1
  116. package/lib/module/classes/HMSLogger.js +10 -0
  117. package/lib/module/classes/HMSLogger.js.map +1 -1
  118. package/lib/module/classes/HMSMessage.js +1 -1
  119. package/lib/module/classes/HMSMessage.js.map +1 -1
  120. package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
  121. package/lib/module/classes/HMSMessageRecipientType.js.map +1 -1
  122. package/lib/module/classes/HMSNetworkQuality.js.map +1 -1
  123. package/lib/module/classes/HMSPeer.js.map +1 -1
  124. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  125. package/lib/module/classes/HMSPermissions.js.map +1 -1
  126. package/lib/module/classes/HMSPublishSettings.js.map +1 -1
  127. package/lib/module/classes/HMSRTCStats.js.map +1 -1
  128. package/lib/module/classes/HMSRTCStatsReport.js.map +1 -1
  129. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  130. package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -1
  131. package/lib/module/classes/HMSRemoteAudioTrack.js +3 -3
  132. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  133. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  134. package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -1
  135. package/lib/module/classes/HMSRemoteVideoTrack.js +3 -3
  136. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  137. package/lib/module/classes/HMSRole.js.map +1 -1
  138. package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
  139. package/lib/module/classes/HMSRoom.js.map +1 -1
  140. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  141. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  142. package/lib/module/classes/HMSSDK.js +77 -203
  143. package/lib/module/classes/HMSSDK.js.map +1 -1
  144. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  145. package/lib/module/classes/HMSSimulcastLayerSettings.js.map +1 -1
  146. package/lib/module/classes/HMSSimulcastSettings.js.map +1 -1
  147. package/lib/module/classes/HMSSpeaker.js.map +1 -1
  148. package/lib/module/classes/HMSSpeakerUpdate.js.map +1 -1
  149. package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
  150. package/lib/module/classes/HMSTrack.js.map +1 -1
  151. package/lib/module/classes/HMSTrackSettings.js.map +1 -1
  152. package/lib/module/classes/HMSTrackType.js.map +1 -1
  153. package/lib/module/classes/HMSTrackUpdate.js.map +1 -1
  154. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  155. package/lib/module/classes/HMSVideoCodec.js.map +1 -1
  156. package/lib/module/classes/HMSVideoResolution.js.map +1 -1
  157. package/lib/module/classes/HMSVideoSettings.js.map +1 -1
  158. package/lib/module/classes/HMSVideoTrack.js.map +1 -1
  159. package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
  160. package/lib/module/classes/HMSVideoViewMode.js.map +1 -1
  161. package/lib/module/classes/HmsView.js +62 -16
  162. package/lib/module/classes/HmsView.js.map +1 -1
  163. package/lib/module/index.js +0 -1
  164. package/lib/module/index.js.map +1 -1
  165. package/lib/typescript/classes/HMSEncoder.d.ts +5 -1
  166. package/lib/typescript/classes/HMSLogger.d.ts +3 -0
  167. package/lib/typescript/classes/HMSSDK.d.ts +4 -8
  168. package/lib/typescript/classes/HmsView.d.ts +5 -7
  169. package/lib/typescript/index.d.ts +0 -1
  170. package/package.json +2 -2
  171. package/react-native-hms.podspec +1 -1
  172. package/src/classes/HMSEncoder.ts +5 -9
  173. package/src/classes/HMSLocalAudioTrack.ts +3 -3
  174. package/src/classes/HMSLocalVideoTrack.ts +3 -3
  175. package/src/classes/HMSLogger.ts +11 -0
  176. package/src/classes/HMSMessage.ts +1 -1
  177. package/src/classes/HMSRemoteAudioTrack.ts +3 -3
  178. package/src/classes/HMSRemoteVideoTrack.ts +3 -3
  179. package/src/classes/HMSSDK.tsx +18 -32
  180. package/src/classes/HmsView.tsx +98 -48
  181. package/src/index.ts +0 -1
package/README.md CHANGED
@@ -192,10 +192,9 @@ const styles = StyleSheet.create({
192
192
  });
193
193
 
194
194
  // trackId can be acquired from the method explained above
195
- // sink is passed false video would be removed. It is a ios only prop, for android it is handled by the package itself.
196
195
  // scaleType can be selected from HMSVideoViewMode as required
197
196
  // mirror can be passed as true to flip videos horizontally
198
- <HmsView sink={true} style={styles.hmsView} trackId={trackId} mirror={true} scaleType={HMSVideoViewMode.ASPECT_FIT} />
197
+ <HmsView style={styles.hmsView} trackId={trackId} mirror={true} scaleType={HMSVideoViewMode.ASPECT_FIT} />
199
198
 
200
199
  ...
201
200
  ```
@@ -63,7 +63,7 @@ dependencies {
63
63
  //noinspection GradleDynamicVersion
64
64
  implementation "com.facebook.react:react-native:+"
65
65
  implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" // From node_modules
66
- implementation 'com.github.100mslive.android-sdk:lib:2.3.5'
66
+ implementation 'com.github.100mslive.android-sdk:lib:2.3.7'
67
67
  implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0'
68
68
  implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
69
69
  implementation 'androidx.appcompat:appcompat:1.3.1'
@@ -2,15 +2,18 @@ package com.reactnativehmssdk
2
2
 
3
3
  import android.content.Context
4
4
  import android.graphics.Bitmap
5
- import android.media.MediaScannerConnection
6
5
  import android.os.Build
7
- import android.os.Environment
8
6
  import android.os.Handler
7
+ import android.util.Base64
9
8
  import android.util.Log
10
9
  import android.view.PixelCopy
11
10
  import androidx.annotation.RequiresApi
11
+ import com.facebook.react.bridge.*
12
12
  import com.facebook.react.bridge.ReadableArray
13
13
  import com.facebook.react.bridge.ReadableMap
14
+ import com.facebook.react.uimanager.events.RCTEventEmitter
15
+ import java.io.ByteArrayOutputStream
16
+ import java.util.*
14
17
  import live.hms.video.error.HMSException
15
18
  import live.hms.video.media.codec.HMSAudioCodec
16
19
  import live.hms.video.media.codec.HMSVideoCodec
@@ -25,9 +28,6 @@ import live.hms.video.sdk.models.*
25
28
  import live.hms.video.sdk.models.role.HMSRole
26
29
  import live.hms.video.utils.HmsUtilities
27
30
  import org.webrtc.SurfaceViewRenderer
28
- import java.io.File
29
- import java.io.FileOutputStream
30
- import java.util.*
31
31
 
32
32
  object HmsHelper {
33
33
 
@@ -136,7 +136,9 @@ object HmsHelper {
136
136
  var useHardwareEchoCancellation = false
137
137
  val requiredKeysUseHardwareEchoCancellation =
138
138
  this.areAllRequiredKeysAvailable(
139
- data, arrayOf(Pair("useHardwareEchoCancellation", "Boolean")))
139
+ data,
140
+ arrayOf(Pair("useHardwareEchoCancellation", "Boolean"))
141
+ )
140
142
  if (requiredKeysUseHardwareEchoCancellation) {
141
143
  useHardwareEchoCancellation = data.getBoolean("useHardwareEchoCancellation")
142
144
  }
@@ -291,11 +293,17 @@ object HmsHelper {
291
293
  var singleFilePerLayer = false
292
294
  var videoOnDemand = false
293
295
  if (areAllRequiredKeysAvailable(
294
- hmsHlsRecordingConfig, arrayOf(Pair("singleFilePerLayer", "Boolean")))) {
296
+ hmsHlsRecordingConfig,
297
+ arrayOf(Pair("singleFilePerLayer", "Boolean"))
298
+ )
299
+ ) {
295
300
  singleFilePerLayer = hmsHlsRecordingConfig.getBoolean("singleFilePerLayer")
296
301
  }
297
302
  if (areAllRequiredKeysAvailable(
298
- hmsHlsRecordingConfig, arrayOf(Pair("videoOnDemand", "Boolean")))) {
303
+ hmsHlsRecordingConfig,
304
+ arrayOf(Pair("videoOnDemand", "Boolean"))
305
+ )
306
+ ) {
299
307
  videoOnDemand = hmsHlsRecordingConfig.getBoolean("videoOnDemand")
300
308
  }
301
309
  return HMSHlsRecordingConfig(singleFilePerLayer, videoOnDemand)
@@ -329,7 +337,9 @@ object HmsHelper {
329
337
  arrayOf(
330
338
  Pair("endpoint", "String"),
331
339
  Pair("metadata", "String"),
332
- Pair("captureNetworkQualityInPreview", "Boolean"))) -> {
340
+ Pair("captureNetworkQualityInPreview", "Boolean")
341
+ )
342
+ ) -> {
333
343
  config =
334
344
  HMSConfig(
335
345
  credentials.getString("username") as String,
@@ -341,7 +351,9 @@ object HmsHelper {
341
351
  )
342
352
  }
343
353
  areAllRequiredKeysAvailable(
344
- credentials, arrayOf(Pair("endpoint", "String"), Pair("metadata", "String"))) -> {
354
+ credentials,
355
+ arrayOf(Pair("endpoint", "String"), Pair("metadata", "String"))
356
+ ) -> {
345
357
  config =
346
358
  HMSConfig(
347
359
  credentials.getString("username") as String,
@@ -352,8 +364,8 @@ object HmsHelper {
352
364
  }
353
365
  areAllRequiredKeysAvailable(
354
366
  credentials,
355
- arrayOf(
356
- Pair("endpoint", "String"), Pair("captureNetworkQualityInPreview", "Boolean"))) -> {
367
+ arrayOf(Pair("endpoint", "String"), Pair("captureNetworkQualityInPreview", "Boolean"))
368
+ ) -> {
357
369
  config =
358
370
  HMSConfig(
359
371
  credentials.getString("username") as String,
@@ -365,8 +377,8 @@ object HmsHelper {
365
377
  }
366
378
  areAllRequiredKeysAvailable(
367
379
  credentials,
368
- arrayOf(
369
- Pair("metadata", "String"), Pair("captureNetworkQualityInPreview", "Boolean"))) -> {
380
+ arrayOf(Pair("metadata", "String"), Pair("captureNetworkQualityInPreview", "Boolean"))
381
+ ) -> {
370
382
  config =
371
383
  HMSConfig(
372
384
  credentials.getString("username") as String,
@@ -393,83 +405,78 @@ object HmsHelper {
393
405
  )
394
406
  }
395
407
  areAllRequiredKeysAvailable(
396
- credentials, arrayOf(Pair("captureNetworkQualityInPreview", "Boolean"))) -> {
408
+ credentials,
409
+ arrayOf(Pair("captureNetworkQualityInPreview", "Boolean"))
410
+ ) -> {
397
411
  config =
398
412
  HMSConfig(
399
413
  credentials.getString("username") as String,
400
414
  credentials.getString("authToken") as String,
401
415
  captureNetworkQualityInPreview =
402
- credentials.getBoolean("captureNetworkQualityInPreview"))
416
+ credentials.getBoolean("captureNetworkQualityInPreview")
417
+ )
403
418
  }
404
419
  }
405
420
  return config
406
421
  }
407
422
 
408
423
  @RequiresApi(Build.VERSION_CODES.N)
409
- fun captureSurfaceView(surfaceView: SurfaceViewRenderer, context: Context, id: String?) {
424
+ fun captureSurfaceView(
425
+ surfaceView: SurfaceViewRenderer,
426
+ sdkId: String,
427
+ args: ReadableArray?,
428
+ context: Context,
429
+ id: Int
430
+ ) {
431
+ val output = Arguments.createMap()
432
+ if (args != null) {
433
+ output.putInt("requestId", args.getInt(0))
434
+ } else {
435
+ output.putInt("requestId", -1)
436
+ }
437
+ val reactContext = context as ReactContext
410
438
  try {
411
439
  val bitmap: Bitmap =
412
- Bitmap.createBitmap(surfaceView.width, surfaceView.height, Bitmap.Config.ARGB_8888)
440
+ Bitmap.createBitmap(surfaceView.width, surfaceView.height, Bitmap.Config.ARGB_8888)
413
441
  PixelCopy.request(
414
- surfaceView,
415
- bitmap,
416
- { copyResult ->
417
- if (copyResult === PixelCopy.SUCCESS) {
418
- Log.d("captureSurfaceView", "bitmap: $bitmap")
419
- saveImage(bitmap, context, id)
420
- } else {
421
- HmsModule.hmsCollection[id]?.emitHMSError(
422
- HMSException(
423
- 103,
424
- copyResult.toString(),
425
- copyResult.toString(),
426
- copyResult.toString(),
427
- copyResult.toString()
442
+ surfaceView,
443
+ bitmap,
444
+ { copyResult ->
445
+ if (copyResult === PixelCopy.SUCCESS) {
446
+ Log.d("captureSurfaceView", "bitmap: $bitmap")
447
+ val byteArrayOutputStream = ByteArrayOutputStream()
448
+ bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream)
449
+ val byteArray = byteArrayOutputStream.toByteArray()
450
+ val encoded: String = Base64.encodeToString(byteArray, Base64.DEFAULT)
451
+ Log.d("captureSurfaceView", "Base64: $encoded")
452
+ output.putString("result", encoded)
453
+ reactContext
454
+ .getJSModule(RCTEventEmitter::class.java)
455
+ .receiveEvent(id, "captureFrame", output)
456
+ } else {
457
+ Log.e("captureSurfaceView", "copyResult: $copyResult")
458
+ HmsModule.hmsCollection[sdkId]?.emitHMSError(
459
+ HMSException(
460
+ 103,
461
+ copyResult.toString(),
462
+ copyResult.toString(),
463
+ copyResult.toString(),
464
+ copyResult.toString()
465
+ )
428
466
  )
429
- )
430
- Log.e("captureSurfaceView", "copyResult: $copyResult")
431
- }
432
- },
433
- Handler()
467
+ output.putString("error", copyResult.toString())
468
+ reactContext
469
+ .getJSModule(RCTEventEmitter::class.java)
470
+ .receiveEvent(id, "captureFrame", output)
471
+ }
472
+ },
473
+ Handler()
434
474
  )
435
475
  } catch (e: Exception) {
436
476
  Log.e("captureSurfaceView", "error: $e")
437
- }
438
- }
439
-
440
- private fun saveImage(finalBitmap: Bitmap, context: Context, id: String?) {
441
- val folder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM)
442
- if (!folder.exists()) {
443
- folder.mkdir()
444
- }
445
- val generator = Random()
446
- var n = 10000
447
- n = generator.nextInt(n)
448
- val fileName = "Image-$n.jpg"
449
- val file = File(folder.absolutePath, fileName)
450
- if (file.exists()) file.delete()
451
- try {
452
- val out = FileOutputStream(file)
453
- finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out)
454
- out.flush()
455
- out.close()
456
- } catch (e: Exception) {
457
- HmsModule.hmsCollection[id]?.emitHMSError(
458
- HMSException(
459
- 103,
460
- e.message.toString(),
461
- e.message.toString(),
462
- e.message.toString(),
463
- e.message.toString()
464
- )
465
- )
466
- Log.e("saveImage", "error: $e")
467
- }
468
- // Tell the media scanner about the new file so that it is
469
- // immediately available to the user.
470
- MediaScannerConnection.scanFile(context, arrayOf(file.toString()), null) { path, uri ->
471
- Log.i("ExternalStorage", "Scanned $path:")
472
- Log.i("ExternalStorage", "-> uri=$uri")
477
+ HmsModule.hmsCollection[sdkId]?.emitHMSError(e as HMSException)
478
+ output.putString("error", e.message)
479
+ reactContext.getJSModule(RCTEventEmitter::class.java).receiveEvent(id, "captureFrame", output)
473
480
  }
474
481
  }
475
482
  }
@@ -305,7 +305,7 @@ class HmsSDK(
305
305
  data.putMap("sender", HmsDecoder.getHmsPeer(message.sender))
306
306
  data.putString("message", message.message)
307
307
  data.putString("type", message.type)
308
- data.putString("time", message.serverReceiveTime.toString())
308
+ data.putString("time", message.serverReceiveTime.time.toString())
309
309
  data.putString("id", id)
310
310
  data.putMap("recipient", HmsDecoder.getHmsMessageRecipient(message.recipient))
311
311
 
@@ -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
@@ -23,11 +24,10 @@ class HmsView(context: ReactContext) : FrameLayout(context) {
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, HmsSDK>,
103
+ mirror: Boolean?
104
104
  ) {
105
105
  if (id != null) {
106
106
  sdkId = id
@@ -1,7 +1,10 @@
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
@@ -30,6 +33,32 @@ 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
63
  fun setData(view: HmsView, data: ReadableMap) {
35
64
  val trackId = data.getString("trackId")
@@ -50,14 +79,6 @@ class HmssdkViewManager : SimpleViewManager<HmsView>() {
50
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
83
  private fun getHms(): MutableMap<String, HmsSDK>? {
63
84
  return reactContext?.getNativeModule(HmsModule::class.java)?.getHmsInstance()
package/ios/HmsView.swift CHANGED
@@ -30,8 +30,6 @@ class HmssdkDisplayView: UIView {
30
30
  }()
31
31
 
32
32
  var hmsCollection: [String: HmsSDK] = [:]
33
- var sinked = false
34
- var sinkVideo = true
35
33
 
36
34
  func setHms(_ hmsInstance: [String: HmsSDK]) {
37
35
  hmsCollection = hmsInstance
@@ -61,8 +59,7 @@ class HmssdkDisplayView: UIView {
61
59
  let sdkID = data.value(forKey: "id") as? String ?? "12345"
62
60
 
63
61
  guard let hmsSDK = hmsCollection[sdkID]?.hms,
64
- let trackID = data.value(forKey: "trackId") as? String,
65
- let sink = data.value(forKey: "sink") as? Bool
62
+ let trackID = data.value(forKey: "trackId") as? String
66
63
  else {
67
64
  print(#function, "Required data to setup video view not found")
68
65
  return
@@ -79,20 +76,11 @@ class HmssdkDisplayView: UIView {
79
76
  }
80
77
 
81
78
  if videoTrack != nil {
82
- sinkVideo = sink
83
-
84
79
  let mirror = data.value(forKey: "mirror") as? Bool
85
80
  if mirror != nil {
86
81
  videoView.mirror = mirror!
87
82
  }
88
-
89
- if !sinked && sinkVideo {
90
- videoView.setVideoTrack(videoTrack)
91
- sinked = true
92
- } else if !sinkVideo {
93
- videoView.setVideoTrack(nil)
94
- sinked = false
95
- }
83
+ videoView.setVideoTrack(videoTrack)
96
84
  } else {
97
85
  print(#function, "Required data to setup video view not found")
98
86
  return
@@ -1 +1 @@
1
- {"version":3,"sources":["HMSAudioCodec.ts"],"names":["HMSAudioCodec"],"mappings":";;;;;;IAAYA,a;;;WAAAA,a;AAAAA,EAAAA,a;GAAAA,a,6BAAAA,a","sourcesContent":["export enum HMSAudioCodec {\n opus = 'opus',\n}\n"]}
1
+ {"version":3,"names":["HMSAudioCodec"],"sources":["HMSAudioCodec.ts"],"sourcesContent":["export enum HMSAudioCodec {\n opus = 'opus',\n}\n"],"mappings":";;;;;;IAAYA,a;;;WAAAA,a;EAAAA,a;GAAAA,a,6BAAAA,a"}
@@ -1 +1 @@
1
- {"version":3,"sources":["HMSAudioSettings.ts"],"names":["HMSAudioSettings","constructor","params","bitRate","codec"],"mappings":";;;;;;;;;AAEO,MAAMA,gBAAN,CAAuB;AAI5BC,EAAAA,WAAW,CAACC,MAAD,EAAoD;AAAA;;AAAA;;AAC7D,SAAKC,OAAL,GAAeD,MAAM,CAACC,OAAtB;AACA,SAAKC,KAAL,GAAaF,MAAM,CAACE,KAApB;AACD;;AAP2B","sourcesContent":["import type { HMSAudioCodec } from './HMSAudioCodec';\n\nexport class HMSAudioSettings {\n bitRate: number;\n codec: HMSAudioCodec;\n\n constructor(params: { bitRate: number; codec: HMSAudioCodec }) {\n this.bitRate = params.bitRate;\n this.codec = params.codec;\n }\n}\n"]}
1
+ {"version":3,"names":["HMSAudioSettings","constructor","params","bitRate","codec"],"sources":["HMSAudioSettings.ts"],"sourcesContent":["import type { HMSAudioCodec } from './HMSAudioCodec';\n\nexport class HMSAudioSettings {\n bitRate: number;\n codec: HMSAudioCodec;\n\n constructor(params: { bitRate: number; codec: HMSAudioCodec }) {\n this.bitRate = params.bitRate;\n this.codec = params.codec;\n }\n}\n"],"mappings":";;;;;;;;;AAEO,MAAMA,gBAAN,CAAuB;EAI5BC,WAAW,CAACC,MAAD,EAAoD;IAAA;;IAAA;;IAC7D,KAAKC,OAAL,GAAeD,MAAM,CAACC,OAAtB;IACA,KAAKC,KAAL,GAAaF,MAAM,CAACE,KAApB;EACD;;AAP2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["HMSAudioTrack.ts"],"names":["HMSAudioTrack","HMSTrack","constructor","params"],"mappings":";;;;;;;AAAA;;AAGO,MAAMA,aAAN,SAA4BC,kBAA5B,CAAqC;AAC1CC,EAAAA,WAAW,CAACC,MAAD,EAOR;AACD,QAAIA,MAAJ,EAAY;AACV,YAAMA,MAAN;AACD;AACF;;AAZyC","sourcesContent":["import { HMSTrack } from './HMSTrack';\nimport type { HMSTrackType } from './HMSTrackType';\n\nexport class HMSAudioTrack extends HMSTrack {\n constructor(params?: {\n trackId: string;\n source?: number | string;\n trackDescription?: string;\n isMute?: boolean;\n id: string;\n type?: HMSTrackType;\n }) {\n if (params) {\n super(params);\n }\n }\n}\n"]}
1
+ {"version":3,"names":["HMSAudioTrack","HMSTrack","constructor","params"],"sources":["HMSAudioTrack.ts"],"sourcesContent":["import { HMSTrack } from './HMSTrack';\nimport type { HMSTrackType } from './HMSTrackType';\n\nexport class HMSAudioTrack extends HMSTrack {\n constructor(params?: {\n trackId: string;\n source?: number | string;\n trackDescription?: string;\n isMute?: boolean;\n id: string;\n type?: HMSTrackType;\n }) {\n if (params) {\n super(params);\n }\n }\n}\n"],"mappings":";;;;;;;AAAA;;AAGO,MAAMA,aAAN,SAA4BC,kBAA5B,CAAqC;EAC1CC,WAAW,CAACC,MAAD,EAOR;IACD,IAAIA,MAAJ,EAAY;MACV,MAAMA,MAAN;IACD;EACF;;AAZyC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["HMSAudioTrackSettings.ts"],"names":["HMSAudioTrackSettings","constructor","params","maxBitrate","trackDescription","codec"],"mappings":";;;;;;;;;AAEO,MAAMA,qBAAN,CAA4B;AAIjCC,EAAAA,WAAW,CAACC,MAAD,EAIR;AAAA;;AAAA;;AAAA;;AACD,SAAKC,UAAL,GAAkBD,MAAM,CAACC,UAAzB;AACA,SAAKC,gBAAL,GAAwBF,MAAM,CAACE,gBAA/B;AACA,SAAKC,KAAL,GAAaH,MAAM,CAACG,KAApB;AACD;;AAZgC","sourcesContent":["import type { HMSAudioCodec } from './HMSAudioCodec';\n\nexport class HMSAudioTrackSettings {\n maxBitrate?: number;\n trackDescription?: string;\n codec?: HMSAudioCodec;\n constructor(params: {\n maxBitrate: number;\n trackDescription?: string;\n codec: HMSAudioCodec;\n }) {\n this.maxBitrate = params.maxBitrate;\n this.trackDescription = params.trackDescription;\n this.codec = params.codec;\n }\n}\n"]}
1
+ {"version":3,"names":["HMSAudioTrackSettings","constructor","params","maxBitrate","trackDescription","codec"],"sources":["HMSAudioTrackSettings.ts"],"sourcesContent":["import type { HMSAudioCodec } from './HMSAudioCodec';\n\nexport class HMSAudioTrackSettings {\n maxBitrate?: number;\n trackDescription?: string;\n codec?: HMSAudioCodec;\n constructor(params: {\n maxBitrate: number;\n trackDescription?: string;\n codec: HMSAudioCodec;\n }) {\n this.maxBitrate = params.maxBitrate;\n this.trackDescription = params.trackDescription;\n this.codec = params.codec;\n }\n}\n"],"mappings":";;;;;;;;;AAEO,MAAMA,qBAAN,CAA4B;EAIjCC,WAAW,CAACC,MAAD,EAIR;IAAA;;IAAA;;IAAA;;IACD,KAAKC,UAAL,GAAkBD,MAAM,CAACC,UAAzB;IACA,KAAKC,gBAAL,GAAwBF,MAAM,CAACE,gBAA/B;IACA,KAAKC,KAAL,GAAaH,MAAM,CAACG,KAApB;EACD;;AAZgC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["HMSBrowserRecordingState.ts"],"names":["HMSBrowserRecordingState","constructor","params","running","error","startedAt","stoppedAt"],"mappings":";;;;;;;;;AAEO,MAAMA,wBAAN,CAA+B;AAMpCC,EAAAA,WAAW,CAACC,MAAD,EAKR;AAAA;;AAAA;;AAAA;;AAAA;;AACD,SAAKC,OAAL,GAAeD,MAAM,CAACC,OAAtB;AACA,SAAKC,KAAL,GAAaF,MAAM,CAACE,KAApB;AACA,SAAKC,SAAL,GAAiBH,MAAM,CAACG,SAAxB;AACA,SAAKC,SAAL,GAAiBJ,MAAM,CAACI,SAAxB;AACD;;AAhBmC","sourcesContent":["import type { HMSException } from './HMSException';\n\nexport class HMSBrowserRecordingState {\n running: string;\n error: HMSException;\n startedAt: Date;\n stoppedAt: Date;\n\n constructor(params: {\n running: string;\n error: HMSException;\n startedAt: Date;\n stoppedAt: Date;\n }) {\n this.running = params.running;\n this.error = params.error;\n this.startedAt = params.startedAt;\n this.stoppedAt = params.stoppedAt;\n }\n}\n"]}
1
+ {"version":3,"names":["HMSBrowserRecordingState","constructor","params","running","error","startedAt","stoppedAt"],"sources":["HMSBrowserRecordingState.ts"],"sourcesContent":["import type { HMSException } from './HMSException';\n\nexport class HMSBrowserRecordingState {\n running: string;\n error: HMSException;\n startedAt: Date;\n stoppedAt: Date;\n\n constructor(params: {\n running: string;\n error: HMSException;\n startedAt: Date;\n stoppedAt: Date;\n }) {\n this.running = params.running;\n this.error = params.error;\n this.startedAt = params.startedAt;\n this.stoppedAt = params.stoppedAt;\n }\n}\n"],"mappings":";;;;;;;;;AAEO,MAAMA,wBAAN,CAA+B;EAMpCC,WAAW,CAACC,MAAD,EAKR;IAAA;;IAAA;;IAAA;;IAAA;;IACD,KAAKC,OAAL,GAAeD,MAAM,CAACC,OAAtB;IACA,KAAKC,KAAL,GAAaF,MAAM,CAACE,KAApB;IACA,KAAKC,SAAL,GAAiBH,MAAM,CAACG,SAAxB;IACA,KAAKC,SAAL,GAAiBJ,MAAM,CAACI,SAAxB;EACD;;AAhBmC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["HMSCameraFacing.ts"],"names":["HMSCameraFacing"],"mappings":";;;;;;IAAYA,e;;;WAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;GAAAA,e,+BAAAA,e","sourcesContent":["export enum HMSCameraFacing {\n FRONT = 'FRONT',\n BACK = 'BACK',\n}\n"]}
1
+ {"version":3,"names":["HMSCameraFacing"],"sources":["HMSCameraFacing.ts"],"sourcesContent":["export enum HMSCameraFacing {\n FRONT = 'FRONT',\n BACK = 'BACK',\n}\n"],"mappings":";;;;;;IAAYA,e;;;WAAAA,e;EAAAA,e;EAAAA,e;GAAAA,e,+BAAAA,e"}
@@ -1 +1 @@
1
- {"version":3,"sources":["HMSChangeTrackStateRequest.ts"],"names":["HMSChangeTrackStateRequest","constructor","params","requestedBy","trackType","mute"],"mappings":";;;;;;;;;AAEO,MAAMA,0BAAN,CAAiC;AAKtCC,EAAAA,WAAW,CAACC,MAAD,EAIR;AAAA;;AAAA;;AAAA;;AACD,SAAKC,WAAL,GAAmBD,MAAM,CAACC,WAA1B;AACA,SAAKC,SAAL,GAAiBF,MAAM,CAACE,SAAxB;AACA,SAAKC,IAAL,GAAYH,MAAM,CAACG,IAAnB;AACD;;AAbqC","sourcesContent":["import type { HMSPeer } from './HMSPeer';\n\nexport class HMSChangeTrackStateRequest {\n requestedBy: HMSPeer;\n trackType: string;\n mute: boolean;\n\n constructor(params: {\n requestedBy: HMSPeer;\n trackType: string;\n mute: boolean;\n }) {\n this.requestedBy = params.requestedBy;\n this.trackType = params.trackType;\n this.mute = params.mute;\n }\n}\n"]}
1
+ {"version":3,"names":["HMSChangeTrackStateRequest","constructor","params","requestedBy","trackType","mute"],"sources":["HMSChangeTrackStateRequest.ts"],"sourcesContent":["import type { HMSPeer } from './HMSPeer';\n\nexport class HMSChangeTrackStateRequest {\n requestedBy: HMSPeer;\n trackType: string;\n mute: boolean;\n\n constructor(params: {\n requestedBy: HMSPeer;\n trackType: string;\n mute: boolean;\n }) {\n this.requestedBy = params.requestedBy;\n this.trackType = params.trackType;\n this.mute = params.mute;\n }\n}\n"],"mappings":";;;;;;;;;AAEO,MAAMA,0BAAN,CAAiC;EAKtCC,WAAW,CAACC,MAAD,EAIR;IAAA;;IAAA;;IAAA;;IACD,KAAKC,WAAL,GAAmBD,MAAM,CAACC,WAA1B;IACA,KAAKC,SAAL,GAAiBF,MAAM,CAACE,SAAxB;IACA,KAAKC,IAAL,GAAYH,MAAM,CAACG,IAAnB;EACD;;AAbqC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["HMSConfig.ts"],"names":["HMSConfig","constructor","params","username","authToken","endpoint","metadata","captureNetworkQualityInPreview"],"mappings":";;;;;;;;;AAAO,MAAMA,SAAN,CAAgB;AAOrBC,EAAAA,WAAW,CAACC,MAAD,EAMR;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACD,SAAKC,QAAL,GAAgBD,MAAM,CAACC,QAAvB;AACA,SAAKC,SAAL,GAAiBF,MAAM,CAACE,SAAxB;AACA,SAAKC,QAAL,GAAgBH,MAAM,CAACG,QAAvB;AACA,SAAKC,QAAL,GAAgBJ,MAAM,CAACI,QAAvB;AACA,SAAKC,8BAAL,GAAsCL,MAAM,CAACK,8BAA7C;AACD;;AAnBoB","sourcesContent":["export class HMSConfig {\n username: string;\n authToken: string;\n endpoint?: string;\n metadata?: string;\n captureNetworkQualityInPreview?: boolean;\n\n constructor(params: {\n username: string;\n authToken: string;\n endpoint?: string;\n metadata?: string;\n captureNetworkQualityInPreview?: boolean;\n }) {\n this.username = params.username;\n this.authToken = params.authToken;\n this.endpoint = params.endpoint;\n this.metadata = params.metadata;\n this.captureNetworkQualityInPreview = params.captureNetworkQualityInPreview;\n }\n}\n"]}
1
+ {"version":3,"names":["HMSConfig","constructor","params","username","authToken","endpoint","metadata","captureNetworkQualityInPreview"],"sources":["HMSConfig.ts"],"sourcesContent":["export class HMSConfig {\n username: string;\n authToken: string;\n endpoint?: string;\n metadata?: string;\n captureNetworkQualityInPreview?: boolean;\n\n constructor(params: {\n username: string;\n authToken: string;\n endpoint?: string;\n metadata?: string;\n captureNetworkQualityInPreview?: boolean;\n }) {\n this.username = params.username;\n this.authToken = params.authToken;\n this.endpoint = params.endpoint;\n this.metadata = params.metadata;\n this.captureNetworkQualityInPreview = params.captureNetworkQualityInPreview;\n }\n}\n"],"mappings":";;;;;;;;;AAAO,MAAMA,SAAN,CAAgB;EAOrBC,WAAW,CAACC,MAAD,EAMR;IAAA;;IAAA;;IAAA;;IAAA;;IAAA;;IACD,KAAKC,QAAL,GAAgBD,MAAM,CAACC,QAAvB;IACA,KAAKC,SAAL,GAAiBF,MAAM,CAACE,SAAxB;IACA,KAAKC,QAAL,GAAgBH,MAAM,CAACG,QAAvB;IACA,KAAKC,QAAL,GAAgBJ,MAAM,CAACI,QAAvB;IACA,KAAKC,8BAAL,GAAsCL,MAAM,CAACK,8BAA7C;EACD;;AAnBoB"}
@@ -47,12 +47,20 @@ var _HMSSpeaker = require("./HMSSpeaker");
47
47
 
48
48
  var _HMSSpeakerUpdate = require("./HMSSpeakerUpdate");
49
49
 
50
- var _ = require("..");
51
-
52
50
  var _HMSHLSRecordingState = require("./HMSHLSRecordingState");
53
51
 
54
52
  var _HMSNetworkQuality = require("./HMSNetworkQuality");
55
53
 
54
+ var _HMSBrowserRecordingState = require("./HMSBrowserRecordingState");
55
+
56
+ var _HMSHLSStreamingState = require("./HMSHLSStreamingState");
57
+
58
+ var _HMSHLSVariant = require("./HMSHLSVariant");
59
+
60
+ var _HMSRtmpStreamingState = require("./HMSRtmpStreamingState");
61
+
62
+ var _HMSServerRecordingState = require("./HMSServerRecordingState");
63
+
56
64
  class HMSEncoder {
57
65
  static encodeHmsRoom(room, id) {
58
66
  const encodedObj = {
@@ -388,7 +396,7 @@ class HMSEncoder {
388
396
  }
389
397
 
390
398
  static encodeBrowserRecordingState(data) {
391
- return new _.HMSBrowserRecordingState({
399
+ return new _HMSBrowserRecordingState.HMSBrowserRecordingState({
392
400
  running: data === null || data === void 0 ? void 0 : data.running,
393
401
  startedAt: new Date(parseInt(data === null || data === void 0 ? void 0 : data.startedAt)),
394
402
  stoppedAt: new Date(parseInt(data === null || data === void 0 ? void 0 : data.stoppedAt)),
@@ -397,7 +405,7 @@ class HMSEncoder {
397
405
  }
398
406
 
399
407
  static encodeServerRecordingState(data) {
400
- return new _.HMSServerRecordingState({
408
+ return new _HMSServerRecordingState.HMSServerRecordingState({
401
409
  running: data === null || data === void 0 ? void 0 : data.running,
402
410
  error: data === null || data === void 0 ? void 0 : data.error,
403
411
  startedAt: new Date(parseInt(data === null || data === void 0 ? void 0 : data.startedAt))
@@ -405,7 +413,7 @@ class HMSEncoder {
405
413
  }
406
414
 
407
415
  static encodeRTMPStreamingState(data) {
408
- return new _.HMSRtmpStreamingState({
416
+ return new _HMSRtmpStreamingState.HMSRtmpStreamingState({
409
417
  running: data === null || data === void 0 ? void 0 : data.running,
410
418
  startedAt: new Date(parseInt(data === null || data === void 0 ? void 0 : data.startedAt)),
411
419
  stoppedAt: new Date(parseInt(data === null || data === void 0 ? void 0 : data.stoppedAt)),
@@ -414,7 +422,7 @@ class HMSEncoder {
414
422
  }
415
423
 
416
424
  static encodeHLSStreamingState(data) {
417
- return new _.HMSHLSStreamingState({
425
+ return new _HMSHLSStreamingState.HMSHLSStreamingState({
418
426
  running: data === null || data === void 0 ? void 0 : data.running,
419
427
  variants: this.encodeHLSVariants(data === null || data === void 0 ? void 0 : data.variants)
420
428
  });
@@ -436,7 +444,7 @@ class HMSEncoder {
436
444
  static encodeHLSVariants(data) {
437
445
  let variants = [];
438
446
  data === null || data === void 0 ? void 0 : data.map(item => {
439
- let variant = new _.HMSHLSVariant({
447
+ let variant = new _HMSHLSVariant.HMSHLSVariant({
440
448
  hlsStreamUrl: item.hlsStreamUrl,
441
449
  meetingUrl: item.meetingUrl,
442
450
  metadata: item === null || item === void 0 ? void 0 : item.metadata,