@100mslive/react-native-hms 0.7.3 → 0.8.2
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 +37 -39
- 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/.project +34 -0
- package/android/build.gradle +1 -2
- package/android/src/main/java/com/reactnativehmssdk/HmsDecoder.kt +268 -232
- package/android/src/main/java/com/reactnativehmssdk/HmsHelper.kt +122 -12
- package/android/src/main/java/com/reactnativehmssdk/HmsModule.kt +143 -508
- package/android/src/main/java/com/reactnativehmssdk/HmsSDK.kt +935 -0
- package/android/src/main/java/com/reactnativehmssdk/HmsView.kt +34 -22
- package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +1 -2
- package/android/src/main/java/com/reactnativehmssdk/HmssdkViewManager.kt +9 -13
- package/ios/HmsDecoder.swift +168 -33
- package/ios/HmsHelper.swift +121 -1
- package/ios/HmsManager.m +20 -14
- package/ios/HmsManager.swift +122 -394
- package/ios/HmsSDK.swift +784 -0
- package/ios/HmsView.swift +16 -8
- package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioTrackSettings.js +3 -0
- package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSBrowserRecordingState.js +23 -0
- package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -0
- package/lib/commonjs/classes/HMSCameraFacing.js +14 -0
- package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -0
- package/lib/commonjs/classes/HMSConfig.js +3 -7
- package/lib/commonjs/classes/HMSConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSEncoder.js +65 -35
- package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSException.js +30 -0
- package/lib/commonjs/classes/HMSException.js.map +1 -0
- package/lib/commonjs/classes/HMSHelper.js +2 -2
- package/lib/commonjs/classes/HMSHelper.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalAudioTrack.js +39 -1
- package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalVideoTrack.js +28 -2
- package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLogger.js +28 -1
- package/lib/commonjs/classes/HMSLogger.js.map +1 -1
- package/lib/commonjs/classes/HMSPeer.js +3 -0
- package/lib/commonjs/classes/HMSPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSPeerUpdate.js +1 -0
- package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSPermissions.js +6 -0
- package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
- package/lib/commonjs/classes/HMSRTMPConfig.js +26 -0
- package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -0
- package/lib/commonjs/classes/HMSRemoteAudioTrack.js +21 -0
- package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoTrack.js +21 -0
- package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRoom.js +9 -0
- package/lib/commonjs/classes/HMSRoom.js.map +1 -1
- package/lib/commonjs/classes/HMSRtmpStreamingState.js +23 -0
- package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -0
- package/lib/commonjs/classes/HMSSDK.js +419 -151
- package/lib/commonjs/classes/HMSSDK.js.map +1 -1
- package/lib/commonjs/classes/HMSServerRecordingState.js +23 -0
- package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -0
- package/lib/commonjs/classes/HMSTrack.js +8 -18
- package/lib/commonjs/classes/HMSTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackSettings.js +3 -0
- package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackType.js +14 -0
- package/lib/commonjs/classes/HMSTrackType.js.map +1 -0
- package/lib/commonjs/classes/HMSVideoCodec.js +4 -4
- package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoResolution.js +23 -0
- package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -0
- package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoTrack.js +2 -0
- package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoTrackSettings.js +0 -3
- package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HmsView.js +10 -7
- package/lib/commonjs/classes/HmsView.js.map +1 -1
- package/lib/commonjs/index.js +112 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/classes/HMSAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSAudioTrackSettings.js +3 -0
- package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
- package/lib/module/classes/HMSBrowserRecordingState.js +14 -0
- package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -0
- package/lib/module/classes/HMSCameraFacing.js +7 -0
- package/lib/module/classes/HMSCameraFacing.js.map +1 -0
- package/lib/module/classes/HMSConfig.js +3 -7
- package/lib/module/classes/HMSConfig.js.map +1 -1
- package/lib/module/classes/HMSEncoder.js +64 -35
- package/lib/module/classes/HMSEncoder.js.map +1 -1
- package/lib/module/classes/HMSException.js +21 -0
- package/lib/module/classes/HMSException.js.map +1 -0
- package/lib/module/classes/HMSHelper.js +2 -2
- package/lib/module/classes/HMSHelper.js.map +1 -1
- package/lib/module/classes/HMSLocalAudioTrack.js +37 -2
- package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSLocalPeer.js.map +1 -1
- package/lib/module/classes/HMSLocalVideoTrack.js +25 -2
- package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSLogger.js +28 -1
- package/lib/module/classes/HMSLogger.js.map +1 -1
- package/lib/module/classes/HMSPeer.js +3 -0
- package/lib/module/classes/HMSPeer.js.map +1 -1
- package/lib/module/classes/HMSPeerUpdate.js +1 -0
- package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/module/classes/HMSPermissions.js +6 -0
- package/lib/module/classes/HMSPermissions.js.map +1 -1
- package/lib/module/classes/HMSRTMPConfig.js +17 -0
- package/lib/module/classes/HMSRTMPConfig.js.map +1 -0
- package/lib/module/classes/HMSRemoteAudioTrack.js +18 -0
- package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSRemotePeer.js.map +1 -1
- package/lib/module/classes/HMSRemoteVideoTrack.js +18 -0
- package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSRoom.js +9 -0
- package/lib/module/classes/HMSRoom.js.map +1 -1
- package/lib/module/classes/HMSRtmpStreamingState.js +14 -0
- package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -0
- package/lib/module/classes/HMSSDK.js +408 -151
- package/lib/module/classes/HMSSDK.js.map +1 -1
- package/lib/module/classes/HMSServerRecordingState.js +14 -0
- package/lib/module/classes/HMSServerRecordingState.js.map +1 -0
- package/lib/module/classes/HMSTrack.js +8 -16
- package/lib/module/classes/HMSTrack.js.map +1 -1
- package/lib/module/classes/HMSTrackSettings.js +3 -0
- package/lib/module/classes/HMSTrackSettings.js.map +1 -1
- package/lib/module/classes/HMSTrackType.js +7 -0
- package/lib/module/classes/HMSTrackType.js.map +1 -0
- package/lib/module/classes/HMSVideoCodec.js +4 -4
- package/lib/module/classes/HMSVideoCodec.js.map +1 -1
- package/lib/module/classes/HMSVideoResolution.js +14 -0
- package/lib/module/classes/HMSVideoResolution.js.map +1 -0
- package/lib/module/classes/HMSVideoSettings.js.map +1 -1
- package/lib/module/classes/HMSVideoTrack.js +2 -0
- package/lib/module/classes/HMSVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSVideoTrackSettings.js +0 -3
- package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
- package/lib/module/classes/HmsView.js +10 -7
- package/lib/module/classes/HmsView.js.map +1 -1
- package/lib/module/index.js +8 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/classes/HMSAudioTrack.d.ts +3 -0
- package/lib/typescript/classes/HMSAudioTrackSettings.d.ts +3 -0
- package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +9 -0
- package/lib/typescript/classes/HMSCameraFacing.d.ts +4 -0
- package/lib/typescript/classes/HMSConfig.d.ts +2 -4
- package/lib/typescript/classes/HMSEncoder.d.ts +14 -12
- package/lib/typescript/classes/HMSException.d.ts +22 -0
- package/lib/typescript/classes/HMSLocalAudioTrack.d.ts +5 -0
- package/lib/typescript/classes/HMSLocalPeer.d.ts +6 -0
- package/lib/typescript/classes/HMSLocalVideoTrack.d.ts +4 -0
- package/lib/typescript/classes/HMSLogger.d.ts +11 -4
- package/lib/typescript/classes/HMSPeer.d.ts +2 -0
- package/lib/typescript/classes/HMSPeerUpdate.d.ts +1 -0
- package/lib/typescript/classes/HMSPermissions.d.ts +4 -0
- package/lib/typescript/classes/HMSRTMPConfig.d.ts +10 -0
- package/lib/typescript/classes/HMSRemoteAudioTrack.d.ts +4 -0
- package/lib/typescript/classes/HMSRemotePeer.d.ts +3 -0
- package/lib/typescript/classes/HMSRemoteVideoTrack.d.ts +4 -0
- package/lib/typescript/classes/HMSRoom.d.ts +9 -0
- package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +9 -0
- package/lib/typescript/classes/HMSSDK.d.ts +41 -11
- package/lib/typescript/classes/HMSServerRecordingState.d.ts +9 -0
- package/lib/typescript/classes/HMSTrack.d.ts +6 -1
- package/lib/typescript/classes/HMSTrackSettings.d.ts +2 -0
- package/lib/typescript/classes/HMSTrackType.d.ts +4 -0
- package/lib/typescript/classes/HMSVideoCodec.d.ts +4 -4
- package/lib/typescript/classes/HMSVideoResolution.d.ts +8 -0
- package/lib/typescript/classes/HMSVideoSettings.d.ts +3 -3
- package/lib/typescript/classes/HMSVideoTrack.d.ts +5 -1
- package/lib/typescript/classes/HMSVideoTrackSettings.d.ts +13 -10
- package/lib/typescript/classes/HmsView.d.ts +2 -1
- package/lib/typescript/index.d.ts +8 -0
- package/package.json +1 -1
- package/src/classes/HMSAudioTrack.ts +3 -0
- package/src/classes/HMSAudioTrackSettings.ts +9 -1
- package/src/classes/HMSBrowserRecordingState.ts +11 -0
- package/src/classes/HMSCameraFacing.ts +4 -0
- package/src/classes/HMSConfig.ts +3 -7
- package/src/classes/HMSEncoder.ts +64 -28
- package/src/classes/HMSException.ts +33 -0
- package/src/classes/HMSHelper.ts +2 -2
- package/src/classes/HMSLocalAudioTrack.ts +35 -2
- package/src/classes/HMSLocalPeer.ts +6 -0
- package/src/classes/HMSLocalVideoTrack.ts +22 -2
- package/src/classes/HMSLogger.ts +19 -6
- package/src/classes/HMSPeer.ts +3 -0
- package/src/classes/HMSPeerUpdate.ts +1 -0
- package/src/classes/HMSPermissions.ts +6 -0
- package/src/classes/HMSRTMPConfig.ts +15 -0
- package/src/classes/HMSRemoteAudioTrack.ts +29 -2
- package/src/classes/HMSRemotePeer.ts +3 -0
- package/src/classes/HMSRemoteVideoTrack.ts +29 -2
- package/src/classes/HMSRoom.ts +12 -0
- package/src/classes/HMSRtmpStreamingState.ts +11 -0
- package/src/classes/{HMSSDK.ts → HMSSDK.tsx} +396 -97
- package/src/classes/HMSServerRecordingState.ts +11 -0
- package/src/classes/HMSTrack.ts +9 -15
- package/src/classes/HMSTrackSettings.ts +3 -0
- package/src/classes/HMSTrackType.ts +4 -0
- package/src/classes/HMSVideoCodec.ts +4 -4
- package/src/classes/HMSVideoResolution.ts +9 -0
- package/src/classes/HMSVideoSettings.ts +3 -3
- package/src/classes/HMSVideoTrack.ts +6 -1
- package/src/classes/HMSVideoTrackSettings.ts +13 -10
- package/src/classes/HmsView.tsx +4 -0
- package/src/index.ts +8 -0
- package/ios/Hmssdk.m +0 -8
- package/ios/Hmssdk.swift +0 -8
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
package com.reactnativehmssdk
|
|
2
2
|
|
|
3
3
|
import com.facebook.react.bridge.*
|
|
4
|
-
import
|
|
4
|
+
import live.hms.video.error.HMSException
|
|
5
5
|
import live.hms.video.media.settings.HMSAudioTrackSettings
|
|
6
|
+
import live.hms.video.media.settings.HMSVideoResolution
|
|
6
7
|
import live.hms.video.media.settings.HMSVideoTrackSettings
|
|
7
8
|
import live.hms.video.media.tracks.*
|
|
8
9
|
import live.hms.video.sdk.models.*
|
|
@@ -17,11 +18,21 @@ object HmsDecoder {
|
|
|
17
18
|
room.putString("id", hmsRoom.roomId)
|
|
18
19
|
room.putString("name", hmsRoom.name)
|
|
19
20
|
room.putString("metaData", null)
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
room.putString("startedAt", hmsRoom.startedAt.toString())
|
|
22
|
+
room.putMap(
|
|
23
|
+
"browserRecordingState",
|
|
24
|
+
this.getHMSBrowserRecordingState(hmsRoom.browserRecordingState)
|
|
25
|
+
)
|
|
26
|
+
room.putMap(
|
|
27
|
+
"rtmpHMSRtmpStreamingState",
|
|
28
|
+
this.getHMSRtmpStreamingState(hmsRoom.rtmpHMSRtmpStreamingState)
|
|
29
|
+
)
|
|
30
|
+
room.putMap(
|
|
31
|
+
"serverRecordingState",
|
|
32
|
+
this.getHMSServerRecordingState(hmsRoom.serverRecordingState)
|
|
33
|
+
)
|
|
34
|
+
room.putMap("localPeer", this.getHmsLocalPeer(hmsRoom.localPeer))
|
|
35
|
+
room.putArray("peers", this.getAllPeers(hmsRoom.peerList))
|
|
25
36
|
}
|
|
26
37
|
return room
|
|
27
38
|
}
|
|
@@ -32,29 +43,20 @@ object HmsDecoder {
|
|
|
32
43
|
peer.putString("peerID", hmsPeer.peerID)
|
|
33
44
|
peer.putString("name", hmsPeer.name)
|
|
34
45
|
peer.putBoolean("isLocal", hmsPeer.isLocal)
|
|
35
|
-
peer.putString(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
)
|
|
39
|
-
peer.
|
|
40
|
-
|
|
41
|
-
if (hmsPeer.customerDescription == null) hmsPeer.customerDescription else ""
|
|
42
|
-
)
|
|
43
|
-
peer.putMap("audioTrack", getHmsAudioTrack(hmsPeer.audioTrack))
|
|
44
|
-
peer.putMap("videoTrack", getHmsVideoTrack(hmsPeer.videoTrack))
|
|
45
|
-
peer.putMap("role", getHmsRole(hmsPeer.hmsRole))
|
|
46
|
-
var auxiliaryTracks: WritableArray = Arguments.createArray()
|
|
47
|
-
for (track in hmsPeer.auxiliaryTracks) {
|
|
48
|
-
auxiliaryTracks.pushMap(getHmsTrack(track))
|
|
49
|
-
}
|
|
50
|
-
peer.putArray("auxiliaryTracks", auxiliaryTracks)
|
|
46
|
+
peer.putString("customerUserID", hmsPeer.customerUserID)
|
|
47
|
+
peer.putString("metadata", hmsPeer.metadata)
|
|
48
|
+
peer.putMap("audioTrack", this.getHmsAudioTrack(hmsPeer.audioTrack))
|
|
49
|
+
peer.putMap("videoTrack", this.getHmsVideoTrack(hmsPeer.videoTrack))
|
|
50
|
+
peer.putMap("role", this.getHmsRole(hmsPeer.hmsRole))
|
|
51
|
+
peer.putArray("auxiliaryTracks", this.getAllTracks(hmsPeer.auxiliaryTracks))
|
|
51
52
|
}
|
|
52
53
|
return peer
|
|
53
54
|
}
|
|
54
55
|
|
|
55
|
-
fun getHmsAudioTrack(hmsAudioTrack: HMSAudioTrack?): WritableMap {
|
|
56
|
+
private fun getHmsAudioTrack(hmsAudioTrack: HMSAudioTrack?): WritableMap {
|
|
56
57
|
val hmsTrack: WritableMap = Arguments.createMap()
|
|
57
58
|
if (hmsAudioTrack != null) {
|
|
59
|
+
hmsTrack.putString("type", hmsAudioTrack.type.name)
|
|
58
60
|
hmsTrack.putString("trackId", hmsAudioTrack.trackId)
|
|
59
61
|
hmsTrack.putString("source", hmsAudioTrack.source)
|
|
60
62
|
hmsTrack.putString("trackDescription", hmsAudioTrack.description)
|
|
@@ -63,13 +65,15 @@ object HmsDecoder {
|
|
|
63
65
|
return hmsTrack
|
|
64
66
|
}
|
|
65
67
|
|
|
66
|
-
fun getHmsVideoTrack(hmsVideoTrack: HMSVideoTrack?): WritableMap {
|
|
68
|
+
private fun getHmsVideoTrack(hmsVideoTrack: HMSVideoTrack?): WritableMap {
|
|
67
69
|
val hmsTrack: WritableMap = Arguments.createMap()
|
|
68
70
|
if (hmsVideoTrack != null) {
|
|
71
|
+
hmsTrack.putString("type", hmsVideoTrack.type.name)
|
|
69
72
|
hmsTrack.putString("trackId", hmsVideoTrack.trackId)
|
|
70
73
|
hmsTrack.putString("source", hmsVideoTrack.source)
|
|
71
74
|
hmsTrack.putString("trackDescription", hmsVideoTrack.description)
|
|
72
75
|
hmsTrack.putBoolean("isMute", hmsVideoTrack.isMute)
|
|
76
|
+
hmsTrack.putBoolean("isDegraded", hmsVideoTrack.isDegraded)
|
|
73
77
|
}
|
|
74
78
|
return hmsTrack
|
|
75
79
|
}
|
|
@@ -81,233 +85,182 @@ object HmsDecoder {
|
|
|
81
85
|
hmsTrack.putString("source", track.source)
|
|
82
86
|
hmsTrack.putString("trackDescription", track.description)
|
|
83
87
|
hmsTrack.putBoolean("isMute", track.isMute)
|
|
88
|
+
hmsTrack.putString("type", track.type.name)
|
|
84
89
|
}
|
|
85
90
|
return hmsTrack
|
|
86
91
|
}
|
|
87
92
|
|
|
88
93
|
fun getAllRoles(roles: List<HMSRole>?): WritableArray {
|
|
89
94
|
val decodedRoles: WritableArray = Arguments.createArray()
|
|
90
|
-
|
|
91
95
|
if (roles != null) {
|
|
92
96
|
for (role in roles) {
|
|
93
|
-
val decodedRole = getHmsRole(role)
|
|
94
|
-
|
|
97
|
+
val decodedRole = this.getHmsRole(role)
|
|
95
98
|
decodedRoles.pushMap(decodedRole)
|
|
96
99
|
}
|
|
97
100
|
}
|
|
98
|
-
|
|
99
101
|
return decodedRoles
|
|
100
102
|
}
|
|
101
103
|
|
|
102
|
-
fun getHmsRole(hmsRole: HMSRole?): WritableMap {
|
|
104
|
+
private fun getHmsRole(hmsRole: HMSRole?): WritableMap {
|
|
103
105
|
val role: WritableMap = Arguments.createMap()
|
|
104
|
-
// val emptyMap: WritableArray = Arguments.createMap();
|
|
105
106
|
if (hmsRole != null) {
|
|
106
107
|
role.putString("name", hmsRole.name)
|
|
107
|
-
role.putMap("permissions", getHmsPermissions(hmsRole.permission))
|
|
108
|
-
role.putMap("publishSettings", getHmsPublishSettings(hmsRole.publishParams))
|
|
108
|
+
role.putMap("permissions", this.getHmsPermissions(hmsRole.permission))
|
|
109
|
+
role.putMap("publishSettings", this.getHmsPublishSettings(hmsRole.publishParams))
|
|
110
|
+
role.putMap("subscribeSettings", this.getHmsSubscribeSettings(hmsRole.subscribeParams))
|
|
109
111
|
role.putInt("priority", hmsRole.priority)
|
|
110
|
-
// role.putArray("generalPermissions",
|
|
111
|
-
// if(hmsRole.generalPermissions!=null)hmsRole.generalPermissions else emptyMap);
|
|
112
|
-
// role.putArray("internalPlugins",
|
|
113
|
-
// if(hmsRole.internalPlugins!=null)hmsRole.internalPlugins else emptyMap);
|
|
114
|
-
// role.putArray("externalPlugins",
|
|
115
|
-
// if(hmsRole.externalPlugins!=null)hmsRole.externalPlugins else emptyMap);
|
|
116
112
|
}
|
|
117
113
|
return role
|
|
118
114
|
}
|
|
119
115
|
|
|
120
|
-
fun getHmsPermissions(hmsPermissions: PermissionsParams?): WritableMap {
|
|
116
|
+
private fun getHmsPermissions(hmsPermissions: PermissionsParams?): WritableMap {
|
|
121
117
|
val permissions: WritableMap = Arguments.createMap()
|
|
122
118
|
if (hmsPermissions != null) {
|
|
123
|
-
permissions.putBoolean(
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
)
|
|
127
|
-
permissions.putBoolean(
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
)
|
|
131
|
-
permissions.putBoolean(
|
|
132
|
-
"mute",
|
|
133
|
-
if (hmsPermissions.mute != null) hmsPermissions.mute else false
|
|
134
|
-
)
|
|
135
|
-
permissions.putBoolean(
|
|
136
|
-
"changeRoleForce",
|
|
137
|
-
if (hmsPermissions.changeRoleForce != null) hmsPermissions.changeRoleForce else false
|
|
138
|
-
)
|
|
139
|
-
permissions.putBoolean(
|
|
140
|
-
"unmute",
|
|
141
|
-
if (hmsPermissions.unmute != null) hmsPermissions.unmute else false
|
|
142
|
-
)
|
|
143
|
-
permissions.putBoolean(
|
|
144
|
-
"recording",
|
|
145
|
-
if (hmsPermissions.recording != null) hmsPermissions.recording else false
|
|
146
|
-
)
|
|
147
|
-
permissions.putBoolean(
|
|
148
|
-
"rtmp",
|
|
149
|
-
if (hmsPermissions.rtmp != null) hmsPermissions.rtmp else false
|
|
150
|
-
)
|
|
151
|
-
permissions.putBoolean(
|
|
152
|
-
"changeRole",
|
|
153
|
-
if (hmsPermissions.changeRole != null) hmsPermissions.changeRole else false
|
|
154
|
-
)
|
|
119
|
+
permissions.putBoolean("endRoom", hmsPermissions.endRoom)
|
|
120
|
+
permissions.putBoolean("removeOthers", hmsPermissions.removeOthers)
|
|
121
|
+
permissions.putBoolean("mute", hmsPermissions.mute)
|
|
122
|
+
permissions.putBoolean("changeRoleForce", hmsPermissions.changeRoleForce)
|
|
123
|
+
permissions.putBoolean("unmute", hmsPermissions.unmute)
|
|
124
|
+
permissions.putBoolean("recording", hmsPermissions.recording)
|
|
125
|
+
permissions.putBoolean("rtmp", hmsPermissions.rtmp)
|
|
126
|
+
permissions.putBoolean("changeRole", hmsPermissions.changeRole)
|
|
155
127
|
}
|
|
156
128
|
return permissions
|
|
157
129
|
}
|
|
158
130
|
|
|
159
|
-
fun getHmsPublishSettings(hmsPublishSettings: PublishParams?): WritableMap {
|
|
131
|
+
private fun getHmsPublishSettings(hmsPublishSettings: PublishParams?): WritableMap {
|
|
160
132
|
val publishSettings: WritableMap = Arguments.createMap()
|
|
161
|
-
val emptyArray: WritableArray = Arguments.createArray()
|
|
162
133
|
if (hmsPublishSettings != null) {
|
|
163
|
-
publishSettings.putMap("audio", getHmsAudioSettings(hmsPublishSettings.audio))
|
|
164
|
-
publishSettings.putMap("video", getHmsVideoSettings(hmsPublishSettings.video))
|
|
165
|
-
publishSettings.putMap("screen", getHmsVideoSettings(hmsPublishSettings.screen))
|
|
166
|
-
// publishSettings.putMap("videoSimulcastLayers",
|
|
167
|
-
// getHmsSimulcastLayers(hmsPublishSettings.videoSimulcastLayers));
|
|
168
|
-
// publishSettings.putMap("screenSimulcastLayers",
|
|
169
|
-
// getHmsSimulcastLayers(hmsPublishSettings.screenSimulcastLayers));
|
|
134
|
+
publishSettings.putMap("audio", this.getHmsAudioSettings(hmsPublishSettings.audio))
|
|
135
|
+
publishSettings.putMap("video", this.getHmsVideoSettings(hmsPublishSettings.video))
|
|
136
|
+
publishSettings.putMap("screen", this.getHmsVideoSettings(hmsPublishSettings.screen))
|
|
170
137
|
publishSettings.putMap("videoSimulcastLayers", null)
|
|
171
138
|
publishSettings.putMap("screenSimulcastLayers", null)
|
|
172
|
-
|
|
173
|
-
// hmsPublishSettings.allowed as WritableArray else emptyArray);
|
|
139
|
+
publishSettings.putArray("allowed", this.getWriteableArray(hmsPublishSettings.allowed))
|
|
174
140
|
}
|
|
175
141
|
return publishSettings
|
|
176
142
|
}
|
|
177
|
-
|
|
143
|
+
|
|
144
|
+
private fun getWriteableArray(array: List<String>?): WritableArray {
|
|
145
|
+
val decodedArray: WritableArray = Arguments.createArray()
|
|
146
|
+
if (array != null) {
|
|
147
|
+
for (value in array) {
|
|
148
|
+
decodedArray.pushString(value)
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return decodedArray
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
private fun getHmsAudioSettings(hmsAudioSettings: AudioParams?): WritableMap {
|
|
178
155
|
val audioSettings: WritableMap = Arguments.createMap()
|
|
179
156
|
if (hmsAudioSettings != null) {
|
|
180
157
|
audioSettings.putInt("bitRate", hmsAudioSettings.bitRate)
|
|
181
|
-
audioSettings.putString("codec", hmsAudioSettings.codec.
|
|
158
|
+
audioSettings.putString("codec", hmsAudioSettings.codec.name)
|
|
182
159
|
}
|
|
183
160
|
return audioSettings
|
|
184
161
|
}
|
|
185
162
|
|
|
186
|
-
fun getHmsVideoSettings(hmsVideoSettings: VideoParams?): WritableMap {
|
|
163
|
+
private fun getHmsVideoSettings(hmsVideoSettings: VideoParams?): WritableMap {
|
|
187
164
|
val videoSettings: WritableMap = Arguments.createMap()
|
|
188
165
|
if (hmsVideoSettings != null) {
|
|
189
166
|
videoSettings.putInt("bitRate", hmsVideoSettings.bitRate)
|
|
190
167
|
videoSettings.putInt("frameRate", hmsVideoSettings.frameRate)
|
|
191
168
|
videoSettings.putInt("width", hmsVideoSettings.width)
|
|
192
169
|
videoSettings.putInt("height", hmsVideoSettings.height)
|
|
193
|
-
videoSettings.putString("codec", hmsVideoSettings.codec.
|
|
170
|
+
videoSettings.putString("codec", hmsVideoSettings.codec.name)
|
|
194
171
|
}
|
|
195
172
|
return videoSettings
|
|
196
173
|
}
|
|
197
174
|
|
|
198
|
-
// fun getHmsSimulcastLayers(videoSimulcastLayers: HMSSimulcastSettingsPolicy?): WritableMap {
|
|
199
|
-
// val videoLayers: WritableMap = Arguments.createMap();
|
|
200
|
-
// if(videoSimulcastLayers != null) {
|
|
201
|
-
// videoLayers.putInt("width", videoSimulcastLayers.width);
|
|
202
|
-
// videoLayers.putString("height", videoSimulcastLayers.height);
|
|
203
|
-
// videoLayers.putArray("layers",
|
|
204
|
-
// getHmsSimulcastLayerSettingsPolicy(videoSimulcastLayers.layers));
|
|
205
|
-
// }
|
|
206
|
-
// return videoLayers;
|
|
207
|
-
// }
|
|
208
|
-
|
|
209
|
-
// fun getHmsSimulcastLayerSettingsPolicy(layers: HMSSimulcastLayerSettingsPolicy?):
|
|
210
|
-
// WritableArray {
|
|
211
|
-
// val layersSettingsPolicy: WritableArray = Arguments.createArray();
|
|
212
|
-
// val hmsLayersSettingsPolicy: WritableMap = Arguments.createMap();
|
|
213
|
-
// if(layers != null) {
|
|
214
|
-
// hmsLayersSettingsPolicy.putString("rid", layers.rid);
|
|
215
|
-
// hmsLayersSettingsPolicy.putInt("scaleResolutionDownBy", if (layers.scaleResolutionDownBy
|
|
216
|
-
// != null) layers.scaleResolutionDownBy else 0);
|
|
217
|
-
// hmsLayersSettingsPolicy.putInt("maxBitrate", if (layers.maxBitrate != null)
|
|
218
|
-
// layers.maxBitrate else -1);
|
|
219
|
-
// hmsLayersSettingsPolicy.putInt("maxFramerate", if (layers.maxFramerate != null)
|
|
220
|
-
// layers.maxFramerate else -1);
|
|
221
|
-
// }
|
|
222
|
-
// layersSettingsPolicy.pushMap(hmsLayersSettingsPolicy)
|
|
223
|
-
// return layersSettingsPolicy;
|
|
224
|
-
// }
|
|
225
|
-
|
|
226
175
|
fun getHmsLocalPeer(hmsLocalPeer: HMSLocalPeer?): WritableMap {
|
|
227
176
|
val peer: WritableMap = Arguments.createMap()
|
|
228
177
|
if (hmsLocalPeer != null) {
|
|
229
178
|
peer.putString("peerID", hmsLocalPeer.peerID)
|
|
230
179
|
peer.putString("name", hmsLocalPeer.name)
|
|
231
180
|
peer.putBoolean("isLocal", hmsLocalPeer.isLocal)
|
|
232
|
-
peer.putString(
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
)
|
|
236
|
-
peer.
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
)
|
|
240
|
-
peer.putMap("audioTrack", getHmsAudioTrack(hmsLocalPeer.audioTrack))
|
|
241
|
-
peer.putMap("videoTrack", getHmsVideoTrack(hmsLocalPeer.videoTrack))
|
|
242
|
-
peer.putMap("role", getHmsRole(hmsLocalPeer.hmsRole))
|
|
243
|
-
|
|
244
|
-
var auxiliaryTracks: WritableArray = Arguments.createArray()
|
|
245
|
-
for (track in hmsLocalPeer.auxiliaryTracks) {
|
|
246
|
-
auxiliaryTracks.pushMap(getHmsTrack(track))
|
|
247
|
-
}
|
|
248
|
-
peer.putArray("auxiliaryTracks", auxiliaryTracks)
|
|
249
|
-
|
|
250
|
-
val localAudioTrack = hmsLocalPeer.audioTrack
|
|
251
|
-
var localAudioTrackData: WritableMap = Arguments.createMap()
|
|
252
|
-
localAudioTrackData.putString("trackId", localAudioTrack?.trackId)
|
|
253
|
-
localAudioTrackData.putString("source", localAudioTrack?.source)
|
|
254
|
-
localAudioTrackData.putString("trackDescription", localAudioTrack?.description)
|
|
255
|
-
localAudioTrackData.putMap("settings", getHmsAudioTrackSettings(localAudioTrack?.settings))
|
|
256
|
-
if (localAudioTrack != null) {
|
|
257
|
-
localAudioTrackData.putBoolean("isMute", localAudioTrack.isMute)
|
|
258
|
-
}
|
|
259
|
-
peer.putMap("localAudioTrackData", localAudioTrackData)
|
|
260
|
-
|
|
261
|
-
val localVideoTrack = hmsLocalPeer.videoTrack
|
|
262
|
-
var localVideoTrackData: WritableMap = Arguments.createMap()
|
|
263
|
-
localVideoTrackData.putString("trackId", localVideoTrack?.trackId)
|
|
264
|
-
localVideoTrackData.putString("source", localVideoTrack?.source)
|
|
265
|
-
localVideoTrackData.putString("trackDescription", localVideoTrack?.description)
|
|
266
|
-
localVideoTrackData.putMap("settings", getHmsVideoTrackSettings(localVideoTrack?.settings))
|
|
267
|
-
if (localVideoTrack != null) {
|
|
268
|
-
localVideoTrackData.putBoolean("isMute", localVideoTrack.isMute)
|
|
269
|
-
}
|
|
270
|
-
peer.putMap("localVideoTrackData", localVideoTrackData)
|
|
181
|
+
peer.putString("customerUserID", hmsLocalPeer.customerUserID)
|
|
182
|
+
peer.putString("metadata", hmsLocalPeer.metadata)
|
|
183
|
+
peer.putMap("audioTrack", this.getHmsAudioTrack(hmsLocalPeer.audioTrack))
|
|
184
|
+
peer.putMap("videoTrack", this.getHmsVideoTrack(hmsLocalPeer.videoTrack))
|
|
185
|
+
peer.putMap("role", this.getHmsRole(hmsLocalPeer.hmsRole))
|
|
186
|
+
peer.putArray("auxiliaryTracks", this.getAllTracks(hmsLocalPeer.auxiliaryTracks))
|
|
187
|
+
peer.putMap("localAudioTrackData", this.getHmsLocalAudioTrack(hmsLocalPeer.audioTrack))
|
|
188
|
+
peer.putMap("localVideoTrackData", this.getHmsLocalVideoTrack(hmsLocalPeer.videoTrack))
|
|
271
189
|
}
|
|
272
190
|
return peer
|
|
273
191
|
}
|
|
274
192
|
|
|
275
|
-
fun
|
|
193
|
+
private fun getHmsLocalAudioTrack(track: HMSLocalAudioTrack?): WritableMap {
|
|
194
|
+
val hmsTrack: WritableMap = Arguments.createMap()
|
|
195
|
+
if (track != null) {
|
|
196
|
+
hmsTrack.putDouble("volume", track.volume)
|
|
197
|
+
hmsTrack.putMap("settings", this.getHmsAudioTrackSettings(track.settings))
|
|
198
|
+
hmsTrack.putString("trackId", track.trackId)
|
|
199
|
+
hmsTrack.putString("source", track.source)
|
|
200
|
+
hmsTrack.putString("trackDescription", track.description)
|
|
201
|
+
hmsTrack.putBoolean("isMute", track.isMute)
|
|
202
|
+
hmsTrack.putString("type", track.type.name)
|
|
203
|
+
}
|
|
204
|
+
return hmsTrack
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
private fun getHmsLocalVideoTrack(track: HMSLocalVideoTrack?): WritableMap {
|
|
208
|
+
val hmsTrack: WritableMap = Arguments.createMap()
|
|
209
|
+
if (track != null) {
|
|
210
|
+
hmsTrack.putBoolean("isDegraded", track.isDegraded)
|
|
211
|
+
hmsTrack.putMap("settings", this.getHmsVideoTrackSettings(track.settings))
|
|
212
|
+
hmsTrack.putString("trackId", track.trackId)
|
|
213
|
+
hmsTrack.putString("source", track.source)
|
|
214
|
+
hmsTrack.putString("trackDescription", track.description)
|
|
215
|
+
hmsTrack.putBoolean("isMute", track.isMute)
|
|
216
|
+
hmsTrack.putString("type", track.type.name)
|
|
217
|
+
}
|
|
218
|
+
return hmsTrack
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
private fun getHmsAudioTrackSettings(hmsAudioTrackSettings: HMSAudioTrackSettings?): WritableMap {
|
|
276
222
|
val settings: WritableMap = Arguments.createMap()
|
|
277
223
|
if (hmsAudioTrackSettings != null) {
|
|
278
224
|
settings.putInt("maxBitrate", hmsAudioTrackSettings.maxBitrate)
|
|
279
|
-
|
|
225
|
+
settings.putDouble("volume", hmsAudioTrackSettings.volume)
|
|
226
|
+
settings.putBoolean(
|
|
227
|
+
"useHardwareAcousticEchoCanceler",
|
|
228
|
+
hmsAudioTrackSettings.useHardwareAcousticEchoCanceler
|
|
229
|
+
)
|
|
230
|
+
settings.putString("codec", hmsAudioTrackSettings.codec.name)
|
|
280
231
|
settings.putString("trackDescription", "")
|
|
281
232
|
}
|
|
282
233
|
return settings
|
|
283
234
|
}
|
|
284
235
|
|
|
285
|
-
fun getHmsVideoTrackSettings(hmsVideoTrackSettings: HMSVideoTrackSettings?): WritableMap {
|
|
236
|
+
private fun getHmsVideoTrackSettings(hmsVideoTrackSettings: HMSVideoTrackSettings?): WritableMap {
|
|
286
237
|
val settings: WritableMap = Arguments.createMap()
|
|
287
238
|
if (hmsVideoTrackSettings != null) {
|
|
288
|
-
settings.
|
|
289
|
-
|
|
290
|
-
val resolution: WritableMap = Arguments.createMap()
|
|
291
|
-
resolution.putInt("height", hmsVideoTrackSettings.resolution.height)
|
|
292
|
-
resolution.putInt("width", hmsVideoTrackSettings.resolution.width)
|
|
293
|
-
settings.putMap("resolution", resolution)
|
|
294
|
-
|
|
239
|
+
settings.putString("codec", hmsVideoTrackSettings.codec.name)
|
|
295
240
|
settings.putInt("maxBitrate", hmsVideoTrackSettings.maxBitRate)
|
|
296
241
|
settings.putInt("maxFrameRate", hmsVideoTrackSettings.maxFrameRate)
|
|
297
|
-
settings.
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
242
|
+
settings.putString("cameraFacing", hmsVideoTrackSettings.cameraFacing.name)
|
|
243
|
+
settings.putString("trackDescription", hmsVideoTrackSettings.codec.name)
|
|
244
|
+
settings.putMap(
|
|
245
|
+
"resolution",
|
|
246
|
+
this.getHmsVideoTrackResolution(hmsVideoTrackSettings.resolution)
|
|
247
|
+
)
|
|
302
248
|
}
|
|
303
249
|
return settings
|
|
304
250
|
}
|
|
305
251
|
|
|
252
|
+
private fun getHmsVideoTrackResolution(hmsResolution: HMSVideoResolution): WritableMap {
|
|
253
|
+
val resolution: WritableMap = Arguments.createMap()
|
|
254
|
+
resolution.putInt("height", hmsResolution.height)
|
|
255
|
+
resolution.putInt("width", hmsResolution.width)
|
|
256
|
+
return resolution
|
|
257
|
+
}
|
|
258
|
+
|
|
306
259
|
fun getHmsRemotePeers(remotePeers: Array<HMSRemotePeer>?): WritableArray {
|
|
307
260
|
val peers: WritableArray = Arguments.createArray()
|
|
308
261
|
if (remotePeers != null) {
|
|
309
262
|
for (peer in remotePeers) {
|
|
310
|
-
peers.pushMap(getHmsRemotePeer(peer))
|
|
263
|
+
peers.pushMap(this.getHmsRemotePeer(peer))
|
|
311
264
|
}
|
|
312
265
|
}
|
|
313
266
|
return peers
|
|
@@ -319,94 +272,177 @@ object HmsDecoder {
|
|
|
319
272
|
peer.putString("peerID", hmsRemotePeer.peerID)
|
|
320
273
|
peer.putString("name", hmsRemotePeer.name)
|
|
321
274
|
peer.putBoolean("isLocal", hmsRemotePeer.isLocal)
|
|
322
|
-
peer.putString(
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
)
|
|
326
|
-
peer.
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
)
|
|
330
|
-
peer.putMap("audioTrack", getHmsAudioTrack(hmsRemotePeer.audioTrack))
|
|
331
|
-
peer.putMap("videoTrack", getHmsVideoTrack(hmsRemotePeer.videoTrack))
|
|
332
|
-
peer.putMap("role", getHmsRole(hmsRemotePeer.hmsRole))
|
|
333
|
-
|
|
334
|
-
var auxiliaryTracks: WritableArray = Arguments.createArray()
|
|
335
|
-
for (track in hmsRemotePeer.auxiliaryTracks) {
|
|
336
|
-
auxiliaryTracks.pushMap(getHmsTrack(track))
|
|
337
|
-
}
|
|
338
|
-
peer.putArray("auxiliaryTracks", auxiliaryTracks)
|
|
339
|
-
|
|
340
|
-
val remoteAudioTrack = hmsRemotePeer.audioTrack
|
|
341
|
-
var remoteAudioTrackData: WritableMap = Arguments.createMap()
|
|
342
|
-
remoteAudioTrackData.putString("trackId", remoteAudioTrack?.trackId)
|
|
343
|
-
remoteAudioTrackData.putString("source", remoteAudioTrack?.source)
|
|
344
|
-
remoteAudioTrackData.putString("trackDescription", remoteAudioTrack?.description)
|
|
345
|
-
if (remoteAudioTrack != null) {
|
|
346
|
-
remoteAudioTrackData.putBoolean("playbackAllowed", remoteAudioTrack.isPlaybackAllowed)
|
|
347
|
-
remoteAudioTrackData.putBoolean("isMute", remoteAudioTrack.isMute)
|
|
348
|
-
}
|
|
349
|
-
// remoteAudioTrackData.putMap("settings",
|
|
350
|
-
// getHmsAudioTrackSettings(remoteAudioTrack.settings));
|
|
351
|
-
remoteAudioTrackData.putMap("settings", null)
|
|
352
|
-
peer.putMap("remoteAudioTrackData", remoteAudioTrackData)
|
|
353
|
-
|
|
354
|
-
val remoteVideoTrack = hmsRemotePeer.videoTrack
|
|
355
|
-
var remoteVideoTrackData: WritableMap = Arguments.createMap()
|
|
356
|
-
remoteVideoTrackData.putString("trackId", remoteVideoTrack?.trackId)
|
|
357
|
-
remoteVideoTrackData.putString("source", remoteVideoTrack?.source)
|
|
358
|
-
remoteVideoTrackData.putString("trackDescription", remoteVideoTrack?.description)
|
|
359
|
-
if (remoteVideoTrack != null) {
|
|
360
|
-
remoteVideoTrackData.putBoolean("playbackAllowed", remoteVideoTrack.isPlaybackAllowed)
|
|
361
|
-
remoteVideoTrackData.putBoolean("isMute", remoteVideoTrack.isMute)
|
|
362
|
-
}
|
|
363
|
-
// remoteVideoTrackData.putMap("settings",
|
|
364
|
-
// getHmsVideoTrackSettings(remoteVideoTrack.settings));
|
|
365
|
-
remoteVideoTrackData.putMap("settings", null)
|
|
366
|
-
peer.putMap("remoteVideoTrackData", remoteVideoTrackData)
|
|
275
|
+
peer.putString("customerUserID", hmsRemotePeer.customerUserID)
|
|
276
|
+
peer.putString("metadata", hmsRemotePeer.metadata)
|
|
277
|
+
peer.putMap("audioTrack", this.getHmsAudioTrack(hmsRemotePeer.audioTrack))
|
|
278
|
+
peer.putMap("videoTrack", this.getHmsVideoTrack(hmsRemotePeer.videoTrack))
|
|
279
|
+
peer.putMap("role", this.getHmsRole(hmsRemotePeer.hmsRole))
|
|
280
|
+
peer.putArray("auxiliaryTracks", this.getAllTracks(hmsRemotePeer.auxiliaryTracks))
|
|
281
|
+
peer.putMap("remoteAudioTrackData", this.getHmsRemoteAudioTrack(hmsRemotePeer.audioTrack))
|
|
282
|
+
peer.putMap("remoteVideoTrackData", this.getHmsRemoteVideoTrack(hmsRemotePeer.videoTrack))
|
|
367
283
|
}
|
|
368
284
|
return peer
|
|
369
285
|
}
|
|
370
286
|
|
|
287
|
+
private fun getHmsRemoteAudioTrack(track: HMSRemoteAudioTrack?): WritableMap {
|
|
288
|
+
val hmsTrack: WritableMap = Arguments.createMap()
|
|
289
|
+
if (track != null) {
|
|
290
|
+
hmsTrack.putBoolean("isPlaybackAllowed", track.isPlaybackAllowed)
|
|
291
|
+
hmsTrack.putString("trackId", track.trackId)
|
|
292
|
+
hmsTrack.putString("source", track.source)
|
|
293
|
+
hmsTrack.putString("trackDescription", track.description)
|
|
294
|
+
hmsTrack.putBoolean("isMute", track.isMute)
|
|
295
|
+
hmsTrack.putString("type", track.type.name)
|
|
296
|
+
}
|
|
297
|
+
return hmsTrack
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
private fun getHmsRemoteVideoTrack(track: HMSRemoteVideoTrack?): WritableMap {
|
|
301
|
+
val hmsTrack: WritableMap = Arguments.createMap()
|
|
302
|
+
if (track != null) {
|
|
303
|
+
hmsTrack.putBoolean("isDegraded", track.isDegraded)
|
|
304
|
+
hmsTrack.putBoolean("isPlaybackAllowed", track.isPlaybackAllowed)
|
|
305
|
+
hmsTrack.putString("trackId", track.trackId)
|
|
306
|
+
hmsTrack.putString("source", track.source)
|
|
307
|
+
hmsTrack.putString("trackDescription", track.description)
|
|
308
|
+
hmsTrack.putBoolean("isMute", track.isMute)
|
|
309
|
+
hmsTrack.putString("type", track.type.name)
|
|
310
|
+
}
|
|
311
|
+
return hmsTrack
|
|
312
|
+
}
|
|
313
|
+
|
|
371
314
|
fun getPreviewTracks(tracks: Array<HMSTrack>?): WritableMap {
|
|
372
315
|
val hmsTracks: WritableMap = Arguments.createMap()
|
|
373
316
|
if (tracks != null) {
|
|
374
317
|
for (track: HMSTrack in tracks) {
|
|
375
318
|
if (track is HMSLocalVideoTrack) {
|
|
376
|
-
|
|
377
|
-
localVideoTrackData.putString("trackId", track.trackId)
|
|
378
|
-
localVideoTrackData.putString("source", track.source)
|
|
379
|
-
localVideoTrackData.putString("trackDescription", track.description)
|
|
380
|
-
localVideoTrackData.putMap("settings", getHmsVideoTrackSettings(track.settings))
|
|
381
|
-
hmsTracks.putMap("videoTrack", localVideoTrackData)
|
|
319
|
+
hmsTracks.putMap("videoTrack", this.getHmsLocalVideoTrack(track))
|
|
382
320
|
}
|
|
383
321
|
if (track is HMSLocalAudioTrack) {
|
|
384
|
-
|
|
385
|
-
localAudioTrackData.putString("trackId", track.trackId)
|
|
386
|
-
localAudioTrackData.putString("source", track.source)
|
|
387
|
-
localAudioTrackData.putMap("settings", getHmsAudioTrackSettings(track.settings))
|
|
388
|
-
hmsTracks.putMap("audioTrack", localAudioTrackData)
|
|
322
|
+
hmsTracks.putMap("audioTrack", this.getHmsLocalAudioTrack(track))
|
|
389
323
|
}
|
|
390
324
|
}
|
|
391
325
|
}
|
|
392
326
|
return hmsTracks
|
|
393
327
|
}
|
|
394
328
|
|
|
395
|
-
fun getHmsRoleChangeRequest(request: HMSRoleChangeRequest): WritableMap {
|
|
329
|
+
fun getHmsRoleChangeRequest(request: HMSRoleChangeRequest, id: String?): WritableMap {
|
|
396
330
|
val roleChangeRequest: WritableMap = Arguments.createMap()
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
331
|
+
if (id != null) {
|
|
332
|
+
roleChangeRequest.putMap("requestedBy", this.getHmsPeer(request.requestedBy))
|
|
333
|
+
roleChangeRequest.putMap("suggestedRole", this.getHmsRole(request.suggestedRole))
|
|
334
|
+
roleChangeRequest.putString("id", id)
|
|
335
|
+
return roleChangeRequest
|
|
336
|
+
}
|
|
401
337
|
return roleChangeRequest
|
|
402
338
|
}
|
|
403
339
|
|
|
404
|
-
fun getHmsChangeTrackStateRequest(request: HMSChangeTrackStateRequest): WritableMap {
|
|
340
|
+
fun getHmsChangeTrackStateRequest(request: HMSChangeTrackStateRequest, id: String): WritableMap {
|
|
405
341
|
val changeTrackStateRequest: WritableMap = Arguments.createMap()
|
|
406
342
|
|
|
407
|
-
changeTrackStateRequest.putMap("requestedBy", getHmsPeer(request.requestedBy))
|
|
343
|
+
changeTrackStateRequest.putMap("requestedBy", this.getHmsPeer(request.requestedBy))
|
|
408
344
|
changeTrackStateRequest.putString("trackType", request.track.type.name)
|
|
345
|
+
changeTrackStateRequest.putString("id", id)
|
|
409
346
|
|
|
410
347
|
return changeTrackStateRequest
|
|
411
348
|
}
|
|
349
|
+
|
|
350
|
+
fun getError(error: HMSException): WritableMap {
|
|
351
|
+
val decodedError: WritableMap = Arguments.createMap()
|
|
352
|
+
|
|
353
|
+
decodedError.putInt("code", error.code)
|
|
354
|
+
decodedError.putString("localizedDescription", error.localizedMessage)
|
|
355
|
+
decodedError.putString("description", error.description)
|
|
356
|
+
decodedError.putString("message", error.message)
|
|
357
|
+
decodedError.putString("name", error.name)
|
|
358
|
+
decodedError.putString("action", error.action)
|
|
359
|
+
|
|
360
|
+
return decodedError
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
private fun getHMSBrowserRecordingState(data: HMSBrowserRecordingState?): ReadableMap {
|
|
364
|
+
val input = Arguments.createMap()
|
|
365
|
+
if (data !== null) {
|
|
366
|
+
input.putBoolean("running", data.running)
|
|
367
|
+
input.putMap("error", data.error?.let { this.getError(it) })
|
|
368
|
+
}
|
|
369
|
+
return input
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
private fun getHMSRtmpStreamingState(data: HMSRtmpStreamingState?): ReadableMap {
|
|
373
|
+
val input = Arguments.createMap()
|
|
374
|
+
if (data !== null) {
|
|
375
|
+
input.putBoolean("running", data.running)
|
|
376
|
+
input.putMap("error", data.error?.let { this.getError(it) })
|
|
377
|
+
}
|
|
378
|
+
return input
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
private fun getHMSServerRecordingState(data: HMSServerRecordingState?): ReadableMap {
|
|
382
|
+
val input = Arguments.createMap()
|
|
383
|
+
if (data !== null) {
|
|
384
|
+
input.putBoolean("running", data.running)
|
|
385
|
+
input.putMap("error", data.error?.let { this.getError(it) })
|
|
386
|
+
}
|
|
387
|
+
return input
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
private fun getHmsSubscribeSettings(hmsSubscribeSettings: SubscribeParams?): WritableMap {
|
|
391
|
+
val subscribeSettings: WritableMap = Arguments.createMap()
|
|
392
|
+
if (hmsSubscribeSettings != null) {
|
|
393
|
+
subscribeSettings.putInt("maxSubsBitRate", hmsSubscribeSettings.maxSubsBitRate)
|
|
394
|
+
subscribeSettings.putMap(
|
|
395
|
+
"subscribeDegradationParam",
|
|
396
|
+
this.getHmsSubscribeDegradationSettings(hmsSubscribeSettings.subscribeDegradationParam)
|
|
397
|
+
)
|
|
398
|
+
subscribeSettings.putArray(
|
|
399
|
+
"subscribeTo",
|
|
400
|
+
this.getWriteableArray(hmsSubscribeSettings.subscribeTo)
|
|
401
|
+
)
|
|
402
|
+
}
|
|
403
|
+
return subscribeSettings
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
private fun getHmsSubscribeDegradationSettings(
|
|
407
|
+
hmsSubscribeDegradationParams: SubscribeDegradationParams?
|
|
408
|
+
): WritableMap {
|
|
409
|
+
val subscribeDegradationParams: WritableMap = Arguments.createMap()
|
|
410
|
+
if (hmsSubscribeDegradationParams != null) {
|
|
411
|
+
subscribeDegradationParams.putString(
|
|
412
|
+
"degradeGracePeriodSeconds",
|
|
413
|
+
hmsSubscribeDegradationParams.degradeGracePeriodSeconds.toString()
|
|
414
|
+
)
|
|
415
|
+
subscribeDegradationParams.putString(
|
|
416
|
+
"packetLossThreshold",
|
|
417
|
+
hmsSubscribeDegradationParams.packetLossThreshold.toString()
|
|
418
|
+
)
|
|
419
|
+
subscribeDegradationParams.putString(
|
|
420
|
+
"recoverGracePeriodSeconds",
|
|
421
|
+
hmsSubscribeDegradationParams.recoverGracePeriodSeconds.toString()
|
|
422
|
+
)
|
|
423
|
+
}
|
|
424
|
+
return subscribeDegradationParams
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
private fun getAllPeers(peers: Array<HMSPeer>?): WritableArray {
|
|
428
|
+
val decodedPeers: WritableArray = Arguments.createArray()
|
|
429
|
+
if (peers != null) {
|
|
430
|
+
for (peer in peers) {
|
|
431
|
+
val decodedPeer = this.getHmsPeer(peer)
|
|
432
|
+
decodedPeers.pushMap(decodedPeer)
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
return decodedPeers
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
private fun getAllTracks(tracks: MutableList<HMSTrack>?): WritableArray {
|
|
439
|
+
val decodedTracks: WritableArray = Arguments.createArray()
|
|
440
|
+
if (tracks != null) {
|
|
441
|
+
for (track in tracks) {
|
|
442
|
+
val decodedTrack = this.getHmsTrack(track)
|
|
443
|
+
decodedTracks.pushMap(decodedTrack)
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
return decodedTracks
|
|
447
|
+
}
|
|
412
448
|
}
|