@webex/plugin-meetings 3.0.0-stream-classes.5 → 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 +67 -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 +15 -10
- 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 +37 -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 +2143 -1087
- 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 +33 -18
- 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 +13 -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 +177 -65
- 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 +65 -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 +272 -35
- package/dist/types/meeting/muteState.d.ts +2 -8
- package/dist/types/meeting/request.d.ts +2 -0
- package/dist/types/meeting/util.d.ts +16 -0
- 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 +12 -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 +16 -0
- 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 -106
- 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/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 +70 -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 +19 -14
- package/src/locus-info/mediaSharesUtils.ts +16 -0
- package/src/locus-info/parser.ts +40 -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 +1471 -533
- package/src/meeting/muteState.ts +34 -20
- package/src/meeting/request.ts +18 -0
- 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 +12 -0
- package/src/multistream/mediaRequestManager.ts +4 -1
- package/src/multistream/remoteMediaGroup.ts +19 -0
- package/src/multistream/remoteMediaManager.ts +101 -15
- 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/journey.js +22 -22
- 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 +87 -11
- 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 +4178 -1289
- 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 +617 -204
- 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 +200 -1
- 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/webex-test-users.js +12 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getAudioReceiverMqa","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","remote","transport","rtpPackets","mediaHopByHopLost","rtpHopByHopLost","maxRtpJitter","meanRtpJitter","rtpJitter","fecRecovered","rtpEndToEndLost","framesDropped","renderedFrameRate","framesReceived","concealedFrames","receivedBitrate","rtpBitrate","getAudioSenderMqa","audioSender","SEND_DIRECTION","lastPacketsSent","totalPacketsSent","totalPacketsLostOnReceiver","lastBytesSent","totalBytesSent","lastFramesEncoded","totalKeyFramesEncoded","lastFirCount","totalFirCount","local","maxRemoteJitter","meanRemoteJitter","availableBitrate","availableOutgoingBitrate","totalpacketsLostForaMin","remoteLossRate","maxRoundTripTime","meanRoundTripTime","roundTripTime","totalBytesSentInaMin","transmittedBitrate","transmittedKeyFrames","requestedKeyFrames","getVideoReceiverMqa","videoReceiver","lastFramesReceived","lastFramesDecoded","framesDecoded","lastFramesDropped","lastKeyFramesDecoded","keyFramesDecoded","lastPliCount","totalPliCount","totalPacketLoss","totalBytesReceivedInaMin","totalFrameReceivedInaMin","resolutions","totalFrameDecodedInaMin","receivedFrameRate","receivedHeight","height","receivedWidth","width","receivedFrameSize","receivedKeyFrames","getVideoSenderMqa","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.remote.transport[0];\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[0];\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.remote.transport[0];\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[0];\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":["getTotalValueFromBaseType","stats","sendrecvType","baseMediaType","value","filter","mt","includes","reduce","acc","getAudioReceiverMqa","audioReceiver","statsResults","lastMqaDataSent","STATS","RECEIVE_DIRECTION","getLastTotalValue","getTotalValue","lastPacketsReceived","lastPacketsLost","lastBytesReceived","lastFecPacketsReceived","lastFecPacketsDiscarded","totalPacketsReceived","packetsLost","totalBytesReceived","totalFecPacketsReceived","totalFecPacketsDiscarded","common","direction","find","mediaType","isMain","transportType","connectionType","local","transport","rtpPackets","totalPacketsLost","mediaHopByHopLost","rtpHopByHopLost","fecRecovered","fecPackets","rtpBitrate","getAudioReceiverStreamMqa","audioReceiverStream","lastPacketsDecoded","totalSamplesDecoded","lastSamplesReceived","totalSamplesReceived","lastConcealedSamples","concealedSamples","fecPacketsReceived","fecPacketsDiscarded","csi","push","maxRtpJitter","meanRtpJitter","rtpJitter","rtpEndToEndLost","framesDropped","renderedFrameRate","framesReceived","concealedFrames","receivedBitrate","getAudioSenderMqa","audioSender","SEND_DIRECTION","lastPacketsSent","lastPacketsLostTotal","totalPacketsLostOnReceiver","totalPacketsSent","meanRemoteJitter","concat","meanRoundTripTime","maxRemoteJitter","availableBitrate","totalPacketsLostForaMin","remoteLossRate","maxRoundTripTime","roundTripTime","totalBytesSentInaMin","getAudioSenderStreamMqa","audioSenderStream","lastBytesSent","totalBytesSent","lastFramesEncoded","totalKeyFramesEncoded","lastFirCount","totalFirCount","transmittedBitrate","transmittedKeyFrames","requestedKeyFrames","getVideoReceiverMqa","videoReceiver","totalBytesReceivedInaMin","getVideoReceiverStreamMqa","videoReceiverStream","lastFramesReceived","lastFramesDecoded","framesDecoded","lastFramesDropped","lastKeyFramesDecoded","keyFramesDecoded","lastPliCount","totalPliCount","totalPacketLoss","totalFrameReceivedInaMin","totalFrameDecodedInaMin","receivedFrameRate","Math","round","receivedHeight","height","receivedWidth","width","receivedFrameSize","receivedKeyFrames","getVideoSenderMqa","videoSender","availableOutgoingBitrate","getVideoSenderStreamMqa","videoSenderStream","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\n/**\n * Get the totals of a certain value from a certain media type.\n *\n * @param {object} stats - The large stats object.\n * @param {string} sendrecvType - \"send\" or \"recv\".\n * @param {string} baseMediaType - audio or video _and_ share or non-share.\n * @param {string} value - The value we want to get the totals of.\n * @returns {number}\n */\nconst getTotalValueFromBaseType = (\n stats: object,\n sendrecvType: string,\n baseMediaType: string,\n value: string\n): number =>\n Object.keys(stats)\n .filter((mt) => mt.includes(baseMediaType))\n .reduce((acc, mt) => acc + (stats[mt]?.[sendrecvType]?.[value] || 0), 0);\n\nexport const getAudioReceiverMqa = ({\n audioReceiver,\n statsResults,\n lastMqaDataSent,\n baseMediaType,\n}) => {\n const sendrecvType = STATS.RECEIVE_DIRECTION;\n\n const getLastTotalValue = (value: string) =>\n getTotalValueFromBaseType(lastMqaDataSent, sendrecvType, baseMediaType, value);\n const getTotalValue = (value: string) =>\n getTotalValueFromBaseType(statsResults, sendrecvType, baseMediaType, value);\n\n const lastPacketsReceived = getLastTotalValue('totalPacketsReceived');\n const lastPacketsLost = getLastTotalValue('totalPacketsLost');\n const lastBytesReceived = getLastTotalValue('totalBytesReceived');\n const lastFecPacketsReceived = getLastTotalValue('fecPacketsReceived');\n const lastFecPacketsDiscarded = getLastTotalValue('fecPacketsDiscarded');\n\n const totalPacketsReceived = getTotalValue('totalPacketsReceived');\n const packetsLost = getTotalValue('totalPacketsLost');\n const totalBytesReceived = getTotalValue('totalBytesReceived');\n const totalFecPacketsReceived = getTotalValue('fecPacketsReceived');\n const totalFecPacketsDiscarded = getTotalValue('fecPacketsDiscarded');\n\n audioReceiver.common.common.direction =\n statsResults[Object.keys(statsResults).find((mediaType) => mediaType.includes(baseMediaType))]\n ?.direction || 'inactive';\n audioReceiver.common.common.isMain = !baseMediaType.includes('-share');\n audioReceiver.common.transportType = statsResults.connectionType.local.transport;\n\n // add rtpPacket info inside common as also for call analyzer\n audioReceiver.common.rtpPackets = totalPacketsReceived - lastPacketsReceived;\n\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 const totalPacketsLost = packetsLost - lastPacketsLost;\n audioReceiver.common.mediaHopByHopLost = totalPacketsLost;\n audioReceiver.common.rtpHopByHopLost = totalPacketsLost;\n\n const fecRecovered =\n totalFecPacketsReceived -\n lastFecPacketsReceived -\n (totalFecPacketsDiscarded - lastFecPacketsDiscarded);\n audioReceiver.common.fecPackets = fecRecovered;\n\n audioReceiver.common.rtpBitrate = ((totalBytesReceived - lastBytesReceived) * 8) / 60 || 0;\n};\n\nexport const getAudioReceiverStreamMqa = ({\n audioReceiverStream,\n statsResults,\n lastMqaDataSent,\n mediaType,\n}) => {\n const sendrecvType = STATS.RECEIVE_DIRECTION;\n\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 const lastPacketsReceived = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsReceived || 0;\n const lastPacketsLost = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsLost || 0;\n\n const {csi} = statsResults[mediaType];\n if (csi && !audioReceiverStream.common.csi.includes(csi)) {\n audioReceiverStream.common.csi.push(csi);\n }\n\n audioReceiverStream.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsReceived - lastPacketsReceived || 0;\n\n audioReceiverStream.common.maxRtpJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRtpJitter) * 1000 || 0;\n audioReceiverStream.common.meanRtpJitter =\n mean(statsResults[mediaType][sendrecvType].meanRtpJitter) * 1000 || 0;\n audioReceiverStream.common.rtpJitter = audioReceiverStream.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 audioReceiverStream.common.rtpEndToEndLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost - lastPacketsLost - fecRecovered || 0;\n\n audioReceiverStream.common.framesDropped =\n statsResults[mediaType][sendrecvType].totalSamplesDecoded - lastPacketsDecoded || 0;\n audioReceiverStream.common.renderedFrameRate =\n (audioReceiverStream.common.framesDropped * 100) / 60 || 0;\n\n audioReceiverStream.common.framesReceived =\n statsResults[mediaType][sendrecvType].totalSamplesReceived - lastSamplesReceived || 0;\n audioReceiverStream.common.concealedFrames =\n statsResults[mediaType][sendrecvType].concealedSamples - lastConcealedSamples || 0;\n audioReceiverStream.common.receivedBitrate =\n ((statsResults[mediaType][sendrecvType].totalBytesReceived - lastBytesReceived) * 8) / 60 || 0;\n};\n\nexport const getAudioSenderMqa = ({audioSender, statsResults, lastMqaDataSent, baseMediaType}) => {\n const sendrecvType = STATS.SEND_DIRECTION;\n\n const getLastTotalValue = (value: string) =>\n getTotalValueFromBaseType(lastMqaDataSent, sendrecvType, baseMediaType, value);\n const getTotalValue = (value: string) =>\n getTotalValueFromBaseType(statsResults, sendrecvType, baseMediaType, value);\n\n const lastPacketsSent = getLastTotalValue('totalPacketsSent');\n const lastPacketsLostTotal = getLastTotalValue('totalPacketsLostOnReceiver');\n\n const totalPacketsLostOnReceiver = getTotalValue('totalPacketsLostOnReceiver');\n const totalPacketsSent = getTotalValue('totalPacketsSent');\n\n const meanRemoteJitter = Object.keys(statsResults)\n .filter((mt) => mt.includes(baseMediaType))\n .reduce((acc, mt) => acc.concat(statsResults[mt][sendrecvType].meanRemoteJitter), []);\n const meanRoundTripTime = Object.keys(statsResults)\n .filter((mt) => mt.includes(baseMediaType))\n .reduce((acc, mt) => acc.concat(statsResults[mt][sendrecvType].meanRoundTripTime), []);\n\n audioSender.common.common.direction =\n statsResults[Object.keys(statsResults).find((mediaType) => mediaType.includes(baseMediaType))]\n ?.direction || 'inactive';\n audioSender.common.common.isMain = !baseMediaType.includes('-share');\n audioSender.common.transportType = statsResults.connectionType.local.transport;\n\n audioSender.common.maxRemoteJitter = max(meanRemoteJitter) * 1000 || 0;\n audioSender.common.meanRemoteJitter = mean(meanRemoteJitter) * 1000 || 0;\n\n audioSender.common.rtpPackets = totalPacketsSent - lastPacketsSent || 0;\n // audioSender.streams[0].common.rtpPackets = audioSender.common.rtpPackets;\n // From candidate-pair\n audioSender.common.availableBitrate = getTotalValueFromBaseType(\n statsResults,\n sendrecvType,\n baseMediaType,\n 'availableOutgoingBitrate'\n );\n // Calculate based on how much packets lost of received compated to how to the client sent\n\n const totalPacketsLostForaMin = totalPacketsLostOnReceiver - lastPacketsLostTotal;\n audioSender.common.remoteLossRate =\n totalPacketsSent - lastPacketsSent > 0\n ? (totalPacketsLostForaMin * 100) / (totalPacketsSent - lastPacketsSent)\n : 0; // This is the packets sent with in last min\n\n audioSender.common.maxRoundTripTime = max(meanRoundTripTime) * 1000 || 0;\n audioSender.common.meanRoundTripTime = mean(meanRoundTripTime) * 1000 || 0;\n audioSender.common.roundTripTime = audioSender.common.maxRoundTripTime;\n\n // Calculate the outgoing bitrate\n const totalBytesSentInaMin =\n getTotalValueFromBaseType(statsResults, sendrecvType, baseMediaType, 'totalBytesSent') -\n getTotalValueFromBaseType(lastMqaDataSent, sendrecvType, baseMediaType, 'totalBytesSent');\n\n audioSender.common.rtpBitrate = totalBytesSentInaMin ? (totalBytesSentInaMin * 8) / 60 : 0;\n};\n\nexport const getAudioSenderStreamMqa = ({\n audioSenderStream,\n statsResults,\n lastMqaDataSent,\n mediaType,\n}) => {\n const sendrecvType = STATS.SEND_DIRECTION;\n\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 const lastPacketsSent = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsSent || 0;\n\n const {csi} = statsResults[mediaType];\n if (csi && !audioSenderStream.common.csi.includes(csi)) {\n audioSenderStream.common.csi.push(csi);\n }\n\n audioSenderStream.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent - lastPacketsSent || 0;\n\n const totalBytesSentInaMin = statsResults[mediaType][sendrecvType].totalBytesSent - lastBytesSent;\n audioSenderStream.common.transmittedBitrate = totalBytesSentInaMin\n ? (totalBytesSentInaMin * 8) / 60\n : 0;\n\n audioSenderStream.transmittedKeyFrames =\n statsResults[mediaType][sendrecvType].totalKeyFramesEncoded - lastFramesEncoded || 0;\n audioSenderStream.requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalFirCount - lastFirCount || 0;\n};\n\nexport const getVideoReceiverMqa = ({\n videoReceiver,\n statsResults,\n lastMqaDataSent,\n baseMediaType,\n}) => {\n const sendrecvType = STATS.RECEIVE_DIRECTION;\n\n const getLastTotalValue = (value: string) =>\n getTotalValueFromBaseType(lastMqaDataSent, sendrecvType, baseMediaType, value);\n const getTotalValue = (value: string) =>\n getTotalValueFromBaseType(statsResults, sendrecvType, baseMediaType, value);\n\n const lastPacketsReceived = getLastTotalValue('totalPacketsReceived');\n const lastPacketsLost = getLastTotalValue('totalPacketsLost');\n const lastBytesReceived = getLastTotalValue('totalBytesReceived');\n\n const packetsLost = getTotalValue('totalPacketsLost');\n const totalPacketsReceived = getTotalValue('totalPacketsReceived');\n const totalBytesReceived = getTotalValue('totalBytesReceived');\n\n const meanRemoteJitter = Object.keys(statsResults)\n .filter((mt) => mt.includes(baseMediaType))\n .reduce((acc, mt) => acc.concat(statsResults[mt][sendrecvType].meanRemoteJitter), []);\n\n videoReceiver.common.common.direction =\n statsResults[Object.keys(statsResults).find((mediaType) => mediaType.includes(baseMediaType))]\n ?.direction || 'inactive';\n videoReceiver.common.common.isMain = !baseMediaType.includes('-share');\n videoReceiver.common.transportType = statsResults.connectionType.local.transport;\n\n // collect the packets received for the last min\n videoReceiver.common.rtpPackets = totalPacketsReceived - lastPacketsReceived || 0;\n\n // Hop by hop are numbers and not percentage so we compare on what we sent the last min\n // this is including packet lost\n const totalPacketsLost = packetsLost - lastPacketsLost;\n videoReceiver.common.mediaHopByHopLost = totalPacketsLost;\n videoReceiver.common.rtpHopByHopLost = totalPacketsLost;\n\n // calculate this values\n videoReceiver.common.maxRemoteJitter = max(meanRemoteJitter) * 1000 || 0;\n videoReceiver.common.meanRemoteJitter = mean(meanRemoteJitter) * 1000 || 0;\n\n // Calculate the outgoing bitrate\n const totalBytesReceivedInaMin = totalBytesReceived - lastBytesReceived;\n\n videoReceiver.common.rtpBitrate = totalBytesReceivedInaMin\n ? (totalBytesReceivedInaMin * 8) / 60\n : 0;\n};\n\nexport const getVideoReceiverStreamMqa = ({\n videoReceiverStream,\n statsResults,\n lastMqaDataSent,\n mediaType,\n}) => {\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 && !videoReceiverStream.common.csi.includes(csi)) {\n videoReceiverStream.common.csi.push(csi);\n }\n\n videoReceiverStream.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsReceived - lastPacketsReceived || 0;\n\n const totalPacketLoss =\n statsResults[mediaType][sendrecvType].totalPacketsLost - lastPacketsLost || 0;\n\n // End to end packetloss is after recovery\n videoReceiverStream.common.rtpEndToEndLost = totalPacketLoss;\n\n videoReceiverStream.common.rtpJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n const totalBytesReceivedInaMin =\n statsResults[mediaType][sendrecvType].totalBytesReceived - lastBytesReceived;\n videoReceiverStream.common.receivedBitrate = totalBytesReceivedInaMin\n ? (totalBytesReceivedInaMin * 8) / 60\n : 0;\n\n const totalFrameReceivedInaMin =\n statsResults[mediaType][sendrecvType].framesReceived - lastFramesReceived;\n const totalFrameDecodedInaMin =\n statsResults[mediaType][sendrecvType].framesDecoded - lastFramesDecoded;\n\n videoReceiverStream.common.receivedFrameRate = Math.round(\n totalFrameReceivedInaMin ? totalFrameReceivedInaMin / 60 : 0\n );\n videoReceiverStream.common.renderedFrameRate = Math.round(\n totalFrameDecodedInaMin ? totalFrameDecodedInaMin / 60 : 0\n );\n\n videoReceiverStream.common.framesDropped =\n statsResults[mediaType][sendrecvType].framesDropped - lastFramesDropped || 0;\n videoReceiverStream.receivedHeight = statsResults[mediaType][sendrecvType].height || 0;\n videoReceiverStream.receivedWidth = statsResults[mediaType][sendrecvType].width || 0;\n videoReceiverStream.receivedFrameSize =\n (videoReceiverStream.receivedHeight * videoReceiverStream.receivedWidth) / 256;\n\n videoReceiverStream.receivedKeyFrames =\n statsResults[mediaType][sendrecvType].keyFramesDecoded - lastKeyFramesDecoded || 0;\n videoReceiverStream.requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalPliCount - lastPliCount || 0;\n};\n\nexport const getVideoSenderMqa = ({videoSender, statsResults, lastMqaDataSent, baseMediaType}) => {\n const sendrecvType = STATS.SEND_DIRECTION;\n\n const getLastTotalValue = (value: string) =>\n getTotalValueFromBaseType(lastMqaDataSent, sendrecvType, baseMediaType, value);\n const getTotalValue = (value: string) =>\n getTotalValueFromBaseType(statsResults, sendrecvType, baseMediaType, value);\n\n const lastPacketsSent = getLastTotalValue('totalPacketsSent');\n const lastBytesSent = getLastTotalValue('totalBytesSent');\n const lastPacketsLostTotal = getLastTotalValue('totalPacketsLostOnReceiver');\n\n const totalPacketsLostOnReceiver = getTotalValue('totalPacketsLostOnReceiver');\n const totalPacketsSent = getTotalValue('totalPacketsSent');\n const totalBytesSent = getTotalValue('totalBytesSent');\n const availableOutgoingBitrate = getTotalValue('availableOutgoingBitrate');\n\n videoSender.common.common.direction =\n statsResults[Object.keys(statsResults).find((mediaType) => mediaType.includes(baseMediaType))]\n ?.direction || 'inactive';\n videoSender.common.common.isMain = !baseMediaType.includes('-share');\n videoSender.common.transportType = statsResults.connectionType.local.transport;\n\n const meanRemoteJitter = Object.keys(statsResults)\n .filter((mt) => mt.includes(baseMediaType))\n .reduce((acc, mt) => acc.concat(statsResults[mt][sendrecvType].meanRemoteJitter), []);\n const meanRoundTripTime = Object.keys(statsResults)\n .filter((mt) => mt.includes(baseMediaType))\n .reduce((acc, mt) => acc.concat(statsResults[mt][sendrecvType].meanRoundTripTime), []);\n\n // @ts-ignore\n videoSender.common.maxRemoteJitter = max(meanRemoteJitter) * 1000 || 0;\n videoSender.common.meanRemoteJitter = mean(meanRemoteJitter) * 1000 || 0;\n\n videoSender.common.rtpPackets = totalPacketsSent - lastPacketsSent;\n videoSender.common.availableBitrate = availableOutgoingBitrate;\n\n // Calculate based on how much packets lost of received compated to how to the client sent\n const totalPacketsLostForaMin = totalPacketsLostOnReceiver - lastPacketsLostTotal;\n\n videoSender.common.remoteLossRate =\n totalPacketsSent - lastPacketsSent > 0\n ? (totalPacketsLostForaMin * 100) / (totalPacketsSent - lastPacketsSent)\n : 0; // This is the packets sent with in last min || 0;\n\n videoSender.common.maxRoundTripTime = max(meanRoundTripTime) * 1000 || 0;\n videoSender.common.meanRoundTripTime = mean(meanRoundTripTime) * 1000 || 0;\n videoSender.common.roundTripTime = videoSender.common.maxRoundTripTime;\n\n // Calculate the outgoing bitrate\n const totalBytesSentInaMin = totalBytesSent - lastBytesSent;\n\n videoSender.common.rtpBitrate = totalBytesSentInaMin ? (totalBytesSentInaMin * 8) / 60 : 0;\n};\n\nexport const getVideoSenderStreamMqa = ({\n videoSenderStream,\n statsResults,\n lastMqaDataSent,\n mediaType,\n}) => {\n const sendrecvType = STATS.SEND_DIRECTION;\n\n const lastPacketsSent = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsSent || 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\n const {csi} = statsResults[mediaType];\n if (csi && !videoSenderStream.common.csi.includes(csi)) {\n videoSenderStream.common.csi.push(csi);\n }\n\n videoSenderStream.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 videoSenderStream.common.transmittedBitrate = totalBytesSentInaMin\n ? (totalBytesSentInaMin * 8) / 60\n : 0;\n\n videoSenderStream.transmittedKeyFrames =\n statsResults[mediaType][sendrecvType].totalKeyFramesEncoded - lastKeyFramesEncoded || 0;\n videoSenderStream.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 videoSenderStream.common.transmittedFrameRate = Math.round(\n totalFrameSentInaMin ? totalFrameSentInaMin / 60 : 0\n );\n videoSenderStream.transmittedHeight = statsResults[mediaType][sendrecvType].height || 0;\n videoSenderStream.transmittedWidth = statsResults[mediaType][sendrecvType].width || 0;\n videoSenderStream.transmittedFrameSize =\n (videoSenderStream.transmittedHeight * videoSenderStream.transmittedWidth) / 256;\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extended Error object for general parameter errors
|
|
3
|
+
*/
|
|
4
|
+
export default class NoMeetingInfoError extends Error {
|
|
5
|
+
code: any;
|
|
6
|
+
error: any;
|
|
7
|
+
sdkMessage: any;
|
|
8
|
+
/**
|
|
9
|
+
* @constructor
|
|
10
|
+
* @param {String} [message]
|
|
11
|
+
* @param {Object} [error]
|
|
12
|
+
*/
|
|
13
|
+
constructor(message?: string, error?: any);
|
|
14
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extended Error object for reclaim host role empty or wrong key
|
|
3
|
+
*/
|
|
4
|
+
export declare class ReclaimHostEmptyWrongKeyError extends Error {
|
|
5
|
+
sdkMessage: string;
|
|
6
|
+
error: null;
|
|
7
|
+
code: number;
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @constructor
|
|
11
|
+
* @param {String} [message]
|
|
12
|
+
* @param {Object} [error]
|
|
13
|
+
*/
|
|
14
|
+
constructor(message?: string, error?: any);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Extended Error object for reclaim host role not supported
|
|
18
|
+
*/
|
|
19
|
+
export declare class ReclaimHostNotSupportedError extends Error {
|
|
20
|
+
sdkMessage: string;
|
|
21
|
+
error: null;
|
|
22
|
+
code: number;
|
|
23
|
+
/**
|
|
24
|
+
*
|
|
25
|
+
* @constructor
|
|
26
|
+
* @param {String} [message]
|
|
27
|
+
* @param {Object} [error]
|
|
28
|
+
*/
|
|
29
|
+
constructor(message?: string, error?: any);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Extended Error object for reclaim host role not allowed for other participants
|
|
33
|
+
*/
|
|
34
|
+
export declare class ReclaimHostNotAllowedError extends Error {
|
|
35
|
+
sdkMessage: string;
|
|
36
|
+
error: null;
|
|
37
|
+
code: number;
|
|
38
|
+
/**
|
|
39
|
+
*
|
|
40
|
+
* @constructor
|
|
41
|
+
* @param {String} [message]
|
|
42
|
+
* @param {Object} [error]
|
|
43
|
+
*/
|
|
44
|
+
constructor(message?: string, error?: any);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Extended Error object for reclaim host role when user is host already
|
|
48
|
+
*/
|
|
49
|
+
export declare class ReclaimHostIsHostAlreadyError extends Error {
|
|
50
|
+
sdkMessage: string;
|
|
51
|
+
error: null;
|
|
52
|
+
code: number;
|
|
53
|
+
/**
|
|
54
|
+
*
|
|
55
|
+
* @constructor
|
|
56
|
+
* @param {String} [message]
|
|
57
|
+
* @param {Object} [error]
|
|
58
|
+
*/
|
|
59
|
+
constructor(message?: string, error?: any);
|
|
60
|
+
}
|
|
@@ -60,7 +60,7 @@ export { UserInLobbyError };
|
|
|
60
60
|
* @classdesc Raised whenever the user passes Space ID as destination for create meeting.
|
|
61
61
|
* @extends WebexMeetingsError
|
|
62
62
|
* @property {number} code - 30105
|
|
63
|
-
* @property {string} message - Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-
|
|
63
|
+
* @property {string} message - Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-to-Unified-Space-Meetings) to migrate to use the meeting ID or SIP address.'
|
|
64
64
|
*/
|
|
65
65
|
declare class SpaceIDDeprecatedError extends WebexMeetingsError {
|
|
66
66
|
static CODE: number;
|
|
@@ -79,3 +79,15 @@ declare class IceGatheringFailed extends WebexMeetingsError {
|
|
|
79
79
|
constructor();
|
|
80
80
|
}
|
|
81
81
|
export { IceGatheringFailed };
|
|
82
|
+
/**
|
|
83
|
+
* @class AddMediaFailed
|
|
84
|
+
* @classdesc Raised whenever we fail to successfully add media to a meeting
|
|
85
|
+
* @extends WebexMeetingsError
|
|
86
|
+
* @property {number} code - 30203
|
|
87
|
+
* @property {string} message - 'Failed to add media'
|
|
88
|
+
*/
|
|
89
|
+
declare class AddMediaFailed extends WebexMeetingsError {
|
|
90
|
+
static CODE: number;
|
|
91
|
+
constructor();
|
|
92
|
+
}
|
|
93
|
+
export { AddMediaFailed };
|
package/dist/types/config.d.ts
CHANGED
|
@@ -62,7 +62,7 @@ declare const _default: {
|
|
|
62
62
|
enableMediaNegotiatedEvent: boolean;
|
|
63
63
|
enableUnifiedMeetings: boolean;
|
|
64
64
|
enableAdhocMeetings: boolean;
|
|
65
|
-
|
|
65
|
+
enableTcpReachability: boolean;
|
|
66
66
|
};
|
|
67
67
|
degradationPreferences: {
|
|
68
68
|
maxMacroblocksLimit: number;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
type Enum<T extends Record<string, unknown>> = T[keyof T];
|
|
1
2
|
export declare const AUDIO = "audio";
|
|
2
3
|
export declare const AUDIO_STATUS = "audioStatus";
|
|
3
4
|
export declare const ALERT = "alert";
|
|
@@ -129,7 +130,8 @@ export declare const INTENT_TO_JOIN: number[];
|
|
|
129
130
|
export declare const ICE_TIMEOUT = 2000;
|
|
130
131
|
export declare const ICE_FAIL_TIMEOUT = 3000;
|
|
131
132
|
export declare const RETRY_TIMEOUT = 3000;
|
|
132
|
-
export declare const
|
|
133
|
+
export declare const ICE_AND_DTLS_CONNECTION_TIMEOUT = 10000;
|
|
134
|
+
export declare const ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT = 35000;
|
|
133
135
|
export declare const DIALER_REGEX: {
|
|
134
136
|
SIP_ADDRESS: RegExp;
|
|
135
137
|
PHONE_NUMBER: RegExp;
|
|
@@ -152,6 +154,12 @@ export declare const CALENDAR_EVENTS: {
|
|
|
152
154
|
UPDATE_MINIMAL: string;
|
|
153
155
|
DELETE: string;
|
|
154
156
|
};
|
|
157
|
+
export declare const ASSIGN_ROLES_ERROR_CODES: {
|
|
158
|
+
ReclaimHostNotSupportedErrorCode: number;
|
|
159
|
+
ReclaimHostNotAllowedErrorCode: number;
|
|
160
|
+
ReclaimHostEmptyWrongKeyErrorCode: number;
|
|
161
|
+
ReclaimHostIsHostAlreadyErrorCode: number;
|
|
162
|
+
};
|
|
155
163
|
export declare const DEFAULT_GET_STATS_FILTER: {
|
|
156
164
|
types: string[];
|
|
157
165
|
};
|
|
@@ -230,6 +238,7 @@ export declare const EVENT_TRIGGERS: {
|
|
|
230
238
|
MEETING_UNLOCKED: string;
|
|
231
239
|
MEETING_LOCKED: string;
|
|
232
240
|
MEETING_INFO_AVAILABLE: string;
|
|
241
|
+
MEETING_INFO_UPDATED: string;
|
|
233
242
|
MEETING_LOG_UPLOAD_SUCCESS: string;
|
|
234
243
|
MEETING_LOG_UPLOAD_FAILURE: string;
|
|
235
244
|
MEETING_ACTIONS_UPDATE: string;
|
|
@@ -246,6 +255,7 @@ export declare const EVENT_TRIGGERS: {
|
|
|
246
255
|
REMOTE_VIDEO_SOURCE_COUNT_CHANGED: string;
|
|
247
256
|
REMOTE_AUDIO_SOURCE_COUNT_CHANGED: string;
|
|
248
257
|
REMOTE_MEDIA_AUDIO_CREATED: string;
|
|
258
|
+
REMOTE_MEDIA_INTERPRETATION_AUDIO_CREATED: string;
|
|
249
259
|
REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED: string;
|
|
250
260
|
REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED: string;
|
|
251
261
|
MEETING_CONTROLS_MUTE_ON_ENTRY_UPDATED: string;
|
|
@@ -278,6 +288,7 @@ export declare const MEETING_REMOVED_REASON: {
|
|
|
278
288
|
NO_MEETINGS_TO_SYNC: string;
|
|
279
289
|
MEETING_CONNECTION_FAILED: string;
|
|
280
290
|
LOCUS_DTO_SYNC_FAILED: string;
|
|
291
|
+
MISSING_MEETING_INFO: string;
|
|
281
292
|
};
|
|
282
293
|
export declare const CALL_REMOVED_REASON: {
|
|
283
294
|
CALL_INACTIVE: string;
|
|
@@ -361,6 +372,31 @@ export declare const ERROR_DICTIONARY: {
|
|
|
361
372
|
MESSAGE: string;
|
|
362
373
|
CODE: number;
|
|
363
374
|
};
|
|
375
|
+
NO_MEETING_INFO: {
|
|
376
|
+
NAME: string;
|
|
377
|
+
MESSAGE: string;
|
|
378
|
+
CODE: number;
|
|
379
|
+
};
|
|
380
|
+
RECLAIM_HOST_ROLE_NOT_SUPPORTED: {
|
|
381
|
+
NAME: string;
|
|
382
|
+
MESSAGE: string;
|
|
383
|
+
CODE: number;
|
|
384
|
+
};
|
|
385
|
+
RECLAIM_HOST_ROLE_NOT_ALLOWED: {
|
|
386
|
+
NAME: string;
|
|
387
|
+
MESSAGE: string;
|
|
388
|
+
CODE: number;
|
|
389
|
+
};
|
|
390
|
+
RECLAIM_HOST_ROLE_EMPTY_OR_WRONG_KEY: {
|
|
391
|
+
NAME: string;
|
|
392
|
+
MESSAGE: string;
|
|
393
|
+
CODE: number;
|
|
394
|
+
};
|
|
395
|
+
RECLAIM_HOST_ROLE_IS_ALREADY_HOST: {
|
|
396
|
+
NAME: string;
|
|
397
|
+
MESSAGE: string;
|
|
398
|
+
CODE: number;
|
|
399
|
+
};
|
|
364
400
|
};
|
|
365
401
|
export declare const FLOOR_ACTION: {
|
|
366
402
|
GRANTED: string;
|
|
@@ -407,6 +443,8 @@ export declare const LOCUS: {
|
|
|
407
443
|
INACTIVE: string;
|
|
408
444
|
ENDED: string;
|
|
409
445
|
INITIALIZING: string;
|
|
446
|
+
ACTIVE: string;
|
|
447
|
+
TERMINATING: string;
|
|
410
448
|
};
|
|
411
449
|
SEQUENCE: {
|
|
412
450
|
UN_DEF: string;
|
|
@@ -487,7 +525,6 @@ export declare const LOCUSINFO: {
|
|
|
487
525
|
CONTROLS_MEETING_CONTAINER_UPDATED: string;
|
|
488
526
|
CONTROLS_MEETING_INTERPRETATION_UPDATED: string;
|
|
489
527
|
CONTROLS_ENTRY_EXIT_TONE_UPDATED: string;
|
|
490
|
-
CONTROLS_JOIN_BREAKOUT_FROM_MAIN: string;
|
|
491
528
|
CONTROLS_MUTE_ON_ENTRY_CHANGED: string;
|
|
492
529
|
CONTROLS_SHARE_CONTROL_CHANGED: string;
|
|
493
530
|
CONTROLS_DISALLOW_UNMUTE_CHANGED: string;
|
|
@@ -798,14 +835,15 @@ export declare const PEER_CONNECTION_STATE: {
|
|
|
798
835
|
FAILED: string;
|
|
799
836
|
};
|
|
800
837
|
export declare const RECONNECTION: {
|
|
801
|
-
STATE: {
|
|
802
|
-
IN_PROGRESS:
|
|
803
|
-
COMPLETE:
|
|
804
|
-
FAILURE:
|
|
805
|
-
DEFAULT_TRY_COUNT:
|
|
806
|
-
DEFAULT_STATUS:
|
|
838
|
+
readonly STATE: {
|
|
839
|
+
readonly IN_PROGRESS: "IN_PROGRESS";
|
|
840
|
+
readonly COMPLETE: "COMPLETE";
|
|
841
|
+
readonly FAILURE: "FAILURE";
|
|
842
|
+
readonly DEFAULT_TRY_COUNT: 0;
|
|
843
|
+
readonly DEFAULT_STATUS: "";
|
|
807
844
|
};
|
|
808
845
|
};
|
|
846
|
+
export type RECONNECTION_STATE = Enum<typeof RECONNECTION.STATE>;
|
|
809
847
|
export declare const RESOURCE: {
|
|
810
848
|
CLUSTERS: string;
|
|
811
849
|
REACHABILITY: string;
|
|
@@ -833,10 +871,11 @@ export declare const MediaContent: {
|
|
|
833
871
|
slides: string;
|
|
834
872
|
};
|
|
835
873
|
export declare const NETWORK_STATUS: {
|
|
836
|
-
DISCONNECTED:
|
|
837
|
-
RECONNECTING:
|
|
838
|
-
CONNECTED:
|
|
874
|
+
readonly DISCONNECTED: "DISCONNECTED";
|
|
875
|
+
readonly RECONNECTING: "RECONNECTING";
|
|
876
|
+
readonly CONNECTED: "CONNECTED";
|
|
839
877
|
};
|
|
878
|
+
export type NETWORK_STATUS = Enum<typeof NETWORK_STATUS>;
|
|
840
879
|
export declare const NETWORK_TYPE: {
|
|
841
880
|
VPN: string;
|
|
842
881
|
UNKNOWN: string;
|
|
@@ -980,7 +1019,7 @@ export declare const AVAILABLE_RESOLUTIONS: {
|
|
|
980
1019
|
};
|
|
981
1020
|
};
|
|
982
1021
|
};
|
|
983
|
-
export declare const
|
|
1022
|
+
export declare const MQA_INTERVAL = 60000;
|
|
984
1023
|
export declare const MEDIA_DEVICES: {
|
|
985
1024
|
MICROPHONE: string;
|
|
986
1025
|
SPEAKER: string;
|
|
@@ -1028,4 +1067,17 @@ export declare const IP_VERSION: {
|
|
|
1028
1067
|
readonly only_ipv6: 6;
|
|
1029
1068
|
readonly ipv4_and_ipv6: 1;
|
|
1030
1069
|
};
|
|
1031
|
-
export
|
|
1070
|
+
export declare const LOCAL_SHARE_ERRORS: {
|
|
1071
|
+
DEVICE_NOT_JOINED: string;
|
|
1072
|
+
UNDEFINED: string;
|
|
1073
|
+
NO_MEDIA_FOR_DEVICE: string;
|
|
1074
|
+
NO_CONFLUENCE_ID: string;
|
|
1075
|
+
CONTENT_SHARING_DISABLED: string;
|
|
1076
|
+
LOCUS_PARTICIPANT_DNE: string;
|
|
1077
|
+
CONTENT_REQUEST_WHILE_PENDING_WHITEBOARD: string;
|
|
1078
|
+
};
|
|
1079
|
+
export type IP_VERSION = Enum<typeof IP_VERSION>;
|
|
1080
|
+
export declare const MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC = 30;
|
|
1081
|
+
export declare const MEETING_PERMISSION_TOKEN_REFRESH_REASON = "ttl-join";
|
|
1082
|
+
export declare const NAMED_MEDIA_GROUP_TYPE_AUDIO = 1;
|
|
1083
|
+
export {};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Meetings from './meetings';
|
|
2
|
-
export { getDevices, LocalStream, LocalDisplayStream, LocalSystemAudioStream, LocalStreamEventNames, StreamEventNames, type ServerMuteReason, LocalMicrophoneStreamEventNames, LocalCameraStreamEventNames, LocalMicrophoneStream, LocalCameraStream, createMicrophoneStream, createCameraStream, createDisplayStream, createDisplayStreamWithAudio, FacingMode, DisplaySurface, PresetCameraConstraints, type VideoContentHint, } from '@webex/media-helpers';
|
|
2
|
+
export { getDevices, LocalStream, LocalDisplayStream, LocalSystemAudioStream, LocalStreamEventNames, StreamEventNames, RemoteStreamEventNames, type ServerMuteReason, LocalMicrophoneStreamEventNames, LocalCameraStreamEventNames, LocalMicrophoneStream, LocalCameraStream, createMicrophoneStream, createCameraStream, createDisplayStream, createDisplayStreamWithAudio, FacingMode, DisplaySurface, PresetCameraConstraints, type VideoContentHint, } from '@webex/media-helpers';
|
|
3
3
|
export default Meetings;
|
|
4
4
|
export * as CONSTANTS from './constants';
|
|
5
5
|
export * as REACTIONS from './reactions/reactions';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
3
|
+
*/
|
|
4
|
+
import { Interceptor } from '@webex/http-core';
|
|
5
|
+
/**
|
|
6
|
+
* @class
|
|
7
|
+
*/
|
|
8
|
+
export default class LocusRetryStatusInterceptor extends Interceptor {
|
|
9
|
+
/**
|
|
10
|
+
* @returns {LocusRetryStatusInterceptor}
|
|
11
|
+
*/
|
|
12
|
+
static create(): LocusRetryStatusInterceptor;
|
|
13
|
+
/**
|
|
14
|
+
* Handle response errors
|
|
15
|
+
* @param {Object} options
|
|
16
|
+
* @param {WebexHttpError} reason
|
|
17
|
+
* @returns {Promise<WebexHttpError>}
|
|
18
|
+
*/
|
|
19
|
+
onResponseError(options: any, reason: any): Promise<unknown>;
|
|
20
|
+
/**
|
|
21
|
+
* Handle retries for locus service unavailable errors
|
|
22
|
+
* @param {Object} options associated with the request
|
|
23
|
+
* @param {number} retryAfterTime retry after time in milliseconds
|
|
24
|
+
* @returns {Promise}
|
|
25
|
+
*/
|
|
26
|
+
handleRetryRequestLocusServiceError(options: any, retryAfterTime: any): Promise<unknown>;
|
|
27
|
+
}
|
|
@@ -292,7 +292,7 @@ export default class LocusInfo extends EventsScope {
|
|
|
292
292
|
updateLocusCache(locus: any): void;
|
|
293
293
|
/**
|
|
294
294
|
* if return from breakout to main session, need to use cached main session DTO since locus won't send the full locus (participants)
|
|
295
|
-
* if join breakout from main session,
|
|
295
|
+
* if join breakout from main session, main session is not active for the attendee and remove main session locus cache
|
|
296
296
|
* @param {Object} newLocus
|
|
297
297
|
* @returns {Object}
|
|
298
298
|
* @memberof LocusInfo
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import SortedQueue from '../common/queue';
|
|
3
2
|
type LocusDeltaDto = {
|
|
3
|
+
url: string;
|
|
4
4
|
baseSequence: {
|
|
5
5
|
rangeStart: number;
|
|
6
6
|
rangeEnd: number;
|
|
@@ -29,10 +29,11 @@ export default class Parser {
|
|
|
29
29
|
USE_CURRENT: string;
|
|
30
30
|
WAIT: string;
|
|
31
31
|
ERROR: string;
|
|
32
|
+
LOCUS_URL_CHANGED: string;
|
|
32
33
|
};
|
|
33
34
|
queue: SortedQueue<LocusDeltaDto>;
|
|
34
35
|
workingCopy: any;
|
|
35
|
-
syncTimer
|
|
36
|
+
syncTimer?: ReturnType<typeof setTimeout>;
|
|
36
37
|
/**
|
|
37
38
|
* @constructs Parser
|
|
38
39
|
*/
|