@100mslive/react-native-hms 0.7.2 → 0.8.1
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 -1
- package/android/src/main/java/com/reactnativehmssdk/HmsDecoder.kt +129 -29
- package/android/src/main/java/com/reactnativehmssdk/HmsHelper.kt +124 -2
- package/android/src/main/java/com/reactnativehmssdk/HmsModule.kt +138 -495
- package/android/src/main/java/com/reactnativehmssdk/HmsSDK.kt +899 -0
- package/android/src/main/java/com/reactnativehmssdk/HmsView.kt +26 -8
- package/android/src/main/java/com/reactnativehmssdk/HmssdkViewManager.kt +8 -6
- package/ios/HmsDecoder.swift +142 -20
- package/ios/HmsHelper.swift +110 -0
- package/ios/HmsManager.m +13 -7
- package/ios/HmsManager.swift +115 -375
- package/ios/HmsSDK.swift +716 -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 +60 -32
- 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 +19 -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 +10 -2
- package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -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 +7 -7
- 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 +2 -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 +2 -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 +336 -109
- 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/HMSTrackType.js +14 -0
- package/lib/commonjs/classes/HMSTrackType.js.map +1 -0
- 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 +98 -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 +59 -32
- 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 +20 -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 +10 -2
- package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -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 +7 -7
- 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 +2 -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 +2 -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 +328 -109
- 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/HMSTrackType.js +7 -0
- package/lib/module/classes/HMSTrackType.js.map +1 -0
- 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 +7 -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 +3 -0
- package/lib/typescript/classes/HMSLocalVideoTrack.d.ts +4 -0
- package/lib/typescript/classes/HMSLogger.d.ts +4 -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 +6 -6
- 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 +36 -6
- package/lib/typescript/classes/HMSServerRecordingState.d.ts +9 -0
- package/lib/typescript/classes/HMSTrack.d.ts +6 -1
- package/lib/typescript/classes/HMSTrackType.d.ts +4 -0
- 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 +7 -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 +62 -28
- package/src/classes/HMSException.ts +33 -0
- package/src/classes/HMSHelper.ts +2 -2
- package/src/classes/HMSLocalAudioTrack.ts +19 -2
- package/src/classes/HMSLocalPeer.ts +3 -0
- package/src/classes/HMSLocalVideoTrack.ts +7 -2
- package/src/classes/HMSLogger.ts +5 -5
- package/src/classes/HMSPeer.ts +3 -0
- package/src/classes/HMSPeerUpdate.ts +1 -0
- package/src/classes/HMSPermissions.ts +9 -9
- package/src/classes/HMSRTMPConfig.ts +15 -0
- package/src/classes/HMSRemoteAudioTrack.ts +13 -2
- package/src/classes/HMSRemotePeer.ts +3 -0
- package/src/classes/HMSRemoteVideoTrack.ts +13 -2
- package/src/classes/HMSRoom.ts +12 -0
- package/src/classes/HMSRtmpStreamingState.ts +11 -0
- package/src/classes/{HMSSDK.ts → HMSSDK.tsx} +284 -42
- package/src/classes/HMSServerRecordingState.ts +11 -0
- package/src/classes/HMSTrack.ts +9 -15
- package/src/classes/HMSTrackType.ts +4 -0
- 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 +7 -0
- package/ios/Hmssdk.m +0 -8
- package/ios/Hmssdk.swift +0 -8
package/ios/HmsManager.swift
CHANGED
|
@@ -2,12 +2,9 @@
|
|
|
2
2
|
import HMSSDK
|
|
3
3
|
|
|
4
4
|
@objc(HmsManager)
|
|
5
|
-
class HmsManager: RCTEventEmitter
|
|
5
|
+
class HmsManager: RCTEventEmitter{
|
|
6
6
|
|
|
7
|
-
var
|
|
8
|
-
var config: HMSConfig?
|
|
9
|
-
var recentRoleChangeRequest: HMSRoleChangeRequest?
|
|
10
|
-
var recentChangeTrackStateRequest: HMSChangeTrackStateRequest?
|
|
7
|
+
var hmsCollection: [String: HmsSDK] = [:]
|
|
11
8
|
|
|
12
9
|
let ON_PREVIEW = "ON_PREVIEW"
|
|
13
10
|
let ON_JOIN = "ON_JOIN"
|
|
@@ -29,9 +26,9 @@ class HmsManager: RCTEventEmitter, HMSUpdateListener, HMSPreviewListener {
|
|
|
29
26
|
super.init()
|
|
30
27
|
}
|
|
31
28
|
|
|
32
|
-
override class func requiresMainQueueSetup() -> Bool {
|
|
33
|
-
true
|
|
34
|
-
}
|
|
29
|
+
// override class func requiresMainQueueSetup() -> Bool {
|
|
30
|
+
// true
|
|
31
|
+
// }
|
|
35
32
|
|
|
36
33
|
override func supportedEvents() -> [String]! {
|
|
37
34
|
return [ON_JOIN, ON_PREVIEW, ON_ROOM_UPDATE, ON_PEER_UPDATE, ON_TRACK_UPDATE, ON_ERROR, ON_MESSAGE, ON_SPEAKER, RECONNECTING, RECONNECTED, ON_ROLE_CHANGE_REQUEST, ON_CHANGE_TRACK_STATE_REQUEST, ON_REMOVED_FROM_ROOM]
|
|
@@ -41,466 +38,209 @@ class HmsManager: RCTEventEmitter, HMSUpdateListener, HMSPreviewListener {
|
|
|
41
38
|
// MARK: - HMS SDK Actions
|
|
42
39
|
|
|
43
40
|
@objc
|
|
44
|
-
func build() {
|
|
41
|
+
func build(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
45
42
|
DispatchQueue.main.async { [weak self] in
|
|
46
|
-
|
|
43
|
+
let hasItem = self?.hmsCollection.index(forKey: "12345")
|
|
44
|
+
|
|
45
|
+
if let _ = hasItem {
|
|
46
|
+
let id = UUID().uuidString
|
|
47
|
+
let hms = HmsSDK(data: data, delegate: self, uid: id)
|
|
48
|
+
self?.hmsCollection[id] = hms
|
|
49
|
+
|
|
50
|
+
resolve?(id)
|
|
51
|
+
} else {
|
|
52
|
+
let id = "12345"
|
|
53
|
+
let hms = HmsSDK(data: data, delegate: self, uid: id)
|
|
54
|
+
self?.hmsCollection[id] = hms
|
|
55
|
+
|
|
56
|
+
resolve?(id)
|
|
57
|
+
}
|
|
47
58
|
}
|
|
48
59
|
}
|
|
49
60
|
|
|
50
61
|
@objc
|
|
51
62
|
func preview(_ credentials: NSDictionary) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
let user = credentials.value(forKey: "userID") as? String,
|
|
55
|
-
let room = credentials.value(forKey: "roomID") as? String
|
|
56
|
-
else {
|
|
57
|
-
return
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
DispatchQueue.main.async { [weak self] in
|
|
61
|
-
guard let strongSelf = self else { return }
|
|
62
|
-
if let endpoint = credentials.value(forKey: "endpoint") as? String {
|
|
63
|
-
strongSelf.config = HMSConfig(userName: user, userID: UUID().uuidString, roomID: room, authToken: authToken, endpoint: endpoint)
|
|
64
|
-
strongSelf.hms?.preview(config: strongSelf.config!, delegate: strongSelf)
|
|
65
|
-
} else {
|
|
66
|
-
strongSelf.config = HMSConfig(userName: user, userID: UUID().uuidString, roomID: room, authToken: authToken)
|
|
67
|
-
strongSelf.hms?.preview(config: strongSelf.config!, delegate: strongSelf)
|
|
68
|
-
}
|
|
69
|
-
}
|
|
63
|
+
let hms = HmsHelper.getHms(credentials, hmsCollection)
|
|
64
|
+
hms?.preview(credentials)
|
|
70
65
|
}
|
|
71
66
|
|
|
72
67
|
@objc
|
|
73
68
|
func join(_ credentials: NSDictionary) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
let user = credentials.value(forKey: "username") as? String,
|
|
77
|
-
let room = credentials.value(forKey: "roomID") as? String
|
|
78
|
-
else {
|
|
79
|
-
return
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
DispatchQueue.main.async { [weak self] in
|
|
83
|
-
guard let strongSelf = self else { return }
|
|
84
|
-
if let config = strongSelf.config {
|
|
85
|
-
strongSelf.hms?.join(config: config, delegate: strongSelf)
|
|
86
|
-
} else {
|
|
87
|
-
if let endpoint = credentials.value(forKey: "endpoint") as? String {
|
|
88
|
-
strongSelf.config = HMSConfig(userName: user, userID: UUID().uuidString, roomID: room, authToken: authToken, endpoint: endpoint)
|
|
89
|
-
strongSelf.hms?.join(config: strongSelf.config!, delegate: strongSelf)
|
|
90
|
-
} else {
|
|
91
|
-
strongSelf.config = HMSConfig(userName: user, userID: UUID().uuidString, roomID: room, authToken: authToken)
|
|
92
|
-
strongSelf.hms?.join(config: strongSelf.config!, delegate: strongSelf)
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
69
|
+
let hms = HmsHelper.getHms(credentials, hmsCollection)
|
|
70
|
+
hms?.join(credentials)
|
|
96
71
|
}
|
|
97
72
|
|
|
98
73
|
@objc
|
|
99
|
-
func setLocalMute(_
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
74
|
+
func setLocalMute(_ data: NSDictionary) {
|
|
75
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
76
|
+
|
|
77
|
+
hms?.setLocalMute(data)
|
|
103
78
|
}
|
|
104
79
|
|
|
105
80
|
@objc
|
|
106
|
-
func setLocalVideoMute(_
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
81
|
+
func setLocalVideoMute(_ data: NSDictionary) {
|
|
82
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
83
|
+
|
|
84
|
+
hms?.setLocalVideoMute(data)
|
|
110
85
|
}
|
|
111
86
|
|
|
112
87
|
@objc
|
|
113
|
-
func switchCamera() {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
88
|
+
func switchCamera(_ data: NSDictionary) {
|
|
89
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
90
|
+
|
|
91
|
+
hms?.switchCamera()
|
|
117
92
|
}
|
|
118
93
|
|
|
119
94
|
@objc
|
|
120
|
-
func leave() {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
95
|
+
func leave(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
96
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
97
|
+
|
|
98
|
+
hms?.leave(resolve, reject)
|
|
124
99
|
}
|
|
125
100
|
|
|
126
101
|
@objc
|
|
127
102
|
func sendBroadcastMessage(_ data: NSDictionary) {
|
|
128
|
-
|
|
129
|
-
else {
|
|
130
|
-
return
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
let type = data.value(forKey: "type") as? String ?? "chat"
|
|
103
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
134
104
|
|
|
135
|
-
|
|
136
|
-
self?.hms?.sendBroadcastMessage(type: type, message: message)
|
|
137
|
-
}
|
|
105
|
+
hms?.sendBroadcastMessage(data)
|
|
138
106
|
}
|
|
139
107
|
|
|
140
108
|
@objc
|
|
141
109
|
func sendGroupMessage(_ data: NSDictionary) {
|
|
142
|
-
|
|
143
|
-
let targetedRoles = data.value(forKey: "roles") as? [String]
|
|
144
|
-
else {
|
|
145
|
-
return
|
|
146
|
-
}
|
|
110
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
147
111
|
|
|
148
|
-
|
|
149
|
-
let encodedTargetedRoles = HmsHelper.getRolesFromRoleNames(targetedRoles, roles: self?.hms?.roles)
|
|
150
|
-
self?.hms?.sendGroupMessage(message: message, roles: encodedTargetedRoles)
|
|
151
|
-
}
|
|
112
|
+
hms?.sendGroupMessage(data)
|
|
152
113
|
}
|
|
153
114
|
|
|
154
115
|
@objc
|
|
155
116
|
func sendDirectMessage(_ data: NSDictionary) {
|
|
156
|
-
|
|
157
|
-
let peerId = data.value(forKey: "peerId") as? String
|
|
158
|
-
else {
|
|
159
|
-
return
|
|
160
|
-
}
|
|
117
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
161
118
|
|
|
162
|
-
|
|
163
|
-
guard let peer = HmsHelper.getPeerFromPeerId(peerId, remotePeers: self?.hms?.remotePeers) else { return }
|
|
164
|
-
self?.hms?.sendDirectMessage(message: message, peer: peer)
|
|
165
|
-
}
|
|
119
|
+
hms?.sendDirectMessage(data)
|
|
166
120
|
}
|
|
167
121
|
|
|
168
122
|
@objc
|
|
169
|
-
func acceptRoleChange() {
|
|
123
|
+
func acceptRoleChange(_ data: NSDictionary) {
|
|
124
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
170
125
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
guard let request = self?.recentRoleChangeRequest else { return }
|
|
174
|
-
|
|
175
|
-
self?.hms?.accept(changeRole: request)
|
|
176
|
-
|
|
177
|
-
self?.recentRoleChangeRequest = nil
|
|
178
|
-
}
|
|
126
|
+
hms?.acceptRoleChange()
|
|
179
127
|
}
|
|
180
128
|
|
|
181
129
|
@objc
|
|
182
130
|
func changeRole(_ data: NSDictionary) {
|
|
131
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
183
132
|
|
|
184
|
-
|
|
185
|
-
let role = data.value(forKey: "role") as? String
|
|
186
|
-
else {
|
|
187
|
-
return
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
let force = data.value(forKey: "force") as? Bool ?? false
|
|
191
|
-
|
|
192
|
-
DispatchQueue.main.async { [weak self] in
|
|
193
|
-
guard let peer = HmsHelper.getPeerFromPeerId(peerId, remotePeers: self?.hms?.remotePeers),
|
|
194
|
-
let role = HmsHelper.getRoleFromRoleName(role, roles: self?.hms?.roles)
|
|
195
|
-
else { return }
|
|
196
|
-
|
|
197
|
-
self?.hms?.changeRole(for: peer, to: role, force: force)
|
|
198
|
-
}
|
|
133
|
+
hms?.changeRole(data)
|
|
199
134
|
}
|
|
200
135
|
|
|
201
136
|
@objc
|
|
202
137
|
func changeTrackState(_ data: NSDictionary) {
|
|
138
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
203
139
|
|
|
204
|
-
|
|
205
|
-
else {
|
|
206
|
-
return
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
let mute = data.value(forKey: "mute") as? Bool ?? true
|
|
210
|
-
|
|
211
|
-
DispatchQueue.main.async { [weak self] in
|
|
212
|
-
guard let remotePeers = self?.hms?.remotePeers,
|
|
213
|
-
let track = HmsHelper.getTrackFromTrackId(trackId, remotePeers)
|
|
214
|
-
else { return }
|
|
215
|
-
|
|
216
|
-
self?.hms?.changeTrackState(for: track, mute: mute)
|
|
217
|
-
}
|
|
140
|
+
hms?.changeTrackState(data)
|
|
218
141
|
}
|
|
219
142
|
|
|
220
143
|
@objc
|
|
221
|
-
func
|
|
222
|
-
|
|
223
|
-
else {
|
|
224
|
-
reject?(nil, "NOT_FOUND", nil)
|
|
225
|
-
return
|
|
226
|
-
}
|
|
144
|
+
func changeTrackStateRoles(_ data: NSDictionary) {
|
|
145
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
227
146
|
|
|
228
|
-
|
|
229
|
-
guard let localPeer = self?.hms?.localPeer,
|
|
230
|
-
let localTrack = HmsHelper.getLocalTrackFromTrackId(trackId, localPeer: localPeer)
|
|
231
|
-
else {
|
|
232
|
-
guard let remotePeers = self?.hms?.remotePeers,
|
|
233
|
-
let track = HmsHelper.getTrackFromTrackId(trackId, remotePeers)
|
|
234
|
-
else {
|
|
235
|
-
reject?(nil, "NOT_FOUND", nil)
|
|
236
|
-
return
|
|
237
|
-
}
|
|
238
|
-
let mute = track.isMute()
|
|
239
|
-
resolve?(mute)
|
|
240
|
-
return
|
|
241
|
-
}
|
|
242
|
-
let mute = localTrack.isMute()
|
|
243
|
-
resolve?(mute)
|
|
244
|
-
}
|
|
147
|
+
hms?.changeTrackStateRoles(data)
|
|
245
148
|
}
|
|
246
149
|
|
|
247
150
|
@objc
|
|
248
|
-
func
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
151
|
+
func isMute(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
152
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
153
|
+
if let hmsInstance = hms {
|
|
154
|
+
hmsInstance.isMute(data, resolve, reject)
|
|
155
|
+
} else {
|
|
156
|
+
reject?(nil, "NO_INSTANCE", nil)
|
|
252
157
|
return
|
|
253
|
-
}
|
|
254
|
-
DispatchQueue.main.async { [weak self] in
|
|
255
|
-
guard let remotePeers = self?.hms?.remotePeers
|
|
256
|
-
else {
|
|
257
|
-
reject?(nil, "NOT_FOUND", nil)
|
|
258
|
-
return
|
|
259
|
-
}
|
|
260
|
-
let remoteAudioTrack = HmsHelper.getRemoteAudioTrackFromTrackId(trackId, remotePeers)
|
|
261
|
-
let remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, remotePeers)
|
|
262
|
-
if (remoteAudioTrack != nil) {
|
|
263
|
-
let isPlaybackAllowed = remoteAudioTrack?.isPlaybackAllowed()
|
|
264
|
-
resolve?(isPlaybackAllowed)
|
|
265
|
-
return
|
|
266
|
-
} else if (remoteVideoTrack != nil) {
|
|
267
|
-
let isPlaybackAllowed = remoteVideoTrack?.isPlaybackAllowed()
|
|
268
|
-
resolve?(isPlaybackAllowed)
|
|
269
|
-
return
|
|
270
|
-
} else {
|
|
271
|
-
reject?(nil, "NOT_FOUND",nil)
|
|
272
|
-
return
|
|
273
|
-
}
|
|
274
|
-
}
|
|
158
|
+
}
|
|
275
159
|
}
|
|
276
160
|
|
|
277
|
-
@objc
|
|
278
|
-
func setPlaybackAllowed(_ data: NSDictionary) {
|
|
279
|
-
guard let trackId = data.value(forKey: "trackId") as? String
|
|
280
|
-
else {
|
|
281
|
-
return
|
|
282
|
-
}
|
|
283
|
-
guard let playbackAllowed = data.value(forKey: "playbackAllowed") as? Bool
|
|
284
|
-
else {
|
|
285
|
-
return
|
|
286
|
-
}
|
|
287
|
-
DispatchQueue.main.async { [weak self] in
|
|
288
|
-
guard let remotePeers = self?.hms?.remotePeers
|
|
289
|
-
else {
|
|
290
|
-
return
|
|
291
|
-
}
|
|
292
|
-
let remoteAudioTrack = HmsHelper.getRemoteAudioTrackFromTrackId(trackId, remotePeers)
|
|
293
|
-
let remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, remotePeers)
|
|
294
|
-
if (remoteAudioTrack != nil) {
|
|
295
|
-
if(playbackAllowed){
|
|
296
|
-
remoteAudioTrack?.setPlaybackAllowed(playbackAllowed)
|
|
297
|
-
}else {
|
|
298
|
-
remoteAudioTrack?.setPlaybackAllowed(playbackAllowed)
|
|
299
|
-
}
|
|
300
|
-
} else if (remoteVideoTrack != nil) {
|
|
301
|
-
remoteVideoTrack?.setPlaybackAllowed(playbackAllowed)
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
161
|
|
|
306
162
|
@objc
|
|
307
163
|
func removePeer(_ data: NSDictionary) {
|
|
164
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
308
165
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
guard let peerId = data.value(forKey: "peerId") as? String
|
|
312
|
-
else {
|
|
313
|
-
return
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
let reason = data.value(forKey: "reason") as? String
|
|
317
|
-
|
|
318
|
-
DispatchQueue.main.async { [weak self] in
|
|
319
|
-
|
|
320
|
-
guard let remotePeers = self?.hms?.remotePeers,
|
|
321
|
-
let peer = HmsHelper.getPeerFromPeerId(peerId, remotePeers: remotePeers)
|
|
322
|
-
else { return }
|
|
323
|
-
|
|
324
|
-
self?.hms?.removePeer(peer, reason: reason ?? "Removed from room")
|
|
325
|
-
}
|
|
166
|
+
hms?.removePeer(data)
|
|
326
167
|
}
|
|
327
168
|
|
|
328
169
|
|
|
329
170
|
@objc
|
|
330
171
|
func endRoom(_ data: NSDictionary) {
|
|
172
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
331
173
|
|
|
332
|
-
|
|
333
|
-
let reason = data.value(forKey: "reason") as? String
|
|
334
|
-
|
|
335
|
-
DispatchQueue.main.async { [weak self] in
|
|
336
|
-
self?.hms?.endRoom(lock: lock ?? false, reason: reason ?? "Room was ended")
|
|
337
|
-
}
|
|
174
|
+
hms?.endRoom(data)
|
|
338
175
|
}
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
// Callback from join action
|
|
344
|
-
let roomData = HmsDecoder.getHmsRoom(room)
|
|
345
|
-
let localPeerData = HmsDecoder.getHmsLocalPeer(hms?.localPeer)
|
|
346
|
-
let remotePeerData = HmsDecoder.getHmsRemotePeers(hms?.remotePeers)
|
|
347
|
-
|
|
348
|
-
let decodedRoles = HmsDecoder.getAllRoles(hms?.roles)
|
|
349
|
-
|
|
350
|
-
self.sendEvent(withName: ON_JOIN, body: ["event": ON_JOIN, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData, "roles": decodedRoles])
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
func onPreview(room: HMSRoom, localTracks: [HMSTrack]) {
|
|
354
|
-
let previewTracks = HmsDecoder.getPreviewTracks(localTracks)
|
|
355
|
-
let hmsRoom = HmsDecoder.getHmsRoom(room)
|
|
356
|
-
let localPeerData = HmsDecoder.getHmsLocalPeer(hms?.localPeer)
|
|
357
|
-
|
|
358
|
-
self.sendEvent(withName: ON_PREVIEW, body: ["event": ON_PREVIEW, "room": hmsRoom, "previewTracks": previewTracks, "localPeer": localPeerData])
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
func on(room: HMSRoom, update: HMSRoomUpdate) {
|
|
362
|
-
// Listener for any updation in room
|
|
363
|
-
let roomData = HmsDecoder.getHmsRoom(room)
|
|
364
|
-
let type = getString(from: update)
|
|
365
|
-
|
|
366
|
-
let localPeerData = HmsDecoder.getHmsLocalPeer(hms?.localPeer)
|
|
367
|
-
let remotePeerData = HmsDecoder.getHmsRemotePeers(hms?.remotePeers)
|
|
176
|
+
|
|
177
|
+
@objc
|
|
178
|
+
func setPlaybackAllowed(_ data: NSDictionary) {
|
|
179
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
368
180
|
|
|
369
|
-
|
|
181
|
+
hms?.setPlaybackAllowed(data)
|
|
370
182
|
}
|
|
371
183
|
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
let
|
|
375
|
-
let type = getString(from: update)
|
|
184
|
+
@objc
|
|
185
|
+
func isPlaybackAllowed(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
186
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
376
187
|
|
|
377
|
-
|
|
378
|
-
let remotePeerData = HmsDecoder.getHmsRemotePeers(hms?.remotePeers)
|
|
379
|
-
|
|
380
|
-
self.sendEvent(withName: ON_PEER_UPDATE, body: ["event": ON_PEER_UPDATE, "type": type, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
|
|
188
|
+
hms?.isPlaybackAllowed(data, resolve, reject)
|
|
381
189
|
}
|
|
382
190
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
let
|
|
386
|
-
let type = getString(from: update)
|
|
387
|
-
|
|
388
|
-
let localPeerData = HmsDecoder.getHmsLocalPeer(hms?.localPeer)
|
|
389
|
-
let remotePeerData = HmsDecoder.getHmsRemotePeers(hms?.remotePeers)
|
|
191
|
+
@objc
|
|
192
|
+
func getRoom(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
193
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
390
194
|
|
|
391
|
-
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
func on(error: HMSError) {
|
|
395
|
-
self.sendEvent(withName: ON_ERROR, body: ["event": ON_ERROR, "error": error.description, "code": error.code.rawValue, "id": error.id, "message": error.message])
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
func on(message: HMSMessage) {
|
|
399
|
-
self.sendEvent(withName: ON_MESSAGE, body: ["event": ON_MESSAGE, "sender": message.sender?.name ?? "", "time": message.time, "message": message.message, "type": message.type])
|
|
195
|
+
hms?.getRoom(data, resolve, reject)
|
|
400
196
|
}
|
|
401
197
|
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
speakerPeerIds.append(["peer": HmsDecoder.getHmsPeer(speaker.peer), "level": speaker.level, "track": HmsDecoder.getHmsTrack(speaker.track)])
|
|
406
|
-
}
|
|
407
|
-
self.sendEvent(withName: ON_SPEAKER, body: ["event": ON_SPEAKER, "count": speakers.count, "peers" :speakerPeerIds])
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
func onReconnecting() {
|
|
411
|
-
self.sendEvent(withName: RECONNECTING, body: ["event": RECONNECTING])
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
func onReconnected() {
|
|
415
|
-
self.sendEvent(withName: RECONNECTED, body: ["event": RECONNECTED])
|
|
198
|
+
// MARK: - HMS SDK Delegate Callbacks
|
|
199
|
+
func emitEvent(_ name: String, _ data: [String: Any]) {
|
|
200
|
+
self.sendEvent(withName: name, body: data)
|
|
416
201
|
}
|
|
417
202
|
|
|
418
|
-
|
|
419
|
-
let decodedRoleChangeRequest = HmsDecoder.getHmsRoleChangeRequest(roleChangeRequest)
|
|
420
|
-
recentRoleChangeRequest = roleChangeRequest
|
|
421
|
-
self.sendEvent(withName: ON_ROLE_CHANGE_REQUEST, body: decodedRoleChangeRequest)
|
|
422
|
-
}
|
|
203
|
+
// MARK: Helper Functions
|
|
423
204
|
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
205
|
+
@objc
|
|
206
|
+
func muteAllPeersAudio(_ data: NSDictionary) {
|
|
207
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
208
|
+
|
|
209
|
+
hms?.muteAllPeersAudio(data)
|
|
428
210
|
}
|
|
429
211
|
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
let
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
self.sendEvent(withName: ON_REMOVED_FROM_ROOM, body: ["event": ON_REMOVED_FROM_ROOM, "requestedBy": decodedRequestedBy, "reason": reason, "roomEnded": roomEnded ])
|
|
212
|
+
@objc
|
|
213
|
+
func changeMetadata(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
214
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
215
|
+
|
|
216
|
+
hms?.changeMetadata(data, resolve, reject)
|
|
436
217
|
}
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
// MARK: Helper Functions
|
|
440
|
-
|
|
218
|
+
|
|
441
219
|
@objc
|
|
442
|
-
func
|
|
443
|
-
|
|
444
|
-
let remotePeers = self?.hms?.remotePeers
|
|
445
|
-
for peer in remotePeers ?? [] {
|
|
446
|
-
peer.remoteAudioTrack()?.setPlaybackAllowed(!mute)
|
|
447
|
-
}
|
|
448
|
-
}
|
|
449
|
-
let roomData = HmsDecoder.getHmsRoom(hms?.room)
|
|
450
|
-
let localPeerData = HmsDecoder.getHmsLocalPeer(hms?.localPeer)
|
|
451
|
-
let remotePeerData = HmsDecoder.getHmsRemotePeers(hms?.remotePeers)
|
|
220
|
+
func setVolume(_ data: NSDictionary) {
|
|
221
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
452
222
|
|
|
453
|
-
|
|
223
|
+
hms?.setVolume(data)
|
|
454
224
|
}
|
|
455
225
|
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
return "PEER_LEFT"
|
|
462
|
-
case .roleUpdated:
|
|
463
|
-
return "ROLE_CHANGED"
|
|
464
|
-
default:
|
|
465
|
-
return ""
|
|
466
|
-
}
|
|
226
|
+
@objc
|
|
227
|
+
func startRTMPOrRecording(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
228
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
229
|
+
|
|
230
|
+
hms?.startRTMPOrRecording(data, resolve, reject)
|
|
467
231
|
}
|
|
468
232
|
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
return "TRACK_REMOVED"
|
|
475
|
-
case .trackMuted:
|
|
476
|
-
return "TRACK_MUTED"
|
|
477
|
-
case .trackUnmuted:
|
|
478
|
-
return "TRACK_UNMUTED"
|
|
479
|
-
case .trackDescriptionChanged:
|
|
480
|
-
return "TRACK_DESCRIPTION_CHANGED"
|
|
481
|
-
case .trackDegraded:
|
|
482
|
-
return "TRACK_DEGRADED"
|
|
483
|
-
case .trackRestored:
|
|
484
|
-
return "TRACK_RESTORED"
|
|
485
|
-
default:
|
|
486
|
-
return ""
|
|
487
|
-
}
|
|
233
|
+
@objc
|
|
234
|
+
func stopRtmpAndRecording(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
|
|
235
|
+
let hms = HmsHelper.getHms(data, hmsCollection)
|
|
236
|
+
|
|
237
|
+
hms?.stopRtmpAndRecording(resolve, reject)
|
|
488
238
|
}
|
|
489
239
|
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
case .browserRecordingStateUpdated:
|
|
497
|
-
return "BROWSER_RECORDING_STATE_UPDATED"
|
|
498
|
-
case .rtmpStreamingStateUpdated:
|
|
499
|
-
return "RTMP_STREAMING_STATE_UPDATED"
|
|
500
|
-
case.serverRecordingStateUpdated:
|
|
501
|
-
return "SERVER_RECORDING_STATE_UPDATED"
|
|
502
|
-
default:
|
|
503
|
-
return ""
|
|
504
|
-
}
|
|
505
|
-
}
|
|
240
|
+
// @objc
|
|
241
|
+
// func setLocalVideoSettings(_ data: NSDictionary) {
|
|
242
|
+
// let hms = HmsHelper.getHms(data, hmsCollection)
|
|
243
|
+
//
|
|
244
|
+
// hms?.setLocalVideoSettings(data)
|
|
245
|
+
// }
|
|
506
246
|
}
|