@100mslive/react-native-hms 0.9.1 → 0.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +239 -26
- 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/HmsDecoder.kt +22 -0
- package/android/src/main/java/com/reactnativehmssdk/HmsHelper.kt +197 -6
- package/android/src/main/java/com/reactnativehmssdk/HmsModule.kt +2 -2
- package/android/src/main/java/com/reactnativehmssdk/HmsSDK.kt +36 -77
- package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +16 -0
- package/android/src/main/java/com/reactnativehmssdk/HmsView.kt +24 -33
- package/android/src/main/java/com/reactnativehmssdk/HmssdkViewManager.kt +15 -2
- package/ios/HmsDecoder.swift +47 -4
- package/ios/HmsHelper.swift +14 -0
- package/ios/HmsSDK.swift +13 -7
- package/lib/commonjs/classes/HMSConfig.js +3 -0
- package/lib/commonjs/classes/HMSConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSEncoder.js +33 -2
- package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSConfig.js +3 -0
- package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSRecordingConfig.js +23 -0
- package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -0
- package/lib/commonjs/classes/HMSHLSRecordingState.js +29 -0
- package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -0
- package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSLogger.js +21 -21
- package/lib/commonjs/classes/HMSLogger.js.map +1 -1
- package/lib/commonjs/classes/HMSMessage.js +4 -1
- package/lib/commonjs/classes/HMSMessage.js.map +1 -1
- package/lib/commonjs/classes/HMSMessageRecipient.js +26 -0
- package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -0
- package/lib/commonjs/classes/HMSMessageRecipientType.js +15 -0
- package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -0
- package/lib/commonjs/classes/HMSNetworkQuality.js +20 -0
- package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -0
- package/lib/commonjs/classes/HMSPeer.js +3 -0
- package/lib/commonjs/classes/HMSPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSPeerUpdate.js +1 -8
- package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
- package/lib/commonjs/classes/HMSRoom.js +3 -0
- package/lib/commonjs/classes/HMSRoom.js.map +1 -1
- package/lib/commonjs/classes/HMSSDK.js +22 -7
- package/lib/commonjs/classes/HMSSDK.js.map +1 -1
- package/lib/commonjs/classes/HmsView.js +10 -6
- package/lib/commonjs/classes/HmsView.js.map +1 -1
- package/lib/commonjs/index.js +70 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/classes/HMSConfig.js +3 -0
- package/lib/module/classes/HMSConfig.js.map +1 -1
- package/lib/module/classes/HMSEncoder.js +31 -2
- package/lib/module/classes/HMSEncoder.js.map +1 -1
- package/lib/module/classes/HMSHLSConfig.js +3 -0
- package/lib/module/classes/HMSHLSConfig.js.map +1 -1
- package/lib/module/classes/HMSHLSRecordingConfig.js +14 -0
- package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -0
- package/lib/module/classes/HMSHLSRecordingState.js +20 -0
- package/lib/module/classes/HMSHLSRecordingState.js.map +1 -0
- package/lib/module/classes/HMSLocalPeer.js.map +1 -1
- package/lib/module/classes/HMSLogger.js +21 -21
- package/lib/module/classes/HMSLogger.js.map +1 -1
- package/lib/module/classes/HMSMessage.js +4 -1
- package/lib/module/classes/HMSMessage.js.map +1 -1
- package/lib/module/classes/HMSMessageRecipient.js +17 -0
- package/lib/module/classes/HMSMessageRecipient.js.map +1 -0
- package/lib/module/classes/HMSMessageRecipientType.js +8 -0
- package/lib/module/classes/HMSMessageRecipientType.js.map +1 -0
- package/lib/module/classes/HMSNetworkQuality.js +11 -0
- package/lib/module/classes/HMSNetworkQuality.js.map +1 -0
- package/lib/module/classes/HMSPeer.js +3 -0
- package/lib/module/classes/HMSPeer.js.map +1 -1
- package/lib/module/classes/HMSPeerUpdate.js +1 -8
- package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/module/classes/HMSRemotePeer.js.map +1 -1
- package/lib/module/classes/HMSRoom.js +3 -0
- package/lib/module/classes/HMSRoom.js.map +1 -1
- package/lib/module/classes/HMSSDK.js +22 -6
- package/lib/module/classes/HMSSDK.js.map +1 -1
- package/lib/module/classes/HmsView.js +10 -6
- package/lib/module/classes/HmsView.js.map +1 -1
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/classes/HMSConfig.d.ts +2 -0
- package/lib/typescript/classes/HMSEncoder.d.ts +4 -0
- package/lib/typescript/classes/HMSHLSConfig.d.ts +5 -2
- package/lib/typescript/classes/HMSHLSRecordingConfig.d.ts +8 -0
- package/lib/typescript/classes/HMSHLSRecordingState.d.ts +12 -0
- package/lib/typescript/classes/HMSLocalPeer.d.ts +2 -0
- package/lib/typescript/classes/HMSMessage.d.ts +8 -4
- package/lib/typescript/classes/HMSMessageRecipient.d.ts +13 -0
- package/lib/typescript/classes/HMSMessageRecipientType.d.ts +5 -0
- package/lib/typescript/classes/HMSNetworkQuality.d.ts +6 -0
- package/lib/typescript/classes/HMSPeer.d.ts +3 -0
- package/lib/typescript/classes/HMSPeerUpdate.d.ts +1 -8
- package/lib/typescript/classes/HMSRemotePeer.d.ts +2 -0
- package/lib/typescript/classes/HMSRoom.d.ts +3 -0
- package/lib/typescript/classes/HMSSDK.d.ts +299 -10
- package/lib/typescript/classes/HmsView.d.ts +4 -2
- package/lib/typescript/index.d.ts +5 -0
- package/package.json +1 -1
- package/react-native-hms.podspec +1 -1
- package/src/classes/HMSConfig.ts +3 -0
- package/src/classes/HMSEncoder.ts +62 -17
- package/src/classes/HMSHLSConfig.ts +8 -2
- package/src/classes/HMSHLSRecordingConfig.ts +9 -0
- package/src/classes/HMSHLSRecordingState.ts +18 -0
- package/src/classes/HMSLocalPeer.ts +2 -0
- package/src/classes/HMSLogger.ts +3 -3
- package/src/classes/HMSMessage.ts +11 -5
- package/src/classes/HMSMessageRecipient.ts +19 -0
- package/src/classes/HMSMessageRecipientType.ts +5 -0
- package/src/classes/HMSNetworkQuality.ts +7 -0
- package/src/classes/HMSPeer.ts +4 -2
- package/src/classes/HMSPeerUpdate.ts +1 -8
- package/src/classes/HMSRemotePeer.ts +2 -0
- package/src/classes/HMSRoom.ts +4 -0
- package/src/classes/HMSSDK.tsx +306 -11
- package/src/classes/HmsView.tsx +14 -6
- package/src/index.ts +5 -0
|
@@ -26,8 +26,9 @@ class HmsSDK(
|
|
|
26
26
|
reactApplicationContext: ReactApplicationContext
|
|
27
27
|
) {
|
|
28
28
|
var hmsSDK: HMSSDK? = null
|
|
29
|
-
|
|
29
|
+
var screenshareCallback: Promise? = null
|
|
30
30
|
var delegate: HmsModule = HmsDelegate
|
|
31
|
+
private var recentRoleChangeRequest: HMSRoleChangeRequest? = null
|
|
31
32
|
private var context: ReactApplicationContext = reactApplicationContext
|
|
32
33
|
private var previewInProgress: Boolean = false
|
|
33
34
|
private var id: String = sdkId
|
|
@@ -96,42 +97,7 @@ class HmsSDK(
|
|
|
96
97
|
)
|
|
97
98
|
if (requiredKeys) {
|
|
98
99
|
previewInProgress = true
|
|
99
|
-
|
|
100
|
-
HMSConfig(
|
|
101
|
-
credentials.getString("username") as String,
|
|
102
|
-
credentials.getString("authToken") as String,
|
|
103
|
-
)
|
|
104
|
-
|
|
105
|
-
when {
|
|
106
|
-
HmsHelper.areAllRequiredKeysAvailable(
|
|
107
|
-
credentials,
|
|
108
|
-
arrayOf(Pair("endpoint", "String"), Pair("metadata", "String"))
|
|
109
|
-
) -> {
|
|
110
|
-
config =
|
|
111
|
-
HMSConfig(
|
|
112
|
-
credentials.getString("username") as String,
|
|
113
|
-
credentials.getString("authToken") as String,
|
|
114
|
-
initEndpoint = credentials.getString("endpoint") as String,
|
|
115
|
-
metadata = credentials.getString("metadata") as String,
|
|
116
|
-
)
|
|
117
|
-
}
|
|
118
|
-
HmsHelper.areAllRequiredKeysAvailable(credentials, arrayOf(Pair("endpoint", "String"))) -> {
|
|
119
|
-
config =
|
|
120
|
-
HMSConfig(
|
|
121
|
-
credentials.getString("username") as String,
|
|
122
|
-
credentials.getString("authToken") as String,
|
|
123
|
-
initEndpoint = credentials.getString("endpoint") as String,
|
|
124
|
-
)
|
|
125
|
-
}
|
|
126
|
-
HmsHelper.areAllRequiredKeysAvailable(credentials, arrayOf(Pair("metadata", "String"))) -> {
|
|
127
|
-
config =
|
|
128
|
-
HMSConfig(
|
|
129
|
-
credentials.getString("username") as String,
|
|
130
|
-
credentials.getString("authToken") as String,
|
|
131
|
-
metadata = credentials.getString("metadata") as String,
|
|
132
|
-
)
|
|
133
|
-
}
|
|
134
|
-
}
|
|
100
|
+
val config = HmsHelper.getHmsConfig(credentials)
|
|
135
101
|
|
|
136
102
|
hmsSDK?.preview(
|
|
137
103
|
config,
|
|
@@ -142,6 +108,16 @@ class HmsSDK(
|
|
|
142
108
|
}
|
|
143
109
|
|
|
144
110
|
override fun onPeerUpdate(type: HMSPeerUpdate, peer: HMSPeer) {
|
|
111
|
+
if (type === HMSPeerUpdate.AUDIO_TOGGLED ||
|
|
112
|
+
type === HMSPeerUpdate.VIDEO_TOGGLED ||
|
|
113
|
+
type === HMSPeerUpdate.BECAME_DOMINANT_SPEAKER ||
|
|
114
|
+
type === HMSPeerUpdate.NO_DOMINANT_SPEAKER ||
|
|
115
|
+
type === HMSPeerUpdate.RESIGNED_DOMINANT_SPEAKER ||
|
|
116
|
+
type === HMSPeerUpdate.STARTED_SPEAKING ||
|
|
117
|
+
type === HMSPeerUpdate.STOPPED_SPEAKING
|
|
118
|
+
) {
|
|
119
|
+
return
|
|
120
|
+
}
|
|
145
121
|
val updateType = type.name
|
|
146
122
|
val roomData = HmsDecoder.getHmsRoom(hmsSDK?.getRoom())
|
|
147
123
|
val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
|
|
@@ -206,42 +182,7 @@ class HmsSDK(
|
|
|
206
182
|
arrayOf(Pair("username", "String"), Pair("authToken", "String"))
|
|
207
183
|
)
|
|
208
184
|
if (requiredKeys) {
|
|
209
|
-
|
|
210
|
-
HMSConfig(
|
|
211
|
-
credentials.getString("username") as String,
|
|
212
|
-
credentials.getString("authToken") as String
|
|
213
|
-
)
|
|
214
|
-
|
|
215
|
-
when {
|
|
216
|
-
HmsHelper.areAllRequiredKeysAvailable(
|
|
217
|
-
credentials,
|
|
218
|
-
arrayOf(Pair("endpoint", "String"), Pair("metadata", "String"))
|
|
219
|
-
) -> {
|
|
220
|
-
config =
|
|
221
|
-
HMSConfig(
|
|
222
|
-
credentials.getString("username") as String,
|
|
223
|
-
credentials.getString("authToken") as String,
|
|
224
|
-
initEndpoint = credentials.getString("endpoint") as String,
|
|
225
|
-
metadata = credentials.getString("metadata") as String,
|
|
226
|
-
)
|
|
227
|
-
}
|
|
228
|
-
HmsHelper.areAllRequiredKeysAvailable(credentials, arrayOf(Pair("endpoint", "String"))) -> {
|
|
229
|
-
config =
|
|
230
|
-
HMSConfig(
|
|
231
|
-
credentials.getString("username") as String,
|
|
232
|
-
credentials.getString("authToken") as String,
|
|
233
|
-
initEndpoint = credentials.getString("endpoint") as String,
|
|
234
|
-
)
|
|
235
|
-
}
|
|
236
|
-
HmsHelper.areAllRequiredKeysAvailable(credentials, arrayOf(Pair("metadata", "String"))) -> {
|
|
237
|
-
config =
|
|
238
|
-
HMSConfig(
|
|
239
|
-
credentials.getString("username") as String,
|
|
240
|
-
credentials.getString("authToken") as String,
|
|
241
|
-
metadata = credentials.getString("metadata") as String,
|
|
242
|
-
)
|
|
243
|
-
}
|
|
244
|
-
}
|
|
185
|
+
val config = HmsHelper.getHmsConfig(credentials)
|
|
245
186
|
|
|
246
187
|
HMSCoroutineScope.launch {
|
|
247
188
|
try {
|
|
@@ -295,6 +236,16 @@ class HmsSDK(
|
|
|
295
236
|
}
|
|
296
237
|
|
|
297
238
|
override fun onPeerUpdate(type: HMSPeerUpdate, peer: HMSPeer) {
|
|
239
|
+
if (type === HMSPeerUpdate.AUDIO_TOGGLED ||
|
|
240
|
+
type === HMSPeerUpdate.VIDEO_TOGGLED ||
|
|
241
|
+
type === HMSPeerUpdate.BECAME_DOMINANT_SPEAKER ||
|
|
242
|
+
type === HMSPeerUpdate.NO_DOMINANT_SPEAKER ||
|
|
243
|
+
type === HMSPeerUpdate.RESIGNED_DOMINANT_SPEAKER ||
|
|
244
|
+
type === HMSPeerUpdate.STARTED_SPEAKING ||
|
|
245
|
+
type === HMSPeerUpdate.STOPPED_SPEAKING
|
|
246
|
+
) {
|
|
247
|
+
return
|
|
248
|
+
}
|
|
298
249
|
val updateType = type.name
|
|
299
250
|
val roomData = HmsDecoder.getHmsRoom(hmsSDK?.getRoom())
|
|
300
251
|
val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
|
|
@@ -351,12 +302,12 @@ class HmsSDK(
|
|
|
351
302
|
override fun onMessageReceived(message: HMSMessage) {
|
|
352
303
|
val data: WritableMap = Arguments.createMap()
|
|
353
304
|
|
|
354
|
-
data.
|
|
305
|
+
data.putMap("sender", HmsDecoder.getHmsPeer(message.sender))
|
|
355
306
|
data.putString("message", message.message)
|
|
356
307
|
data.putString("type", message.type)
|
|
357
308
|
data.putString("time", message.serverReceiveTime.toString())
|
|
358
309
|
data.putString("id", id)
|
|
359
|
-
data.
|
|
310
|
+
data.putMap("recipient", HmsDecoder.getHmsMessageRecipient(message.recipient))
|
|
360
311
|
|
|
361
312
|
delegate.emitEvent("ON_MESSAGE", data)
|
|
362
313
|
}
|
|
@@ -433,6 +384,7 @@ class HmsSDK(
|
|
|
433
384
|
hmsSDK?.leave(
|
|
434
385
|
object : HMSActionResultListener {
|
|
435
386
|
override fun onSuccess() {
|
|
387
|
+
screenshareCallback = null
|
|
436
388
|
callback?.resolve(emitHMSSuccess())
|
|
437
389
|
}
|
|
438
390
|
|
|
@@ -891,6 +843,9 @@ class HmsSDK(
|
|
|
891
843
|
}
|
|
892
844
|
}
|
|
893
845
|
}
|
|
846
|
+
this.emitCustomError("TRACKID_NOT_MATCHED")
|
|
847
|
+
} else {
|
|
848
|
+
this.emitCustomError("REMOTE_PEERS_NOT_FOUND")
|
|
894
849
|
}
|
|
895
850
|
} else {
|
|
896
851
|
this.emitRequiredKeysError()
|
|
@@ -991,7 +946,8 @@ class HmsSDK(
|
|
|
991
946
|
)
|
|
992
947
|
}
|
|
993
948
|
|
|
994
|
-
fun startScreenshare() {
|
|
949
|
+
fun startScreenshare(callback: Promise?) {
|
|
950
|
+
screenshareCallback = callback
|
|
995
951
|
runOnUiThread {
|
|
996
952
|
val intent = Intent(context, HmsScreenshareActivity::class.java)
|
|
997
953
|
intent.flags = FLAG_ACTIVITY_NEW_TASK
|
|
@@ -1008,10 +964,12 @@ class HmsSDK(
|
|
|
1008
964
|
hmsSDK?.stopScreenshare(
|
|
1009
965
|
object : HMSActionResultListener {
|
|
1010
966
|
override fun onError(error: HMSException) {
|
|
967
|
+
screenshareCallback = null
|
|
1011
968
|
callback?.reject(error.code.toString(), error.message)
|
|
1012
969
|
self.emitHMSError(error)
|
|
1013
970
|
}
|
|
1014
971
|
override fun onSuccess() {
|
|
972
|
+
screenshareCallback = null
|
|
1015
973
|
callback?.resolve(emitHMSSuccess())
|
|
1016
974
|
}
|
|
1017
975
|
}
|
|
@@ -1025,7 +983,8 @@ class HmsSDK(
|
|
|
1025
983
|
val meetingURLVariants =
|
|
1026
984
|
data.getArray("meetingURLVariants")?.toArrayList() as? ArrayList<HashMap<String, String>>
|
|
1027
985
|
val hlsMeetingUrlVariant = HmsHelper.getHMSHLSMeetingURLVariants(meetingURLVariants)
|
|
1028
|
-
val
|
|
986
|
+
val hlsRecordingConfig = HmsHelper.getHlsRecordingConfig(data)
|
|
987
|
+
val config = HMSHLSConfig(hlsMeetingUrlVariant, hlsRecordingConfig)
|
|
1029
988
|
|
|
1030
989
|
hmsSDK?.startHLSStreaming(
|
|
1031
990
|
config,
|
|
@@ -8,6 +8,8 @@ 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
|
|
11
13
|
import live.hms.video.error.HMSException
|
|
12
14
|
import live.hms.video.sdk.HMSActionResultListener
|
|
13
15
|
|
|
@@ -21,15 +23,29 @@ class HmsScreenshareActivity : ComponentActivity() {
|
|
|
21
23
|
object : HMSActionResultListener {
|
|
22
24
|
override fun onError(error: HMSException) {
|
|
23
25
|
finish()
|
|
26
|
+
HmsModule.hmsCollection[id]?.screenshareCallback?.reject(error)
|
|
24
27
|
HmsModule.hmsCollection[id]?.emitHMSError(error)
|
|
25
28
|
}
|
|
26
29
|
override fun onSuccess() {
|
|
30
|
+
HmsModule.hmsCollection[id]?.screenshareCallback?.resolve(
|
|
31
|
+
HmsModule.hmsCollection[id]?.emitHMSSuccess()
|
|
32
|
+
)
|
|
27
33
|
finish()
|
|
28
34
|
}
|
|
29
35
|
},
|
|
30
36
|
mediaProjectionPermissionResultData
|
|
31
37
|
)
|
|
32
38
|
} else {
|
|
39
|
+
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)
|
|
33
49
|
finish()
|
|
34
50
|
}
|
|
35
51
|
}
|
|
@@ -2,14 +2,16 @@ package com.reactnativehmssdk
|
|
|
2
2
|
|
|
3
3
|
import android.annotation.SuppressLint
|
|
4
4
|
import android.content.Context
|
|
5
|
+
import android.os.Build
|
|
5
6
|
import android.view.LayoutInflater
|
|
6
7
|
import android.widget.FrameLayout
|
|
8
|
+
import androidx.annotation.RequiresApi
|
|
7
9
|
import com.facebook.react.bridge.Arguments
|
|
8
10
|
import com.facebook.react.bridge.ReactContext
|
|
9
11
|
import com.facebook.react.bridge.WritableMap
|
|
10
12
|
import com.facebook.react.uimanager.events.RCTEventEmitter
|
|
11
|
-
import live.hms.video.media.tracks.HMSTrackType
|
|
12
13
|
import live.hms.video.media.tracks.HMSVideoTrack
|
|
14
|
+
import live.hms.video.utils.HmsUtilities
|
|
13
15
|
import live.hms.video.utils.SharedEglContext
|
|
14
16
|
import org.webrtc.RendererCommon
|
|
15
17
|
import org.webrtc.SurfaceViewRenderer
|
|
@@ -18,19 +20,25 @@ import org.webrtc.SurfaceViewRenderer
|
|
|
18
20
|
class HmsView(context: ReactContext) : FrameLayout(context) {
|
|
19
21
|
private var surfaceView: SurfaceViewRenderer = SurfaceViewRenderer(context)
|
|
20
22
|
private var videoTrack: HMSVideoTrack? = null
|
|
21
|
-
private var localTrack: String? = null
|
|
22
23
|
private var scaleTypeApplied: Boolean = false
|
|
24
|
+
private var sdkId: String = "12345"
|
|
23
25
|
private var currentScaleType: RendererCommon.ScalingType =
|
|
24
|
-
|
|
26
|
+
RendererCommon.ScalingType.SCALE_ASPECT_FILL
|
|
25
27
|
|
|
26
28
|
init {
|
|
27
|
-
val inflater =
|
|
29
|
+
val inflater =
|
|
30
|
+
getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
|
|
28
31
|
val view = inflater.inflate(R.layout.hms_view, this)
|
|
29
32
|
|
|
30
33
|
surfaceView = view.findViewById(R.id.surfaceView)
|
|
31
34
|
surfaceView.setEnableHardwareScaler(true)
|
|
32
35
|
}
|
|
33
36
|
|
|
37
|
+
@RequiresApi(Build.VERSION_CODES.N)
|
|
38
|
+
fun captureHmsView() {
|
|
39
|
+
HmsHelper.captureSurfaceView(surfaceView, context, sdkId)
|
|
40
|
+
}
|
|
41
|
+
|
|
34
42
|
private fun onReceiveNativeEvent() {
|
|
35
43
|
val event: WritableMap = Arguments.createMap()
|
|
36
44
|
event.putString("message", "MyMessage")
|
|
@@ -56,6 +64,13 @@ class HmsView(context: ReactContext) : FrameLayout(context) {
|
|
|
56
64
|
}
|
|
57
65
|
}
|
|
58
66
|
|
|
67
|
+
fun updateZOrderMediaOverlay(setZOrderMediaOverlay: Boolean?) {
|
|
68
|
+
if (setZOrderMediaOverlay != null && setZOrderMediaOverlay) {
|
|
69
|
+
// surfaceView.setZOrderOnTop(true);
|
|
70
|
+
surfaceView.setZOrderMediaOverlay(setZOrderMediaOverlay)
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
59
74
|
fun updateScaleType(scaleType: String?) {
|
|
60
75
|
if (scaleType != null) {
|
|
61
76
|
when (scaleType) {
|
|
@@ -82,45 +97,21 @@ class HmsView(context: ReactContext) : FrameLayout(context) {
|
|
|
82
97
|
}
|
|
83
98
|
|
|
84
99
|
fun setData(
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
100
|
+
id: String?,
|
|
101
|
+
trackId: String?,
|
|
102
|
+
hmsCollection: MutableMap<String, HmsSDK>,
|
|
103
|
+
mirror: Boolean?
|
|
89
104
|
) {
|
|
90
|
-
var sdkId = "12345"
|
|
91
105
|
if (id != null) {
|
|
92
106
|
sdkId = id
|
|
93
107
|
}
|
|
94
|
-
|
|
95
108
|
val hms = hmsCollection[sdkId]?.hmsSDK
|
|
96
109
|
|
|
97
110
|
if (trackId != null && hms != null) {
|
|
98
111
|
if (mirror != null) {
|
|
99
112
|
surfaceView.setMirror(mirror)
|
|
100
113
|
}
|
|
101
|
-
|
|
102
|
-
val localTrackId = hms.getLocalPeer()?.videoTrack?.trackId
|
|
103
|
-
if (localTrackId == localTrack) {
|
|
104
|
-
videoTrack = hms.getLocalPeer()?.videoTrack
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
val remotePeers = hms.getRemotePeers()
|
|
108
|
-
for (peer in remotePeers) {
|
|
109
|
-
val videoTrackId = peer.videoTrack?.trackId
|
|
110
|
-
|
|
111
|
-
val auxiliaryTracks = peer.auxiliaryTracks
|
|
112
|
-
for (track in auxiliaryTracks) {
|
|
113
|
-
val auxTrackId = track.trackId
|
|
114
|
-
if (trackId == auxTrackId && track.type == HMSTrackType.VIDEO && !track.isMute) {
|
|
115
|
-
videoTrack = track as HMSVideoTrack
|
|
116
|
-
return
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
if (videoTrackId == localTrack) {
|
|
120
|
-
videoTrack = peer.videoTrack
|
|
121
|
-
return
|
|
122
|
-
}
|
|
123
|
-
}
|
|
114
|
+
videoTrack = hms.getRoom()?.let { HmsUtilities.getVideoTrack(trackId, it) }
|
|
124
115
|
}
|
|
125
116
|
}
|
|
126
117
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
package com.reactnativehmssdk
|
|
2
2
|
|
|
3
|
+
import android.os.Build
|
|
4
|
+
import androidx.annotation.RequiresApi
|
|
3
5
|
import com.facebook.react.bridge.ReadableMap
|
|
4
6
|
import com.facebook.react.common.MapBuilder
|
|
5
7
|
import com.facebook.react.uimanager.SimpleViewManager
|
|
@@ -31,14 +33,12 @@ class HmssdkViewManager : SimpleViewManager<HmsView>() {
|
|
|
31
33
|
@ReactProp(name = "data")
|
|
32
34
|
fun setData(view: HmsView, data: ReadableMap) {
|
|
33
35
|
val trackId = data.getString("trackId")
|
|
34
|
-
// val sink = data.getBoolean("sink")
|
|
35
36
|
val id = data.getString("id")
|
|
36
37
|
val mirror = data.getBoolean("mirror")
|
|
37
38
|
val hmsCollection = getHms()
|
|
38
39
|
if (hmsCollection != null) {
|
|
39
40
|
view.setData(id, trackId, hmsCollection, mirror)
|
|
40
41
|
}
|
|
41
|
-
// do the processing here
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
@ReactProp(name = "scaleType")
|
|
@@ -46,6 +46,19 @@ class HmssdkViewManager : SimpleViewManager<HmsView>() {
|
|
|
46
46
|
view.updateScaleType(data)
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
@ReactProp(name = "setZOrderMediaOverlay")
|
|
50
|
+
fun setZOrderMediaOverlay(view: HmsView, data: Boolean?) {
|
|
51
|
+
view.updateZOrderMediaOverlay(data)
|
|
52
|
+
}
|
|
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
|
+
|
|
49
62
|
private fun getHms(): MutableMap<String, HmsSDK>? {
|
|
50
63
|
return reactContext?.getNativeModule(HmsModule::class.java)?.getHmsInstance()
|
|
51
64
|
}
|
package/ios/HmsDecoder.swift
CHANGED
|
@@ -14,16 +14,19 @@ class HmsDecoder: NSObject {
|
|
|
14
14
|
let rtmpStreamingState = HmsDecoder.getHMSRtmpStreamingState(hmsRoom?.rtmpStreamingState)
|
|
15
15
|
let serverRecordingState = HmsDecoder.getHMSServerRecordingState(hmsRoom?.serverRecordingState)
|
|
16
16
|
let hlsStreamingState = HmsDecoder.getHlsStreamingState(hmsRoom?.hlsStreamingState)
|
|
17
|
+
let hlsRecordingState = HmsDecoder.getHlsRecordingState(hmsRoom?.hlsRecordingState)
|
|
17
18
|
var peers = [[String: Any]]()
|
|
18
19
|
|
|
19
20
|
for peer in room.peers {
|
|
20
21
|
peers.append(getHmsPeer(peer))
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
return ["id": id, "name": name, "metaData": metaData, "peers": peers, "browserRecordingState": browserRecordingState, "rtmpHMSRtmpStreamingState": rtmpStreamingState, "serverRecordingState": serverRecordingState, "hlsStreamingState": hlsStreamingState, "peerCount": count]
|
|
24
|
+
return ["id": id, "name": name, "metaData": metaData, "peers": peers, "browserRecordingState": browserRecordingState, "rtmpHMSRtmpStreamingState": rtmpStreamingState, "serverRecordingState": serverRecordingState, "hlsRecordingState": hlsRecordingState, "hlsStreamingState": hlsStreamingState, "peerCount": count]
|
|
24
25
|
}
|
|
25
26
|
|
|
26
|
-
static func getHmsPeer (_
|
|
27
|
+
static func getHmsPeer (_ hmsPeer: HMSPeer?) -> [String: Any] {
|
|
28
|
+
|
|
29
|
+
guard let peer = hmsPeer else { return [:] }
|
|
27
30
|
|
|
28
31
|
let peerID = peer.peerID
|
|
29
32
|
let name = peer.name
|
|
@@ -34,6 +37,7 @@ class HmsDecoder: NSObject {
|
|
|
34
37
|
let audioTrack = getHmsAudioTrack(peer.audioTrack)
|
|
35
38
|
let videoTrack = getHmsVideoTrack(peer.videoTrack)
|
|
36
39
|
let role = getHmsRole(peer.role)
|
|
40
|
+
let networkQuality = getHmsNetworkQuality(peer.networkQuality)
|
|
37
41
|
|
|
38
42
|
let auxiliaryTracks = getAllTracks(peer.auxiliaryTracks ?? [] )
|
|
39
43
|
|
|
@@ -46,6 +50,7 @@ class HmsDecoder: NSObject {
|
|
|
46
50
|
"audioTrack": audioTrack,
|
|
47
51
|
"videoTrack": videoTrack,
|
|
48
52
|
"auxiliaryTracks": auxiliaryTracks,
|
|
53
|
+
"networkQuality": networkQuality,
|
|
49
54
|
"role": role]
|
|
50
55
|
}
|
|
51
56
|
|
|
@@ -111,6 +116,7 @@ class HmsDecoder: NSObject {
|
|
|
111
116
|
let audioTrack = getHmsAudioTrack(peer.audioTrack)
|
|
112
117
|
let videoTrack = getHmsVideoTrack(peer.videoTrack)
|
|
113
118
|
let role = getHmsRole(peer.role)
|
|
119
|
+
let networkQuality = getHmsNetworkQuality(peer.networkQuality)
|
|
114
120
|
|
|
115
121
|
var auxiliaryTracks = [[String: Any]]()
|
|
116
122
|
for track in peer.auxiliaryTracks ?? [] {
|
|
@@ -130,7 +136,7 @@ class HmsDecoder: NSObject {
|
|
|
130
136
|
localVideoTrackData = getHmsLocalVideoTrack(localVideo)
|
|
131
137
|
}
|
|
132
138
|
|
|
133
|
-
return ["peerID": peerID, "name": name, "isLocal": isLocal, "customerUserID": customerUserID, "customerDescription": customerDescription, "metadata": metadata, "audioTrack": audioTrack, "videoTrack": videoTrack, "auxiliaryTracks": auxiliaryTracks, "localAudioTrackData": localAudioTrackData, "localVideoTrackData": localVideoTrackData, "role": role]
|
|
139
|
+
return ["peerID": peerID, "name": name, "isLocal": isLocal, "customerUserID": customerUserID, "customerDescription": customerDescription, "metadata": metadata, "audioTrack": audioTrack, "videoTrack": videoTrack, "auxiliaryTracks": auxiliaryTracks, "localAudioTrackData": localAudioTrackData, "localVideoTrackData": localVideoTrackData, "role": role, "networkQuality": networkQuality]
|
|
134
140
|
}
|
|
135
141
|
|
|
136
142
|
static func getHmsLocalAudioTrack(_ localAudio: HMSLocalAudioTrack) -> [String: Any] {
|
|
@@ -229,6 +235,7 @@ class HmsDecoder: NSObject {
|
|
|
229
235
|
let audioTrack = getHmsAudioTrack(hmsRemotePeer.audioTrack)
|
|
230
236
|
let videoTrack = getHmsVideoTrack(hmsRemotePeer.videoTrack)
|
|
231
237
|
let role = getHmsRole(hmsRemotePeer.role)
|
|
238
|
+
let networkQuality = getHmsNetworkQuality(hmsRemotePeer.networkQuality)
|
|
232
239
|
|
|
233
240
|
var auxiliaryTracks = [[String: Any]]()
|
|
234
241
|
|
|
@@ -249,7 +256,7 @@ class HmsDecoder: NSObject {
|
|
|
249
256
|
remoteVideoTrackData = getHMSRemoteVideoTrack(remoteVideo)
|
|
250
257
|
}
|
|
251
258
|
|
|
252
|
-
return ["peerID": peerID, "name": name, "isLocal": isLocal, "customerUserID": customerUserID, "customerDescription": customerDescription, "metadata": metadata, "audioTrack": audioTrack, "videoTrack": videoTrack, "auxiliaryTracks": auxiliaryTracks, "remoteAudioTrackData": remoteAudioTrackData, "remoteVideoTrackData": remoteVideoTrackData, "role": role]
|
|
259
|
+
return ["peerID": peerID, "name": name, "isLocal": isLocal, "customerUserID": customerUserID, "customerDescription": customerDescription, "metadata": metadata, "audioTrack": audioTrack, "videoTrack": videoTrack, "auxiliaryTracks": auxiliaryTracks, "remoteAudioTrackData": remoteAudioTrackData, "remoteVideoTrackData": remoteVideoTrackData, "role": role, "networkQuality": networkQuality]
|
|
253
260
|
}
|
|
254
261
|
|
|
255
262
|
static func getHMSRemoteAudioTrack(_ remoteAudio: HMSRemoteAudioTrack) -> [String: Any] {
|
|
@@ -531,6 +538,19 @@ class HmsDecoder: NSObject {
|
|
|
531
538
|
return [:]
|
|
532
539
|
}
|
|
533
540
|
}
|
|
541
|
+
|
|
542
|
+
static func getHlsRecordingState(_ data: HMSHLSRecordingState?) -> [String: Any] {
|
|
543
|
+
if let recordingState = data {
|
|
544
|
+
let running = recordingState.running
|
|
545
|
+
let startedAt = recordingState.startedAt?.timeIntervalSince1970 ?? 0
|
|
546
|
+
let singleFilePerLayer = recordingState.singleFilePerLayer
|
|
547
|
+
let enableVOD = recordingState.enableVOD
|
|
548
|
+
|
|
549
|
+
return ["running": running, "startedAt": startedAt * 1000, "singleFilePerLayer": singleFilePerLayer, "videoOnDemand": enableVOD]
|
|
550
|
+
} else {
|
|
551
|
+
return [:]
|
|
552
|
+
}
|
|
553
|
+
}
|
|
534
554
|
|
|
535
555
|
static func getHMSHlsVariant(_ data: [HMSHLSVariant]?) -> [[String: Any]] {
|
|
536
556
|
var variants = [[String: Any]]()
|
|
@@ -568,4 +588,27 @@ class HmsDecoder: NSObject {
|
|
|
568
588
|
static func getRemoteVideoStats(_ data: HMSRemoteVideoStats) -> [String: Any] {
|
|
569
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]
|
|
570
590
|
}
|
|
591
|
+
|
|
592
|
+
static func getHmsMessageRecipient(_ recipient: HMSMessageRecipient) -> [String: Any] {
|
|
593
|
+
return ["recipientPeer": getHmsPeer(recipient.peerRecipient), "recipientRoles": getAllRoles(recipient.rolesRecipient), "type": self.getRecipientType(from: recipient.type)]
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
static func getHmsNetworkQuality(_ hmsNetworkQuality: HMSNetworkQuality?) -> [String: Any] {
|
|
597
|
+
guard let networkQuality = hmsNetworkQuality else { return [:] }
|
|
598
|
+
|
|
599
|
+
return ["downlinkQuality": networkQuality.downlinkQuality]
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
static private func getRecipientType(from recipientType: HMSMessageRecipientType) -> String {
|
|
603
|
+
switch recipientType {
|
|
604
|
+
case .broadcast:
|
|
605
|
+
return "BROADCAST"
|
|
606
|
+
case .peer:
|
|
607
|
+
return "PEER"
|
|
608
|
+
case .roles:
|
|
609
|
+
return "ROLES"
|
|
610
|
+
default:
|
|
611
|
+
return ""
|
|
612
|
+
}
|
|
613
|
+
}
|
|
571
614
|
}
|
package/ios/HmsHelper.swift
CHANGED
|
@@ -208,6 +208,20 @@ class HmsHelper: NSObject {
|
|
|
208
208
|
}
|
|
209
209
|
return hlsVariants
|
|
210
210
|
}
|
|
211
|
+
|
|
212
|
+
static func getHlsRecordingConfig(_ data: NSDictionary) -> HMSHLSRecordingConfig? {
|
|
213
|
+
guard let meetingURLVariants = data.value(forKey: "hlsRecordingConfig") as? NSDictionary
|
|
214
|
+
else {
|
|
215
|
+
return nil
|
|
216
|
+
}
|
|
217
|
+
guard let singleFilePerLayer = meetingURLVariants.value(forKey: "singleFilePerLayer") as? Bool ,
|
|
218
|
+
let videoOnDemand = meetingURLVariants.value(forKey: "videoOnDemand") as? Bool
|
|
219
|
+
else {
|
|
220
|
+
return nil
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
return HMSHLSRecordingConfig(singleFilePerLayer: singleFilePerLayer, enableVOD: videoOnDemand)
|
|
224
|
+
}
|
|
211
225
|
|
|
212
226
|
static func getHMSHLSMeetingURLVariant(_ variant: [String: Any]) -> HMSHLSMeetingURLVariant? {
|
|
213
227
|
let meetingUrl = variant["meetingUrl"] as? String
|
package/ios/HmsSDK.swift
CHANGED
|
@@ -72,13 +72,15 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
let metadata = credentials.value(forKey: "metadata") as? String
|
|
75
|
+
let captureNetworkQualityInPreview = credentials.value(forKey: "captureNetworkQualityInPreview") as? Bool ?? false
|
|
76
|
+
|
|
75
77
|
DispatchQueue.main.async { [weak self] in
|
|
76
78
|
guard let strongSelf = self else { return }
|
|
77
79
|
if let endpoint = credentials.value(forKey: "endpoint") as? String {
|
|
78
|
-
strongSelf.config = HMSConfig(userName: user, authToken: authToken, metadata: metadata, endpoint: endpoint)
|
|
80
|
+
strongSelf.config = HMSConfig(userName: user, authToken: authToken, metadata: metadata, endpoint: endpoint, captureNetworkQualityInPreview: captureNetworkQualityInPreview)
|
|
79
81
|
strongSelf.hms?.preview(config: strongSelf.config!, delegate: strongSelf)
|
|
80
82
|
} else {
|
|
81
|
-
strongSelf.config = HMSConfig(userName: user, authToken: authToken, metadata: metadata)
|
|
83
|
+
strongSelf.config = HMSConfig(userName: user, authToken: authToken, metadata: metadata, captureNetworkQualityInPreview: captureNetworkQualityInPreview)
|
|
82
84
|
strongSelf.hms?.preview(config: strongSelf.config!, delegate: strongSelf)
|
|
83
85
|
}
|
|
84
86
|
strongSelf.previewInProgress = true
|
|
@@ -135,6 +137,7 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
135
137
|
}
|
|
136
138
|
|
|
137
139
|
let metadata = credentials.value(forKey: "metadata") as? String
|
|
140
|
+
let captureNetworkQualityInPreview = credentials.value(forKey: "captureNetworkQualityInPreview") as? Bool ?? false
|
|
138
141
|
|
|
139
142
|
DispatchQueue.main.async { [weak self] in
|
|
140
143
|
guard let strongSelf = self else { return }
|
|
@@ -142,10 +145,10 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
142
145
|
strongSelf.hms?.join(config: config, delegate: strongSelf)
|
|
143
146
|
} else {
|
|
144
147
|
if let endpoint = credentials.value(forKey: "endpoint") as? String {
|
|
145
|
-
strongSelf.config = HMSConfig(userName: user, authToken: authToken, metadata: metadata, endpoint: endpoint)
|
|
148
|
+
strongSelf.config = HMSConfig(userName: user, authToken: authToken, metadata: metadata, endpoint: endpoint, captureNetworkQualityInPreview: captureNetworkQualityInPreview)
|
|
146
149
|
strongSelf.hms?.join(config: strongSelf.config!, delegate: strongSelf)
|
|
147
150
|
} else {
|
|
148
|
-
strongSelf.config = HMSConfig(userName: user, authToken: authToken, metadata: metadata)
|
|
151
|
+
strongSelf.config = HMSConfig(userName: user, authToken: authToken, metadata: metadata, captureNetworkQualityInPreview: captureNetworkQualityInPreview)
|
|
149
152
|
strongSelf.hms?.join(config: strongSelf.config!, delegate: strongSelf)
|
|
150
153
|
}
|
|
151
154
|
}
|
|
@@ -643,9 +646,10 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
643
646
|
delegate?.emitEvent(ON_ERROR, ["event": ON_ERROR, "error": HmsDecoder.getError(error), "id": id])
|
|
644
647
|
return
|
|
645
648
|
}
|
|
646
|
-
|
|
649
|
+
|
|
650
|
+
let recordConfig = HmsHelper.getHlsRecordingConfig(data)
|
|
647
651
|
let hlsMeetingUrlVariant = HmsHelper.getHMSHLSMeetingURLVariants(meetingURLVariants)
|
|
648
|
-
let config = HMSHLSConfig(variants: hlsMeetingUrlVariant)
|
|
652
|
+
let config = HMSHLSConfig(variants: hlsMeetingUrlVariant, recording: recordConfig)
|
|
649
653
|
|
|
650
654
|
hms?.startHLSStreaming(config: config, completion: { success, error in
|
|
651
655
|
if success {
|
|
@@ -801,7 +805,7 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
801
805
|
}
|
|
802
806
|
|
|
803
807
|
func on(message: HMSMessage) {
|
|
804
|
-
self.delegate?.emitEvent(ON_MESSAGE, ["event": ON_MESSAGE, "id": self.id, "sender": message.sender
|
|
808
|
+
self.delegate?.emitEvent(ON_MESSAGE, ["event": ON_MESSAGE, "id": self.id, "sender": HmsDecoder.getHmsPeer(message.sender), "recipient": HmsDecoder.getHmsMessageRecipient(message.recipient), "time": message.time.timeIntervalSince1970 * 1000, "message": message.message, "type": message.type])
|
|
805
809
|
}
|
|
806
810
|
|
|
807
811
|
func on(updated speakers: [HMSSpeaker]) {
|
|
@@ -949,6 +953,8 @@ class HmsSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
949
953
|
return "NAME_CHANGED"
|
|
950
954
|
case .defaultUpdate:
|
|
951
955
|
return "DEFAULT_UPDATE"
|
|
956
|
+
case .networkQualityUpdated:
|
|
957
|
+
return "NETWORK_QUALITY_UPDATED"
|
|
952
958
|
default:
|
|
953
959
|
return ""
|
|
954
960
|
}
|
|
@@ -17,10 +17,13 @@ class HMSConfig {
|
|
|
17
17
|
|
|
18
18
|
_defineProperty(this, "metadata", void 0);
|
|
19
19
|
|
|
20
|
+
_defineProperty(this, "captureNetworkQualityInPreview", void 0);
|
|
21
|
+
|
|
20
22
|
this.username = params.username;
|
|
21
23
|
this.authToken = params.authToken;
|
|
22
24
|
this.endpoint = params.endpoint;
|
|
23
25
|
this.metadata = params.metadata;
|
|
26
|
+
this.captureNetworkQualityInPreview = params.captureNetworkQualityInPreview;
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["HMSConfig.ts"],"names":["HMSConfig","constructor","params","username","authToken","endpoint","metadata"],"mappings":";;;;;;;;;AAAO,MAAMA,SAAN,CAAgB;
|
|
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"]}
|