@webex/plugin-meetings 2.60.0-next.1 → 2.60.0-next.11
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/dist/annotation/annotation.types.d.ts +42 -0
- package/dist/annotation/constants.d.ts +31 -0
- package/dist/annotation/index.d.ts +117 -0
- package/dist/breakouts/breakout.d.ts +8 -0
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/collection.d.ts +5 -0
- package/dist/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/breakouts/events.d.ts +8 -0
- package/dist/breakouts/index.d.ts +5 -0
- package/dist/breakouts/index.js +1 -1
- package/dist/breakouts/request.d.ts +22 -0
- package/dist/breakouts/utils.d.ts +15 -0
- package/dist/common/browser-detection.d.ts +9 -0
- package/dist/common/collection.d.ts +48 -0
- package/dist/common/config.d.ts +2 -0
- package/dist/common/errors/captcha-error.d.ts +15 -0
- package/dist/common/errors/intent-to-join.d.ts +16 -0
- package/dist/common/errors/join-meeting.d.ts +17 -0
- package/dist/common/errors/media.d.ts +15 -0
- package/dist/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/common/errors/parameter.d.ts +15 -0
- package/dist/common/errors/password-error.d.ts +15 -0
- package/dist/common/errors/permission.d.ts +14 -0
- package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
- package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/common/errors/reconnection.d.ts +15 -0
- package/dist/common/errors/stats.d.ts +15 -0
- package/dist/common/errors/webex-errors.d.ts +93 -0
- package/dist/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/common/events/events-scope.d.ts +17 -0
- package/dist/common/events/events.d.ts +12 -0
- package/dist/common/events/trigger-proxy.d.ts +2 -0
- package/dist/common/events/util.d.ts +2 -0
- package/dist/common/logs/logger-config.d.ts +2 -0
- package/dist/common/logs/logger-proxy.d.ts +2 -0
- package/dist/common/logs/request.d.ts +36 -0
- package/dist/common/queue.d.ts +34 -0
- package/dist/config.d.ts +71 -0
- package/dist/constants.d.ts +1072 -0
- package/dist/constants.js +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.d.ts +4 -0
- package/dist/controls-options-manager/enums.d.ts +15 -0
- package/dist/controls-options-manager/enums.js +2 -1
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.d.ts +136 -0
- package/dist/controls-options-manager/types.d.ts +43 -0
- package/dist/controls-options-manager/util.d.ts +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/interpretation/collection.d.ts +5 -0
- package/dist/interpretation/index.d.ts +5 -0
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.d.ts +5 -0
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.d.ts +2 -0
- package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/locus-info/fullState.d.ts +2 -0
- package/dist/locus-info/hostUtils.d.ts +2 -0
- package/dist/locus-info/index.d.ts +322 -0
- package/dist/locus-info/infoUtils.d.ts +2 -0
- package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/locus-info/parser.d.ts +272 -0
- package/dist/locus-info/parser.js +5 -5
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.d.ts +2 -0
- package/dist/media/index.d.ts +34 -0
- package/dist/media/index.js +6 -5
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.d.ts +93 -0
- package/dist/media/util.d.ts +2 -0
- package/dist/mediaQualityMetrics/config.d.ts +237 -0
- package/dist/mediaQualityMetrics/config.js +1 -202
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.d.ts +167 -0
- package/dist/meeting/in-meeting-actions.js +4 -0
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.d.ts +1719 -0
- package/dist/meeting/index.js +288 -155
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/meeting/muteState.d.ts +184 -0
- package/dist/meeting/request.d.ts +290 -0
- package/dist/meeting/request.type.d.ts +11 -0
- package/dist/meeting/state.d.ts +9 -0
- package/dist/meeting/util.d.ts +103 -0
- package/dist/meeting-info/collection.d.ts +20 -0
- package/dist/meeting-info/index.d.ts +69 -0
- package/dist/meeting-info/meeting-info-v2.d.ts +123 -0
- package/dist/meeting-info/meeting-info-v2.js +3 -0
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.d.ts +22 -0
- package/dist/meeting-info/util.d.ts +2 -0
- package/dist/meeting-info/utilv2.d.ts +2 -0
- package/dist/meeting-info/utilv2.js +14 -29
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.d.ts +40 -0
- package/dist/meetings/collection.js +17 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.d.ts +378 -0
- package/dist/meetings/index.js +30 -9
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.d.ts +4 -0
- package/dist/meetings/request.d.ts +27 -0
- package/dist/meetings/util.d.ts +18 -0
- package/dist/member/index.d.ts +160 -0
- package/dist/member/member.types.d.ts +11 -0
- package/dist/member/types.d.ts +32 -0
- package/dist/member/util.d.ts +2 -0
- package/dist/members/collection.d.ts +29 -0
- package/dist/members/index.d.ts +353 -0
- package/dist/members/request.d.ts +114 -0
- package/dist/members/types.d.ts +25 -0
- package/dist/members/util.d.ts +215 -0
- package/dist/metrics/constants.d.ts +68 -0
- package/dist/metrics/constants.js +3 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.d.ts +45 -0
- package/dist/multistream/mediaRequestManager.d.ts +118 -0
- package/dist/multistream/receiveSlot.d.ts +68 -0
- package/dist/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/multistream/remoteMedia.d.ts +72 -0
- package/dist/multistream/remoteMediaGroup.d.ts +47 -0
- package/dist/multistream/remoteMediaManager.d.ts +285 -0
- package/dist/multistream/sendSlotManager.d.ts +61 -0
- package/dist/networkQualityMonitor/index.d.ts +70 -0
- package/dist/personal-meeting-room/index.d.ts +47 -0
- package/dist/personal-meeting-room/request.d.ts +14 -0
- package/dist/personal-meeting-room/util.d.ts +2 -0
- package/dist/reachability/index.d.ts +194 -0
- package/dist/reachability/request.d.ts +39 -0
- package/dist/reactions/constants.d.ts +3 -0
- package/dist/reactions/reactions.d.ts +4 -0
- package/dist/reactions/reactions.type.d.ts +52 -0
- package/dist/reconnection-manager/index.d.ts +136 -0
- package/dist/reconnection-manager/index.js +27 -28
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.d.ts +7 -0
- package/dist/recording-controller/index.d.ts +207 -0
- package/dist/recording-controller/util.d.ts +14 -0
- package/dist/roap/index.d.ts +78 -0
- package/dist/roap/request.d.ts +41 -0
- package/dist/roap/turnDiscovery.d.ts +92 -0
- package/dist/rtcMetrics/constants.d.ts +4 -0
- package/dist/rtcMetrics/index.d.ts +54 -0
- package/dist/rtcMetrics/index.js +25 -0
- package/dist/rtcMetrics/index.js.map +1 -1
- package/dist/statsAnalyzer/global.d.ts +36 -0
- package/dist/statsAnalyzer/index.d.ts +191 -0
- package/dist/statsAnalyzer/index.js +53 -146
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +24 -0
- package/dist/statsAnalyzer/mqaUtil.js +11 -12
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.d.ts +64 -0
- package/dist/webinar/collection.d.ts +16 -0
- package/dist/webinar/index.d.ts +5 -0
- package/dist/webinar/index.js +1 -1
- package/package.json +26 -27
- package/src/constants.ts +10 -4
- package/src/controls-options-manager/enums.ts +2 -0
- package/src/locus-info/parser.ts +6 -6
- package/src/media/index.ts +5 -5
- package/src/mediaQualityMetrics/config.ts +0 -135
- package/src/meeting/in-meeting-actions.ts +8 -0
- package/src/meeting/index.ts +263 -125
- package/src/meeting-info/meeting-info-v2.ts +4 -0
- package/src/meeting-info/utilv2.ts +6 -19
- package/src/meetings/collection.ts +13 -0
- package/src/meetings/index.ts +28 -10
- package/src/metrics/constants.ts +3 -0
- package/src/reconnection-manager/index.ts +63 -68
- package/src/rtcMetrics/index.ts +24 -0
- package/src/statsAnalyzer/index.ts +68 -216
- package/src/statsAnalyzer/mqaUtil.ts +17 -22
- package/test/unit/spec/media/index.ts +20 -4
- package/test/unit/spec/meeting/in-meeting-actions.ts +4 -0
- package/test/unit/spec/meeting/index.js +1376 -189
- package/test/unit/spec/meeting/muteState.js +2 -1
- package/test/unit/spec/meeting-info/meetinginfov2.js +28 -0
- package/test/unit/spec/meetings/collection.js +12 -0
- package/test/unit/spec/meetings/index.js +382 -118
- package/test/unit/spec/member/util.js +0 -31
- package/test/unit/spec/reconnection-manager/index.js +42 -12
- package/test/unit/spec/rtcMetrics/index.ts +20 -0
- package/test/unit/spec/stats-analyzer/index.js +12 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","require","_constants","getAudioReceiverMqa","exports","_ref","_lastMqaDataSent$medi","_lastMqaDataSent$medi2","_lastMqaDataSent$medi3","_lastMqaDataSent$medi4","_lastMqaDataSent$medi5","_lastMqaDataSent$medi6","_lastMqaDataSent$medi7","_lastMqaDataSent$medi8","audioReceiver","statsResults","lastMqaDataSent","mediaType","sendrecvType","STATS","RECEIVE_DIRECTION","lastPacketsReceived","totalPacketsReceived","lastPacketsLost","totalPacketsLost","lastPacketsDecoded","totalSamplesDecoded","lastSamplesReceived","totalSamplesReceived","lastConcealedSamples","concealedSamples","lastBytesReceived","totalBytesReceived","lastFecPacketsReceived","fecPacketsReceived","lastFecPacketsDiscarded","fecPacketsDiscarded","csi","streams","common","includes","push","direction","transportType","connectionType","local","transport","rtpPackets","mediaHopByHopLost","rtpHopByHopLost","maxRtpJitter","max","meanRtpJitter","mean","rtpJitter","fecRecovered","rtpEndToEndLost","framesDropped","renderedFrameRate","framesReceived","concealedFrames","receivedBitrate","rtpBitrate","getAudioSenderMqa","_ref2","_lastMqaDataSent$medi9","_lastMqaDataSent$medi10","_lastMqaDataSent$medi11","_lastMqaDataSent$medi12","_lastMqaDataSent$medi13","audioSender","SEND_DIRECTION","lastPacketsSent","totalPacketsSent","totalPacketsLostOnReceiver","lastBytesSent","totalBytesSent","lastFramesEncoded","totalKeyFramesEncoded","lastFirCount","totalFirCount","maxRemoteJitter","meanRemoteJitter","availableBitrate","availableOutgoingBitrate","totalpacketsLostForaMin","remoteLossRate","maxRoundTripTime","meanRoundTripTime","roundTripTime","totalBytesSentInaMin","transmittedBitrate","transmittedKeyFrames","requestedKeyFrames","getVideoReceiverMqa","_ref3","_lastMqaDataSent$medi14","_lastMqaDataSent$medi15","_lastMqaDataSent$medi16","_lastMqaDataSent$medi17","_lastMqaDataSent$medi18","_lastMqaDataSent$medi19","_lastMqaDataSent$medi20","_lastMqaDataSent$medi21","videoReceiver","lastFramesReceived","lastFramesDecoded","framesDecoded","lastFramesDropped","lastKeyFramesDecoded","keyFramesDecoded","lastPliCount","totalPliCount","totalPacketLoss","totalBytesReceivedInaMin","totalFrameReceivedInaMin","resolutions","totalFrameDecodedInaMin","receivedFrameRate","receivedHeight","height","receivedWidth","width","receivedFrameSize","receivedKeyFrames","getVideoSenderMqa","_ref4","_lastMqaDataSent$medi22","_lastMqaDataSent$medi23","_lastMqaDataSent$medi24","_lastMqaDataSent$medi25","_lastMqaDataSent$medi26","_lastMqaDataSent$medi27","videoSender","lastKeyFramesEncoded","lastFramesSent","framesSent","totalFrameSentInaMin","transmittedFrameRate","transmittedHeight","transmittedWidth","transmittedFrameSize"],"sources":["mqaUtil.ts"],"sourcesContent":["/* eslint-disable no-param-reassign, prefer-destructuring */\n\nimport {mean, max} from 'lodash';\n\nimport {STATS} from '../constants';\n\nexport const getAudioReceiverMqa = ({audioReceiver, statsResults, lastMqaDataSent, mediaType}) => {\n const sendrecvType = STATS.RECEIVE_DIRECTION;\n\n const lastPacketsReceived = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsReceived || 0;\n const lastPacketsLost = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsLost || 0;\n const lastPacketsDecoded = lastMqaDataSent[mediaType]?.[sendrecvType].totalSamplesDecoded || 0;\n const lastSamplesReceived = lastMqaDataSent[mediaType]?.[sendrecvType].totalSamplesReceived || 0;\n const lastConcealedSamples = lastMqaDataSent[mediaType]?.[sendrecvType].concealedSamples || 0;\n const lastBytesReceived = lastMqaDataSent[mediaType]?.[sendrecvType].totalBytesReceived || 0;\n const lastFecPacketsReceived = lastMqaDataSent[mediaType]?.[sendrecvType].fecPacketsReceived || 0;\n const lastFecPacketsDiscarded =\n lastMqaDataSent[mediaType]?.[sendrecvType].fecPacketsDiscarded || 0;\n\n const {csi} = statsResults[mediaType];\n if (csi && !audioReceiver.streams[0].common.csi.includes(csi)) {\n audioReceiver.streams[0].common.csi.push(csi);\n }\n\n audioReceiver.common.common.direction = statsResults[mediaType].direction;\n audioReceiver.common.transportType = statsResults.connectionType.local.transport;\n\n // add rtpPacket info inside common as also for call analyzer\n audioReceiver.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsReceived - lastPacketsReceived || 0;\n // Hop by hop are numbers and not percentage so we compare on what we sent the last min\n // collect the packets received for the last min\n audioReceiver.streams[0].common.rtpPackets = audioReceiver.common.rtpPackets;\n audioReceiver.common.mediaHopByHopLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost - lastPacketsLost || 0;\n audioReceiver.common.rtpHopByHopLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost - lastPacketsLost || 0;\n\n audioReceiver.streams[0].common.maxRtpJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRtpJitter) * 1000 || 0;\n audioReceiver.streams[0].common.meanRtpJitter =\n mean(statsResults[mediaType][sendrecvType].meanRtpJitter) * 1000 || 0;\n audioReceiver.streams[0].common.rtpJitter = audioReceiver.streams[0].common.maxRtpJitter;\n\n // Fec packets do come in as part of the FEC only for audio\n const fecRecovered =\n statsResults[mediaType][sendrecvType].fecPacketsReceived -\n lastFecPacketsReceived -\n (statsResults[mediaType][sendrecvType].fecPacketsDiscarded - lastFecPacketsDiscarded);\n\n audioReceiver.streams[0].common.rtpEndToEndLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost - lastPacketsLost - fecRecovered || 0;\n\n audioReceiver.streams[0].common.framesDropped =\n statsResults[mediaType][sendrecvType].totalSamplesDecoded - lastPacketsDecoded || 0;\n audioReceiver.streams[0].common.renderedFrameRate =\n (audioReceiver.streams[0].common.framesDropped * 100) / 60 || 0;\n\n audioReceiver.streams[0].common.framesReceived =\n statsResults[mediaType][sendrecvType].totalSamplesReceived - lastSamplesReceived || 0;\n audioReceiver.streams[0].common.concealedFrames =\n statsResults[mediaType][sendrecvType].concealedSamples - lastConcealedSamples || 0;\n audioReceiver.streams[0].common.receivedBitrate =\n ((statsResults[mediaType][sendrecvType].totalBytesReceived - lastBytesReceived) * 8) / 60 || 0;\n\n audioReceiver.common.rtpBitrate = audioReceiver.streams[0].common.receivedBitrate;\n};\n\nexport const getAudioSenderMqa = ({audioSender, statsResults, lastMqaDataSent, mediaType}) => {\n const sendrecvType = STATS.SEND_DIRECTION;\n\n const lastPacketsSent = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsSent || 0;\n const lastPacketsLost =\n lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsLostOnReceiver || 0;\n const lastBytesSent = lastMqaDataSent[mediaType]?.[sendrecvType].totalBytesSent || 0;\n const lastFramesEncoded = lastMqaDataSent[mediaType]?.[sendrecvType].totalKeyFramesEncoded || 0;\n const lastFirCount = lastMqaDataSent[mediaType]?.[sendrecvType].totalFirCount || 0;\n\n const {csi} = statsResults[mediaType];\n if (csi && !audioSender.streams[0].common.csi.includes(csi)) {\n audioSender.streams[0].common.csi.push(csi);\n }\n\n audioSender.common.common.direction = statsResults[mediaType].direction;\n audioSender.common.transportType = statsResults.connectionType.local.transport;\n\n audioSender.common.maxRemoteJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n audioSender.common.meanRemoteJitter =\n mean(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n audioSender.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent - lastPacketsSent || 0;\n audioSender.streams[0].common.rtpPackets = audioSender.common.rtpPackets;\n // From candidate-pair\n audioSender.common.availableBitrate =\n statsResults[mediaType][sendrecvType].availableOutgoingBitrate || 0;\n // Calculate based on how much packets lost of received compated to how to the client sent\n\n const totalpacketsLostForaMin =\n statsResults[mediaType][sendrecvType].totalPacketsLostOnReceiver - lastPacketsLost;\n\n audioSender.common.remoteLossRate =\n totalpacketsLostForaMin > 0\n ? (totalpacketsLostForaMin * 100) / audioSender.common.rtpPackets\n : 0; // This is the packets sent with in last min || 0;\n\n audioSender.common.maxRoundTripTime =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n audioSender.common.meanRoundTripTime =\n mean(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n audioSender.common.roundTripTime = audioSender.common.maxRoundTripTime;\n\n // Calculate the outgoing bitrate\n const totalBytesSentInaMin = statsResults[mediaType][sendrecvType].totalBytesSent - lastBytesSent;\n\n audioSender.streams[0].common.transmittedBitrate = totalBytesSentInaMin\n ? (totalBytesSentInaMin * 8) / 60\n : 0;\n audioSender.common.rtpBitrate = audioSender.streams[0].common.transmittedBitrate;\n\n audioSender.streams[0].transmittedKeyFrames =\n statsResults[mediaType][sendrecvType].totalKeyFramesEncoded - lastFramesEncoded || 0;\n audioSender.streams[0].requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalFirCount - lastFirCount || 0;\n};\n\nexport const getVideoReceiverMqa = ({videoReceiver, statsResults, lastMqaDataSent, mediaType}) => {\n const sendrecvType = STATS.RECEIVE_DIRECTION;\n\n const lastPacketsReceived = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsReceived || 0;\n const lastPacketsLost = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsLost || 0;\n const lastBytesReceived = lastMqaDataSent[mediaType]?.[sendrecvType].totalBytesReceived || 0;\n const lastFramesReceived = lastMqaDataSent[mediaType]?.[sendrecvType].framesReceived || 0;\n const lastFramesDecoded = lastMqaDataSent[mediaType]?.[sendrecvType].framesDecoded || 0;\n const lastFramesDropped = lastMqaDataSent[mediaType]?.[sendrecvType].framesDropped || 0;\n const lastKeyFramesDecoded = lastMqaDataSent[mediaType]?.[sendrecvType].keyFramesDecoded || 0;\n const lastPliCount = lastMqaDataSent[mediaType]?.[sendrecvType].totalPliCount || 0;\n\n const {csi} = statsResults[mediaType];\n if (csi && !videoReceiver.streams[0].common.csi.includes(csi)) {\n videoReceiver.streams[0].common.csi.push(csi);\n }\n\n videoReceiver.common.common.direction = statsResults[mediaType].direction;\n videoReceiver.common.transportType = statsResults.connectionType.local.transport;\n\n // collect the packets received for the last min\n videoReceiver.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsReceived - lastPacketsReceived || 0;\n videoReceiver.streams[0].common.rtpPackets = videoReceiver.common.rtpPackets;\n\n const totalPacketLoss =\n statsResults[mediaType][sendrecvType].totalPacketsLost - lastPacketsLost || 0;\n\n // Hope by hop are numbers and not percentage so we compare on what we sent the last min\n // this is including packet lost\n videoReceiver.common.mediaHopByHopLost = totalPacketLoss;\n videoReceiver.common.rtpHopByHopLost = totalPacketLoss;\n\n // End to end packetloss is after recovery\n videoReceiver.streams[0].common.rtpEndToEndLost = totalPacketLoss;\n\n // calculate this values\n\n videoReceiver.common.maxRemoteJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n videoReceiver.common.meanRemoteJitter =\n mean(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n videoReceiver.streams[0].common.rtpJitter = videoReceiver.common.maxRemoteJitter;\n // videoReceiver.streams[0].common.rtpJitter = (statsResults.resolutions[mediaType][sendrecvType].jitterBufferDelay - lastMqaDataSent.resolutions[mediaType]?.[sendrecvType].jitterBufferDelay) / (statsResults.resolutions[mediaType][sendrecvType].jitterBufferEmittedCount - lastMqaDataSent.resolutions[mediaType]?.[sendrecvType].jitterBufferEmittedCount) * 1000 || 0;\n\n // Calculate the outgoing bitrate\n const totalBytesReceivedInaMin =\n statsResults[mediaType][sendrecvType].totalBytesReceived - lastBytesReceived;\n\n videoReceiver.streams[0].common.receivedBitrate = totalBytesReceivedInaMin\n ? (totalBytesReceivedInaMin * 8) / 60\n : 0;\n videoReceiver.common.rtpBitrate = videoReceiver.streams[0].common.receivedBitrate;\n\n // From tracks //TODO: calculate a proper one\n const totalFrameReceivedInaMin =\n statsResults.resolutions[mediaType][sendrecvType].framesReceived - lastFramesReceived;\n const totalFrameDecodedInaMin =\n statsResults.resolutions[mediaType][sendrecvType].framesDecoded - lastFramesDecoded;\n\n videoReceiver.streams[0].common.receivedFrameRate = totalFrameReceivedInaMin\n ? (totalFrameReceivedInaMin * 100) / 60\n : 0;\n videoReceiver.streams[0].common.renderedFrameRate = totalFrameDecodedInaMin\n ? (totalFrameDecodedInaMin * 100) / 60\n : 0;\n\n videoReceiver.streams[0].common.framesDropped =\n statsResults.resolutions[mediaType][sendrecvType].framesDropped - lastFramesDropped;\n videoReceiver.streams[0].receivedHeight =\n statsResults.resolutions[mediaType][sendrecvType].height || 0;\n videoReceiver.streams[0].receivedWidth =\n statsResults.resolutions[mediaType][sendrecvType].width || 0;\n videoReceiver.streams[0].receivedFrameSize =\n (videoReceiver.streams[0].receivedHeight * videoReceiver.streams[0].receivedWidth) / 256;\n\n videoReceiver.streams[0].receivedKeyFrames =\n statsResults[mediaType][sendrecvType].keyFramesDecoded - lastKeyFramesDecoded || 0;\n videoReceiver.streams[0].requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalPliCount - lastPliCount || 0;\n};\n\nexport const getVideoSenderMqa = ({videoSender, statsResults, lastMqaDataSent, mediaType}) => {\n const sendrecvType = STATS.SEND_DIRECTION;\n\n const lastPacketsSent = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsSent || 0;\n const lastPacketsLost =\n lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsLostOnReceiver || 0;\n const lastBytesSent = lastMqaDataSent[mediaType]?.[sendrecvType].totalBytesSent || 0;\n const lastKeyFramesEncoded =\n lastMqaDataSent[mediaType]?.[sendrecvType].totalKeyFramesEncoded || 0;\n const lastFirCount = lastMqaDataSent[mediaType]?.[sendrecvType].totalFirCount || 0;\n const lastFramesSent = lastMqaDataSent[mediaType]?.[sendrecvType].framesSent || 0;\n const {csi} = statsResults[mediaType];\n if (csi && !videoSender.streams[0].common.csi.includes(csi)) {\n videoSender.streams[0].common.csi.push(csi);\n }\n\n videoSender.common.common.direction = statsResults[mediaType].direction;\n videoSender.common.transportType = statsResults.connectionType.local.transport;\n\n // @ts-ignore\n videoSender.common.maxRemoteJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n videoSender.common.meanRemoteJitter =\n mean(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n videoSender.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent - lastPacketsSent || 0;\n videoSender.common.availableBitrate =\n statsResults[mediaType][sendrecvType].availableOutgoingBitrate || 0;\n // Calculate based on how much packets lost of received compated to how to the client sent\n\n const totalpacketsLostForaMin =\n statsResults[mediaType][sendrecvType].totalPacketsLostOnReceiver - lastPacketsLost;\n\n videoSender.common.remoteLossRate =\n totalpacketsLostForaMin > 0\n ? (totalpacketsLostForaMin * 100) / (videoSender.common.rtpPackets + totalpacketsLostForaMin)\n : 0; // This is the packets sent with in last min || 0;\n\n videoSender.common.maxRoundTripTime =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n videoSender.common.meanRoundTripTime =\n mean(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n videoSender.common.roundTripTime = videoSender.common.maxRoundTripTime;\n\n videoSender.streams[0].common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent - lastPacketsSent || 0;\n\n // Calculate the outgoing bitrate\n const totalBytesSentInaMin = statsResults[mediaType][sendrecvType].totalBytesSent - lastBytesSent;\n\n videoSender.streams[0].common.transmittedBitrate = totalBytesSentInaMin\n ? (totalBytesSentInaMin * 8) / 60\n : 0;\n\n videoSender.common.rtpBitrate = videoSender.streams[0].common.transmittedBitrate;\n\n videoSender.streams[0].transmittedKeyFrames =\n statsResults[mediaType][sendrecvType].totalKeyFramesEncoded - lastKeyFramesEncoded || 0;\n videoSender.streams[0].requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalFirCount - lastFirCount || 0;\n\n // From tracks //TODO: calculate a proper one\n const totalFrameSentInaMin =\n statsResults.resolutions[mediaType][sendrecvType].framesSent - (lastFramesSent || 0);\n\n videoSender.streams[0].common.transmittedFrameRate = totalFrameSentInaMin\n ? (totalFrameSentInaMin * 100) / 60\n : 0;\n videoSender.streams[0].transmittedHeight =\n statsResults.resolutions[mediaType][sendrecvType].height || 0;\n videoSender.streams[0].transmittedWidth =\n statsResults.resolutions[mediaType][sendrecvType].width || 0;\n videoSender.streams[0].transmittedFrameSize =\n (videoSender.streams[0].transmittedHeight * videoSender.streams[0].transmittedWidth) / 256;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_lodash","require","_constants","getAudioReceiverMqa","exports","_ref","_lastMqaDataSent$medi","_lastMqaDataSent$medi2","_lastMqaDataSent$medi3","_lastMqaDataSent$medi4","_lastMqaDataSent$medi5","_lastMqaDataSent$medi6","_lastMqaDataSent$medi7","_lastMqaDataSent$medi8","audioReceiver","statsResults","lastMqaDataSent","mediaType","sendrecvType","STATS","RECEIVE_DIRECTION","lastPacketsReceived","totalPacketsReceived","lastPacketsLost","totalPacketsLost","lastPacketsDecoded","totalSamplesDecoded","lastSamplesReceived","totalSamplesReceived","lastConcealedSamples","concealedSamples","lastBytesReceived","totalBytesReceived","lastFecPacketsReceived","fecPacketsReceived","lastFecPacketsDiscarded","fecPacketsDiscarded","csi","streams","common","includes","push","direction","transportType","connectionType","local","transport","rtpPackets","mediaHopByHopLost","rtpHopByHopLost","maxRtpJitter","max","meanRtpJitter","mean","rtpJitter","fecRecovered","rtpEndToEndLost","framesDropped","renderedFrameRate","framesReceived","concealedFrames","receivedBitrate","rtpBitrate","getAudioSenderMqa","_ref2","_lastMqaDataSent$medi9","_lastMqaDataSent$medi10","_lastMqaDataSent$medi11","_lastMqaDataSent$medi12","_lastMqaDataSent$medi13","audioSender","SEND_DIRECTION","lastPacketsSent","totalPacketsSent","totalPacketsLostOnReceiver","lastBytesSent","totalBytesSent","lastFramesEncoded","totalKeyFramesEncoded","lastFirCount","totalFirCount","maxRemoteJitter","meanRemoteJitter","availableBitrate","availableOutgoingBitrate","totalpacketsLostForaMin","remoteLossRate","maxRoundTripTime","meanRoundTripTime","roundTripTime","totalBytesSentInaMin","transmittedBitrate","transmittedKeyFrames","requestedKeyFrames","getVideoReceiverMqa","_ref3","_lastMqaDataSent$medi14","_lastMqaDataSent$medi15","_lastMqaDataSent$medi16","_lastMqaDataSent$medi17","_lastMqaDataSent$medi18","_lastMqaDataSent$medi19","_lastMqaDataSent$medi20","_lastMqaDataSent$medi21","videoReceiver","lastFramesReceived","lastFramesDecoded","framesDecoded","lastFramesDropped","lastKeyFramesDecoded","keyFramesDecoded","lastPliCount","totalPliCount","totalPacketLoss","totalBytesReceivedInaMin","totalFrameReceivedInaMin","totalFrameDecodedInaMin","receivedFrameRate","Math","round","receivedHeight","height","receivedWidth","width","receivedFrameSize","receivedKeyFrames","getVideoSenderMqa","_ref4","_lastMqaDataSent$medi22","_lastMqaDataSent$medi23","_lastMqaDataSent$medi24","_lastMqaDataSent$medi25","_lastMqaDataSent$medi26","_lastMqaDataSent$medi27","videoSender","lastKeyFramesEncoded","lastFramesSent","framesSent","totalFrameSentInaMin","transmittedFrameRate","transmittedHeight","transmittedWidth","transmittedFrameSize"],"sources":["mqaUtil.ts"],"sourcesContent":["/* eslint-disable no-param-reassign, prefer-destructuring */\n\nimport {mean, max} from 'lodash';\n\nimport {STATS} from '../constants';\n\nexport const getAudioReceiverMqa = ({audioReceiver, statsResults, lastMqaDataSent, mediaType}) => {\n const sendrecvType = STATS.RECEIVE_DIRECTION;\n\n const lastPacketsReceived = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsReceived || 0;\n const lastPacketsLost = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsLost || 0;\n const lastPacketsDecoded = lastMqaDataSent[mediaType]?.[sendrecvType].totalSamplesDecoded || 0;\n const lastSamplesReceived = lastMqaDataSent[mediaType]?.[sendrecvType].totalSamplesReceived || 0;\n const lastConcealedSamples = lastMqaDataSent[mediaType]?.[sendrecvType].concealedSamples || 0;\n const lastBytesReceived = lastMqaDataSent[mediaType]?.[sendrecvType].totalBytesReceived || 0;\n const lastFecPacketsReceived = lastMqaDataSent[mediaType]?.[sendrecvType].fecPacketsReceived || 0;\n const lastFecPacketsDiscarded =\n lastMqaDataSent[mediaType]?.[sendrecvType].fecPacketsDiscarded || 0;\n\n const {csi} = statsResults[mediaType];\n if (csi && !audioReceiver.streams[0].common.csi.includes(csi)) {\n audioReceiver.streams[0].common.csi.push(csi);\n }\n\n audioReceiver.common.common.direction = statsResults[mediaType].direction;\n audioReceiver.common.transportType = statsResults.connectionType.local.transport;\n\n // add rtpPacket info inside common as also for call analyzer\n audioReceiver.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsReceived - lastPacketsReceived || 0;\n // Hop by hop are numbers and not percentage so we compare on what we sent the last min\n // collect the packets received for the last min\n audioReceiver.streams[0].common.rtpPackets = audioReceiver.common.rtpPackets;\n audioReceiver.common.mediaHopByHopLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost - lastPacketsLost || 0;\n audioReceiver.common.rtpHopByHopLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost - lastPacketsLost || 0;\n\n audioReceiver.streams[0].common.maxRtpJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRtpJitter) * 1000 || 0;\n audioReceiver.streams[0].common.meanRtpJitter =\n mean(statsResults[mediaType][sendrecvType].meanRtpJitter) * 1000 || 0;\n audioReceiver.streams[0].common.rtpJitter = audioReceiver.streams[0].common.maxRtpJitter;\n\n // Fec packets do come in as part of the FEC only for audio\n const fecRecovered =\n statsResults[mediaType][sendrecvType].fecPacketsReceived -\n lastFecPacketsReceived -\n (statsResults[mediaType][sendrecvType].fecPacketsDiscarded - lastFecPacketsDiscarded);\n\n audioReceiver.streams[0].common.rtpEndToEndLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost - lastPacketsLost - fecRecovered || 0;\n\n audioReceiver.streams[0].common.framesDropped =\n statsResults[mediaType][sendrecvType].totalSamplesDecoded - lastPacketsDecoded || 0;\n audioReceiver.streams[0].common.renderedFrameRate =\n (audioReceiver.streams[0].common.framesDropped * 100) / 60 || 0;\n\n audioReceiver.streams[0].common.framesReceived =\n statsResults[mediaType][sendrecvType].totalSamplesReceived - lastSamplesReceived || 0;\n audioReceiver.streams[0].common.concealedFrames =\n statsResults[mediaType][sendrecvType].concealedSamples - lastConcealedSamples || 0;\n audioReceiver.streams[0].common.receivedBitrate =\n ((statsResults[mediaType][sendrecvType].totalBytesReceived - lastBytesReceived) * 8) / 60 || 0;\n\n audioReceiver.common.rtpBitrate = audioReceiver.streams[0].common.receivedBitrate;\n};\n\nexport const getAudioSenderMqa = ({audioSender, statsResults, lastMqaDataSent, mediaType}) => {\n const sendrecvType = STATS.SEND_DIRECTION;\n\n const lastPacketsSent = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsSent || 0;\n const lastPacketsLost =\n lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsLostOnReceiver || 0;\n const lastBytesSent = lastMqaDataSent[mediaType]?.[sendrecvType].totalBytesSent || 0;\n const lastFramesEncoded = lastMqaDataSent[mediaType]?.[sendrecvType].totalKeyFramesEncoded || 0;\n const lastFirCount = lastMqaDataSent[mediaType]?.[sendrecvType].totalFirCount || 0;\n\n const {csi} = statsResults[mediaType];\n if (csi && !audioSender.streams[0].common.csi.includes(csi)) {\n audioSender.streams[0].common.csi.push(csi);\n }\n\n audioSender.common.common.direction = statsResults[mediaType].direction;\n audioSender.common.transportType = statsResults.connectionType.local.transport;\n\n audioSender.common.maxRemoteJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n audioSender.common.meanRemoteJitter =\n mean(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n audioSender.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent - lastPacketsSent || 0;\n audioSender.streams[0].common.rtpPackets = audioSender.common.rtpPackets;\n // From candidate-pair\n audioSender.common.availableBitrate =\n statsResults[mediaType][sendrecvType].availableOutgoingBitrate || 0;\n // Calculate based on how much packets lost of received compated to how to the client sent\n\n const totalpacketsLostForaMin =\n statsResults[mediaType][sendrecvType].totalPacketsLostOnReceiver - lastPacketsLost;\n\n audioSender.common.remoteLossRate =\n totalpacketsLostForaMin > 0\n ? (totalpacketsLostForaMin * 100) / audioSender.common.rtpPackets\n : 0; // This is the packets sent with in last min || 0;\n\n audioSender.common.maxRoundTripTime =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n audioSender.common.meanRoundTripTime =\n mean(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n audioSender.common.roundTripTime = audioSender.common.maxRoundTripTime;\n\n // Calculate the outgoing bitrate\n const totalBytesSentInaMin = statsResults[mediaType][sendrecvType].totalBytesSent - lastBytesSent;\n\n audioSender.streams[0].common.transmittedBitrate = totalBytesSentInaMin\n ? (totalBytesSentInaMin * 8) / 60\n : 0;\n audioSender.common.rtpBitrate = audioSender.streams[0].common.transmittedBitrate;\n\n audioSender.streams[0].transmittedKeyFrames =\n statsResults[mediaType][sendrecvType].totalKeyFramesEncoded - lastFramesEncoded || 0;\n audioSender.streams[0].requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalFirCount - lastFirCount || 0;\n};\n\nexport const getVideoReceiverMqa = ({videoReceiver, statsResults, lastMqaDataSent, mediaType}) => {\n const sendrecvType = STATS.RECEIVE_DIRECTION;\n\n const lastPacketsReceived = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsReceived || 0;\n const lastPacketsLost = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsLost || 0;\n const lastBytesReceived = lastMqaDataSent[mediaType]?.[sendrecvType].totalBytesReceived || 0;\n const lastFramesReceived = lastMqaDataSent[mediaType]?.[sendrecvType].framesReceived || 0;\n const lastFramesDecoded = lastMqaDataSent[mediaType]?.[sendrecvType].framesDecoded || 0;\n const lastFramesDropped = lastMqaDataSent[mediaType]?.[sendrecvType].framesDropped || 0;\n const lastKeyFramesDecoded = lastMqaDataSent[mediaType]?.[sendrecvType].keyFramesDecoded || 0;\n const lastPliCount = lastMqaDataSent[mediaType]?.[sendrecvType].totalPliCount || 0;\n\n const {csi} = statsResults[mediaType];\n if (csi && !videoReceiver.streams[0].common.csi.includes(csi)) {\n videoReceiver.streams[0].common.csi.push(csi);\n }\n\n videoReceiver.common.common.direction = statsResults[mediaType].direction;\n videoReceiver.common.transportType = statsResults.connectionType.local.transport;\n\n // collect the packets received for the last min\n videoReceiver.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsReceived - lastPacketsReceived || 0;\n videoReceiver.streams[0].common.rtpPackets = videoReceiver.common.rtpPackets;\n\n const totalPacketLoss =\n statsResults[mediaType][sendrecvType].totalPacketsLost - lastPacketsLost || 0;\n\n // Hope by hop are numbers and not percentage so we compare on what we sent the last min\n // this is including packet lost\n videoReceiver.common.mediaHopByHopLost = totalPacketLoss;\n videoReceiver.common.rtpHopByHopLost = totalPacketLoss;\n\n // End to end packetloss is after recovery\n videoReceiver.streams[0].common.rtpEndToEndLost = totalPacketLoss;\n\n // calculate this values\n\n videoReceiver.common.maxRemoteJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n videoReceiver.common.meanRemoteJitter =\n mean(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n videoReceiver.streams[0].common.rtpJitter = videoReceiver.common.maxRemoteJitter;\n\n // Calculate the outgoing bitrate\n const totalBytesReceivedInaMin =\n statsResults[mediaType][sendrecvType].totalBytesReceived - lastBytesReceived;\n\n videoReceiver.streams[0].common.receivedBitrate = totalBytesReceivedInaMin\n ? (totalBytesReceivedInaMin * 8) / 60\n : 0;\n videoReceiver.common.rtpBitrate = videoReceiver.streams[0].common.receivedBitrate;\n\n // From tracks //TODO: calculate a proper one\n const totalFrameReceivedInaMin =\n statsResults[mediaType][sendrecvType].framesReceived - lastFramesReceived;\n const totalFrameDecodedInaMin =\n statsResults[mediaType][sendrecvType].framesDecoded - lastFramesDecoded;\n\n videoReceiver.streams[0].common.receivedFrameRate = Math.round(\n totalFrameReceivedInaMin ? totalFrameReceivedInaMin / 60 : 0\n );\n videoReceiver.streams[0].common.renderedFrameRate = Math.round(\n totalFrameDecodedInaMin ? totalFrameDecodedInaMin / 60 : 0\n );\n\n videoReceiver.streams[0].common.framesDropped =\n statsResults[mediaType][sendrecvType].framesDropped - lastFramesDropped;\n videoReceiver.streams[0].receivedHeight = statsResults[mediaType][sendrecvType].height || 0;\n videoReceiver.streams[0].receivedWidth = statsResults[mediaType][sendrecvType].width || 0;\n videoReceiver.streams[0].receivedFrameSize =\n (videoReceiver.streams[0].receivedHeight * videoReceiver.streams[0].receivedWidth) / 256;\n\n videoReceiver.streams[0].receivedKeyFrames =\n statsResults[mediaType][sendrecvType].keyFramesDecoded - lastKeyFramesDecoded || 0;\n videoReceiver.streams[0].requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalPliCount - lastPliCount || 0;\n};\n\nexport const getVideoSenderMqa = ({videoSender, statsResults, lastMqaDataSent, mediaType}) => {\n const sendrecvType = STATS.SEND_DIRECTION;\n\n const lastPacketsSent = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsSent || 0;\n const lastPacketsLost =\n lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsLostOnReceiver || 0;\n const lastBytesSent = lastMqaDataSent[mediaType]?.[sendrecvType].totalBytesSent || 0;\n const lastKeyFramesEncoded =\n lastMqaDataSent[mediaType]?.[sendrecvType].totalKeyFramesEncoded || 0;\n const lastFirCount = lastMqaDataSent[mediaType]?.[sendrecvType].totalFirCount || 0;\n const lastFramesSent = lastMqaDataSent[mediaType]?.[sendrecvType].framesSent || 0;\n const {csi} = statsResults[mediaType];\n if (csi && !videoSender.streams[0].common.csi.includes(csi)) {\n videoSender.streams[0].common.csi.push(csi);\n }\n\n videoSender.common.common.direction = statsResults[mediaType].direction;\n videoSender.common.transportType = statsResults.connectionType.local.transport;\n\n // @ts-ignore\n videoSender.common.maxRemoteJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n videoSender.common.meanRemoteJitter =\n mean(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n videoSender.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent - lastPacketsSent || 0;\n videoSender.common.availableBitrate =\n statsResults[mediaType][sendrecvType].availableOutgoingBitrate || 0;\n // Calculate based on how much packets lost of received compated to how to the client sent\n\n const totalpacketsLostForaMin =\n statsResults[mediaType][sendrecvType].totalPacketsLostOnReceiver - lastPacketsLost;\n\n videoSender.common.remoteLossRate =\n totalpacketsLostForaMin > 0\n ? (totalpacketsLostForaMin * 100) / (videoSender.common.rtpPackets + totalpacketsLostForaMin)\n : 0; // This is the packets sent with in last min || 0;\n\n videoSender.common.maxRoundTripTime =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n videoSender.common.meanRoundTripTime =\n mean(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n videoSender.common.roundTripTime = videoSender.common.maxRoundTripTime;\n\n videoSender.streams[0].common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent - lastPacketsSent || 0;\n\n // Calculate the outgoing bitrate\n const totalBytesSentInaMin = statsResults[mediaType][sendrecvType].totalBytesSent - lastBytesSent;\n\n videoSender.streams[0].common.transmittedBitrate = totalBytesSentInaMin\n ? (totalBytesSentInaMin * 8) / 60\n : 0;\n\n videoSender.common.rtpBitrate = videoSender.streams[0].common.transmittedBitrate;\n\n videoSender.streams[0].transmittedKeyFrames =\n statsResults[mediaType][sendrecvType].totalKeyFramesEncoded - lastKeyFramesEncoded || 0;\n videoSender.streams[0].requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalFirCount - lastFirCount || 0;\n\n // From tracks //TODO: calculate a proper one\n const totalFrameSentInaMin =\n statsResults[mediaType][sendrecvType].framesSent - (lastFramesSent || 0);\n\n videoSender.streams[0].common.transmittedFrameRate = Math.round(\n totalFrameSentInaMin ? totalFrameSentInaMin / 60 : 0\n );\n videoSender.streams[0].transmittedHeight = statsResults[mediaType][sendrecvType].height || 0;\n videoSender.streams[0].transmittedWidth = statsResults[mediaType][sendrecvType].width || 0;\n videoSender.streams[0].transmittedFrameSize =\n (videoSender.streams[0].transmittedHeight * videoSender.streams[0].transmittedWidth) / 256;\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Meeting Webex assistance transcription feature.
|
|
3
|
+
* @exports
|
|
4
|
+
* @class Transcription
|
|
5
|
+
*/
|
|
6
|
+
export default class Transcription {
|
|
7
|
+
webSocketUrl: any;
|
|
8
|
+
sessionID: any;
|
|
9
|
+
members: any;
|
|
10
|
+
memberCSIs: any;
|
|
11
|
+
webSocket: any;
|
|
12
|
+
/**
|
|
13
|
+
* @param {string} webSocketUrl
|
|
14
|
+
* @param {sessionID} sessionId
|
|
15
|
+
* @param {object} members
|
|
16
|
+
* @constructor
|
|
17
|
+
* @memberof Transcription
|
|
18
|
+
*/
|
|
19
|
+
constructor(webSocketUrl: string, sessionId: any, members: object);
|
|
20
|
+
/**
|
|
21
|
+
* open the Low Latency Mercury connection
|
|
22
|
+
* An event parameter will be send to the callback.
|
|
23
|
+
*
|
|
24
|
+
* @param {string} token
|
|
25
|
+
* @param {string} sessionID
|
|
26
|
+
* @returns {void}
|
|
27
|
+
*/
|
|
28
|
+
connect(token: string): void;
|
|
29
|
+
/**
|
|
30
|
+
* Sets callback to invoke when the web socket connection is closed.
|
|
31
|
+
*
|
|
32
|
+
* @param {Function} callback
|
|
33
|
+
* @returns {void}
|
|
34
|
+
*/
|
|
35
|
+
onCloseSocket(callback: any): void;
|
|
36
|
+
/**
|
|
37
|
+
* Sets callback to invoke when a web socket connection error occurs.
|
|
38
|
+
* An event parameter will be send to the callback.
|
|
39
|
+
*
|
|
40
|
+
* @param {Function} callback
|
|
41
|
+
* @returns {void}
|
|
42
|
+
*/
|
|
43
|
+
onErrorSocket(callback: any): void;
|
|
44
|
+
/**
|
|
45
|
+
* Get current speaker from the given csis payload and update the global csis map
|
|
46
|
+
*
|
|
47
|
+
* @private
|
|
48
|
+
* @param {object} csis
|
|
49
|
+
* @returns {object}
|
|
50
|
+
*/
|
|
51
|
+
private getSpeaker;
|
|
52
|
+
/**
|
|
53
|
+
* Sends transcription data to given callback as it arrives.
|
|
54
|
+
*
|
|
55
|
+
* @param {Function} callback
|
|
56
|
+
* @returns {void}
|
|
57
|
+
*/
|
|
58
|
+
subscribe(callback: any): void;
|
|
59
|
+
/**
|
|
60
|
+
* Close the LLM web socket connection
|
|
61
|
+
* @returns {void}
|
|
62
|
+
*/
|
|
63
|
+
closeSocket(): void;
|
|
64
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.
|
|
3
|
+
*/
|
|
4
|
+
declare class WebinarCollection {
|
|
5
|
+
webinarInfo: any;
|
|
6
|
+
namespace: string;
|
|
7
|
+
mainIndex: string;
|
|
8
|
+
constructor();
|
|
9
|
+
set(id: any, info: any): void;
|
|
10
|
+
/**
|
|
11
|
+
* @param {String} id
|
|
12
|
+
* @returns {Member}
|
|
13
|
+
*/
|
|
14
|
+
get(id: string): any;
|
|
15
|
+
}
|
|
16
|
+
export default WebinarCollection;
|
package/dist/webinar/index.js
CHANGED
|
@@ -62,7 +62,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
|
|
|
62
62
|
updateCanManageWebcast: function updateCanManageWebcast(canManageWebcast) {
|
|
63
63
|
this.set('canManageWebcast', canManageWebcast);
|
|
64
64
|
},
|
|
65
|
-
version: "2.60.0-next.
|
|
65
|
+
version: "2.60.0-next.11"
|
|
66
66
|
});
|
|
67
67
|
var _default = exports.default = Webinar;
|
|
68
68
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
},
|
|
30
30
|
"scripts": {
|
|
31
31
|
"build": "yarn run -T tsc --declaration true --declarationDir ./dist",
|
|
32
|
-
"build:src": "webex-legacy-tools build -dest \"./dist\" -src \"./src\" -js -ts -maps",
|
|
32
|
+
"build:src": "webex-legacy-tools build -dest \"./dist\" -src \"./src\" -js -ts -maps && yarn build",
|
|
33
33
|
"deploy:npm": "yarn npm publish",
|
|
34
34
|
"test:broken": "yarn test:style && yarn test:unit && yarn test:integration && yarn test:browser",
|
|
35
35
|
"test:browser:broken": "webex-legacy-tools test --integration --unit --runner karma",
|
|
@@ -40,17 +40,17 @@
|
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@babel/core": "^7.17.10",
|
|
42
42
|
"@types/jsdom": "^21",
|
|
43
|
-
"@webex/babel-config-legacy": "
|
|
44
|
-
"@webex/eslint-config-legacy": "
|
|
45
|
-
"@webex/jest-config-legacy": "
|
|
46
|
-
"@webex/legacy-tools": "
|
|
47
|
-
"@webex/plugin-meetings": "
|
|
48
|
-
"@webex/plugin-rooms": "
|
|
49
|
-
"@webex/test-helper-chai": "
|
|
50
|
-
"@webex/test-helper-mocha": "
|
|
51
|
-
"@webex/test-helper-mock-webex": "
|
|
52
|
-
"@webex/test-helper-retry": "
|
|
53
|
-
"@webex/test-helper-test-users": "
|
|
43
|
+
"@webex/babel-config-legacy": "0.0.0",
|
|
44
|
+
"@webex/eslint-config-legacy": "0.0.0",
|
|
45
|
+
"@webex/jest-config-legacy": "0.0.0",
|
|
46
|
+
"@webex/legacy-tools": "0.0.0",
|
|
47
|
+
"@webex/plugin-meetings": "2.60.0-next.11",
|
|
48
|
+
"@webex/plugin-rooms": "2.60.0-next.8",
|
|
49
|
+
"@webex/test-helper-chai": "2.60.0-next.8",
|
|
50
|
+
"@webex/test-helper-mocha": "2.60.0-next.8",
|
|
51
|
+
"@webex/test-helper-mock-webex": "2.60.0-next.8",
|
|
52
|
+
"@webex/test-helper-retry": "2.60.0-next.8",
|
|
53
|
+
"@webex/test-helper-test-users": "2.60.0-next.8",
|
|
54
54
|
"chai": "^4.3.4",
|
|
55
55
|
"chai-as-promised": "^7.1.1",
|
|
56
56
|
"eslint": "^8.24.0",
|
|
@@ -62,20 +62,19 @@
|
|
|
62
62
|
"typescript": "^4.7.4"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@webex/common": "
|
|
66
|
-
"@webex/internal-media-core": "2.2.
|
|
67
|
-
"@webex/internal-plugin-conversation": "
|
|
68
|
-
"@webex/internal-plugin-device": "
|
|
69
|
-
"@webex/internal-plugin-llm": "
|
|
70
|
-
"@webex/internal-plugin-mercury": "
|
|
71
|
-
"@webex/internal-plugin-metrics": "
|
|
72
|
-
"@webex/internal-plugin-support": "
|
|
73
|
-
"@webex/internal-plugin-user": "
|
|
74
|
-
"@webex/media-helpers": "
|
|
75
|
-
"@webex/plugin-people": "
|
|
76
|
-
"@webex/plugin-rooms": "
|
|
77
|
-
"@webex/
|
|
78
|
-
"@webex/webex-core": "^2.60.0-next.1",
|
|
65
|
+
"@webex/common": "2.60.0-next.8",
|
|
66
|
+
"@webex/internal-media-core": "2.2.3",
|
|
67
|
+
"@webex/internal-plugin-conversation": "2.60.0-next.8",
|
|
68
|
+
"@webex/internal-plugin-device": "2.60.0-next.8",
|
|
69
|
+
"@webex/internal-plugin-llm": "2.60.0-next.8",
|
|
70
|
+
"@webex/internal-plugin-mercury": "2.60.0-next.8",
|
|
71
|
+
"@webex/internal-plugin-metrics": "2.60.0-next.8",
|
|
72
|
+
"@webex/internal-plugin-support": "2.60.0-next.8",
|
|
73
|
+
"@webex/internal-plugin-user": "2.60.0-next.8",
|
|
74
|
+
"@webex/media-helpers": "3.0.0-next.19",
|
|
75
|
+
"@webex/plugin-people": "2.60.0-next.8",
|
|
76
|
+
"@webex/plugin-rooms": "2.60.0-next.8",
|
|
77
|
+
"@webex/webex-core": "2.60.0-next.8",
|
|
79
78
|
"ampersand-collection": "^2.0.2",
|
|
80
79
|
"bowser": "^2.11.0",
|
|
81
80
|
"btoa": "^1.2.1",
|
|
@@ -89,5 +88,5 @@
|
|
|
89
88
|
"uuid": "^3.3.2",
|
|
90
89
|
"webrtc-adapter": "^8.1.2"
|
|
91
90
|
},
|
|
92
|
-
"version": "2.60.0-next.
|
|
91
|
+
"version": "2.60.0-next.11"
|
|
93
92
|
}
|
package/src/constants.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// @ts-ignore
|
|
2
2
|
import {hydraTypes} from '@webex/common';
|
|
3
3
|
|
|
4
|
+
type Enum<T extends Record<string, unknown>> = T[keyof T];
|
|
5
|
+
|
|
4
6
|
// *********** LOWERCASE / CAMELCASE STRINGS ************
|
|
5
7
|
|
|
6
8
|
export const AUDIO = 'audio';
|
|
@@ -193,7 +195,7 @@ export const ICE_FAIL_TIMEOUT = 3000;
|
|
|
193
195
|
export const RETRY_TIMEOUT = 3000;
|
|
194
196
|
|
|
195
197
|
export const ICE_AND_DTLS_CONNECTION_TIMEOUT = 10000;
|
|
196
|
-
export const ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT =
|
|
198
|
+
export const ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT = 35000;
|
|
197
199
|
|
|
198
200
|
// ******************** REGEX **********************
|
|
199
201
|
// Please alphabetize
|
|
@@ -1036,7 +1038,9 @@ export const RECONNECTION = {
|
|
|
1036
1038
|
DEFAULT_TRY_COUNT: 0,
|
|
1037
1039
|
DEFAULT_STATUS: '',
|
|
1038
1040
|
},
|
|
1039
|
-
};
|
|
1041
|
+
} as const;
|
|
1042
|
+
|
|
1043
|
+
export type RECONNECTION_STATE = Enum<typeof RECONNECTION.STATE>;
|
|
1040
1044
|
|
|
1041
1045
|
export const RESOURCE = {
|
|
1042
1046
|
CLUSTERS: 'clusters',
|
|
@@ -1072,7 +1076,9 @@ export const NETWORK_STATUS = {
|
|
|
1072
1076
|
DISCONNECTED: 'DISCONNECTED',
|
|
1073
1077
|
RECONNECTING: 'RECONNECTING',
|
|
1074
1078
|
CONNECTED: 'CONNECTED',
|
|
1075
|
-
};
|
|
1079
|
+
} as const;
|
|
1080
|
+
|
|
1081
|
+
export type NETWORK_STATUS = Enum<typeof NETWORK_STATUS>;
|
|
1076
1082
|
|
|
1077
1083
|
export const NETWORK_TYPE = {
|
|
1078
1084
|
VPN: 'vpn',
|
|
@@ -1288,7 +1294,7 @@ export const IP_VERSION = {
|
|
|
1288
1294
|
ipv4_and_ipv6: 1,
|
|
1289
1295
|
} as const;
|
|
1290
1296
|
|
|
1291
|
-
export type IP_VERSION =
|
|
1297
|
+
export type IP_VERSION = Enum<typeof IP_VERSION>;
|
|
1292
1298
|
|
|
1293
1299
|
// constant for if the permissionToken is about to expire in the next 30 seconds, refresh it
|
|
1294
1300
|
export const MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC = 30;
|
package/src/locus-info/parser.ts
CHANGED
|
@@ -53,7 +53,7 @@ export default class Parser {
|
|
|
53
53
|
|
|
54
54
|
queue: SortedQueue<LocusDeltaDto>;
|
|
55
55
|
workingCopy: any;
|
|
56
|
-
syncTimer
|
|
56
|
+
syncTimer?: ReturnType<typeof setTimeout>;
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
59
|
* @constructs Parser
|
|
@@ -85,7 +85,7 @@ export default class Parser {
|
|
|
85
85
|
this.status = 'IDLE';
|
|
86
86
|
this.onDeltaAction = null;
|
|
87
87
|
this.workingCopy = null;
|
|
88
|
-
this.syncTimer =
|
|
88
|
+
this.syncTimer = undefined;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
/**
|
|
@@ -673,11 +673,11 @@ export default class Parser {
|
|
|
673
673
|
* @returns {undefined}
|
|
674
674
|
*/
|
|
675
675
|
private startSyncTimer() {
|
|
676
|
-
if (this.syncTimer ===
|
|
676
|
+
if (this.syncTimer === undefined) {
|
|
677
677
|
const timeout = OOO_DELTA_WAIT_TIME + Math.random() * OOO_DELTA_WAIT_TIME_RANDOM_DELAY;
|
|
678
678
|
|
|
679
679
|
this.syncTimer = setTimeout(() => {
|
|
680
|
-
this.syncTimer =
|
|
680
|
+
this.syncTimer = undefined;
|
|
681
681
|
this.triggerSync('timer expired, blocked on out-of-order delta');
|
|
682
682
|
}, timeout);
|
|
683
683
|
}
|
|
@@ -689,9 +689,9 @@ export default class Parser {
|
|
|
689
689
|
* @returns {undefined}
|
|
690
690
|
*/
|
|
691
691
|
private stopSyncTimer() {
|
|
692
|
-
if (this.syncTimer !==
|
|
692
|
+
if (this.syncTimer !== undefined) {
|
|
693
693
|
clearTimeout(this.syncTimer);
|
|
694
|
-
this.syncTimer =
|
|
694
|
+
this.syncTimer = undefined;
|
|
695
695
|
}
|
|
696
696
|
}
|
|
697
697
|
|
package/src/media/index.ts
CHANGED
|
@@ -217,10 +217,10 @@ Media.createMediaConnection = (
|
|
|
217
217
|
{
|
|
218
218
|
// TODO: RoapMediaConnection is not ready to use stream classes yet, so we pass the raw MediaStreamTrack for now SPARK-460530
|
|
219
219
|
localTracks: {
|
|
220
|
-
audio: audioStream?.
|
|
221
|
-
video: videoStream?.
|
|
222
|
-
screenShareVideo: shareVideoStream?.
|
|
223
|
-
screenShareAudio: shareAudioStream?.
|
|
220
|
+
audio: audioStream?.outputStream?.getTracks()[0],
|
|
221
|
+
video: videoStream?.outputStream?.getTracks()[0],
|
|
222
|
+
screenShareVideo: shareVideoStream?.outputStream?.getTracks()[0],
|
|
223
|
+
screenShareAudio: shareAudioStream?.outputStream?.getTracks()[0], // TODO: add type for screenShareAudio in internal-media-core SPARK-446923
|
|
224
224
|
} as unknown,
|
|
225
225
|
direction: {
|
|
226
226
|
audio: Media.getDirection(true, mediaDirection.receiveAudio, mediaDirection.sendAudio),
|
|
@@ -399,7 +399,7 @@ Media.stopStream = (stream: LocalStream) => {
|
|
|
399
399
|
stream.stop();
|
|
400
400
|
} catch (e) {
|
|
401
401
|
LoggerProxy.logger.error(
|
|
402
|
-
`Media:index#stopStream --> Unable to stop the stream with ready state
|
|
402
|
+
`Media:index#stopStream --> Unable to stop the stream with ready state => ${stream.readyState}, error: ${e}`
|
|
403
403
|
);
|
|
404
404
|
}
|
|
405
405
|
});
|
|
@@ -247,138 +247,3 @@ export const emptyVideoTransmit = {
|
|
|
247
247
|
},
|
|
248
248
|
],
|
|
249
249
|
};
|
|
250
|
-
|
|
251
|
-
export const emptyVideoShareReceive = {
|
|
252
|
-
common: {
|
|
253
|
-
common: {
|
|
254
|
-
direction: 'inactive',
|
|
255
|
-
isMain: false, // Not avaliable
|
|
256
|
-
mariFecEnabled: true, // Not avaliable
|
|
257
|
-
mariQosEnabled: true, // Not avaliable
|
|
258
|
-
multistreamEnabled: true, // Not avaliable
|
|
259
|
-
},
|
|
260
|
-
dtlsBitrate: 0, // Not avaliable
|
|
261
|
-
dtlsPackets: 0, // Not avaliable
|
|
262
|
-
fecBitrate: 0, // Not avaliable
|
|
263
|
-
fecPackets: 0, // Not avaliable
|
|
264
|
-
maxBitrate: 0,
|
|
265
|
-
mediaHopByHopLost: 0,
|
|
266
|
-
rtcpBitrate: 0, // Not avaliable
|
|
267
|
-
rtcpPackets: 0, // Not avaliable
|
|
268
|
-
rtpBitrate: 0,
|
|
269
|
-
rtpHopByHopLost: 0,
|
|
270
|
-
rtpPackets: 0,
|
|
271
|
-
rtpRecovered: 0, // Not avaliable
|
|
272
|
-
rtxBitrate: 0, // Not avaliable
|
|
273
|
-
rtxPackets: 0, // Not avaliable
|
|
274
|
-
srtcpUnprotectErrors: 0, // Not avaliable
|
|
275
|
-
srtpUnprotectErrors: 0, // Not avaliable
|
|
276
|
-
stunBitrate: 0, // Not avaliable
|
|
277
|
-
stunPackets: 0, // Not avaliable
|
|
278
|
-
transportType: 'UDP',
|
|
279
|
-
},
|
|
280
|
-
streams: [
|
|
281
|
-
{
|
|
282
|
-
common: {
|
|
283
|
-
codec: 'H264',
|
|
284
|
-
concealedFrames: 0, // Not avaliable
|
|
285
|
-
csi: [],
|
|
286
|
-
maxConcealRunLength: 0, // Not avaliable
|
|
287
|
-
optimalBitrate: 0,
|
|
288
|
-
optimalFrameRate: 0,
|
|
289
|
-
receivedBitrate: 0,
|
|
290
|
-
receivedFrameRate: 0,
|
|
291
|
-
renderedFrameRate: 0, // Not avaliable
|
|
292
|
-
requestedBitrate: 0,
|
|
293
|
-
requestedFrameRate: 0,
|
|
294
|
-
rtpEndToEndLost: 0,
|
|
295
|
-
rtpJitter: 0,
|
|
296
|
-
rtpPackets: 0,
|
|
297
|
-
ssci: 0, // Not avaliable
|
|
298
|
-
},
|
|
299
|
-
h264CodecProfile: 'BP',
|
|
300
|
-
isActiveSpeaker: true,
|
|
301
|
-
optimalFrameSize: 0, // Not avaliable
|
|
302
|
-
receivedFrameSize: 0,
|
|
303
|
-
receivedHeight: 0,
|
|
304
|
-
receivedKeyFrames: 0,
|
|
305
|
-
receivedKeyFramesForRequest: 0,
|
|
306
|
-
receivedKeyFramesSourceChange: 0,
|
|
307
|
-
receivedKeyFramesUnknown: 0,
|
|
308
|
-
receivedWidth: 0,
|
|
309
|
-
requestedFrameSize: 0,
|
|
310
|
-
requestedKeyFrames: 0,
|
|
311
|
-
},
|
|
312
|
-
],
|
|
313
|
-
};
|
|
314
|
-
|
|
315
|
-
export const emptyVideoShareTransmit = {
|
|
316
|
-
// sceen sharing
|
|
317
|
-
common: {
|
|
318
|
-
availableBitrate: 0, // Not avaliable currently hardcoded
|
|
319
|
-
common: {
|
|
320
|
-
direction: 'inactive',
|
|
321
|
-
isMain: false,
|
|
322
|
-
mariFecEnabled: false, // Not avaliable
|
|
323
|
-
mariQosEnabled: false, // Not avaliable
|
|
324
|
-
multistreamEnabled: false, // Not avaliable
|
|
325
|
-
},
|
|
326
|
-
dtlsBitrate: 0, // Not avaliable
|
|
327
|
-
dtlsPackets: 0, // Not avaliable
|
|
328
|
-
fecBitrate: 0, // Not avaliable
|
|
329
|
-
fecPackets: 0, // TODO: check inbound-rtp// Not avaliable
|
|
330
|
-
maxBitrate: 0, // Currently hardcoded
|
|
331
|
-
queueDelay: 0, // outboundRtp.totalPacketSentDelay // TODO: check if totalInterFrameDelay/ packetSentDelay/ jitterBufferDalay
|
|
332
|
-
remoteJitter: 0, // remoteInboundRtp.jitter
|
|
333
|
-
remoteLossRate: 0, // comparedResults.lossRate
|
|
334
|
-
remoteReceiveRate: 0, // compareResults.packetsLost
|
|
335
|
-
roundTripTime: 0, // compareResults.roundTripTime
|
|
336
|
-
rtcpBitrate: 0, // Dont have access to it
|
|
337
|
-
rtcpPackets: 0, // Dont have access to rtcp
|
|
338
|
-
rtpBitrate: 0, // Dont have access
|
|
339
|
-
rtpPackets: 0, // outboundRtp.packetsSent
|
|
340
|
-
rtxBitrate: 0, // Dont have access to it
|
|
341
|
-
rtxPackets: 0, // Dont have access to it
|
|
342
|
-
stunBitrate: 0, // Dont have access to it
|
|
343
|
-
stunPackets: 0, // Dont have access to it
|
|
344
|
-
transportType: 'UDP', // TODO: need to calculate
|
|
345
|
-
},
|
|
346
|
-
streams: [
|
|
347
|
-
{
|
|
348
|
-
common: {
|
|
349
|
-
codec: 'H264',
|
|
350
|
-
csi: [],
|
|
351
|
-
duplicateSsci: 0, // Not Avaliable
|
|
352
|
-
requestedBitrate: 0, // TODO: from remote SDP
|
|
353
|
-
requestedFrames: 0, // TODO: from remote SDP
|
|
354
|
-
rtpPackets: 0, // same as rtp packets
|
|
355
|
-
ssci: 0,
|
|
356
|
-
transmittedBitrate: 0, // TODO: get in the candidate pair
|
|
357
|
-
transmittedFrameRate: 0, // TODO: from track info
|
|
358
|
-
},
|
|
359
|
-
h264CodecProfile: 'BP', // TODO: from localSDP
|
|
360
|
-
isAvatar: false, // Not Avaliable
|
|
361
|
-
isHardwareEncoded: false, // Not Avaliable
|
|
362
|
-
localConfigurationChanges: 2, // Not Avaliable
|
|
363
|
-
maxFrameQp: 0, // Not Avaliable
|
|
364
|
-
maxNoiseLevel: 0, // Not Avaliable
|
|
365
|
-
minRegionQp: 0, // Not Avaliable
|
|
366
|
-
remoteConfigurationChanges: 0, // Not Avaliable
|
|
367
|
-
requestedFrameSize: 0, // TODO: from remote SDP
|
|
368
|
-
requestedKeyFrames: 0, // outbound Fir request
|
|
369
|
-
transmittedFrameSize: 0, // Not Avaliable
|
|
370
|
-
transmittedHeight: 0,
|
|
371
|
-
transmittedKeyFrames: 0, // Key frames encoded
|
|
372
|
-
transmittedKeyFramesClient: 0, // Not Avaliable
|
|
373
|
-
transmittedKeyFramesConfigurationChange: 0, // Not Avaliable
|
|
374
|
-
transmittedKeyFramesFeedback: 0, // Not Avaliable
|
|
375
|
-
transmittedKeyFramesLocalDrop: 0, // Not Avaliable
|
|
376
|
-
transmittedKeyFramesOtherLayer: 0, // Not Avaliable
|
|
377
|
-
transmittedKeyFramesPeriodic: 0, // Not Avaliable
|
|
378
|
-
transmittedKeyFramesSceneChange: 0, // Not Avaliable
|
|
379
|
-
transmittedKeyFramesStartup: 0, // Not Avaliable
|
|
380
|
-
transmittedKeyFramesUnknown: 0, // Not Avaliable
|
|
381
|
-
transmittedWidth: 0,
|
|
382
|
-
},
|
|
383
|
-
],
|
|
384
|
-
};
|
|
@@ -71,12 +71,14 @@ interface IInMeetingActions {
|
|
|
71
71
|
canShareDesktop?: boolean;
|
|
72
72
|
canShareContent?: boolean;
|
|
73
73
|
canTransferFile?: boolean;
|
|
74
|
+
canChat?: boolean;
|
|
74
75
|
canDoVideo?: boolean;
|
|
75
76
|
canAnnotate?: boolean;
|
|
76
77
|
canUseVoip?: boolean;
|
|
77
78
|
supportHQV?: boolean;
|
|
78
79
|
supportHDV?: boolean;
|
|
79
80
|
canShareWhiteBoard?: boolean;
|
|
81
|
+
enforceVirtualBackground?: boolean;
|
|
80
82
|
}
|
|
81
83
|
|
|
82
84
|
/**
|
|
@@ -209,6 +211,8 @@ export default class InMeetingActions implements IInMeetingActions {
|
|
|
209
211
|
|
|
210
212
|
canTransferFile = null;
|
|
211
213
|
|
|
214
|
+
canChat = null;
|
|
215
|
+
|
|
212
216
|
canDoVideo = null;
|
|
213
217
|
|
|
214
218
|
canAnnotate = null;
|
|
@@ -217,6 +221,8 @@ export default class InMeetingActions implements IInMeetingActions {
|
|
|
217
221
|
|
|
218
222
|
supportHQV = null;
|
|
219
223
|
|
|
224
|
+
enforceVirtualBackground = null;
|
|
225
|
+
|
|
220
226
|
supportHDV = null;
|
|
221
227
|
|
|
222
228
|
canShareWhiteBoard = null;
|
|
@@ -288,9 +294,11 @@ export default class InMeetingActions implements IInMeetingActions {
|
|
|
288
294
|
canShareDesktop: this.canShareDesktop,
|
|
289
295
|
canShareContent: this.canShareContent,
|
|
290
296
|
canTransferFile: this.canTransferFile,
|
|
297
|
+
canChat: this.canChat,
|
|
291
298
|
canDoVideo: this.canDoVideo,
|
|
292
299
|
canAnnotate: this.canAnnotate,
|
|
293
300
|
canUseVoip: this.canUseVoip,
|
|
301
|
+
enforceVirtualBackground: this.enforceVirtualBackground,
|
|
294
302
|
supportHQV: this.supportHQV,
|
|
295
303
|
supportHDV: this.supportHDV,
|
|
296
304
|
canShareWhiteBoard: this.canShareWhiteBoard,
|