@webex/plugin-meetings 3.0.0-stream-classes.4 → 3.0.0-test.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 +12 -0
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/common/errors/no-meeting-info.js +51 -0
- package/dist/common/errors/no-meeting-info.js.map +1 -0
- package/dist/common/errors/reclaim-host-role-errors.js +158 -0
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
- package/dist/common/errors/webex-errors.js +23 -3
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/logs/request.js +5 -1
- package/dist/common/logs/request.js.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.js +69 -9
- package/dist/constants.js.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.js +15 -0
- package/dist/interceptors/index.js.map +1 -0
- package/dist/interceptors/locusRetry.js +93 -0
- package/dist/interceptors/locusRetry.js.map +1 -0
- package/dist/interpretation/index.js +16 -2
- package/dist/interpretation/index.js.map +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/index.js +40 -11
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +15 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +42 -21
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/media/index.js +10 -6
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +13 -3
- package/dist/media/properties.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +135 -330
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +4 -0
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2187 -1074
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +37 -25
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +34 -19
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +71 -0
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +48 -23
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +25 -4
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/utilv2.js +1 -1
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +17 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +142 -57
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/util.js +2 -6
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +9 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/util.js +11 -0
- package/dist/member/util.js.map +1 -1
- package/dist/members/index.js +17 -1
- package/dist/members/index.js.map +1 -1
- package/dist/members/types.js.map +1 -1
- package/dist/members/util.js +15 -4
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +15 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +1 -1
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +16 -2
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +222 -73
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +22 -0
- package/dist/multistream/sendSlotManager.js.map +1 -1
- package/dist/reachability/clusterReachability.js +356 -0
- package/dist/reachability/clusterReachability.js.map +1 -0
- package/dist/reachability/index.js +262 -432
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +1 -1
- package/dist/reachability/request.js.map +1 -1
- package/dist/reachability/util.js +29 -0
- package/dist/reachability/util.js.map +1 -0
- package/dist/reconnection-manager/index.js +113 -96
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/roap/index.js +57 -25
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +5 -13
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +173 -81
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/index.js +68 -6
- package/dist/rtcMetrics/index.js.map +1 -1
- package/dist/statsAnalyzer/index.js +338 -289
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +296 -156
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
- package/dist/types/common/errors/webex-errors.d.ts +13 -1
- package/dist/types/common/logs/request.d.ts +2 -0
- package/dist/types/config.d.ts +1 -1
- package/dist/types/constants.d.ts +66 -13
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interceptors/index.d.ts +2 -0
- package/dist/types/interceptors/locusRetry.d.ts +27 -0
- package/dist/types/locus-info/index.d.ts +1 -1
- package/dist/types/locus-info/parser.d.ts +3 -2
- package/dist/types/mediaQualityMetrics/config.d.ts +99 -223
- package/dist/types/meeting/in-meeting-actions.d.ts +4 -0
- package/dist/types/meeting/index.d.ts +285 -34
- package/dist/types/meeting/locusMediaRequest.d.ts +1 -2
- package/dist/types/meeting/muteState.d.ts +2 -8
- package/dist/types/meeting/request.d.ts +4 -1
- package/dist/types/meeting/util.d.ts +25 -1
- package/dist/types/meeting-info/index.d.ts +7 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +1 -0
- package/dist/types/meetings/collection.d.ts +9 -0
- package/dist/types/meetings/index.d.ts +42 -14
- package/dist/types/member/index.d.ts +1 -0
- package/dist/types/members/types.d.ts +1 -0
- package/dist/types/members/util.d.ts +5 -0
- package/dist/types/metrics/constants.d.ts +15 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +2 -0
- package/dist/types/multistream/remoteMediaGroup.d.ts +2 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +25 -1
- package/dist/types/multistream/sendSlotManager.d.ts +9 -0
- package/dist/types/reachability/clusterReachability.d.ts +109 -0
- package/dist/types/reachability/index.d.ts +59 -112
- package/dist/types/reachability/request.d.ts +1 -1
- package/dist/types/reachability/util.d.ts +8 -0
- package/dist/types/reconnection-manager/index.d.ts +10 -0
- package/dist/types/roap/index.d.ts +2 -1
- package/dist/types/roap/request.d.ts +2 -1
- package/dist/types/roap/turnDiscovery.d.ts +21 -4
- package/dist/types/rtcMetrics/index.d.ts +15 -1
- package/dist/types/statsAnalyzer/index.d.ts +28 -11
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +28 -4
- package/dist/types/webinar/collection.d.ts +16 -0
- package/dist/types/webinar/index.d.ts +5 -0
- package/dist/webinar/collection.js +44 -0
- package/dist/webinar/collection.js.map +1 -0
- package/dist/webinar/index.js +69 -0
- package/dist/webinar/index.js.map +1 -0
- package/package.json +3 -2
- package/src/common/errors/no-meeting-info.ts +24 -0
- package/src/common/errors/reclaim-host-role-errors.ts +134 -0
- package/src/common/errors/webex-errors.ts +19 -2
- package/src/common/logs/request.ts +5 -1
- package/src/config.ts +1 -1
- package/src/constants.ts +71 -6
- package/src/index.ts +5 -0
- package/src/interceptors/index.ts +3 -0
- package/src/interceptors/locusRetry.ts +67 -0
- package/src/interpretation/index.ts +18 -1
- package/src/locus-info/index.ts +52 -16
- package/src/locus-info/mediaSharesUtils.ts +16 -0
- package/src/locus-info/parser.ts +47 -21
- package/src/media/index.ts +8 -6
- package/src/media/properties.ts +17 -2
- package/src/mediaQualityMetrics/config.ts +103 -238
- package/src/meeting/in-meeting-actions.ts +8 -0
- package/src/meeting/index.ts +1510 -529
- package/src/meeting/muteState.ts +34 -20
- package/src/meeting/request.ts +19 -1
- package/src/meeting/util.ts +97 -0
- package/src/meeting-info/index.ts +47 -20
- package/src/meeting-info/meeting-info-v2.ts +27 -5
- package/src/meeting-info/utilv2.ts +1 -1
- package/src/meetings/collection.ts +13 -0
- package/src/meetings/index.ts +112 -31
- package/src/meetings/util.ts +2 -8
- package/src/member/index.ts +9 -0
- package/src/member/util.ts +14 -0
- package/src/members/index.ts +29 -2
- package/src/members/types.ts +1 -0
- package/src/members/util.ts +15 -1
- package/src/metrics/constants.ts +14 -0
- package/src/multistream/mediaRequestManager.ts +4 -1
- package/src/multistream/remoteMediaGroup.ts +19 -0
- package/src/multistream/remoteMediaManager.ts +141 -18
- package/src/multistream/sendSlotManager.ts +29 -0
- package/src/reachability/clusterReachability.ts +320 -0
- package/src/reachability/index.ts +221 -382
- package/src/reachability/request.ts +1 -1
- package/src/reachability/util.ts +24 -0
- package/src/reconnection-manager/index.ts +87 -83
- package/src/roap/index.ts +60 -24
- package/src/roap/request.ts +3 -16
- package/src/roap/turnDiscovery.ts +112 -39
- package/src/rtcMetrics/index.ts +71 -5
- package/src/statsAnalyzer/index.ts +430 -427
- package/src/statsAnalyzer/mqaUtil.ts +317 -168
- package/src/webinar/collection.ts +31 -0
- package/src/webinar/index.ts +62 -0
- package/test/integration/spec/converged-space-meetings.js +7 -7
- package/test/integration/spec/journey.js +86 -104
- package/test/integration/spec/space-meeting.js +9 -9
- package/test/unit/spec/interceptors/locusRetry.ts +131 -0
- package/test/unit/spec/interpretation/index.ts +36 -3
- package/test/unit/spec/locus-info/index.js +205 -12
- package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +10 -0
- package/test/unit/spec/locus-info/parser.js +54 -13
- package/test/unit/spec/media/index.ts +20 -4
- package/test/unit/spec/media/properties.ts +2 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +4 -0
- package/test/unit/spec/meeting/index.js +4027 -1075
- package/test/unit/spec/meeting/muteState.js +219 -67
- package/test/unit/spec/meeting/request.js +63 -12
- package/test/unit/spec/meeting/utils.js +93 -0
- package/test/unit/spec/meeting-info/index.js +180 -61
- package/test/unit/spec/meeting-info/meetinginfov2.js +196 -53
- package/test/unit/spec/meetings/collection.js +12 -0
- package/test/unit/spec/meetings/index.js +619 -206
- package/test/unit/spec/meetings/utils.js +35 -12
- package/test/unit/spec/member/index.js +8 -7
- package/test/unit/spec/member/util.js +32 -0
- package/test/unit/spec/members/index.js +130 -17
- package/test/unit/spec/members/utils.js +26 -0
- package/test/unit/spec/multistream/mediaRequestManager.ts +20 -2
- package/test/unit/spec/multistream/remoteMediaGroup.ts +80 -1
- package/test/unit/spec/multistream/remoteMediaManager.ts +210 -3
- package/test/unit/spec/multistream/sendSlotManager.ts +50 -18
- package/test/unit/spec/reachability/clusterReachability.ts +279 -0
- package/test/unit/spec/reachability/index.ts +505 -135
- package/test/unit/spec/reachability/util.ts +40 -0
- package/test/unit/spec/reconnection-manager/index.js +74 -17
- package/test/unit/spec/roap/index.ts +181 -61
- package/test/unit/spec/roap/request.ts +27 -3
- package/test/unit/spec/roap/turnDiscovery.ts +362 -101
- package/test/unit/spec/rtcMetrics/index.ts +57 -3
- package/test/unit/spec/stats-analyzer/index.js +1225 -12
- package/test/unit/spec/webinar/collection.ts +13 -0
- package/test/unit/spec/webinar/index.ts +60 -0
- package/test/utils/integrationTestUtils.js +4 -4
- package/test/utils/webex-test-users.js +12 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MediaProperties","MEETINGS","webrtcMediaConnection","mediaDirection","receiveAudio","receiveVideo","receiveShare","sendAudio","sendVideo","sendShare","videoStream","audioStream","shareVideoStream","shareAudioStream","remoteShareStream","undefined","remoteAudioStream","remoteVideoStream","remoteQualityLevel","QUALITY_LEVELS","HIGH","mediaSettings","videoDeviceId","type","values","mediaPeerConnection","deviceId","unsetRemoteMedia","unsetRemoteShareStream","isConnected","getConnectionState","ConnectionState","Connected","resolve","reject","timer","connectionStateListener","LoggerProxy","logger","log","clearTimeout","off","Event","CONNECTION_STATE_CHANGED","setTimeout","PC_BAIL_TIMEOUT","on","waitForMediaConnectionConnected","allStatsReports","getStats","statsResult","forEach","report","push","warn","successfulCandidatePairs","filter","state","toLowerCase","foundConnectionType","some","pair","localCandidate","find","id","localCandidateId","connectionType","relayProtocol","toUpperCase","protocol"],"sources":["properties.ts"],"sourcesContent":["import {ConnectionState, Event} from '@webex/internal-media-core';\n\nimport {\n LocalCameraStream,\n LocalMicrophoneStream,\n LocalDisplayStream,\n LocalSystemAudioStream,\n RemoteStream,\n} from '@webex/media-helpers';\n\nimport {MEETINGS, PC_BAIL_TIMEOUT, QUALITY_LEVELS} from '../constants';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nexport type MediaDirection = {\n sendAudio: boolean;\n sendVideo: boolean;\n sendShare: boolean;\n receiveAudio: boolean;\n receiveVideo: boolean;\n receiveShare: boolean;\n};\n\n/**\n * @class MediaProperties\n */\nexport default class MediaProperties {\n audioStream?: LocalMicrophoneStream;\n mediaDirection: MediaDirection;\n mediaSettings: any;\n webrtcMediaConnection: any;\n remoteAudioStream: RemoteStream;\n remoteQualityLevel: any;\n remoteShareStream: RemoteStream;\n remoteVideoStream: RemoteStream;\n shareVideoStream?: LocalDisplayStream;\n shareAudioStream?: LocalSystemAudioStream;\n videoDeviceId: any;\n videoStream?: LocalCameraStream;\n namespace = MEETINGS;\n\n /**\n * @param {Object} [options] -- to auto construct\n * @returns {MediaProperties}\n */\n constructor() {\n this.webrtcMediaConnection = null;\n this.mediaDirection = {\n receiveAudio: false,\n receiveVideo: false,\n receiveShare: false,\n sendAudio: false,\n sendVideo: false,\n sendShare: false,\n };\n this.videoStream = null;\n this.audioStream = null;\n this.shareVideoStream = null;\n this.shareAudioStream = null;\n this.remoteShareStream = undefined;\n this.remoteAudioStream = undefined;\n this.remoteVideoStream = undefined;\n this.remoteQualityLevel = QUALITY_LEVELS.HIGH;\n this.mediaSettings = {};\n this.videoDeviceId = null;\n }\n\n /**\n * Retrieves the preferred video input device\n * @returns {Object|null}\n */\n getVideoDeviceId() {\n return this.videoDeviceId || null;\n }\n\n setMediaDirection(mediaDirection) {\n this.mediaDirection = mediaDirection;\n }\n\n setMediaSettings(type, values) {\n this.mediaSettings[type] = values;\n }\n\n setMediaPeerConnection(mediaPeerConnection) {\n this.webrtcMediaConnection = mediaPeerConnection;\n }\n\n setLocalVideoStream(videoStream?: LocalCameraStream) {\n this.videoStream = videoStream;\n }\n\n setLocalAudioStream(audioStream?: LocalMicrophoneStream) {\n this.audioStream = audioStream;\n }\n\n setLocalShareVideoStream(shareVideoStream?: LocalDisplayStream) {\n this.shareVideoStream = shareVideoStream;\n }\n\n setLocalShareAudioStream(shareAudioStream?: LocalSystemAudioStream) {\n this.shareAudioStream = shareAudioStream;\n }\n\n setRemoteQualityLevel(remoteQualityLevel) {\n this.remoteQualityLevel = remoteQualityLevel;\n }\n\n setRemoteShareStream(remoteShareStream: RemoteStream) {\n this.remoteShareStream = remoteShareStream;\n }\n\n /**\n * Sets the remote audio stream\n * @param {RemoteStream} remoteAudioStream RemoteStream to save\n * @returns {void}\n */\n setRemoteAudioStream(remoteAudioStream: RemoteStream) {\n this.remoteAudioStream = remoteAudioStream;\n }\n\n /**\n * Sets the remote video stream\n * @param {RemoteStream} remoteVideoStream RemoteStream to save\n * @returns {void}\n */\n setRemoteVideoStream(remoteVideoStream: RemoteStream) {\n this.remoteVideoStream = remoteVideoStream;\n }\n\n /**\n * Stores the preferred video input device\n * @param {string} deviceId Preferred video input device\n * @returns {void}\n */\n setVideoDeviceId(deviceId: string) {\n this.videoDeviceId = deviceId;\n }\n\n unsetPeerConnection() {\n this.webrtcMediaConnection = null;\n }\n\n /**\n * Removes both remote audio and video from class instance\n * @returns {void}\n */\n unsetRemoteMedia() {\n this.remoteAudioStream = null;\n this.remoteVideoStream = null;\n }\n\n unsetRemoteShareStream() {\n this.remoteShareStream = null;\n }\n\n /**\n * Unsets all remote streams\n * @returns {void}\n */\n unsetRemoteStreams() {\n this.unsetRemoteMedia();\n this.unsetRemoteShareStream();\n }\n\n /**\n * Returns if we have at least one local share stream or not.\n * @returns {Boolean}\n */\n hasLocalShareStream() {\n return !!(this.shareAudioStream || this.shareVideoStream);\n }\n\n /**\n * Waits for the webrtc media connection to be connected.\n *\n * @returns {Promise<void>}\n */\n waitForMediaConnectionConnected(): Promise<void> {\n const isConnected = () =>\n this.webrtcMediaConnection.getConnectionState() === ConnectionState.Connected;\n\n if (isConnected()) {\n return Promise.resolve();\n }\n\n return new Promise<void>((resolve, reject) => {\n let timer;\n\n const connectionStateListener = () => {\n LoggerProxy.logger.log(\n `Media:properties#waitForMediaConnectionConnected --> connection state: ${this.webrtcMediaConnection.getConnectionState()}`\n );\n\n if (isConnected()) {\n clearTimeout(timer);\n this.webrtcMediaConnection.off(Event.CONNECTION_STATE_CHANGED, connectionStateListener);\n resolve();\n }\n };\n\n timer = setTimeout(() => {\n this.webrtcMediaConnection.off(Event.CONNECTION_STATE_CHANGED, connectionStateListener);\n reject();\n }, PC_BAIL_TIMEOUT);\n\n this.webrtcMediaConnection.on(Event.CONNECTION_STATE_CHANGED, connectionStateListener);\n });\n }\n\n /**\n * Returns the type of a connection that has been established\n *\n * @returns {Promise<'UDP' | 'TCP' | 'TURN-TLS' | 'TURN-TCP' | 'TURN-UDP' | 'unknown'>}\n */\n async getCurrentConnectionType() {\n // we can only get the connection type after ICE connection has been established\n await this.waitForMediaConnectionConnected();\n\n const allStatsReports = [];\n\n try {\n const statsResult = await this.webrtcMediaConnection.getStats();\n statsResult.forEach((report) => allStatsReports.push(report));\n } catch (error) {\n LoggerProxy.logger.warn(\n `Media:properties#getCurrentConnectionType --> getStats() failed: ${error}`\n );\n }\n\n const successfulCandidatePairs = allStatsReports.filter(\n (report) => report.type === 'candidate-pair' && report.state?.toLowerCase() === 'succeeded'\n );\n\n let foundConnectionType = 'unknown';\n\n // all of the successful pairs should have the same connection type, so just return the type for the first one\n successfulCandidatePairs.some((pair) => {\n const localCandidate = allStatsReports.find(\n (report) => report.type === 'local-candidate' && report.id === pair.localCandidateId\n );\n\n if (localCandidate === undefined) {\n LoggerProxy.logger.warn(\n `Media:properties#getCurrentConnectionType --> failed to find local candidate \"${pair.localCandidateId}\" in getStats() results`\n );\n\n return false;\n }\n\n let connectionType;\n\n if (localCandidate.relayProtocol) {\n connectionType = `TURN-${localCandidate.relayProtocol.toUpperCase()}`;\n } else {\n connectionType = localCandidate.protocol?.toUpperCase(); // it will be UDP or TCP\n }\n\n if (connectionType) {\n foundConnectionType = connectionType;\n\n return true;\n }\n\n return false;\n });\n\n return foundConnectionType;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["MediaProperties","MEETINGS","webrtcMediaConnection","mediaDirection","receiveAudio","receiveVideo","receiveShare","sendAudio","sendVideo","sendShare","videoStream","audioStream","shareVideoStream","shareAudioStream","remoteShareStream","undefined","remoteAudioStream","remoteVideoStream","remoteQualityLevel","QUALITY_LEVELS","HIGH","mediaSettings","videoDeviceId","type","values","mediaPeerConnection","deviceId","unsetRemoteMedia","unsetRemoteShareStream","isConnected","getConnectionState","ConnectionState","Connected","resolve","reject","timer","connectionStateListener","LoggerProxy","logger","log","clearTimeout","off","Event","CONNECTION_STATE_CHANGED","setTimeout","ICE_AND_DTLS_CONNECTION_TIMEOUT","on","waitForMediaConnectionConnected","allStatsReports","getStats","statsResult","forEach","report","push","warn","successfulCandidatePairs","filter","state","toLowerCase","foundConnectionType","some","pair","localCandidate","find","id","localCandidateId","connectionType","relayProtocol","toUpperCase","protocol","candidateType","candidatePairStates","map"],"sources":["properties.ts"],"sourcesContent":["import {ConnectionState, Event} from '@webex/internal-media-core';\n\nimport {\n LocalCameraStream,\n LocalMicrophoneStream,\n LocalDisplayStream,\n LocalSystemAudioStream,\n RemoteStream,\n} from '@webex/media-helpers';\n\nimport {MEETINGS, ICE_AND_DTLS_CONNECTION_TIMEOUT, QUALITY_LEVELS} from '../constants';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nexport type MediaDirection = {\n sendAudio: boolean;\n sendVideo: boolean;\n sendShare: boolean;\n receiveAudio: boolean;\n receiveVideo: boolean;\n receiveShare: boolean;\n};\n\n/**\n * @class MediaProperties\n */\nexport default class MediaProperties {\n audioStream?: LocalMicrophoneStream;\n mediaDirection: MediaDirection;\n mediaSettings: any;\n webrtcMediaConnection: any;\n remoteAudioStream: RemoteStream;\n remoteQualityLevel: any;\n remoteShareStream: RemoteStream;\n remoteVideoStream: RemoteStream;\n shareVideoStream?: LocalDisplayStream;\n shareAudioStream?: LocalSystemAudioStream;\n videoDeviceId: any;\n videoStream?: LocalCameraStream;\n namespace = MEETINGS;\n\n /**\n * @param {Object} [options] -- to auto construct\n * @returns {MediaProperties}\n */\n constructor() {\n this.webrtcMediaConnection = null;\n this.mediaDirection = {\n receiveAudio: false,\n receiveVideo: false,\n receiveShare: false,\n sendAudio: false,\n sendVideo: false,\n sendShare: false,\n };\n this.videoStream = null;\n this.audioStream = null;\n this.shareVideoStream = null;\n this.shareAudioStream = null;\n this.remoteShareStream = undefined;\n this.remoteAudioStream = undefined;\n this.remoteVideoStream = undefined;\n this.remoteQualityLevel = QUALITY_LEVELS.HIGH;\n this.mediaSettings = {};\n this.videoDeviceId = null;\n }\n\n /**\n * Retrieves the preferred video input device\n * @returns {Object|null}\n */\n getVideoDeviceId() {\n return this.videoDeviceId || null;\n }\n\n setMediaDirection(mediaDirection) {\n this.mediaDirection = mediaDirection;\n }\n\n setMediaSettings(type, values) {\n this.mediaSettings[type] = values;\n }\n\n setMediaPeerConnection(mediaPeerConnection) {\n this.webrtcMediaConnection = mediaPeerConnection;\n }\n\n setLocalVideoStream(videoStream?: LocalCameraStream) {\n this.videoStream = videoStream;\n }\n\n setLocalAudioStream(audioStream?: LocalMicrophoneStream) {\n this.audioStream = audioStream;\n }\n\n setLocalShareVideoStream(shareVideoStream?: LocalDisplayStream) {\n this.shareVideoStream = shareVideoStream;\n }\n\n setLocalShareAudioStream(shareAudioStream?: LocalSystemAudioStream) {\n this.shareAudioStream = shareAudioStream;\n }\n\n setRemoteQualityLevel(remoteQualityLevel) {\n this.remoteQualityLevel = remoteQualityLevel;\n }\n\n setRemoteShareStream(remoteShareStream: RemoteStream) {\n this.remoteShareStream = remoteShareStream;\n }\n\n /**\n * Sets the remote audio stream\n * @param {RemoteStream} remoteAudioStream RemoteStream to save\n * @returns {void}\n */\n setRemoteAudioStream(remoteAudioStream: RemoteStream) {\n this.remoteAudioStream = remoteAudioStream;\n }\n\n /**\n * Sets the remote video stream\n * @param {RemoteStream} remoteVideoStream RemoteStream to save\n * @returns {void}\n */\n setRemoteVideoStream(remoteVideoStream: RemoteStream) {\n this.remoteVideoStream = remoteVideoStream;\n }\n\n /**\n * Stores the preferred video input device\n * @param {string} deviceId Preferred video input device\n * @returns {void}\n */\n setVideoDeviceId(deviceId: string) {\n this.videoDeviceId = deviceId;\n }\n\n unsetPeerConnection() {\n this.webrtcMediaConnection = null;\n }\n\n /**\n * Removes both remote audio and video from class instance\n * @returns {void}\n */\n unsetRemoteMedia() {\n this.remoteAudioStream = null;\n this.remoteVideoStream = null;\n }\n\n unsetRemoteShareStream() {\n this.remoteShareStream = null;\n }\n\n /**\n * Unsets all remote streams\n * @returns {void}\n */\n unsetRemoteStreams() {\n this.unsetRemoteMedia();\n this.unsetRemoteShareStream();\n }\n\n /**\n * Returns if we have at least one local share stream or not.\n * @returns {Boolean}\n */\n hasLocalShareStream() {\n return !!(this.shareAudioStream || this.shareVideoStream);\n }\n\n /**\n * Waits for the webrtc media connection to be connected.\n *\n * @returns {Promise<void>}\n */\n waitForMediaConnectionConnected(): Promise<void> {\n const isConnected = () =>\n this.webrtcMediaConnection.getConnectionState() === ConnectionState.Connected;\n\n if (isConnected()) {\n return Promise.resolve();\n }\n\n return new Promise<void>((resolve, reject) => {\n let timer;\n\n const connectionStateListener = () => {\n LoggerProxy.logger.log(\n `Media:properties#waitForMediaConnectionConnected --> connection state: ${this.webrtcMediaConnection.getConnectionState()}`\n );\n\n if (isConnected()) {\n clearTimeout(timer);\n this.webrtcMediaConnection.off(Event.CONNECTION_STATE_CHANGED, connectionStateListener);\n resolve();\n }\n };\n\n timer = setTimeout(() => {\n this.webrtcMediaConnection.off(Event.CONNECTION_STATE_CHANGED, connectionStateListener);\n reject();\n }, ICE_AND_DTLS_CONNECTION_TIMEOUT);\n\n this.webrtcMediaConnection.on(Event.CONNECTION_STATE_CHANGED, connectionStateListener);\n });\n }\n\n /**\n * Returns the type of a connection that has been established\n *\n * @returns {Promise<'UDP' | 'TCP' | 'TURN-TLS' | 'TURN-TCP' | 'TURN-UDP' | 'unknown'>}\n */\n async getCurrentConnectionType() {\n // we can only get the connection type after ICE connection has been established\n await this.waitForMediaConnectionConnected();\n\n const allStatsReports = [];\n\n try {\n const statsResult = await this.webrtcMediaConnection.getStats();\n statsResult.forEach((report) => allStatsReports.push(report));\n } catch (error) {\n LoggerProxy.logger.warn(\n `Media:properties#getCurrentConnectionType --> getStats() failed: ${error}`\n );\n }\n\n const successfulCandidatePairs = allStatsReports.filter(\n (report) => report.type === 'candidate-pair' && report.state?.toLowerCase() === 'succeeded'\n );\n\n let foundConnectionType = 'unknown';\n\n // all of the successful pairs should have the same connection type, so just return the type for the first one\n successfulCandidatePairs.some((pair) => {\n const localCandidate = allStatsReports.find(\n (report) => report.type === 'local-candidate' && report.id === pair.localCandidateId\n );\n\n if (localCandidate === undefined) {\n LoggerProxy.logger.warn(\n `Media:properties#getCurrentConnectionType --> failed to find local candidate \"${pair.localCandidateId}\" in getStats() results`\n );\n\n return false;\n }\n\n let connectionType;\n\n if (localCandidate.relayProtocol) {\n connectionType = `TURN-${localCandidate.relayProtocol.toUpperCase()}`;\n } else {\n connectionType = localCandidate.protocol?.toUpperCase(); // it will be UDP or TCP\n }\n\n if (connectionType) {\n foundConnectionType = connectionType;\n\n return true;\n }\n LoggerProxy.logger.warn(\n `Media:properties#getCurrentConnectionType --> missing localCandidate.protocol, candidateType=${localCandidate.candidateType}`\n );\n\n return false;\n });\n\n if (foundConnectionType === 'unknown') {\n const candidatePairStates = allStatsReports\n .filter((report) => report.type === 'candidate-pair')\n .map((report) => report.state);\n\n LoggerProxy.logger.warn(\n `Media:properties#getCurrentConnectionType --> all candidate pair states: ${JSON.stringify(\n candidatePairStates\n )}`\n );\n }\n\n return foundConnectionType;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAUA;AACA;AAWA;AACA;AACA;AAFA,IAGqBA,eAAe;EAelC;AACF;AACA;AACA;EACE,2BAAc;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA,iDANFC,mBAAQ;IAOlB,IAAI,CAACC,qBAAqB,GAAG,IAAI;IACjC,IAAI,CAACC,cAAc,GAAG;MACpBC,YAAY,EAAE,KAAK;MACnBC,YAAY,EAAE,KAAK;MACnBC,YAAY,EAAE,KAAK;MACnBC,SAAS,EAAE,KAAK;MAChBC,SAAS,EAAE,KAAK;MAChBC,SAAS,EAAE;IACb,CAAC;IACD,IAAI,CAACC,WAAW,GAAG,IAAI;IACvB,IAAI,CAACC,WAAW,GAAG,IAAI;IACvB,IAAI,CAACC,gBAAgB,GAAG,IAAI;IAC5B,IAAI,CAACC,gBAAgB,GAAG,IAAI;IAC5B,IAAI,CAACC,iBAAiB,GAAGC,SAAS;IAClC,IAAI,CAACC,iBAAiB,GAAGD,SAAS;IAClC,IAAI,CAACE,iBAAiB,GAAGF,SAAS;IAClC,IAAI,CAACG,kBAAkB,GAAGC,yBAAc,CAACC,IAAI;IAC7C,IAAI,CAACC,aAAa,GAAG,CAAC,CAAC;IACvB,IAAI,CAACC,aAAa,GAAG,IAAI;EAC3B;;EAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,4BAAmB;MACjB,OAAO,IAAI,CAACA,aAAa,IAAI,IAAI;IACnC;EAAC;IAAA;IAAA,OAED,2BAAkBnB,cAAc,EAAE;MAChC,IAAI,CAACA,cAAc,GAAGA,cAAc;IACtC;EAAC;IAAA;IAAA,OAED,0BAAiBoB,IAAI,EAAEC,MAAM,EAAE;MAC7B,IAAI,CAACH,aAAa,CAACE,IAAI,CAAC,GAAGC,MAAM;IACnC;EAAC;IAAA;IAAA,OAED,gCAAuBC,mBAAmB,EAAE;MAC1C,IAAI,CAACvB,qBAAqB,GAAGuB,mBAAmB;IAClD;EAAC;IAAA;IAAA,OAED,6BAAoBf,WAA+B,EAAE;MACnD,IAAI,CAACA,WAAW,GAAGA,WAAW;IAChC;EAAC;IAAA;IAAA,OAED,6BAAoBC,WAAmC,EAAE;MACvD,IAAI,CAACA,WAAW,GAAGA,WAAW;IAChC;EAAC;IAAA;IAAA,OAED,kCAAyBC,gBAAqC,EAAE;MAC9D,IAAI,CAACA,gBAAgB,GAAGA,gBAAgB;IAC1C;EAAC;IAAA;IAAA,OAED,kCAAyBC,gBAAyC,EAAE;MAClE,IAAI,CAACA,gBAAgB,GAAGA,gBAAgB;IAC1C;EAAC;IAAA;IAAA,OAED,+BAAsBK,kBAAkB,EAAE;MACxC,IAAI,CAACA,kBAAkB,GAAGA,kBAAkB;IAC9C;EAAC;IAAA;IAAA,OAED,8BAAqBJ,iBAA+B,EAAE;MACpD,IAAI,CAACA,iBAAiB,GAAGA,iBAAiB;IAC5C;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,8BAAqBE,iBAA+B,EAAE;MACpD,IAAI,CAACA,iBAAiB,GAAGA,iBAAiB;IAC5C;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,8BAAqBC,iBAA+B,EAAE;MACpD,IAAI,CAACA,iBAAiB,GAAGA,iBAAiB;IAC5C;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,0BAAiBS,QAAgB,EAAE;MACjC,IAAI,CAACJ,aAAa,GAAGI,QAAQ;IAC/B;EAAC;IAAA;IAAA,OAED,+BAAsB;MACpB,IAAI,CAACxB,qBAAqB,GAAG,IAAI;IACnC;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,4BAAmB;MACjB,IAAI,CAACc,iBAAiB,GAAG,IAAI;MAC7B,IAAI,CAACC,iBAAiB,GAAG,IAAI;IAC/B;EAAC;IAAA;IAAA,OAED,kCAAyB;MACvB,IAAI,CAACH,iBAAiB,GAAG,IAAI;IAC/B;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,8BAAqB;MACnB,IAAI,CAACa,gBAAgB,EAAE;MACvB,IAAI,CAACC,sBAAsB,EAAE;IAC/B;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,+BAAsB;MACpB,OAAO,CAAC,EAAE,IAAI,CAACf,gBAAgB,IAAI,IAAI,CAACD,gBAAgB,CAAC;IAC3D;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,2CAAiD;MAAA;MAC/C,IAAMiB,WAAW,GAAG,SAAdA,WAAW;QAAA,OACf,KAAI,CAAC3B,qBAAqB,CAAC4B,kBAAkB,EAAE,KAAKC,kCAAe,CAACC,SAAS;MAAA;MAE/E,IAAIH,WAAW,EAAE,EAAE;QACjB,OAAO,iBAAQI,OAAO,EAAE;MAC1B;MAEA,OAAO,qBAAkB,UAACA,OAAO,EAAEC,MAAM,EAAK;QAC5C,IAAIC,KAAK;QAET,IAAMC,uBAAuB,GAAG,SAA1BA,uBAAuB,GAAS;UACpCC,oBAAW,CAACC,MAAM,CAACC,GAAG,kFACsD,KAAI,CAACrC,qBAAqB,CAAC4B,kBAAkB,EAAE,EAC1H;UAED,IAAID,WAAW,EAAE,EAAE;YACjBW,YAAY,CAACL,KAAK,CAAC;YACnB,KAAI,CAACjC,qBAAqB,CAACuC,GAAG,CAACC,wBAAK,CAACC,wBAAwB,EAAEP,uBAAuB,CAAC;YACvFH,OAAO,EAAE;UACX;QACF,CAAC;QAEDE,KAAK,GAAGS,UAAU,CAAC,YAAM;UACvB,KAAI,CAAC1C,qBAAqB,CAACuC,GAAG,CAACC,wBAAK,CAACC,wBAAwB,EAAEP,uBAAuB,CAAC;UACvFF,MAAM,EAAE;QACV,CAAC,EAAEW,0CAA+B,CAAC;QAEnC,KAAI,CAAC3C,qBAAqB,CAAC4C,EAAE,CAACJ,wBAAK,CAACC,wBAAwB,EAAEP,uBAAuB,CAAC;MACxF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA;MAAA,wGAKA;QAAA;QAAA;UAAA;YAAA;cAAA;cAAA,OAEQ,IAAI,CAACW,+BAA+B,EAAE;YAAA;cAEtCC,eAAe,GAAG,EAAE;cAAA;cAAA;cAAA,OAGE,IAAI,CAAC9C,qBAAqB,CAAC+C,QAAQ,EAAE;YAAA;cAAzDC,WAAW;cACjBA,WAAW,CAACC,OAAO,CAAC,UAACC,MAAM;gBAAA,OAAKJ,eAAe,CAACK,IAAI,CAACD,MAAM,CAAC;cAAA,EAAC;cAAC;cAAA;YAAA;cAAA;cAAA;cAE9Df,oBAAW,CAACC,MAAM,CAACgB,IAAI,yFAEtB;YAAC;cAGEC,wBAAwB,GAAGP,eAAe,CAACQ,MAAM,CACrD,UAACJ,MAAM;gBAAA;gBAAA,OAAKA,MAAM,CAAC7B,IAAI,KAAK,gBAAgB,IAAI,kBAAA6B,MAAM,CAACK,KAAK,kDAAZ,cAAcC,WAAW,EAAE,MAAK,WAAW;cAAA,EAC5F;cAEGC,mBAAmB,GAAG,SAAS,EAEnC;cACAJ,wBAAwB,CAACK,IAAI,CAAC,UAACC,IAAI,EAAK;gBACtC,IAAMC,cAAc,GAAGd,eAAe,CAACe,IAAI,CACzC,UAACX,MAAM;kBAAA,OAAKA,MAAM,CAAC7B,IAAI,KAAK,iBAAiB,IAAI6B,MAAM,CAACY,EAAE,KAAKH,IAAI,CAACI,gBAAgB;gBAAA,EACrF;gBAED,IAAIH,cAAc,KAAK/C,SAAS,EAAE;kBAChCsB,oBAAW,CAACC,MAAM,CAACgB,IAAI,0FAC4DO,IAAI,CAACI,gBAAgB,8BACvG;kBAED,OAAO,KAAK;gBACd;gBAEA,IAAIC,cAAc;gBAElB,IAAIJ,cAAc,CAACK,aAAa,EAAE;kBAChCD,cAAc,kBAAWJ,cAAc,CAACK,aAAa,CAACC,WAAW,EAAE,CAAE;gBACvE,CAAC,MAAM;kBAAA;kBACLF,cAAc,4BAAGJ,cAAc,CAACO,QAAQ,0DAAvB,sBAAyBD,WAAW,EAAE,CAAC,CAAC;gBAC3D;;gBAEA,IAAIF,cAAc,EAAE;kBAClBP,mBAAmB,GAAGO,cAAc;kBAEpC,OAAO,IAAI;gBACb;gBACA7B,oBAAW,CAACC,MAAM,CAACgB,IAAI,wGAC2EQ,cAAc,CAACQ,aAAa,EAC7H;gBAED,OAAO,KAAK;cACd,CAAC,CAAC;cAEF,IAAIX,mBAAmB,KAAK,SAAS,EAAE;gBAC/BY,mBAAmB,GAAGvB,eAAe,CACxCQ,MAAM,CAAC,UAACJ,MAAM;kBAAA,OAAKA,MAAM,CAAC7B,IAAI,KAAK,gBAAgB;gBAAA,EAAC,CACpDiD,GAAG,CAAC,UAACpB,MAAM;kBAAA,OAAKA,MAAM,CAACK,KAAK;gBAAA,EAAC;gBAEhCpB,oBAAW,CAACC,MAAM,CAACgB,IAAI,oFACuD,wBAC1EiB,mBAAmB,CACpB,EACF;cACH;cAAC,iCAEMZ,mBAAmB;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CAC3B;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA;AAAA"}
|
|
@@ -4,7 +4,7 @@ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/defi
|
|
|
4
4
|
_Object$defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.emptyVideoTransmitStream = exports.emptyVideoTransmit = exports.emptyVideoReceiveStream = exports.emptyVideoReceive = exports.emptyMqaInterval = exports.emptyAudioTransmitStream = exports.emptyAudioTransmit = exports.emptyAudioReceiveStream = exports.emptyAudioReceive = void 0;
|
|
8
8
|
var emptyMqaInterval = {
|
|
9
9
|
audioReceive: [],
|
|
10
10
|
audioTransmit: [],
|
|
@@ -51,28 +51,30 @@ var emptyAudioReceive = {
|
|
|
51
51
|
stunPackets: 0,
|
|
52
52
|
transportType: 'UDP'
|
|
53
53
|
},
|
|
54
|
-
streams: [
|
|
55
|
-
common: {
|
|
56
|
-
codec: 'opus',
|
|
57
|
-
concealedFrames: 0,
|
|
58
|
-
csi: [],
|
|
59
|
-
maxConcealRunLength: 0,
|
|
60
|
-
optimalBitrate: 0,
|
|
61
|
-
optimalFrameRate: 0,
|
|
62
|
-
receivedBitrate: 0,
|
|
63
|
-
receivedFrameRate: 0,
|
|
64
|
-
renderedFrameRate: 0,
|
|
65
|
-
requestedBitrate: 0,
|
|
66
|
-
requestedFrameRate: 0,
|
|
67
|
-
rtpEndToEndLost: 0,
|
|
68
|
-
maxRtpJitter: 0,
|
|
69
|
-
meanRtpJitter: 0,
|
|
70
|
-
rtpPackets: 0,
|
|
71
|
-
ssci: 0
|
|
72
|
-
}
|
|
73
|
-
}]
|
|
54
|
+
streams: []
|
|
74
55
|
};
|
|
75
56
|
exports.emptyAudioReceive = emptyAudioReceive;
|
|
57
|
+
var emptyAudioReceiveStream = {
|
|
58
|
+
common: {
|
|
59
|
+
codec: 'opus',
|
|
60
|
+
concealedFrames: 0,
|
|
61
|
+
csi: [],
|
|
62
|
+
maxConcealRunLength: 0,
|
|
63
|
+
optimalBitrate: 0,
|
|
64
|
+
optimalFrameRate: 0,
|
|
65
|
+
receivedBitrate: 0,
|
|
66
|
+
receivedFrameRate: 0,
|
|
67
|
+
renderedFrameRate: 0,
|
|
68
|
+
requestedBitrate: 0,
|
|
69
|
+
requestedFrameRate: 0,
|
|
70
|
+
rtpEndToEndLost: 0,
|
|
71
|
+
maxRtpJitter: 0,
|
|
72
|
+
meanRtpJitter: 0,
|
|
73
|
+
rtpPackets: 0,
|
|
74
|
+
ssci: 0
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
exports.emptyAudioReceiveStream = emptyAudioReceiveStream;
|
|
76
78
|
var emptyAudioTransmit = {
|
|
77
79
|
common: {
|
|
78
80
|
availableBitrate: 0,
|
|
@@ -103,20 +105,22 @@ var emptyAudioTransmit = {
|
|
|
103
105
|
stunPackets: 0,
|
|
104
106
|
transportType: 'UDP'
|
|
105
107
|
},
|
|
106
|
-
streams: [
|
|
107
|
-
common: {
|
|
108
|
-
codec: 'opus',
|
|
109
|
-
csi: [],
|
|
110
|
-
requestedBitrate: 0,
|
|
111
|
-
requestedFrames: 0,
|
|
112
|
-
rtpPackets: 0,
|
|
113
|
-
ssci: 0,
|
|
114
|
-
transmittedBitrate: 0,
|
|
115
|
-
transmittedFrameRate: 0
|
|
116
|
-
}
|
|
117
|
-
}]
|
|
108
|
+
streams: []
|
|
118
109
|
};
|
|
119
110
|
exports.emptyAudioTransmit = emptyAudioTransmit;
|
|
111
|
+
var emptyAudioTransmitStream = {
|
|
112
|
+
common: {
|
|
113
|
+
codec: 'opus',
|
|
114
|
+
csi: [],
|
|
115
|
+
requestedBitrate: 0,
|
|
116
|
+
requestedFrames: 0,
|
|
117
|
+
rtpPackets: 0,
|
|
118
|
+
ssci: 0,
|
|
119
|
+
transmittedBitrate: 0,
|
|
120
|
+
transmittedFrameRate: 0
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
exports.emptyAudioTransmitStream = emptyAudioTransmitStream;
|
|
120
124
|
var emptyVideoReceive = {
|
|
121
125
|
common: {
|
|
122
126
|
common: {
|
|
@@ -163,44 +167,46 @@ var emptyVideoReceive = {
|
|
|
163
167
|
// Not avaliable
|
|
164
168
|
transportType: 'UDP'
|
|
165
169
|
},
|
|
166
|
-
streams: [
|
|
167
|
-
common: {
|
|
168
|
-
codec: 'H264',
|
|
169
|
-
concealedFrames: 0,
|
|
170
|
-
// Not avaliable
|
|
171
|
-
csi: [],
|
|
172
|
-
maxConcealRunLength: 0,
|
|
173
|
-
// Not avaliable
|
|
174
|
-
optimalBitrate: 0,
|
|
175
|
-
optimalFrameRate: 0,
|
|
176
|
-
receivedBitrate: 0,
|
|
177
|
-
receivedFrameRate: 0,
|
|
178
|
-
renderedFrameRate: 0,
|
|
179
|
-
// Not avaliable
|
|
180
|
-
requestedBitrate: 0,
|
|
181
|
-
requestedFrameRate: 0,
|
|
182
|
-
rtpEndToEndLost: 0,
|
|
183
|
-
rtpJitter: 0,
|
|
184
|
-
rtpPackets: 0,
|
|
185
|
-
ssci: 0 // Not avaliable
|
|
186
|
-
},
|
|
187
|
-
|
|
188
|
-
h264CodecProfile: 'BP',
|
|
189
|
-
isActiveSpeaker: true,
|
|
190
|
-
optimalFrameSize: 0,
|
|
191
|
-
// Not avaliable
|
|
192
|
-
receivedFrameSize: 0,
|
|
193
|
-
receivedHeight: 0,
|
|
194
|
-
receivedKeyFrames: 0,
|
|
195
|
-
receivedKeyFramesForRequest: 0,
|
|
196
|
-
receivedKeyFramesSourceChange: 0,
|
|
197
|
-
receivedKeyFramesUnknown: 0,
|
|
198
|
-
receivedWidth: 0,
|
|
199
|
-
requestedFrameSize: 0,
|
|
200
|
-
requestedKeyFrames: 0
|
|
201
|
-
}]
|
|
170
|
+
streams: []
|
|
202
171
|
};
|
|
203
172
|
exports.emptyVideoReceive = emptyVideoReceive;
|
|
173
|
+
var emptyVideoReceiveStream = {
|
|
174
|
+
common: {
|
|
175
|
+
codec: 'H264',
|
|
176
|
+
concealedFrames: 0,
|
|
177
|
+
// Not avaliable
|
|
178
|
+
csi: [],
|
|
179
|
+
maxConcealRunLength: 0,
|
|
180
|
+
// Not avaliable
|
|
181
|
+
optimalBitrate: 0,
|
|
182
|
+
optimalFrameRate: 0,
|
|
183
|
+
receivedBitrate: 0,
|
|
184
|
+
receivedFrameRate: 0,
|
|
185
|
+
renderedFrameRate: 0,
|
|
186
|
+
// Not avaliable
|
|
187
|
+
requestedBitrate: 0,
|
|
188
|
+
requestedFrameRate: 0,
|
|
189
|
+
rtpEndToEndLost: 0,
|
|
190
|
+
rtpJitter: 0,
|
|
191
|
+
rtpPackets: 0,
|
|
192
|
+
ssci: 0 // Not avaliable
|
|
193
|
+
},
|
|
194
|
+
|
|
195
|
+
h264CodecProfile: 'BP',
|
|
196
|
+
isActiveSpeaker: true,
|
|
197
|
+
optimalFrameSize: 0,
|
|
198
|
+
// Not avaliable
|
|
199
|
+
receivedFrameSize: 0,
|
|
200
|
+
receivedHeight: 0,
|
|
201
|
+
receivedKeyFrames: 0,
|
|
202
|
+
receivedKeyFramesForRequest: 0,
|
|
203
|
+
receivedKeyFramesSourceChange: 0,
|
|
204
|
+
receivedKeyFramesUnknown: 0,
|
|
205
|
+
receivedWidth: 0,
|
|
206
|
+
requestedFrameSize: 0,
|
|
207
|
+
requestedKeyFrames: 0
|
|
208
|
+
};
|
|
209
|
+
exports.emptyVideoReceiveStream = emptyVideoReceiveStream;
|
|
204
210
|
var emptyVideoTransmit = {
|
|
205
211
|
common: {
|
|
206
212
|
availableBitrate: 0,
|
|
@@ -254,272 +260,71 @@ var emptyVideoTransmit = {
|
|
|
254
260
|
transportType: 'UDP' // TODO: need to calculate
|
|
255
261
|
},
|
|
256
262
|
|
|
257
|
-
streams: [
|
|
258
|
-
common: {
|
|
259
|
-
codec: 'H264',
|
|
260
|
-
csi: [],
|
|
261
|
-
duplicateSsci: 0,
|
|
262
|
-
// Not Avaliable
|
|
263
|
-
requestedBitrate: 0,
|
|
264
|
-
// TODO: from remote SDP
|
|
265
|
-
requestedFrames: 0,
|
|
266
|
-
// TODO: from remote SDP
|
|
267
|
-
rtpPackets: 0,
|
|
268
|
-
// same as rtp packets
|
|
269
|
-
ssci: 0,
|
|
270
|
-
transmittedBitrate: 0,
|
|
271
|
-
// TODO: get in the candidate pair
|
|
272
|
-
transmittedFrameRate: 0 // TODO: from track info
|
|
273
|
-
},
|
|
274
|
-
|
|
275
|
-
h264CodecProfile: 'BP',
|
|
276
|
-
// TODO: from localSDP
|
|
277
|
-
isAvatar: false,
|
|
278
|
-
// Not Avaliable
|
|
279
|
-
isHardwareEncoded: false,
|
|
280
|
-
// Not Avaliable
|
|
281
|
-
localConfigurationChanges: 2,
|
|
282
|
-
// Not Avaliable
|
|
283
|
-
maxFrameQp: 0,
|
|
284
|
-
// Not Avaliable
|
|
285
|
-
maxNoiseLevel: 0,
|
|
286
|
-
// Not Avaliable
|
|
287
|
-
minRegionQp: 0,
|
|
288
|
-
// Not Avaliable
|
|
289
|
-
remoteConfigurationChanges: 0,
|
|
290
|
-
// Not Avaliable
|
|
291
|
-
requestedFrameSize: 0,
|
|
292
|
-
// TODO: from remote SDP
|
|
293
|
-
requestedKeyFrames: 0,
|
|
294
|
-
// outbound Fir request
|
|
295
|
-
transmittedFrameSize: 0,
|
|
296
|
-
// Not Avaliable
|
|
297
|
-
transmittedHeight: 0,
|
|
298
|
-
transmittedKeyFrames: 0,
|
|
299
|
-
// Key frames encoded
|
|
300
|
-
transmittedKeyFramesClient: 0,
|
|
301
|
-
// Not Avaliable
|
|
302
|
-
transmittedKeyFramesConfigurationChange: 0,
|
|
303
|
-
// Not Avaliable
|
|
304
|
-
transmittedKeyFramesFeedback: 0,
|
|
305
|
-
// Not Avaliable
|
|
306
|
-
transmittedKeyFramesLocalDrop: 0,
|
|
307
|
-
// Not Avaliable
|
|
308
|
-
transmittedKeyFramesOtherLayer: 0,
|
|
309
|
-
// Not Avaliable
|
|
310
|
-
transmittedKeyFramesPeriodic: 0,
|
|
311
|
-
// Not Avaliable
|
|
312
|
-
transmittedKeyFramesSceneChange: 0,
|
|
313
|
-
// Not Avaliable
|
|
314
|
-
transmittedKeyFramesStartup: 0,
|
|
315
|
-
// Not Avaliable
|
|
316
|
-
transmittedKeyFramesUnknown: 0,
|
|
317
|
-
// Not Avaliable
|
|
318
|
-
transmittedWidth: 0
|
|
319
|
-
}]
|
|
263
|
+
streams: []
|
|
320
264
|
};
|
|
321
265
|
exports.emptyVideoTransmit = emptyVideoTransmit;
|
|
322
|
-
var
|
|
323
|
-
common: {
|
|
324
|
-
common: {
|
|
325
|
-
direction: 'inactive',
|
|
326
|
-
isMain: false,
|
|
327
|
-
// Not avaliable
|
|
328
|
-
mariFecEnabled: true,
|
|
329
|
-
// Not avaliable
|
|
330
|
-
mariQosEnabled: true,
|
|
331
|
-
// Not avaliable
|
|
332
|
-
multistreamEnabled: true // Not avaliable
|
|
333
|
-
},
|
|
334
|
-
|
|
335
|
-
dtlsBitrate: 0,
|
|
336
|
-
// Not avaliable
|
|
337
|
-
dtlsPackets: 0,
|
|
338
|
-
// Not avaliable
|
|
339
|
-
fecBitrate: 0,
|
|
340
|
-
// Not avaliable
|
|
341
|
-
fecPackets: 0,
|
|
342
|
-
// Not avaliable
|
|
343
|
-
maxBitrate: 0,
|
|
344
|
-
mediaHopByHopLost: 0,
|
|
345
|
-
rtcpBitrate: 0,
|
|
346
|
-
// Not avaliable
|
|
347
|
-
rtcpPackets: 0,
|
|
348
|
-
// Not avaliable
|
|
349
|
-
rtpBitrate: 0,
|
|
350
|
-
rtpHopByHopLost: 0,
|
|
351
|
-
rtpPackets: 0,
|
|
352
|
-
rtpRecovered: 0,
|
|
353
|
-
// Not avaliable
|
|
354
|
-
rtxBitrate: 0,
|
|
355
|
-
// Not avaliable
|
|
356
|
-
rtxPackets: 0,
|
|
357
|
-
// Not avaliable
|
|
358
|
-
srtcpUnprotectErrors: 0,
|
|
359
|
-
// Not avaliable
|
|
360
|
-
srtpUnprotectErrors: 0,
|
|
361
|
-
// Not avaliable
|
|
362
|
-
stunBitrate: 0,
|
|
363
|
-
// Not avaliable
|
|
364
|
-
stunPackets: 0,
|
|
365
|
-
// Not avaliable
|
|
366
|
-
transportType: 'UDP'
|
|
367
|
-
},
|
|
368
|
-
streams: [{
|
|
369
|
-
common: {
|
|
370
|
-
codec: 'H264',
|
|
371
|
-
concealedFrames: 0,
|
|
372
|
-
// Not avaliable
|
|
373
|
-
csi: [],
|
|
374
|
-
maxConcealRunLength: 0,
|
|
375
|
-
// Not avaliable
|
|
376
|
-
optimalBitrate: 0,
|
|
377
|
-
optimalFrameRate: 0,
|
|
378
|
-
receivedBitrate: 0,
|
|
379
|
-
receivedFrameRate: 0,
|
|
380
|
-
renderedFrameRate: 0,
|
|
381
|
-
// Not avaliable
|
|
382
|
-
requestedBitrate: 0,
|
|
383
|
-
requestedFrameRate: 0,
|
|
384
|
-
rtpEndToEndLost: 0,
|
|
385
|
-
rtpJitter: 0,
|
|
386
|
-
rtpPackets: 0,
|
|
387
|
-
ssci: 0 // Not avaliable
|
|
388
|
-
},
|
|
389
|
-
|
|
390
|
-
h264CodecProfile: 'BP',
|
|
391
|
-
isActiveSpeaker: true,
|
|
392
|
-
optimalFrameSize: 0,
|
|
393
|
-
// Not avaliable
|
|
394
|
-
receivedFrameSize: 0,
|
|
395
|
-
receivedHeight: 0,
|
|
396
|
-
receivedKeyFrames: 0,
|
|
397
|
-
receivedKeyFramesForRequest: 0,
|
|
398
|
-
receivedKeyFramesSourceChange: 0,
|
|
399
|
-
receivedKeyFramesUnknown: 0,
|
|
400
|
-
receivedWidth: 0,
|
|
401
|
-
requestedFrameSize: 0,
|
|
402
|
-
requestedKeyFrames: 0
|
|
403
|
-
}]
|
|
404
|
-
};
|
|
405
|
-
exports.emptyVideoShareReceive = emptyVideoShareReceive;
|
|
406
|
-
var emptyVideoShareTransmit = {
|
|
407
|
-
// sceen sharing
|
|
266
|
+
var emptyVideoTransmitStream = {
|
|
408
267
|
common: {
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
// Not avaliable
|
|
418
|
-
multistreamEnabled: false // Not avaliable
|
|
419
|
-
},
|
|
420
|
-
|
|
421
|
-
dtlsBitrate: 0,
|
|
422
|
-
// Not avaliable
|
|
423
|
-
dtlsPackets: 0,
|
|
424
|
-
// Not avaliable
|
|
425
|
-
fecBitrate: 0,
|
|
426
|
-
// Not avaliable
|
|
427
|
-
fecPackets: 0,
|
|
428
|
-
// TODO: check inbound-rtp// Not avaliable
|
|
429
|
-
maxBitrate: 0,
|
|
430
|
-
// Currently hardcoded
|
|
431
|
-
queueDelay: 0,
|
|
432
|
-
// outboundRtp.totalPacketSentDelay // TODO: check if totalInterFrameDelay/ packetSentDelay/ jitterBufferDalay
|
|
433
|
-
remoteJitter: 0,
|
|
434
|
-
// remoteInboundRtp.jitter
|
|
435
|
-
remoteLossRate: 0,
|
|
436
|
-
// comparedResults.lossRate
|
|
437
|
-
remoteReceiveRate: 0,
|
|
438
|
-
// compareResults.packetsLost
|
|
439
|
-
roundTripTime: 0,
|
|
440
|
-
// compareResults.roundTripTime
|
|
441
|
-
rtcpBitrate: 0,
|
|
442
|
-
// Dont have access to it
|
|
443
|
-
rtcpPackets: 0,
|
|
444
|
-
// Dont have access to rtcp
|
|
445
|
-
rtpBitrate: 0,
|
|
446
|
-
// Dont have access
|
|
268
|
+
codec: 'H264',
|
|
269
|
+
csi: [],
|
|
270
|
+
duplicateSsci: 0,
|
|
271
|
+
// Not Avaliable
|
|
272
|
+
requestedBitrate: 0,
|
|
273
|
+
// TODO: from remote SDP
|
|
274
|
+
requestedFrames: 0,
|
|
275
|
+
// TODO: from remote SDP
|
|
447
276
|
rtpPackets: 0,
|
|
448
|
-
//
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
//
|
|
453
|
-
stunBitrate: 0,
|
|
454
|
-
// Dont have access to it
|
|
455
|
-
stunPackets: 0,
|
|
456
|
-
// Dont have access to it
|
|
457
|
-
transportType: 'UDP' // TODO: need to calculate
|
|
277
|
+
// same as rtp packets
|
|
278
|
+
ssci: 0,
|
|
279
|
+
transmittedBitrate: 0,
|
|
280
|
+
// TODO: get in the candidate pair
|
|
281
|
+
transmittedFrameRate: 0 // TODO: from track info
|
|
458
282
|
},
|
|
459
283
|
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
// Not Avaliable
|
|
505
|
-
transmittedKeyFramesConfigurationChange: 0,
|
|
506
|
-
// Not Avaliable
|
|
507
|
-
transmittedKeyFramesFeedback: 0,
|
|
508
|
-
// Not Avaliable
|
|
509
|
-
transmittedKeyFramesLocalDrop: 0,
|
|
510
|
-
// Not Avaliable
|
|
511
|
-
transmittedKeyFramesOtherLayer: 0,
|
|
512
|
-
// Not Avaliable
|
|
513
|
-
transmittedKeyFramesPeriodic: 0,
|
|
514
|
-
// Not Avaliable
|
|
515
|
-
transmittedKeyFramesSceneChange: 0,
|
|
516
|
-
// Not Avaliable
|
|
517
|
-
transmittedKeyFramesStartup: 0,
|
|
518
|
-
// Not Avaliable
|
|
519
|
-
transmittedKeyFramesUnknown: 0,
|
|
520
|
-
// Not Avaliable
|
|
521
|
-
transmittedWidth: 0
|
|
522
|
-
}]
|
|
284
|
+
h264CodecProfile: 'BP',
|
|
285
|
+
// TODO: from localSDP
|
|
286
|
+
isAvatar: false,
|
|
287
|
+
// Not Avaliable
|
|
288
|
+
isHardwareEncoded: false,
|
|
289
|
+
// Not Avaliable
|
|
290
|
+
localConfigurationChanges: 2,
|
|
291
|
+
// Not Avaliable
|
|
292
|
+
maxFrameQp: 0,
|
|
293
|
+
// Not Avaliable
|
|
294
|
+
maxNoiseLevel: 0,
|
|
295
|
+
// Not Avaliable
|
|
296
|
+
minRegionQp: 0,
|
|
297
|
+
// Not Avaliable
|
|
298
|
+
remoteConfigurationChanges: 0,
|
|
299
|
+
// Not Avaliable
|
|
300
|
+
requestedFrameSize: 0,
|
|
301
|
+
// TODO: from remote SDP
|
|
302
|
+
requestedKeyFrames: 0,
|
|
303
|
+
// outbound Fir request
|
|
304
|
+
transmittedFrameSize: 0,
|
|
305
|
+
// Not Avaliable
|
|
306
|
+
transmittedHeight: 0,
|
|
307
|
+
transmittedKeyFrames: 0,
|
|
308
|
+
// Key frames encoded
|
|
309
|
+
transmittedKeyFramesClient: 0,
|
|
310
|
+
// Not Avaliable
|
|
311
|
+
transmittedKeyFramesConfigurationChange: 0,
|
|
312
|
+
// Not Avaliable
|
|
313
|
+
transmittedKeyFramesFeedback: 0,
|
|
314
|
+
// Not Avaliable
|
|
315
|
+
transmittedKeyFramesLocalDrop: 0,
|
|
316
|
+
// Not Avaliable
|
|
317
|
+
transmittedKeyFramesOtherLayer: 0,
|
|
318
|
+
// Not Avaliable
|
|
319
|
+
transmittedKeyFramesPeriodic: 0,
|
|
320
|
+
// Not Avaliable
|
|
321
|
+
transmittedKeyFramesSceneChange: 0,
|
|
322
|
+
// Not Avaliable
|
|
323
|
+
transmittedKeyFramesStartup: 0,
|
|
324
|
+
// Not Avaliable
|
|
325
|
+
transmittedKeyFramesUnknown: 0,
|
|
326
|
+
// Not Avaliable
|
|
327
|
+
transmittedWidth: 0
|
|
523
328
|
};
|
|
524
|
-
exports.
|
|
329
|
+
exports.emptyVideoTransmitStream = emptyVideoTransmitStream;
|
|
525
330
|
//# sourceMappingURL=config.js.map
|