@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.
- package/README.md +1 -2
- package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/checksums/sha1-checksums.bin +0 -0
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/reactnativehmssdk/HmsHelper.kt +80 -73
- package/android/src/main/java/com/reactnativehmssdk/HmsSDK.kt +1 -1
- package/android/src/main/java/com/reactnativehmssdk/HmsView.kt +9 -9
- package/android/src/main/java/com/reactnativehmssdk/HmssdkViewManager.kt +29 -8
- package/ios/HmsView.swift +2 -14
- package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
- package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
- package/lib/commonjs/classes/HMSConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSEncoder.js +15 -7
- package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSException.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
- package/lib/commonjs/classes/HMSHelper.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalAudioTrack.js +3 -5
- package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalVideoTrack.js +3 -5
- package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
- package/lib/commonjs/classes/HMSLogger.js +19 -1
- package/lib/commonjs/classes/HMSLogger.js.map +1 -1
- package/lib/commonjs/classes/HMSMessage.js +1 -1
- package/lib/commonjs/classes/HMSMessage.js.map +1 -1
- package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
- package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
- package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -1
- package/lib/commonjs/classes/HMSPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
- package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSRTCStats.js.map +1 -1
- package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -1
- package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteAudioTrack.js +3 -5
- package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoTrack.js +3 -5
- package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRole.js.map +1 -1
- package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
- package/lib/commonjs/classes/HMSRoom.js.map +1 -1
- package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
- package/lib/commonjs/classes/HMSSDK.js +77 -202
- package/lib/commonjs/classes/HMSSDK.js.map +1 -1
- package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSSimulcastLayerSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSSimulcastSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSSpeaker.js.map +1 -1
- package/lib/commonjs/classes/HMSSpeakerUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
- package/lib/commonjs/classes/HmsView.js +64 -16
- package/lib/commonjs/classes/HmsView.js.map +1 -1
- package/lib/commonjs/index.js +0 -14
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/classes/HMSAudioCodec.js.map +1 -1
- package/lib/module/classes/HMSAudioSettings.js.map +1 -1
- package/lib/module/classes/HMSAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
- package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
- package/lib/module/classes/HMSCameraFacing.js.map +1 -1
- package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
- package/lib/module/classes/HMSConfig.js.map +1 -1
- package/lib/module/classes/HMSEncoder.js +5 -1
- package/lib/module/classes/HMSEncoder.js.map +1 -1
- package/lib/module/classes/HMSException.js.map +1 -1
- package/lib/module/classes/HMSHLSConfig.js.map +1 -1
- package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -1
- package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -1
- package/lib/module/classes/HMSHLSRecordingState.js.map +1 -1
- package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
- package/lib/module/classes/HMSHLSVariant.js.map +1 -1
- package/lib/module/classes/HMSHelper.js.map +1 -1
- package/lib/module/classes/HMSLocalAudioStats.js.map +1 -1
- package/lib/module/classes/HMSLocalAudioTrack.js +3 -3
- package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSLocalPeer.js.map +1 -1
- package/lib/module/classes/HMSLocalVideoStats.js.map +1 -1
- package/lib/module/classes/HMSLocalVideoTrack.js +3 -3
- package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSLogLevel.js.map +1 -1
- package/lib/module/classes/HMSLogger.js +10 -0
- package/lib/module/classes/HMSLogger.js.map +1 -1
- package/lib/module/classes/HMSMessage.js +1 -1
- package/lib/module/classes/HMSMessage.js.map +1 -1
- package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
- package/lib/module/classes/HMSMessageRecipientType.js.map +1 -1
- package/lib/module/classes/HMSNetworkQuality.js.map +1 -1
- package/lib/module/classes/HMSPeer.js.map +1 -1
- package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/module/classes/HMSPermissions.js.map +1 -1
- package/lib/module/classes/HMSPublishSettings.js.map +1 -1
- package/lib/module/classes/HMSRTCStats.js.map +1 -1
- package/lib/module/classes/HMSRTCStatsReport.js.map +1 -1
- package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
- package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -1
- package/lib/module/classes/HMSRemoteAudioTrack.js +3 -3
- package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSRemotePeer.js.map +1 -1
- package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -1
- package/lib/module/classes/HMSRemoteVideoTrack.js +3 -3
- package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSRole.js.map +1 -1
- package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
- package/lib/module/classes/HMSRoom.js.map +1 -1
- package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
- package/lib/module/classes/HMSSDK.js +77 -203
- package/lib/module/classes/HMSSDK.js.map +1 -1
- package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
- package/lib/module/classes/HMSSimulcastLayerSettings.js.map +1 -1
- package/lib/module/classes/HMSSimulcastSettings.js.map +1 -1
- package/lib/module/classes/HMSSpeaker.js.map +1 -1
- package/lib/module/classes/HMSSpeakerUpdate.js.map +1 -1
- package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
- package/lib/module/classes/HMSTrack.js.map +1 -1
- package/lib/module/classes/HMSTrackSettings.js.map +1 -1
- package/lib/module/classes/HMSTrackType.js.map +1 -1
- package/lib/module/classes/HMSTrackUpdate.js.map +1 -1
- package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/module/classes/HMSVideoCodec.js.map +1 -1
- package/lib/module/classes/HMSVideoResolution.js.map +1 -1
- package/lib/module/classes/HMSVideoSettings.js.map +1 -1
- package/lib/module/classes/HMSVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
- package/lib/module/classes/HMSVideoViewMode.js.map +1 -1
- package/lib/module/classes/HmsView.js +62 -16
- package/lib/module/classes/HmsView.js.map +1 -1
- package/lib/module/index.js +0 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/classes/HMSEncoder.d.ts +5 -1
- package/lib/typescript/classes/HMSLogger.d.ts +3 -0
- package/lib/typescript/classes/HMSSDK.d.ts +4 -8
- package/lib/typescript/classes/HmsView.d.ts +5 -7
- package/lib/typescript/index.d.ts +0 -1
- package/package.json +2 -2
- package/react-native-hms.podspec +1 -1
- package/src/classes/HMSEncoder.ts +5 -9
- package/src/classes/HMSLocalAudioTrack.ts +3 -3
- package/src/classes/HMSLocalVideoTrack.ts +3 -3
- package/src/classes/HMSLogger.ts +11 -0
- package/src/classes/HMSMessage.ts +1 -1
- package/src/classes/HMSRemoteAudioTrack.ts +3 -3
- package/src/classes/HMSRemoteVideoTrack.ts +3 -3
- package/src/classes/HMSSDK.tsx +18 -32
- package/src/classes/HmsView.tsx +98 -48
- 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
|
|
197
|
+
<HmsView style={styles.hmsView} trackId={trackId} mirror={true} scaleType={HMSVideoViewMode.ASPECT_FIT} />
|
|
199
198
|
|
|
200
199
|
...
|
|
201
200
|
```
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build.gradle
CHANGED
|
@@ -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.
|
|
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,
|
|
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
|
-
|
|
296
|
+
hmsHlsRecordingConfig,
|
|
297
|
+
arrayOf(Pair("singleFilePerLayer", "Boolean"))
|
|
298
|
+
)
|
|
299
|
+
) {
|
|
295
300
|
singleFilePerLayer = hmsHlsRecordingConfig.getBoolean("singleFilePerLayer")
|
|
296
301
|
}
|
|
297
302
|
if (areAllRequiredKeysAvailable(
|
|
298
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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(
|
|
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
|
-
|
|
440
|
+
Bitmap.createBitmap(surfaceView.width, surfaceView.height, Bitmap.Config.ARGB_8888)
|
|
413
441
|
PixelCopy.request(
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
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
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
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,"
|
|
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,"
|
|
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,"
|
|
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,"
|
|
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,"
|
|
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,"
|
|
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,"
|
|
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,"
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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,
|