@100mslive/react-native-hms 1.1.1 → 1.3.0
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 +145 -340
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +292 -94
- package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +127 -127
- package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +167 -115
- package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +283 -45
- package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManager.kt +7 -7
- package/ios/HMSDecoder.swift +276 -137
- package/ios/HMSHelper.swift +3 -3
- package/ios/HMSManager.m +7 -0
- package/ios/HMSManager.swift +37 -2
- package/ios/HMSRNSDK.swift +339 -97
- package/ios/HMSView.m +2 -0
- package/ios/HMSView.swift +35 -3
- package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/yogesh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/lib/commonjs/classes/HMSAudioCodec.js +4 -4
- package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioDevice.js +4 -4
- package/lib/commonjs/classes/HMSAudioDevice.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioFilePlayerNode.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioMixerSource.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioMixingMode.js +4 -4
- package/lib/commonjs/classes/HMSAudioMixingMode.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioMode.js +4 -4
- package/lib/commonjs/classes/HMSAudioMode.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioNode.js +2 -1
- package/lib/commonjs/classes/HMSAudioNode.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSCameraFacing.js +4 -4
- package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
- package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
- package/lib/commonjs/classes/HMSConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSConstants.js +11 -0
- package/lib/commonjs/classes/HMSConstants.js.map +1 -0
- package/lib/commonjs/classes/HMSEncoder.js +129 -102
- package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSException.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
- package/lib/commonjs/classes/HMSHelper.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalPeer.js +0 -1
- package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalVideoTrack.js +0 -2
- package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLogAlarmManager.js +4 -4
- package/lib/commonjs/classes/HMSLogAlarmManager.js.map +1 -1
- package/lib/commonjs/classes/HMSLogLevel.js +4 -4
- package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
- package/lib/commonjs/classes/HMSLogSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSLogger.js +17 -25
- package/lib/commonjs/classes/HMSLogger.js.map +1 -1
- package/lib/commonjs/classes/HMSMessage.js.map +1 -1
- package/lib/commonjs/classes/HMSMessageRecipient.js +1 -1
- package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
- package/lib/commonjs/classes/HMSMessageRecipientType.js +4 -4
- package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
- package/lib/commonjs/classes/HMSMessageType.js +4 -4
- package/lib/commonjs/classes/HMSMessageType.js.map +1 -1
- package/lib/commonjs/classes/HMSMicNode.js.map +1 -1
- package/lib/commonjs/classes/HMSNativeEventEmitter.js +101 -0
- package/lib/commonjs/classes/HMSNativeEventEmitter.js.map +1 -0
- package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -1
- package/lib/commonjs/classes/HMSPIPListenerActions.js +4 -4
- package/lib/commonjs/classes/HMSPIPListenerActions.js.map +1 -1
- package/lib/commonjs/classes/HMSPeer.js +69 -18
- package/lib/commonjs/classes/HMSPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSPeerUpdate.js +7 -5
- package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSPeersCache.js +229 -0
- package/lib/commonjs/classes/HMSPeersCache.js.map +1 -0
- package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
- package/lib/commonjs/classes/HMSPublishSettings.js +0 -6
- package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSRTCStats.js.map +1 -1
- package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -1
- package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRemotePeer.js +0 -1
- package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRole.js +0 -6
- package/lib/commonjs/classes/HMSRole.js.map +1 -1
- package/lib/commonjs/classes/HMSRoleChangeRequest.js +3 -1
- package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
- package/lib/commonjs/classes/HMSRoom.js +79 -22
- package/lib/commonjs/classes/HMSRoom.js.map +1 -1
- package/lib/commonjs/classes/HMSRoomCache.js +128 -0
- package/lib/commonjs/classes/HMSRoomCache.js.map +1 -0
- package/lib/commonjs/classes/HMSRoomUpdate.js +4 -4
- package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
- package/lib/commonjs/classes/HMSRtmpVideoResolution.js.map +1 -1
- package/lib/commonjs/classes/HMSSDK.js +933 -158
- package/lib/commonjs/classes/HMSSDK.js.map +1 -1
- package/lib/commonjs/classes/HMSScreenBroadcastAudioReceiverNode.js.map +1 -1
- package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSSimulcastLayerSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSSimulcastSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSSpeaker.js.map +1 -1
- package/lib/commonjs/classes/HMSSubscribeSettings.js +0 -2
- package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackSettingsInitState.js +4 -4
- package/lib/commonjs/classes/HMSTrackSettingsInitState.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackSource.js +4 -4
- package/lib/commonjs/classes/HMSTrackSource.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackType.js +4 -4
- package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackUpdate.js +4 -4
- package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSUpdateListenerActions.js +5 -5
- package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoCodec.js +4 -4
- package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoViewMode.js +4 -4
- package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
- package/lib/commonjs/classes/HmsView.js +2 -1
- package/lib/commonjs/classes/HmsView.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/classes/HMSAudioCodec.js +3 -3
- package/lib/module/classes/HMSAudioCodec.js.map +1 -1
- package/lib/module/classes/HMSAudioDevice.js +3 -3
- package/lib/module/classes/HMSAudioDevice.js.map +1 -1
- package/lib/module/classes/HMSAudioFilePlayerNode.js.map +1 -1
- package/lib/module/classes/HMSAudioMixerSource.js.map +1 -1
- package/lib/module/classes/HMSAudioMixingMode.js +3 -3
- package/lib/module/classes/HMSAudioMixingMode.js.map +1 -1
- package/lib/module/classes/HMSAudioMode.js +3 -3
- package/lib/module/classes/HMSAudioMode.js.map +1 -1
- package/lib/module/classes/HMSAudioNode.js +2 -1
- package/lib/module/classes/HMSAudioNode.js.map +1 -1
- package/lib/module/classes/HMSAudioSettings.js.map +1 -1
- package/lib/module/classes/HMSAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
- package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
- package/lib/module/classes/HMSCameraFacing.js +3 -3
- package/lib/module/classes/HMSCameraFacing.js.map +1 -1
- package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
- package/lib/module/classes/HMSConfig.js.map +1 -1
- package/lib/module/classes/HMSConstants.js +4 -0
- package/lib/module/classes/HMSConstants.js.map +1 -0
- package/lib/module/classes/HMSEncoder.js +129 -102
- package/lib/module/classes/HMSEncoder.js.map +1 -1
- package/lib/module/classes/HMSException.js.map +1 -1
- package/lib/module/classes/HMSHLSConfig.js.map +1 -1
- package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -1
- package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -1
- package/lib/module/classes/HMSHLSRecordingState.js.map +1 -1
- package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
- package/lib/module/classes/HMSHLSVariant.js.map +1 -1
- package/lib/module/classes/HMSHelper.js.map +1 -1
- package/lib/module/classes/HMSLocalAudioStats.js.map +1 -1
- package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSLocalPeer.js +0 -1
- package/lib/module/classes/HMSLocalPeer.js.map +1 -1
- package/lib/module/classes/HMSLocalVideoStats.js.map +1 -1
- package/lib/module/classes/HMSLocalVideoTrack.js +0 -2
- package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSLogAlarmManager.js +3 -3
- package/lib/module/classes/HMSLogAlarmManager.js.map +1 -1
- package/lib/module/classes/HMSLogLevel.js +3 -3
- package/lib/module/classes/HMSLogLevel.js.map +1 -1
- package/lib/module/classes/HMSLogSettings.js.map +1 -1
- package/lib/module/classes/HMSLogger.js +17 -25
- package/lib/module/classes/HMSLogger.js.map +1 -1
- package/lib/module/classes/HMSMessage.js.map +1 -1
- package/lib/module/classes/HMSMessageRecipient.js +1 -1
- package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
- package/lib/module/classes/HMSMessageRecipientType.js +3 -3
- package/lib/module/classes/HMSMessageRecipientType.js.map +1 -1
- package/lib/module/classes/HMSMessageType.js +3 -3
- package/lib/module/classes/HMSMessageType.js.map +1 -1
- package/lib/module/classes/HMSMicNode.js.map +1 -1
- package/lib/module/classes/HMSNativeEventEmitter.js +94 -0
- package/lib/module/classes/HMSNativeEventEmitter.js.map +1 -0
- package/lib/module/classes/HMSNetworkQuality.js.map +1 -1
- package/lib/module/classes/HMSPIPListenerActions.js +3 -3
- package/lib/module/classes/HMSPIPListenerActions.js.map +1 -1
- package/lib/module/classes/HMSPeer.js +69 -18
- package/lib/module/classes/HMSPeer.js.map +1 -1
- package/lib/module/classes/HMSPeerUpdate.js +4 -3
- package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/module/classes/HMSPeersCache.js +216 -0
- package/lib/module/classes/HMSPeersCache.js.map +1 -0
- package/lib/module/classes/HMSPermissions.js.map +1 -1
- package/lib/module/classes/HMSPublishSettings.js +0 -6
- package/lib/module/classes/HMSPublishSettings.js.map +1 -1
- package/lib/module/classes/HMSRTCStats.js.map +1 -1
- package/lib/module/classes/HMSRTCStatsReport.js.map +1 -1
- package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
- package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -1
- package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSRemotePeer.js +0 -1
- package/lib/module/classes/HMSRemotePeer.js.map +1 -1
- package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -1
- package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSRole.js +0 -6
- package/lib/module/classes/HMSRole.js.map +1 -1
- package/lib/module/classes/HMSRoleChangeRequest.js +3 -1
- package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
- package/lib/module/classes/HMSRoom.js +79 -22
- package/lib/module/classes/HMSRoom.js.map +1 -1
- package/lib/module/classes/HMSRoomCache.js +115 -0
- package/lib/module/classes/HMSRoomCache.js.map +1 -0
- package/lib/module/classes/HMSRoomUpdate.js +3 -3
- package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
- package/lib/module/classes/HMSRtmpVideoResolution.js.map +1 -1
- package/lib/module/classes/HMSSDK.js +934 -159
- package/lib/module/classes/HMSSDK.js.map +1 -1
- package/lib/module/classes/HMSScreenBroadcastAudioReceiverNode.js.map +1 -1
- package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
- package/lib/module/classes/HMSSimulcastLayerSettings.js.map +1 -1
- package/lib/module/classes/HMSSimulcastSettings.js.map +1 -1
- package/lib/module/classes/HMSSpeaker.js.map +1 -1
- package/lib/module/classes/HMSSubscribeSettings.js +0 -2
- package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
- package/lib/module/classes/HMSTrack.js.map +1 -1
- package/lib/module/classes/HMSTrackSettings.js.map +1 -1
- package/lib/module/classes/HMSTrackSettingsInitState.js +3 -3
- package/lib/module/classes/HMSTrackSettingsInitState.js.map +1 -1
- package/lib/module/classes/HMSTrackSource.js +3 -3
- package/lib/module/classes/HMSTrackSource.js.map +1 -1
- package/lib/module/classes/HMSTrackType.js +3 -3
- package/lib/module/classes/HMSTrackType.js.map +1 -1
- package/lib/module/classes/HMSTrackUpdate.js +3 -3
- package/lib/module/classes/HMSTrackUpdate.js.map +1 -1
- package/lib/module/classes/HMSUpdateListenerActions.js +4 -4
- package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/module/classes/HMSVideoCodec.js +3 -3
- package/lib/module/classes/HMSVideoCodec.js.map +1 -1
- package/lib/module/classes/HMSVideoResolution.js.map +1 -1
- package/lib/module/classes/HMSVideoSettings.js.map +1 -1
- package/lib/module/classes/HMSVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
- package/lib/module/classes/HMSVideoViewMode.js +3 -3
- package/lib/module/classes/HMSVideoViewMode.js.map +1 -1
- package/lib/module/classes/HmsView.js +2 -1
- package/lib/module/classes/HmsView.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +4 -4
- package/lib/typescript/classes/HMSChangeTrackStateRequest.d.ts +2 -2
- package/lib/typescript/classes/HMSConstants.d.ts +3 -0
- package/lib/typescript/classes/HMSEncoder.d.ts +10 -6
- package/lib/typescript/classes/HMSHLSStreamingState.d.ts +2 -2
- package/lib/typescript/classes/HMSLocalPeer.d.ts +0 -14
- package/lib/typescript/classes/HMSLocalVideoTrack.d.ts +0 -2
- package/lib/typescript/classes/HMSLogger.d.ts +1 -7
- package/lib/typescript/classes/HMSMessageRecipient.d.ts +2 -2
- package/lib/typescript/classes/HMSNativeEventEmitter.d.ts +13 -0
- package/lib/typescript/classes/HMSPeer.d.ts +12 -18
- package/lib/typescript/classes/HMSPeerUpdate.d.ts +1 -0
- package/lib/typescript/classes/HMSPeersCache.d.ts +17 -0
- package/lib/typescript/classes/HMSPublishSettings.d.ts +8 -15
- package/lib/typescript/classes/HMSRemotePeer.d.ts +0 -14
- package/lib/typescript/classes/HMSRole.d.ts +0 -6
- package/lib/typescript/classes/HMSRoleChangeRequest.d.ts +2 -2
- package/lib/typescript/classes/HMSRoom.d.ts +11 -22
- package/lib/typescript/classes/HMSRoomCache.d.ts +16 -0
- package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +4 -4
- package/lib/typescript/classes/HMSSDK.d.ts +3 -13
- package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -2
- package/lib/typescript/classes/HMSSubscribeSettings.d.ts +0 -2
- package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +1 -1
- package/lib/typescript/index.d.ts +1 -0
- package/package.json +5 -4
- package/react-native-hms.podspec +1 -1
- package/sdk-versions.json +3 -2
- package/src/classes/HMSAudioNode.ts +3 -1
- package/src/classes/HMSBrowserRecordingState.ts +4 -4
- package/src/classes/HMSChangeTrackStateRequest.ts +2 -2
- package/src/classes/HMSConstants.ts +3 -0
- package/src/classes/HMSEncoder.ts +162 -120
- package/src/classes/HMSHLSStreamingState.ts +2 -2
- package/src/classes/HMSLocalPeer.ts +0 -15
- package/src/classes/HMSLocalVideoTrack.ts +0 -2
- package/src/classes/HMSLogger.ts +20 -19
- package/src/classes/HMSMessageRecipient.ts +3 -3
- package/src/classes/HMSNativeEventEmitter.ts +109 -0
- package/src/classes/HMSPeer.ts +135 -32
- package/src/classes/HMSPeerUpdate.ts +9 -0
- package/src/classes/HMSPeersCache.ts +252 -0
- package/src/classes/HMSPublishSettings.ts +8 -18
- package/src/classes/HMSRemotePeer.ts +0 -16
- package/src/classes/HMSRole.ts +0 -9
- package/src/classes/HMSRoleChangeRequest.ts +5 -3
- package/src/classes/HMSRoom.ts +141 -37
- package/src/classes/HMSRoomCache.ts +157 -0
- package/src/classes/HMSRtmpStreamingState.ts +4 -4
- package/src/classes/HMSSDK.tsx +685 -292
- package/src/classes/HMSServerRecordingState.ts +2 -2
- package/src/classes/HMSSubscribeSettings.ts +1 -7
- package/src/classes/HMSUpdateListenerActions.ts +1 -1
- package/src/classes/HmsView.tsx +2 -1
- package/src/index.ts +1 -0
package/ios/HMSDecoder.swift
CHANGED
|
@@ -2,15 +2,64 @@ import HMSSDK
|
|
|
2
2
|
import Foundation
|
|
3
3
|
|
|
4
4
|
class HMSDecoder: NSObject {
|
|
5
|
-
static
|
|
5
|
+
static private var restrictRoleData: [String: Bool] = [:]
|
|
6
|
+
|
|
7
|
+
static func setRestrictRoleData (_ roleName: String, _ value: Bool) {
|
|
8
|
+
restrictRoleData[roleName] = value
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
static func clearRestrictDataStates () {
|
|
12
|
+
restrictRoleData.removeAll()
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
static func getHmsRoomSubset(_ hmsRoom: HMSRoom?, _ hmsRoomUpdateType: HMSRoomUpdate? = nil) -> [String: Any] {
|
|
16
|
+
|
|
17
|
+
guard let room = hmsRoom else { return [String: Any]() }
|
|
18
|
+
|
|
19
|
+
var data: [String: Any] = ["id": room.roomID ?? ""]
|
|
20
|
+
|
|
21
|
+
switch hmsRoomUpdateType {
|
|
22
|
+
case .none:
|
|
23
|
+
return data
|
|
24
|
+
case .metaDataUpdated:
|
|
25
|
+
let count = room.peerCount ?? 0
|
|
26
|
+
data["peerCount"] = count
|
|
27
|
+
return data
|
|
28
|
+
case .hlsRecordingStateUpdated:
|
|
29
|
+
let hlsRecordingState = HMSDecoder.getHlsRecordingState(hmsRoom?.hlsRecordingState)
|
|
30
|
+
data["hlsRecordingState"] = hlsRecordingState
|
|
31
|
+
return data
|
|
32
|
+
case .browserRecordingStateUpdated:
|
|
33
|
+
let browserRecordingState = HMSDecoder.getHMSBrowserRecordingState(hmsRoom?.browserRecordingState)
|
|
34
|
+
data["browserRecordingState"] = browserRecordingState
|
|
35
|
+
return data
|
|
36
|
+
case .hlsStreamingStateUpdated:
|
|
37
|
+
let hlsStreamingState = HMSDecoder.getHlsStreamingState(hmsRoom?.hlsStreamingState)
|
|
38
|
+
data["hlsStreamingState"] = hlsStreamingState
|
|
39
|
+
return data
|
|
40
|
+
case .rtmpStreamingStateUpdated:
|
|
41
|
+
let rtmpStreamingState = HMSDecoder.getHMSRtmpStreamingState(hmsRoom?.rtmpStreamingState)
|
|
42
|
+
data["rtmpHMSRtmpStreamingState"] = rtmpStreamingState
|
|
43
|
+
return data
|
|
44
|
+
case .serverRecordingStateUpdated:
|
|
45
|
+
let serverRecordingState = HMSDecoder.getHMSServerRecordingState(hmsRoom?.serverRecordingState)
|
|
46
|
+
data["serverRecordingState"] = serverRecordingState
|
|
47
|
+
return data
|
|
48
|
+
default:
|
|
49
|
+
return data
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
static func getHmsRoom(_ hmsRoom: HMSRoom?) -> [String: Any] {
|
|
6
54
|
|
|
7
|
-
guard let room = hmsRoom else { return [:] }
|
|
55
|
+
guard let room = hmsRoom else { return [String: Any]() }
|
|
8
56
|
|
|
9
57
|
let id = room.roomID ?? ""
|
|
10
58
|
let sessionId = room.sessionID ?? ""
|
|
11
59
|
let name = room.name ?? ""
|
|
12
60
|
let metaData = room.metaData ?? ""
|
|
13
61
|
let count = room.peerCount ?? 0
|
|
62
|
+
// sessionStartedAt?
|
|
14
63
|
let browserRecordingState = HMSDecoder.getHMSBrowserRecordingState(hmsRoom?.browserRecordingState)
|
|
15
64
|
let rtmpStreamingState = HMSDecoder.getHMSRtmpStreamingState(hmsRoom?.rtmpStreamingState)
|
|
16
65
|
let serverRecordingState = HMSDecoder.getHMSServerRecordingState(hmsRoom?.serverRecordingState)
|
|
@@ -20,7 +69,7 @@ class HMSDecoder: NSObject {
|
|
|
20
69
|
var peers = [[String: Any]]()
|
|
21
70
|
|
|
22
71
|
for peer in room.peers {
|
|
23
|
-
let parsedPeer =
|
|
72
|
+
let parsedPeer = getHmsPeerSubset(peer)
|
|
24
73
|
peers.append(parsedPeer)
|
|
25
74
|
if peer.isLocal {
|
|
26
75
|
localPeer = parsedPeer
|
|
@@ -30,34 +79,113 @@ class HMSDecoder: NSObject {
|
|
|
30
79
|
return ["id": id, "name": name, "metaData": metaData, "peers": peers, "browserRecordingState": browserRecordingState, "rtmpHMSRtmpStreamingState": rtmpStreamingState, "serverRecordingState": serverRecordingState, "hlsRecordingState": hlsRecordingState, "hlsStreamingState": hlsStreamingState, "peerCount": count, "sessionId": sessionId, "localPeer": localPeer]
|
|
31
80
|
}
|
|
32
81
|
|
|
82
|
+
static func getPeerUpdateTypeOrdinals(_ peerUpdateType: HMSPeerUpdate) -> String? {
|
|
83
|
+
switch peerUpdateType {
|
|
84
|
+
case .peerJoined: return "0"
|
|
85
|
+
case .peerLeft: return "1"
|
|
86
|
+
case .roleUpdated: return "9"
|
|
87
|
+
case .nameUpdated: return "10"
|
|
88
|
+
case .metadataUpdated: return "11"
|
|
89
|
+
case .networkQualityUpdated: return "12"
|
|
90
|
+
default: return nil
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
static func getHmsPeerSubsetForPeerUpdateEvent (_ hmsPeer: HMSPeer?, _ peerUpdateType: HMSPeerUpdate) -> [String: Any] {
|
|
95
|
+
|
|
96
|
+
guard let peer = hmsPeer else { return [String: Any]() }
|
|
97
|
+
|
|
98
|
+
var peerDict = [String: Any]()
|
|
99
|
+
|
|
100
|
+
guard let updateType = getPeerUpdateTypeOrdinals(peerUpdateType) else { return peerDict }
|
|
101
|
+
|
|
102
|
+
peerDict[updateType] = peer.peerID
|
|
103
|
+
|
|
104
|
+
switch peerUpdateType {
|
|
105
|
+
case .nameUpdated:
|
|
106
|
+
peerDict["name"] = peer.name
|
|
107
|
+
return peerDict
|
|
108
|
+
case .metadataUpdated:
|
|
109
|
+
peerDict["metadata"] = peer.metadata ?? ""
|
|
110
|
+
return peerDict
|
|
111
|
+
case .roleUpdated:
|
|
112
|
+
peerDict["role"] = getHmsRole(peer.role)
|
|
113
|
+
return peerDict
|
|
114
|
+
case .networkQualityUpdated:
|
|
115
|
+
if let quality = peer.networkQuality {
|
|
116
|
+
peerDict["networkQuality"] = getHmsNetworkQuality(quality)
|
|
117
|
+
}
|
|
118
|
+
return peerDict
|
|
119
|
+
default:
|
|
120
|
+
return peerDict
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
static func getHmsPeerSubset (_ hmsPeer: HMSPeer?, _ peerUpdateType: HMSPeerUpdate? = nil) -> [String: Any] {
|
|
125
|
+
|
|
126
|
+
guard let peer = hmsPeer else { return [String: Any]() }
|
|
127
|
+
|
|
128
|
+
var peerDict = [String: Any]()
|
|
129
|
+
|
|
130
|
+
peerDict["peerID"] = peer.peerID
|
|
131
|
+
|
|
132
|
+
switch peerUpdateType {
|
|
133
|
+
case .nameUpdated:
|
|
134
|
+
peerDict["name"] = peer.name
|
|
135
|
+
return peerDict
|
|
136
|
+
case .metadataUpdated:
|
|
137
|
+
peerDict["metadata"] = peer.metadata ?? ""
|
|
138
|
+
return peerDict
|
|
139
|
+
case .roleUpdated:
|
|
140
|
+
peerDict["role"] = getHmsRole(peer.role)
|
|
141
|
+
return peerDict
|
|
142
|
+
case .networkQualityUpdated:
|
|
143
|
+
if let quality = peer.networkQuality {
|
|
144
|
+
peerDict["networkQuality"] = getHmsNetworkQuality(quality)
|
|
145
|
+
}
|
|
146
|
+
return peerDict
|
|
147
|
+
default:
|
|
148
|
+
return peerDict
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
33
152
|
static func getHmsPeer (_ hmsPeer: HMSPeer?) -> [String: Any] {
|
|
34
153
|
|
|
35
|
-
guard let peer = hmsPeer else { return [:] }
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
let
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
154
|
+
guard let peer = hmsPeer else { return [String: Any]() }
|
|
155
|
+
|
|
156
|
+
var peerDict = [String: Any]()
|
|
157
|
+
|
|
158
|
+
peerDict["peerID"] = peer.peerID
|
|
159
|
+
peerDict["name"] = peer.name
|
|
160
|
+
peerDict["isLocal"] = peer.isLocal
|
|
161
|
+
|
|
162
|
+
if let userID = peer.customerUserID {
|
|
163
|
+
peerDict["customerUserID"] = userID
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
peerDict["metadata"] = peer.metadata ?? ""
|
|
167
|
+
|
|
168
|
+
// joinedAt
|
|
169
|
+
|
|
170
|
+
peerDict["role"] = getHmsRole(peer.role)
|
|
171
|
+
|
|
172
|
+
if let quality = peer.networkQuality {
|
|
173
|
+
peerDict["networkQuality"] = getHmsNetworkQuality(quality)
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
if let audio = peer.audioTrack {
|
|
177
|
+
peerDict["audioTrack"] = getHmsAudioTrack(audio)
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
if let video = peer.videoTrack {
|
|
181
|
+
peerDict["videoTrack"] = getHmsVideoTrack(video)
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
if let auxTracks = peer.auxiliaryTracks, auxTracks.count > 0 {
|
|
185
|
+
peerDict["auxiliaryTracks"] = getAllTracks(auxTracks)
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
return peerDict
|
|
61
189
|
}
|
|
62
190
|
|
|
63
191
|
static func getAllTracks (_ tracks: [HMSTrack]) -> [[String: Any]] {
|
|
@@ -71,7 +199,7 @@ class HMSDecoder: NSObject {
|
|
|
71
199
|
|
|
72
200
|
static func getHmsTrack (_ track: HMSTrack?) -> [String: Any] {
|
|
73
201
|
|
|
74
|
-
guard let hmsTrack = track else { return [:] }
|
|
202
|
+
guard let hmsTrack = track else { return [String: Any]() }
|
|
75
203
|
|
|
76
204
|
let trackId = hmsTrack.trackId
|
|
77
205
|
let source = hmsTrack.source
|
|
@@ -84,7 +212,7 @@ class HMSDecoder: NSObject {
|
|
|
84
212
|
|
|
85
213
|
static func getHmsAudioTrack (_ hmsAudioTrack: HMSAudioTrack?) -> [String: Any] {
|
|
86
214
|
|
|
87
|
-
guard let hmsTrack = hmsAudioTrack else { return [:] }
|
|
215
|
+
guard let hmsTrack = hmsAudioTrack else { return [String: Any]() }
|
|
88
216
|
|
|
89
217
|
let trackId: String = hmsTrack.trackId
|
|
90
218
|
let source: String = hmsTrack.source
|
|
@@ -97,7 +225,7 @@ class HMSDecoder: NSObject {
|
|
|
97
225
|
|
|
98
226
|
static func getHmsVideoTrack (_ hmsVideoTrack: HMSVideoTrack?) -> [String: Any] {
|
|
99
227
|
|
|
100
|
-
guard let hmsTrack = hmsVideoTrack else { return [:] }
|
|
228
|
+
guard let hmsTrack = hmsVideoTrack else { return [String: Any]() }
|
|
101
229
|
|
|
102
230
|
let trackId = hmsTrack.trackId
|
|
103
231
|
let source = hmsTrack.source
|
|
@@ -111,38 +239,25 @@ class HMSDecoder: NSObject {
|
|
|
111
239
|
|
|
112
240
|
static func getHmsLocalPeer(_ hmsLocalPeer: HMSLocalPeer?) -> [String: Any] {
|
|
113
241
|
|
|
114
|
-
guard let peer = hmsLocalPeer else { return [:] }
|
|
115
|
-
|
|
116
|
-
let peerID = peer.peerID
|
|
117
|
-
let name = peer.name
|
|
118
|
-
let isLocal = peer.isLocal
|
|
119
|
-
let customerUserID = peer.customerUserID ?? ""
|
|
120
|
-
let customerDescription = peer.metadata ?? ""
|
|
121
|
-
let metadata = peer.metadata ?? ""
|
|
122
|
-
let audioTrack = getHmsAudioTrack(peer.audioTrack)
|
|
123
|
-
let videoTrack = getHmsVideoTrack(peer.videoTrack)
|
|
124
|
-
let role = getHmsRole(peer.role)
|
|
125
|
-
let networkQuality = getHmsNetworkQuality(peer.networkQuality)
|
|
242
|
+
guard let peer = hmsLocalPeer else { return [String: Any]() }
|
|
126
243
|
|
|
127
|
-
var
|
|
128
|
-
for track in peer.auxiliaryTracks ?? [] {
|
|
129
|
-
auxiliaryTracks.append(getHmsTrack(track))
|
|
130
|
-
}
|
|
244
|
+
var peerDict = [String: Any]()
|
|
131
245
|
|
|
132
|
-
|
|
133
|
-
let localVideoTrack = peer.localVideoTrack()
|
|
246
|
+
peerDict["peerID"] = peer.peerID
|
|
134
247
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
248
|
+
if let audio = peer.audioTrack {
|
|
249
|
+
if let localAudio = audio as? HMSLocalAudioTrack {
|
|
250
|
+
peerDict["localAudioTrackData"] = getHmsLocalAudioTrack(localAudio)
|
|
251
|
+
}
|
|
138
252
|
}
|
|
139
253
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
254
|
+
if let video = peer.videoTrack {
|
|
255
|
+
if let localVideo = video as? HMSLocalVideoTrack {
|
|
256
|
+
peerDict["localVideoTrackData"] = getHmsLocalVideoTrack(localVideo)
|
|
257
|
+
}
|
|
143
258
|
}
|
|
144
259
|
|
|
145
|
-
return
|
|
260
|
+
return peerDict
|
|
146
261
|
}
|
|
147
262
|
|
|
148
263
|
static func getHmsLocalAudioTrack(_ localAudio: HMSLocalAudioTrack) -> [String: Any] {
|
|
@@ -157,7 +272,7 @@ class HMSDecoder: NSObject {
|
|
|
157
272
|
|
|
158
273
|
static func getHmsAudioTrackSettings(_ hmsAudioTrackSettings: HMSAudioTrackSettings?) -> [String: Any] {
|
|
159
274
|
|
|
160
|
-
guard let settings = hmsAudioTrackSettings else { return [:] }
|
|
275
|
+
guard let settings = hmsAudioTrackSettings else { return [String: Any]() }
|
|
161
276
|
|
|
162
277
|
// TODO: parsing not done for audioSource
|
|
163
278
|
let audioSource = settings.audioSource
|
|
@@ -168,7 +283,7 @@ class HMSDecoder: NSObject {
|
|
|
168
283
|
|
|
169
284
|
static func getHmsVideoTrackSettings(_ hmsVideoTrackSettings: HMSVideoTrackSettings?) -> [String: Any] {
|
|
170
285
|
|
|
171
|
-
guard let settings = hmsVideoTrackSettings else { return [:] }
|
|
286
|
+
guard let settings = hmsVideoTrackSettings else { return [String: Any]() }
|
|
172
287
|
|
|
173
288
|
let cameraFacing = getHmsVideoTrackCameraFacing(settings.cameraFacing)
|
|
174
289
|
let initialState = HMSHelper.getHMSTrackInitState(settings.initialMuteState)
|
|
@@ -194,7 +309,7 @@ class HMSDecoder: NSObject {
|
|
|
194
309
|
case HMSCodec.H264:
|
|
195
310
|
return "H264"
|
|
196
311
|
default:
|
|
197
|
-
return "
|
|
312
|
+
return "VP8"
|
|
198
313
|
}
|
|
199
314
|
}
|
|
200
315
|
|
|
@@ -210,13 +325,13 @@ class HMSDecoder: NSObject {
|
|
|
210
325
|
}
|
|
211
326
|
|
|
212
327
|
static func getHmsVideoResolution(_ hmsVideoResolution: HMSVideoResolution?) -> [String: Any] {
|
|
213
|
-
guard let resolution = hmsVideoResolution else { return [:] }
|
|
328
|
+
guard let resolution = hmsVideoResolution else { return [String: Any]() }
|
|
214
329
|
|
|
215
330
|
return ["width": resolution.width, "height": resolution.height]
|
|
216
331
|
}
|
|
217
332
|
|
|
218
333
|
static func getHmsRemotePeers (_ remotePeers: [HMSRemotePeer]?) -> [[String: Any]] {
|
|
219
|
-
guard let remotePeers = remotePeers else { return [[:]] }
|
|
334
|
+
guard let remotePeers = remotePeers else { return [[String: Any]()] }
|
|
220
335
|
|
|
221
336
|
var peers = [[String: Any]]()
|
|
222
337
|
|
|
@@ -227,39 +342,27 @@ class HMSDecoder: NSObject {
|
|
|
227
342
|
return peers
|
|
228
343
|
}
|
|
229
344
|
|
|
230
|
-
static func getHmsRemotePeer(_
|
|
231
|
-
|
|
232
|
-
let peerID = hmsRemotePeer.peerID
|
|
233
|
-
let name = hmsRemotePeer.name
|
|
234
|
-
let isLocal = hmsRemotePeer.isLocal
|
|
235
|
-
let customerUserID = hmsRemotePeer.customerUserID ?? ""
|
|
236
|
-
let customerDescription = hmsRemotePeer.metadata ?? ""
|
|
237
|
-
let metadata = hmsRemotePeer.metadata ?? ""
|
|
238
|
-
let audioTrack = getHmsAudioTrack(hmsRemotePeer.audioTrack)
|
|
239
|
-
let videoTrack = getHmsVideoTrack(hmsRemotePeer.videoTrack)
|
|
240
|
-
let role = getHmsRole(hmsRemotePeer.role)
|
|
241
|
-
let networkQuality = getHmsNetworkQuality(hmsRemotePeer.networkQuality)
|
|
345
|
+
static func getHmsRemotePeer(_ peer: HMSRemotePeer) -> [String: Any] {
|
|
242
346
|
|
|
243
|
-
var
|
|
347
|
+
var peerDict = [String: Any]()
|
|
244
348
|
|
|
245
|
-
|
|
246
|
-
auxiliaryTracks.append(getHmsTrack(track))
|
|
247
|
-
}
|
|
349
|
+
peerDict["peerID"] = peer.peerID
|
|
248
350
|
|
|
249
|
-
|
|
250
|
-
let remoteVideoTrack = hmsRemotePeer.remoteVideoTrack()
|
|
351
|
+
// joinedAt
|
|
251
352
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
353
|
+
if let audio = peer.audioTrack {
|
|
354
|
+
if let remoteAudio = audio as? HMSRemoteAudioTrack {
|
|
355
|
+
peerDict["remoteAudioTrackData"] = getHMSRemoteAudioTrack(remoteAudio)
|
|
356
|
+
}
|
|
255
357
|
}
|
|
256
358
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
359
|
+
if let video = peer.videoTrack {
|
|
360
|
+
if let remoteVideo = video as? HMSRemoteVideoTrack {
|
|
361
|
+
peerDict["remoteVideoTrackData"] = getHMSRemoteVideoTrack(remoteVideo)
|
|
362
|
+
}
|
|
260
363
|
}
|
|
261
364
|
|
|
262
|
-
return
|
|
365
|
+
return peerDict
|
|
263
366
|
}
|
|
264
367
|
|
|
265
368
|
static func getHMSRemoteAudioTrack(_ remoteAudio: HMSRemoteAudioTrack) -> [String: Any] {
|
|
@@ -304,18 +407,20 @@ class HMSDecoder: NSObject {
|
|
|
304
407
|
|
|
305
408
|
static func getHmsRole(_ hmsRole: HMSRole?) -> [String: Any] {
|
|
306
409
|
|
|
307
|
-
guard let role = hmsRole else { return [:] }
|
|
410
|
+
guard let role = hmsRole else { return [String: Any]() }
|
|
308
411
|
|
|
309
412
|
let name = role.name
|
|
413
|
+
|
|
414
|
+
if restrictRoleData[role.name] == true {
|
|
415
|
+
return ["name": name]
|
|
416
|
+
}
|
|
417
|
+
|
|
310
418
|
let permissions = getHmsPermissions(role.permissions)
|
|
311
419
|
let publishSettings = getHmsPublishSettings(role.publishSettings)
|
|
312
420
|
let subscribeSettings = getHmsSubscribeSettings(role.subscribeSettings)
|
|
313
421
|
let priority = role.priority
|
|
314
|
-
let generalPermissions = role.generalPermissions ?? [:]
|
|
315
|
-
let internalPlugins = role.internalPlugins ?? [:]
|
|
316
|
-
let externalPlugins = role.externalPlugins ?? [:]
|
|
317
422
|
|
|
318
|
-
return ["name": name, "permissions": permissions, "publishSettings": publishSettings, "subscribeSettings": subscribeSettings, "priority": priority
|
|
423
|
+
return ["name": name, "permissions": permissions, "publishSettings": publishSettings, "subscribeSettings": subscribeSettings, "priority": priority]
|
|
319
424
|
}
|
|
320
425
|
|
|
321
426
|
static func getHmsPermissions (_ permissions: HMSPermissions) -> [String: Any] {
|
|
@@ -341,41 +446,33 @@ class HMSDecoder: NSObject {
|
|
|
341
446
|
|
|
342
447
|
static func getHmsPublishSettings (_ publishSettings: HMSPublishSettings) -> [String: Any] {
|
|
343
448
|
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
if
|
|
351
|
-
allowed = getWriteableArray(
|
|
352
|
-
} else {
|
|
353
|
-
allowed = []
|
|
449
|
+
var dict = [String: Any]()
|
|
450
|
+
|
|
451
|
+
dict["audio"] = getHmsAudioSettings(publishSettings.audio)
|
|
452
|
+
dict["video"] = getHmsVideoSettings(publishSettings.video)
|
|
453
|
+
dict["screen"] = getHmsVideoSettings(publishSettings.screen)
|
|
454
|
+
|
|
455
|
+
if let allowed = publishSettings.allowed {
|
|
456
|
+
dict["allowed"] = getWriteableArray(allowed)
|
|
354
457
|
}
|
|
355
458
|
|
|
356
|
-
return
|
|
357
|
-
"video": video,
|
|
358
|
-
"screen": screen,
|
|
359
|
-
"videoSimulcastLayers": videoSimulcastLayers,
|
|
360
|
-
"screenSimulcastLayers": screenSimulcastLayers,
|
|
361
|
-
"allowed": allowed]
|
|
459
|
+
return dict
|
|
362
460
|
}
|
|
363
461
|
|
|
364
462
|
static func getHmsSubscribeSettings (_ subscribeSettings: HMSSubscribeSettings?) -> [String: Any] {
|
|
365
463
|
guard let settings = subscribeSettings
|
|
366
|
-
else { return [:] }
|
|
464
|
+
else { return [String: Any]() }
|
|
367
465
|
|
|
368
466
|
let maxSubsBitRate = settings.maxSubsBitRate
|
|
369
|
-
let subscribeDegradationParam = getHmsSubscribeDegradationSettings(settings.subscribeDegradation)
|
|
370
467
|
let subscribeTo = settings.subscribeToRoles
|
|
371
468
|
|
|
372
|
-
return ["maxSubsBitRate": maxSubsBitRate, "
|
|
469
|
+
return ["maxSubsBitRate": maxSubsBitRate, "subscribeTo": subscribeTo ?? []]
|
|
373
470
|
}
|
|
374
471
|
|
|
375
472
|
static func getHmsSubscribeDegradationSettings (_ hmsSubscribeDegradationParams: HMSSubscribeDegradationPolicy?) -> [String: Any] {
|
|
376
473
|
guard let params = hmsSubscribeDegradationParams
|
|
377
474
|
else {
|
|
378
|
-
return [:]
|
|
475
|
+
return [String: Any]()
|
|
379
476
|
}
|
|
380
477
|
|
|
381
478
|
let degradeGracePeriodSeconds = String(params.degradeGracePeriodSeconds ?? 0)
|
|
@@ -415,7 +512,7 @@ class HMSDecoder: NSObject {
|
|
|
415
512
|
|
|
416
513
|
static func getHmsSimulcastLayers(_ videoSimulcastLayers: HMSSimulcastSettingsPolicy?) -> [String: Any] {
|
|
417
514
|
|
|
418
|
-
guard let videoLayers = videoSimulcastLayers else { return [:] }
|
|
515
|
+
guard let videoLayers = videoSimulcastLayers else { return [String: Any]() }
|
|
419
516
|
|
|
420
517
|
let layers = getHmsSimulcastLayerSettingsPolicy(videoLayers.layers)
|
|
421
518
|
|
|
@@ -448,7 +545,7 @@ class HMSDecoder: NSObject {
|
|
|
448
545
|
if let sdkId = id {
|
|
449
546
|
var requestedBy: [String: Any]?
|
|
450
547
|
if let peer = roleChangeRequest.requestedBy {
|
|
451
|
-
requestedBy =
|
|
548
|
+
requestedBy = getHmsPeerSubset(peer)
|
|
452
549
|
}
|
|
453
550
|
|
|
454
551
|
let suggestedRole = getHmsRole(roleChangeRequest.suggestedRole)
|
|
@@ -460,13 +557,13 @@ class HMSDecoder: NSObject {
|
|
|
460
557
|
return request
|
|
461
558
|
}
|
|
462
559
|
|
|
463
|
-
return [:]
|
|
560
|
+
return [String: Any]()
|
|
464
561
|
}
|
|
465
562
|
|
|
466
563
|
static func getHmsChangeTrackStateRequest(_ changeTrackStateRequest: HMSChangeTrackStateRequest, _ id: String) -> [String: Any] {
|
|
467
564
|
var requestedBy: [String: Any]?
|
|
468
565
|
if let peer = changeTrackStateRequest.requestedBy {
|
|
469
|
-
requestedBy =
|
|
566
|
+
requestedBy = getHmsPeerSubset(peer)
|
|
470
567
|
}
|
|
471
568
|
let trackType = changeTrackStateRequest.track.kind == .video ? "video" : "audio"
|
|
472
569
|
|
|
@@ -492,38 +589,60 @@ class HMSDecoder: NSObject {
|
|
|
492
589
|
}
|
|
493
590
|
|
|
494
591
|
static func getHMSBrowserRecordingState(_ data: HMSBrowserRecordingState?) -> [String: Any] {
|
|
592
|
+
|
|
495
593
|
if let recordingState = data {
|
|
496
|
-
let running = recordingState.running
|
|
497
|
-
let startedAt = recordingState.startedAt?.timeIntervalSince1970 ?? 0
|
|
498
|
-
let error = HMSDecoder.getError(recordingState.error)
|
|
499
594
|
|
|
500
|
-
|
|
595
|
+
var state = [String: Any]()
|
|
596
|
+
|
|
597
|
+
state["running"] = recordingState.running
|
|
598
|
+
|
|
599
|
+
state["startedAt"] = (recordingState.startedAt?.timeIntervalSince1970 ?? 0) * 1000
|
|
600
|
+
|
|
601
|
+
if let error = recordingState.error {
|
|
602
|
+
state["error"] = HMSDecoder.getError(error)
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
return state
|
|
501
606
|
} else {
|
|
502
|
-
return [:]
|
|
607
|
+
return [String: Any]()
|
|
503
608
|
}
|
|
504
609
|
}
|
|
505
610
|
|
|
506
611
|
static func getHMSRtmpStreamingState(_ data: HMSRTMPStreamingState?) -> [String: Any] {
|
|
507
612
|
if let streamingState = data {
|
|
508
|
-
let running = streamingState.running
|
|
509
|
-
let startedAt = streamingState.startedAt?.timeIntervalSince1970 ?? 0
|
|
510
|
-
let error = HMSDecoder.getError(streamingState.error)
|
|
511
613
|
|
|
512
|
-
|
|
614
|
+
var state = [String: Any]()
|
|
615
|
+
|
|
616
|
+
state["running"] = streamingState.running
|
|
617
|
+
|
|
618
|
+
state["startedAt"] = (streamingState.startedAt?.timeIntervalSince1970 ?? 0) * 1000
|
|
619
|
+
|
|
620
|
+
if let error = streamingState.error {
|
|
621
|
+
state["error"] = HMSDecoder.getError(error)
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
return state
|
|
513
625
|
} else {
|
|
514
|
-
return [:]
|
|
626
|
+
return [String: Any]()
|
|
515
627
|
}
|
|
516
628
|
}
|
|
517
629
|
|
|
518
630
|
static func getHMSServerRecordingState(_ data: HMSServerRecordingState?) -> [String: Any] {
|
|
519
631
|
if let recordingState = data {
|
|
520
|
-
let running = recordingState.running
|
|
521
|
-
let startedAt = recordingState.startedAt?.timeIntervalSince1970 ?? 0
|
|
522
|
-
let error = HMSDecoder.getError(recordingState.error)
|
|
523
632
|
|
|
524
|
-
|
|
633
|
+
var state = [String: Any]()
|
|
634
|
+
|
|
635
|
+
state["running"] = recordingState.running
|
|
636
|
+
|
|
637
|
+
state["startedAt"] = (recordingState.startedAt?.timeIntervalSince1970 ?? 0) * 1000
|
|
638
|
+
|
|
639
|
+
if let error = recordingState.error {
|
|
640
|
+
state["error"] = HMSDecoder.getError(error)
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
return state
|
|
525
644
|
} else {
|
|
526
|
-
return [:]
|
|
645
|
+
return [String: Any]()
|
|
527
646
|
}
|
|
528
647
|
}
|
|
529
648
|
|
|
@@ -534,7 +653,7 @@ class HMSDecoder: NSObject {
|
|
|
534
653
|
|
|
535
654
|
return ["running": running, "variants": variants]
|
|
536
655
|
} else {
|
|
537
|
-
return [:]
|
|
656
|
+
return [String: Any]()
|
|
538
657
|
}
|
|
539
658
|
}
|
|
540
659
|
|
|
@@ -547,7 +666,7 @@ class HMSDecoder: NSObject {
|
|
|
547
666
|
|
|
548
667
|
return ["running": running, "startedAt": startedAt * 1000, "singleFilePerLayer": singleFilePerLayer, "videoOnDemand": enableVOD]
|
|
549
668
|
} else {
|
|
550
|
-
return [:]
|
|
669
|
+
return [String: Any]()
|
|
551
670
|
}
|
|
552
671
|
}
|
|
553
672
|
|
|
@@ -576,8 +695,15 @@ class HMSDecoder: NSObject {
|
|
|
576
695
|
return ["roundTripTime": data.roundTripTime, "bytesSent": data.bytesSent, "bitrate": data.bitrate]
|
|
577
696
|
}
|
|
578
697
|
|
|
579
|
-
static func getLocalVideoStats(_ data: HMSLocalVideoStats) -> [String: Any] {
|
|
580
|
-
|
|
698
|
+
static func getLocalVideoStats(_ data: [HMSLocalVideoStats]) -> [[String: Any]] {
|
|
699
|
+
var dict = [[String: Any]]()
|
|
700
|
+
for stat in data {
|
|
701
|
+
dict.append(["roundTripTime": stat.roundTripTime,
|
|
702
|
+
"bytesSent": stat.bytesSent,
|
|
703
|
+
"bitrate": stat.bitrate,
|
|
704
|
+
"resolution": HMSDecoder.getHmsVideoResolution(stat.resolution), "frameRate": stat.frameRate])
|
|
705
|
+
}
|
|
706
|
+
return dict
|
|
581
707
|
}
|
|
582
708
|
|
|
583
709
|
static func getRemoteAudioStats(_ data: HMSRemoteAudioStats) -> [String: Any] {
|
|
@@ -589,11 +715,24 @@ class HMSDecoder: NSObject {
|
|
|
589
715
|
}
|
|
590
716
|
|
|
591
717
|
static func getHmsMessageRecipient(_ recipient: HMSMessageRecipient) -> [String: Any] {
|
|
592
|
-
|
|
718
|
+
|
|
719
|
+
var data = [String: Any]()
|
|
720
|
+
|
|
721
|
+
if let peer = recipient.peerRecipient {
|
|
722
|
+
data["recipientPeer"] = getHmsPeerSubset(peer)
|
|
723
|
+
}
|
|
724
|
+
|
|
725
|
+
data["recipientType"] = getRecipientType(from: recipient.type)
|
|
726
|
+
|
|
727
|
+
if let roles = recipient.rolesRecipient {
|
|
728
|
+
data["recipientRoles"] = getAllRoles(roles)
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
return data
|
|
593
732
|
}
|
|
594
733
|
|
|
595
734
|
static func getHmsNetworkQuality(_ hmsNetworkQuality: HMSNetworkQuality?) -> [String: Any] {
|
|
596
|
-
guard let networkQuality = hmsNetworkQuality else { return [:] }
|
|
735
|
+
guard let networkQuality = hmsNetworkQuality else { return [String: Any]() }
|
|
597
736
|
|
|
598
737
|
return ["downlinkQuality": networkQuality.downlinkQuality]
|
|
599
738
|
}
|
package/ios/HMSHelper.swift
CHANGED
|
@@ -154,7 +154,7 @@ class HMSHelper: NSObject {
|
|
|
154
154
|
let resolution = HMSVideoResolution.init(width: 320, height: 180)
|
|
155
155
|
let maxBitrate = 512
|
|
156
156
|
let maxFrameRate = 25
|
|
157
|
-
let trackDescription = "
|
|
157
|
+
let trackDescription = ""
|
|
158
158
|
let cameraFacing = settings?.value(forKey: "cameraFacing") as? String
|
|
159
159
|
let cameraFacingEncoded = HMSHelper.getCameraFacing(cameraFacing)
|
|
160
160
|
let initialState = settings?.value(forKey: "initialState") as? String
|
|
@@ -203,7 +203,7 @@ class HMSHelper: NSObject {
|
|
|
203
203
|
do {
|
|
204
204
|
self.audioMixerSourceHashMap = audioMixerSourceMap
|
|
205
205
|
let audioMixerSource = try HMSAudioMixerSource(nodes: audioMixerSourceMap.values.map {$0})
|
|
206
|
-
return HMSAudioTrackSettings(maxBitrate: 32, trackDescription: "
|
|
206
|
+
return HMSAudioTrackSettings(maxBitrate: 32, trackDescription: "", initialMuteState: initialStateEncoded, audioSource: audioMixerSource)
|
|
207
207
|
} catch {
|
|
208
208
|
delegate?.emitEvent("ON_ERROR", ["error": ["code": 6002, "description": error.localizedDescription, "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
|
|
209
209
|
return nil
|
|
@@ -211,7 +211,7 @@ class HMSHelper: NSObject {
|
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
-
return HMSAudioTrackSettings(maxBitrate: 32, trackDescription: "
|
|
214
|
+
return HMSAudioTrackSettings(maxBitrate: 32, trackDescription: "", initialMuteState: initialStateEncoded, audioSource: nil)
|
|
215
215
|
}
|
|
216
216
|
|
|
217
217
|
static func getAudioMixerSourceMap() -> [String: HMSAudioNode]? {
|