@webex/plugin-meetings 3.3.1-next.2 → 3.3.1-next.21
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/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +7 -2
- package/dist/breakouts/index.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/media/MediaConnectionAwaiter.js +50 -13
- package/dist/media/MediaConnectionAwaiter.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +16 -6
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/connectionStateHandler.js +67 -0
- package/dist/meeting/connectionStateHandler.js.map +1 -0
- package/dist/meeting/index.js +98 -46
- package/dist/meeting/index.js.map +1 -1
- package/dist/metrics/constants.js +2 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +57 -0
- package/dist/metrics/index.js.map +1 -1
- package/dist/reachability/clusterReachability.js +108 -53
- package/dist/reachability/clusterReachability.js.map +1 -1
- package/dist/reachability/index.js +415 -56
- package/dist/reachability/index.js.map +1 -1
- package/dist/statsAnalyzer/index.js +81 -27
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +36 -10
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/media/MediaConnectionAwaiter.d.ts +18 -4
- package/dist/types/mediaQualityMetrics/config.d.ts +11 -0
- package/dist/types/meeting/connectionStateHandler.d.ts +30 -0
- package/dist/types/meeting/index.d.ts +2 -0
- package/dist/types/metrics/constants.d.ts +1 -0
- package/dist/types/metrics/index.d.ts +15 -0
- package/dist/types/reachability/clusterReachability.d.ts +31 -3
- package/dist/types/reachability/index.d.ts +93 -2
- package/dist/types/statsAnalyzer/index.d.ts +15 -6
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +17 -4
- package/dist/webinar/index.js +1 -1
- package/package.json +23 -22
- package/src/breakouts/index.ts +7 -1
- package/src/media/MediaConnectionAwaiter.ts +66 -11
- package/src/mediaQualityMetrics/config.ts +14 -3
- package/src/meeting/connectionStateHandler.ts +65 -0
- package/src/meeting/index.ts +72 -14
- package/src/metrics/constants.ts +1 -0
- package/src/metrics/index.ts +44 -0
- package/src/reachability/clusterReachability.ts +86 -25
- package/src/reachability/index.ts +316 -27
- package/src/statsAnalyzer/index.ts +85 -24
- package/src/statsAnalyzer/mqaUtil.ts +55 -7
- package/test/unit/spec/breakouts/index.ts +51 -32
- package/test/unit/spec/media/MediaConnectionAwaiter.ts +90 -32
- package/test/unit/spec/meeting/connectionStateHandler.ts +102 -0
- package/test/unit/spec/meeting/index.js +158 -36
- package/test/unit/spec/metrics/index.js +126 -0
- package/test/unit/spec/reachability/clusterReachability.ts +116 -22
- package/test/unit/spec/reachability/index.ts +1153 -84
- package/test/unit/spec/stats-analyzer/index.js +647 -319
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["emptyMqaInterval","exports","audioReceive","audioTransmit","intervalMetadata","peerReflexiveIP","peripherals","processAverageCPU","processMaximumCPU","systemAverageCPU","systemMaximumCPU","networkType","intervalNumber","videoReceive","videoTransmit","emptyAudioReceive","common","direction","isMain","mariFecEnabled","mariRtxEnabled","mariQosEnabled","mariLiteEnabled","multistreamEnabled","dtlsBitrate","dtlsPackets","fecBitrate","fecPackets","maxBitrate","mediaHopByHopLost","rtcpBitrate","rtcpPackets","rtpBitrate","rtpHopByHopLost","rtpPackets","rtpRecovered","rtxBitrate","rtxPackets","srtcpUnprotectErrors","srtpUnprotectErrors","stunBitrate","stunPackets","transportType","streams","emptyAudioReceiveStream","codec","concealedFrames","csi","maxConcealRunLength","optimalBitrate","optimalFrameRate","receivedBitrate","receivedFrameRate","renderedFrameRate","requestedBitrate","requestedFrameRate","rtpEndToEndLost","maxRtpJitter","meanRtpJitter","ssci","emptyAudioTransmit","availableBitrate","queueDelay","remoteJitter","remoteLossRate","roundTripTime","emptyAudioTransmitStream","requestedFrames","transmittedBitrate","transmittedFrameRate","emptyVideoReceive","emptyVideoReceiveStream","rtpJitter","h264CodecProfile","isActiveSpeaker","optimalFrameSize","receivedFrameSize","receivedHeight","receivedKeyFrames","receivedKeyFramesForRequest","receivedKeyFramesSourceChange","receivedKeyFramesUnknown","receivedWidth","requestedFrameSize","requestedKeyFrames","emptyVideoTransmit","emptyVideoTransmitStream","duplicateSsci","isAvatar","isHardwareEncoded","localConfigurationChanges","maxFrameQp","maxNoiseLevel","minRegionQp","remoteConfigurationChanges","transmittedFrameSize","transmittedHeight","transmittedKeyFrames","transmittedKeyFramesClient","transmittedKeyFramesConfigurationChange","transmittedKeyFramesFeedback","transmittedKeyFramesLocalDrop","transmittedKeyFramesOtherLayer","transmittedKeyFramesPeriodic","transmittedKeyFramesSceneChange","transmittedKeyFramesStartup","transmittedKeyFramesUnknown","transmittedWidth"],"sources":["config.ts"],"sourcesContent":["export const emptyMqaInterval = {\n audioReceive: [],\n audioTransmit: [],\n intervalMetadata: {\n peerReflexiveIP: '0.0.0.0',\n peripherals: [],\n processAverageCPU: 0,\n processMaximumCPU: 0,\n systemAverageCPU: 0,\n systemMaximumCPU: 0,\n },\n networkType: '',\n intervalNumber: 0,\n videoReceive: [],\n videoTransmit: [],\n};\n\nexport const emptyAudioReceive = {\n common: {\n common: {\n direction: 'inactive',\n isMain: true,\n mariFecEnabled: false,\n mariRtxEnabled: false,\n mariQosEnabled: false,\n mariLiteEnabled: false,\n multistreamEnabled: false,\n },\n dtlsBitrate: 0,\n dtlsPackets: 0,\n fecBitrate: 0,\n fecPackets: 0,\n maxBitrate: 0,\n mediaHopByHopLost: 0,\n rtcpBitrate: 0,\n rtcpPackets: 0,\n rtpBitrate: 0,\n rtpHopByHopLost: 0,\n rtpPackets: 0,\n rtpRecovered: 0,\n rtxBitrate: 0,\n rtxPackets: 0,\n srtcpUnprotectErrors: 0,\n srtpUnprotectErrors: 0,\n stunBitrate: 0,\n stunPackets: 0,\n transportType: 'UDP',\n },\n streams: [],\n};\n\nexport const emptyAudioReceiveStream = {\n common: {\n codec: 'opus',\n concealedFrames: 0,\n csi: [],\n maxConcealRunLength: 0,\n optimalBitrate: 0,\n optimalFrameRate: 0,\n receivedBitrate: 0,\n receivedFrameRate: 0,\n renderedFrameRate: 0,\n requestedBitrate: 0,\n requestedFrameRate: 0,\n rtpEndToEndLost: 0,\n maxRtpJitter: 0,\n meanRtpJitter: 0,\n rtpPackets: 0,\n ssci: 0,\n },\n};\n\nexport const emptyAudioTransmit = {\n common: {\n availableBitrate: 0,\n common: {\n direction: 'inactive',\n isMain: true,\n mariFecEnabled: false,\n mariRtxEnabled: false,\n mariQosEnabled: false,\n mariLiteEnabled: false,\n multistreamEnabled: false,\n },\n dtlsBitrate: 0,\n dtlsPackets: 0,\n fecBitrate: 0,\n fecPackets: 0,\n maxBitrate: 0,\n queueDelay: 0,\n remoteJitter: 0,\n remoteLossRate: 0,\n roundTripTime: 0,\n rtcpBitrate: 0,\n rtcpPackets: 0,\n rtpBitrate: 0,\n rtpPackets: 0,\n rtxBitrate: 0,\n rtxPackets: 0,\n stunBitrate: 0,\n stunPackets: 0,\n transportType: 'UDP',\n },\n streams: [],\n};\n\nexport const emptyAudioTransmitStream = {\n common: {\n codec: 'opus',\n csi: [],\n requestedBitrate: 0,\n requestedFrames: 0,\n rtpPackets: 0,\n ssci: 0,\n transmittedBitrate: 0,\n transmittedFrameRate: 0,\n },\n};\n\nexport const emptyVideoReceive = {\n common: {\n common: {\n direction: 'inactive',\n isMain: true, // Not avaliable\n mariFecEnabled: false,\n mariRtxEnabled: false,\n mariQosEnabled: false,\n mariLiteEnabled: false,\n multistreamEnabled: true, // Not avaliable\n },\n dtlsBitrate: 0, // Not avaliable\n dtlsPackets: 0, // Not avaliable\n fecBitrate: 0, // Not avaliable\n fecPackets: 0, // Not avaliable\n maxBitrate: 0,\n mediaHopByHopLost: 0,\n rtcpBitrate: 0, // Not avaliable\n rtcpPackets: 0, // Not avaliable\n rtpBitrate: 0,\n rtpHopByHopLost: 0,\n rtpPackets: 0,\n rtpRecovered: 0, // Not avaliable\n rtxBitrate: 0, // Not avaliable\n rtxPackets: 0, // Not avaliable\n srtcpUnprotectErrors: 0, // Not avaliable\n srtpUnprotectErrors: 0, // Not avaliable\n stunBitrate: 0, // Not avaliable\n stunPackets: 0, // Not avaliable\n transportType: 'UDP',\n },\n streams: [],\n};\n\nexport const emptyVideoReceiveStream = {\n common: {\n codec: 'H264',\n concealedFrames: 0, // Not avaliable\n csi: [],\n maxConcealRunLength: 0, // Not avaliable\n optimalBitrate: 0,\n optimalFrameRate: 0,\n receivedBitrate: 0,\n receivedFrameRate: 0,\n renderedFrameRate: 0, // Not avaliable\n requestedBitrate: 0,\n requestedFrameRate: 0,\n rtpEndToEndLost: 0,\n rtpJitter: 0,\n rtpPackets: 0,\n ssci: 0, // Not avaliable\n },\n h264CodecProfile: 'BP',\n isActiveSpeaker: true,\n optimalFrameSize: 0, // Not avaliable\n receivedFrameSize: 0,\n receivedHeight: 0,\n receivedKeyFrames: 0,\n receivedKeyFramesForRequest: 0,\n receivedKeyFramesSourceChange: 0,\n receivedKeyFramesUnknown: 0,\n receivedWidth: 0,\n requestedFrameSize: 0,\n requestedKeyFrames: 0,\n};\n\nexport const emptyVideoTransmit = {\n common: {\n availableBitrate: 0, // Not avaliable currently hardcoded\n common: {\n direction: 'inactive',\n isMain: true,\n mariFecEnabled: false,\n mariRtxEnabled: false,\n mariQosEnabled: false,\n mariLiteEnabled: false,\n multistreamEnabled: false, // Not avaliable\n },\n dtlsBitrate: 0, // Not avaliable\n dtlsPackets: 0, // Not avaliable\n fecBitrate: 0, // Not avaliable\n fecPackets: 0, // TODO: check inbound-rtp// Not avaliable\n maxBitrate: 0, // Currently hardcoded\n queueDelay: 0,\n remoteJitter: 0, // remoteInboundRtp.jitter\n remoteLossRate: 0, // comparedResults.lossRate\n roundTripTime: 0, // compareResults.roundTripTime\n rtcpBitrate: 0, // Dont have access to it\n rtcpPackets: 0, // Dont have access to rtcp\n rtpBitrate: 0, // Dont have access\n rtpPackets: 0, // outboundRtp.packetsSent\n rtxBitrate: 0, // Dont have access to it\n rtxPackets: 0, // Dont have access to it\n stunBitrate: 0, // Dont have access to it\n stunPackets: 0, // Dont have access to it\n transportType: 'UDP', // TODO: need to calculate\n },\n streams: [],\n};\n\nexport const emptyVideoTransmitStream = {\n common: {\n codec: 'H264',\n csi: [],\n duplicateSsci: 0, // Not Avaliable\n requestedBitrate: 0, // TODO: from remote SDP\n requestedFrames: 0, // TODO: from remote SDP\n rtpPackets: 0, // same as rtp packets\n ssci: 0,\n transmittedBitrate: 0, // TODO: get in the candidate pair\n transmittedFrameRate: 0, // TODO: from track info\n },\n h264CodecProfile: 'BP', // TODO: from localSDP\n isAvatar: false, // Not Avaliable\n isHardwareEncoded: false, // Not Avaliable\n localConfigurationChanges: 2, // Not Avaliable\n maxFrameQp: 0, // Not Avaliable\n maxNoiseLevel: 0, // Not Avaliable\n minRegionQp: 0, // Not Avaliable\n remoteConfigurationChanges: 0, // Not Avaliable\n requestedFrameSize: 0, // TODO: from remote SDP\n requestedKeyFrames: 0, // outbound Fir request\n transmittedFrameSize: 0, // Not Avaliable\n transmittedHeight: 0,\n transmittedKeyFrames: 0, // Key frames encoded\n transmittedKeyFramesClient: 0, // Not Avaliable\n transmittedKeyFramesConfigurationChange: 0, // Not Avaliable\n transmittedKeyFramesFeedback: 0, // Not Avaliable\n transmittedKeyFramesLocalDrop: 0, // Not Avaliable\n transmittedKeyFramesOtherLayer: 0, // Not Avaliable\n transmittedKeyFramesPeriodic: 0, // Not Avaliable\n transmittedKeyFramesSceneChange: 0, // Not Avaliable\n transmittedKeyFramesStartup: 0, // Not Avaliable\n transmittedKeyFramesUnknown: 0, // Not Avaliable\n transmittedWidth: 0,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["emptyMqaInterval","exports","audioReceive","audioTransmit","intervalMetadata","peerReflexiveIP","peripherals","cpuInfo","numberOfCores","description","architecture","processAverageCPU","processMaximumCPU","systemAverageCPU","systemMaximumCPU","screenWidth","screenHeight","screenResolution","appWindowWidth","appWindowHeight","appWindowSize","networkType","intervalNumber","videoReceive","videoTransmit","emptyAudioReceive","common","direction","isMain","mariFecEnabled","mariRtxEnabled","mariQosEnabled","mariLiteEnabled","multistreamEnabled","dtlsBitrate","dtlsPackets","fecBitrate","fecPackets","maxBitrate","mediaHopByHopLost","rtcpBitrate","rtcpPackets","rtpBitrate","rtpHopByHopLost","rtpPackets","rtpRecovered","rtxBitrate","rtxPackets","srtcpUnprotectErrors","srtpUnprotectErrors","stunBitrate","stunPackets","transportType","streams","emptyAudioReceiveStream","codec","concealedFrames","csi","maxConcealRunLength","optimalBitrate","optimalFrameRate","receivedBitrate","receivedFrameRate","renderedFrameRate","requestedBitrate","requestedFrameRate","rtpEndToEndLost","maxRtpJitter","meanRtpJitter","ssci","emptyAudioTransmit","availableBitrate","queueDelay","remoteJitter","remoteLossRate","roundTripTime","emptyAudioTransmitStream","requestedFrames","transmittedBitrate","transmittedFrameRate","emptyVideoReceive","emptyVideoReceiveStream","rtpJitter","h264CodecProfile","isActiveSpeaker","optimalFrameSize","receivedFrameSize","receivedHeight","receivedKeyFrames","receivedKeyFramesForRequest","receivedKeyFramesSourceChange","receivedKeyFramesUnknown","receivedWidth","requestedFrameSize","requestedKeyFrames","emptyVideoTransmit","emptyVideoTransmitStream","duplicateSsci","isAvatar","isHardwareEncoded","localConfigurationChanges","maxFrameQp","maxNoiseLevel","minRegionQp","remoteConfigurationChanges","transmittedFrameSize","transmittedHeight","transmittedKeyFrames","transmittedKeyFramesClient","transmittedKeyFramesConfigurationChange","transmittedKeyFramesFeedback","transmittedKeyFramesLocalDrop","transmittedKeyFramesOtherLayer","transmittedKeyFramesPeriodic","transmittedKeyFramesSceneChange","transmittedKeyFramesStartup","transmittedKeyFramesUnknown","transmittedWidth"],"sources":["config.ts"],"sourcesContent":["export const emptyMqaInterval = {\n audioReceive: [],\n audioTransmit: [],\n intervalMetadata: {\n peerReflexiveIP: '0.0.0.0',\n peripherals: [],\n cpuInfo: {\n numberOfCores: 1, // default value from spec if CpuInfo.getNumLogicalCores cannot be determined\n description: 'NA',\n architecture: 'unknown',\n },\n processAverageCPU: 0,\n processMaximumCPU: 0,\n systemAverageCPU: 0,\n systemMaximumCPU: 0,\n screenWidth: 0,\n screenHeight: 0,\n screenResolution: 0,\n appWindowWidth: 0,\n appWindowHeight: 0,\n appWindowSize: 0,\n },\n networkType: '',\n intervalNumber: 0,\n videoReceive: [],\n videoTransmit: [],\n};\n\nexport const emptyAudioReceive = {\n common: {\n common: {\n direction: 'inactive',\n isMain: true,\n mariFecEnabled: false,\n mariRtxEnabled: false,\n mariQosEnabled: false,\n mariLiteEnabled: false,\n multistreamEnabled: false,\n },\n dtlsBitrate: 0,\n dtlsPackets: 0,\n fecBitrate: 0,\n fecPackets: 0,\n maxBitrate: 0,\n mediaHopByHopLost: 0,\n rtcpBitrate: 0,\n rtcpPackets: 0,\n rtpBitrate: 0,\n rtpHopByHopLost: 0,\n rtpPackets: 0,\n rtpRecovered: 0,\n rtxBitrate: 0,\n rtxPackets: 0,\n srtcpUnprotectErrors: 0,\n srtpUnprotectErrors: 0,\n stunBitrate: 0,\n stunPackets: 0,\n transportType: 'UDP',\n },\n streams: [],\n};\n\nexport const emptyAudioReceiveStream = {\n common: {\n codec: 'opus',\n concealedFrames: 0,\n csi: [],\n maxConcealRunLength: 0,\n optimalBitrate: 0,\n optimalFrameRate: 0,\n receivedBitrate: 0,\n receivedFrameRate: 0,\n renderedFrameRate: 0,\n requestedBitrate: 0,\n requestedFrameRate: 0,\n rtpEndToEndLost: 0,\n maxRtpJitter: 0,\n meanRtpJitter: 0,\n rtpPackets: 0,\n ssci: 0,\n },\n};\n\nexport const emptyAudioTransmit = {\n common: {\n availableBitrate: 0,\n common: {\n direction: 'inactive',\n isMain: true,\n mariFecEnabled: false,\n mariRtxEnabled: false,\n mariQosEnabled: false,\n mariLiteEnabled: false,\n multistreamEnabled: false,\n },\n dtlsBitrate: 0,\n dtlsPackets: 0,\n fecBitrate: 0,\n fecPackets: 0,\n maxBitrate: 0,\n queueDelay: 0,\n remoteJitter: 0,\n remoteLossRate: 0,\n roundTripTime: 0,\n rtcpBitrate: 0,\n rtcpPackets: 0,\n rtpBitrate: 0,\n rtpPackets: 0,\n rtxBitrate: 0,\n rtxPackets: 0,\n stunBitrate: 0,\n stunPackets: 0,\n transportType: 'UDP',\n },\n streams: [],\n};\n\nexport const emptyAudioTransmitStream = {\n common: {\n codec: 'opus',\n csi: [],\n requestedBitrate: 0,\n requestedFrames: 0,\n rtpPackets: 0,\n ssci: 0,\n transmittedBitrate: 0,\n transmittedFrameRate: 0,\n },\n};\n\nexport const emptyVideoReceive = {\n common: {\n common: {\n direction: 'inactive',\n isMain: true, // Not avaliable\n mariFecEnabled: false,\n mariRtxEnabled: false,\n mariQosEnabled: false,\n mariLiteEnabled: false,\n multistreamEnabled: false,\n },\n dtlsBitrate: 0, // Not avaliable\n dtlsPackets: 0, // Not avaliable\n fecBitrate: 0, // Not avaliable\n fecPackets: 0, // Not avaliable\n maxBitrate: 0,\n mediaHopByHopLost: 0,\n rtcpBitrate: 0, // Not avaliable\n rtcpPackets: 0, // Not avaliable\n rtpBitrate: 0,\n rtpHopByHopLost: 0,\n rtpPackets: 0,\n rtpRecovered: 0, // Not avaliable\n rtxBitrate: 0, // Not avaliable\n rtxPackets: 0, // Not avaliable\n srtcpUnprotectErrors: 0, // Not avaliable\n srtpUnprotectErrors: 0, // Not avaliable\n stunBitrate: 0, // Not avaliable\n stunPackets: 0, // Not avaliable\n transportType: 'UDP',\n },\n streams: [],\n};\n\nexport const emptyVideoReceiveStream = {\n common: {\n codec: 'H264',\n concealedFrames: 0, // Not avaliable\n csi: [],\n maxConcealRunLength: 0, // Not avaliable\n optimalBitrate: 0,\n optimalFrameRate: 0,\n receivedBitrate: 0,\n receivedFrameRate: 0,\n renderedFrameRate: 0, // Not avaliable\n requestedBitrate: 0,\n requestedFrameRate: 0,\n rtpEndToEndLost: 0,\n rtpJitter: 0,\n rtpPackets: 0,\n ssci: 0, // Not avaliable\n },\n h264CodecProfile: 'BP',\n isActiveSpeaker: false,\n optimalFrameSize: 0, // Not avaliable\n receivedFrameSize: 0,\n receivedHeight: 0,\n receivedKeyFrames: 0,\n receivedKeyFramesForRequest: 0,\n receivedKeyFramesSourceChange: 0,\n receivedKeyFramesUnknown: 0,\n receivedWidth: 0,\n requestedFrameSize: 0,\n requestedKeyFrames: 0,\n};\n\nexport const emptyVideoTransmit = {\n common: {\n availableBitrate: 0, // Not avaliable currently hardcoded\n common: {\n direction: 'inactive',\n isMain: true,\n mariFecEnabled: false,\n mariRtxEnabled: false,\n mariQosEnabled: false,\n mariLiteEnabled: false,\n multistreamEnabled: false,\n },\n dtlsBitrate: 0, // Not avaliable\n dtlsPackets: 0, // Not avaliable\n fecBitrate: 0, // Not avaliable\n fecPackets: 0, // TODO: check inbound-rtp// Not avaliable\n maxBitrate: 0, // Currently hardcoded\n queueDelay: 0,\n remoteJitter: 0, // remoteInboundRtp.jitter\n remoteLossRate: 0, // comparedResults.lossRate\n roundTripTime: 0, // compareResults.roundTripTime\n rtcpBitrate: 0, // Dont have access to it\n rtcpPackets: 0, // Dont have access to rtcp\n rtpBitrate: 0, // Dont have access\n rtpPackets: 0, // outboundRtp.packetsSent\n rtxBitrate: 0, // Dont have access to it\n rtxPackets: 0, // Dont have access to it\n stunBitrate: 0, // Dont have access to it\n stunPackets: 0, // Dont have access to it\n transportType: 'UDP', // TODO: need to calculate\n },\n streams: [],\n};\n\nexport const emptyVideoTransmitStream = {\n common: {\n codec: 'H264',\n csi: [],\n duplicateSsci: 0, // Not Avaliable\n requestedBitrate: 0, // TODO: from remote SDP\n requestedFrames: 0, // TODO: from remote SDP\n rtpPackets: 0, // same as rtp packets\n ssci: 0,\n transmittedBitrate: 0, // TODO: get in the candidate pair\n transmittedFrameRate: 0, // TODO: from track info\n },\n h264CodecProfile: 'BP', // TODO: from localSDP\n isAvatar: false, // Not Avaliable\n isHardwareEncoded: false, // Not Avaliable\n localConfigurationChanges: 2, // Not Avaliable\n maxFrameQp: 0, // Not Avaliable\n maxNoiseLevel: 0, // Not Avaliable\n minRegionQp: 0, // Not Avaliable\n remoteConfigurationChanges: 0, // Not Avaliable\n requestedFrameSize: 0, // TODO: from remote SDP\n requestedKeyFrames: 0, // outbound Fir request\n transmittedFrameSize: 0, // Not Avaliable\n transmittedHeight: 0,\n transmittedKeyFrames: 0, // Key frames encoded\n transmittedKeyFramesClient: 0, // Not Avaliable\n transmittedKeyFramesConfigurationChange: 0, // Not Avaliable\n transmittedKeyFramesFeedback: 0, // Not Avaliable\n transmittedKeyFramesLocalDrop: 0, // Not Avaliable\n transmittedKeyFramesOtherLayer: 0, // Not Avaliable\n transmittedKeyFramesPeriodic: 0, // Not Avaliable\n transmittedKeyFramesSceneChange: 0, // Not Avaliable\n transmittedKeyFramesStartup: 0, // Not Avaliable\n transmittedKeyFramesUnknown: 0, // Not Avaliable\n transmittedWidth: 0,\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
|
|
4
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.ConnectionStateHandler = exports.ConnectionStateEvent = void 0;
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
12
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
|
|
13
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
14
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
15
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
16
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
17
|
+
var _internalMediaCore = require("@webex/internal-media-core");
|
|
18
|
+
var _eventsScope = _interopRequireDefault(require("../common/events/events-scope"));
|
|
19
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
20
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
21
|
+
var ConnectionStateEvent = exports.ConnectionStateEvent = {
|
|
22
|
+
stateChanged: 'connectionState:changed'
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* @class ConnectionStateHandler
|
|
26
|
+
*/
|
|
27
|
+
var ConnectionStateHandler = exports.ConnectionStateHandler = /*#__PURE__*/function (_EventsScope) {
|
|
28
|
+
(0, _inherits2.default)(ConnectionStateHandler, _EventsScope);
|
|
29
|
+
var _super = _createSuper(ConnectionStateHandler);
|
|
30
|
+
/**
|
|
31
|
+
* @param {WebRTCMeeting} webrtcMediaConnection
|
|
32
|
+
*/
|
|
33
|
+
function ConnectionStateHandler(webrtcMediaConnection) {
|
|
34
|
+
var _this;
|
|
35
|
+
(0, _classCallCheck2.default)(this, ConnectionStateHandler);
|
|
36
|
+
_this = _super.call(this);
|
|
37
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "webrtcMediaConnection", void 0);
|
|
38
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaConnectionState", void 0);
|
|
39
|
+
_this.webrtcMediaConnection = webrtcMediaConnection;
|
|
40
|
+
_this.webrtcMediaConnection.on(_internalMediaCore.Event.PEER_CONNECTION_STATE_CHANGED, _this.handleConnectionStateChange.bind((0, _assertThisInitialized2.default)(_this)));
|
|
41
|
+
_this.webrtcMediaConnection.on(_internalMediaCore.Event.ICE_CONNECTION_STATE_CHANGED, _this.handleConnectionStateChange.bind((0, _assertThisInitialized2.default)(_this)));
|
|
42
|
+
return _this;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Handler for connection state change.
|
|
47
|
+
*
|
|
48
|
+
* @returns {void}
|
|
49
|
+
*/
|
|
50
|
+
(0, _createClass2.default)(ConnectionStateHandler, [{
|
|
51
|
+
key: "handleConnectionStateChange",
|
|
52
|
+
value: function handleConnectionStateChange() {
|
|
53
|
+
var newConnectionState = this.webrtcMediaConnection.getConnectionState();
|
|
54
|
+
if (newConnectionState !== this.mediaConnectionState) {
|
|
55
|
+
this.mediaConnectionState = newConnectionState;
|
|
56
|
+
this.emit({
|
|
57
|
+
file: 'connectionStateHandler',
|
|
58
|
+
function: 'handleConnectionStateChange'
|
|
59
|
+
}, ConnectionStateEvent.stateChanged, {
|
|
60
|
+
state: this.mediaConnectionState
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}]);
|
|
65
|
+
return ConnectionStateHandler;
|
|
66
|
+
}(_eventsScope.default);
|
|
67
|
+
//# sourceMappingURL=connectionStateHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_internalMediaCore","require","_eventsScope","_interopRequireDefault","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","ConnectionStateEvent","exports","stateChanged","ConnectionStateHandler","_EventsScope","_inherits2","_super","webrtcMediaConnection","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","on","Event","PEER_CONNECTION_STATE_CHANGED","handleConnectionStateChange","bind","ICE_CONNECTION_STATE_CHANGED","_createClass2","key","value","newConnectionState","getConnectionState","mediaConnectionState","emit","file","function","state","EventsScope"],"sources":["connectionStateHandler.ts"],"sourcesContent":["import {Event, ConnectionState} from '@webex/internal-media-core';\nimport EventsScope from '../common/events/events-scope';\nimport {Enum} from '../constants';\n\nexport const ConnectionStateEvent = {\n stateChanged: 'connectionState:changed',\n} as const;\n\nexport type ConnectionStateEvent = Enum<typeof ConnectionStateEvent>;\n\nexport interface ConnectionStateChangedEvent {\n /**\n * Current overall connection state\n */\n state: ConnectionState;\n}\n\n/**\n * @class ConnectionStateHandler\n */\nexport class ConnectionStateHandler extends EventsScope {\n private webrtcMediaConnection: any;\n\n private mediaConnectionState: ConnectionState;\n\n /**\n * @param {WebRTCMeeting} webrtcMediaConnection\n */\n constructor(webrtcMediaConnection) {\n super();\n\n this.webrtcMediaConnection = webrtcMediaConnection;\n\n this.webrtcMediaConnection.on(\n Event.PEER_CONNECTION_STATE_CHANGED,\n this.handleConnectionStateChange.bind(this)\n );\n\n this.webrtcMediaConnection.on(\n Event.ICE_CONNECTION_STATE_CHANGED,\n this.handleConnectionStateChange.bind(this)\n );\n }\n\n /**\n * Handler for connection state change.\n *\n * @returns {void}\n */\n private handleConnectionStateChange(): void {\n const newConnectionState = this.webrtcMediaConnection.getConnectionState();\n\n if (newConnectionState !== this.mediaConnectionState) {\n this.mediaConnectionState = newConnectionState;\n this.emit(\n {\n file: 'connectionStateHandler',\n function: 'handleConnectionStateChange',\n },\n ConnectionStateEvent.stateChanged,\n {state: this.mediaConnectionState}\n );\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAwD,SAAAG,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAY,OAAA,qBAAAJ,kBAAA,oBAAAA,kBAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,kBAAA,CAAAO,OAAA,8CAAAI,CAAA;AAGjD,IAAMC,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG;EAClCE,YAAY,EAAE;AAChB,CAAU;AAWV;AACA;AACA;AAFA,IAGaC,sBAAsB,GAAAF,OAAA,CAAAE,sBAAA,0BAAAC,YAAA;EAAA,IAAAC,UAAA,CAAArB,OAAA,EAAAmB,sBAAA,EAAAC,YAAA;EAAA,IAAAE,MAAA,GAAA7B,YAAA,CAAA0B,sBAAA;EAKjC;AACF;AACA;EACE,SAAAA,uBAAYI,qBAAqB,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAAzB,OAAA,QAAAmB,sBAAA;IACjCK,KAAA,GAAAF,MAAA,CAAAR,IAAA;IAAQ,IAAAY,gBAAA,CAAA1B,OAAA,MAAA2B,uBAAA,CAAA3B,OAAA,EAAAwB,KAAA;IAAA,IAAAE,gBAAA,CAAA1B,OAAA,MAAA2B,uBAAA,CAAA3B,OAAA,EAAAwB,KAAA;IAERA,KAAA,CAAKD,qBAAqB,GAAGA,qBAAqB;IAElDC,KAAA,CAAKD,qBAAqB,CAACK,EAAE,CAC3BC,wBAAK,CAACC,6BAA6B,EACnCN,KAAA,CAAKO,2BAA2B,CAACC,IAAI,KAAAL,uBAAA,CAAA3B,OAAA,EAAAwB,KAAA,CAAK,CAC5C,CAAC;IAEDA,KAAA,CAAKD,qBAAqB,CAACK,EAAE,CAC3BC,wBAAK,CAACI,4BAA4B,EAClCT,KAAA,CAAKO,2BAA2B,CAACC,IAAI,KAAAL,uBAAA,CAAA3B,OAAA,EAAAwB,KAAA,CAAK,CAC5C,CAAC;IAAC,OAAAA,KAAA;EACJ;;EAEA;AACF;AACA;AACA;AACA;EAJE,IAAAU,aAAA,CAAAlC,OAAA,EAAAmB,sBAAA;IAAAgB,GAAA;IAAAC,KAAA,EAKA,SAAAL,4BAAA,EAA4C;MAC1C,IAAMM,kBAAkB,GAAG,IAAI,CAACd,qBAAqB,CAACe,kBAAkB,CAAC,CAAC;MAE1E,IAAID,kBAAkB,KAAK,IAAI,CAACE,oBAAoB,EAAE;QACpD,IAAI,CAACA,oBAAoB,GAAGF,kBAAkB;QAC9C,IAAI,CAACG,IAAI,CACP;UACEC,IAAI,EAAE,wBAAwB;UAC9BC,QAAQ,EAAE;QACZ,CAAC,EACD1B,oBAAoB,CAACE,YAAY,EACjC;UAACyB,KAAK,EAAE,IAAI,CAACJ;QAAoB,CACnC,CAAC;MACH;IACF;EAAC;EAAA,OAAApB,sBAAA;AAAA,EA3CyCyB,oBAAW"}
|
package/dist/meeting/index.js
CHANGED
|
@@ -19,6 +19,7 @@ exports.default = exports.ScreenShareFloorStatus = exports.MEDIA_UPDATE_TYPE = v
|
|
|
19
19
|
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
20
20
|
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
|
|
21
21
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
22
|
+
var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
|
|
22
23
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
|
23
24
|
var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
|
|
24
25
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/typeof"));
|
|
@@ -83,6 +84,7 @@ var _recordingController = _interopRequireDefault(require("../recording-controll
|
|
|
83
84
|
var _controlsOptionsManager = _interopRequireDefault(require("../controls-options-manager"));
|
|
84
85
|
var _permission = _interopRequireDefault(require("../common/errors/permission"));
|
|
85
86
|
var _locusMediaRequest = require("./locusMediaRequest");
|
|
87
|
+
var _connectionStateHandler = require("./connectionStateHandler");
|
|
86
88
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol$iterator] || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
87
89
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
88
90
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
@@ -530,6 +532,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
530
532
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "sdpResponseTimer", void 0);
|
|
531
533
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "hasMediaConnectionConnectedAtLeastOnce", void 0);
|
|
532
534
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "joinWithMediaRetryInfo", void 0);
|
|
535
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "connectionStateHandler", void 0);
|
|
536
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "iceCandidateErrors", void 0);
|
|
533
537
|
/**
|
|
534
538
|
* Callback called when a relay event is received from meeting LLM Connection
|
|
535
539
|
* @param {RelayEvent} e Event object coming from LLM Connection
|
|
@@ -832,7 +836,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
832
836
|
}
|
|
833
837
|
}
|
|
834
838
|
});
|
|
835
|
-
_this.
|
|
839
|
+
_this.connectionStateHandler = new _connectionStateHandler.ConnectionStateHandler(_this.mediaProperties.webrtcMediaConnection);
|
|
840
|
+
_this.connectionStateHandler.on(_connectionStateHandler.ConnectionStateEvent.stateChanged, function (event) {
|
|
836
841
|
var connectionFailed = function connectionFailed() {
|
|
837
842
|
_metrics.default.sendBehavioralMetric(_constants2.default.CONNECTION_FAILURE, {
|
|
838
843
|
correlation_id: _this.correlationId,
|
|
@@ -947,6 +952,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
947
952
|
mediaContent: mediaContent
|
|
948
953
|
});
|
|
949
954
|
});
|
|
955
|
+
_this.iceCandidateErrors.clear();
|
|
956
|
+
_this.mediaProperties.webrtcMediaConnection.on(_internalMediaCore.Event.ICE_CANDIDATE_ERROR, function (event) {
|
|
957
|
+
var errorCode = event.error.errorCode;
|
|
958
|
+
var errorText = event.error.errorText;
|
|
959
|
+
if (errorCode === 600 && errorText === 'Address not associated with the desired network interface.') {
|
|
960
|
+
return;
|
|
961
|
+
}
|
|
962
|
+
if (errorText.endsWith('.')) {
|
|
963
|
+
errorText = errorText.slice(0, -1);
|
|
964
|
+
}
|
|
965
|
+
errorText = errorText.toLowerCase();
|
|
966
|
+
errorText = errorText.replace(/ /g, '_');
|
|
967
|
+
var error = "".concat(errorCode, "_").concat(errorText);
|
|
968
|
+
var count = _this.iceCandidateErrors.get(error) || 0;
|
|
969
|
+
_this.iceCandidateErrors.set(error, count + 1);
|
|
970
|
+
});
|
|
950
971
|
});
|
|
951
972
|
/**
|
|
952
973
|
* Registers for all required StatsAnalyzer events
|
|
@@ -1192,10 +1213,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1192
1213
|
* @returns {undefined}
|
|
1193
1214
|
*/
|
|
1194
1215
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "handleShareVideoStreamMuteStateChange", function (muted) {
|
|
1216
|
+
var _this$statsAnalyzer;
|
|
1195
1217
|
_loggerProxy.default.logger.log("Meeting:index#handleShareVideoStreamMuteStateChange --> Share video stream mute state changed to muted ".concat(muted));
|
|
1196
1218
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_VIDEO_MUTE_STATE_CHANGE, {
|
|
1197
1219
|
correlationId: _this.correlationId,
|
|
1198
|
-
muted: muted
|
|
1220
|
+
muted: muted,
|
|
1221
|
+
encoderImplementation: (_this$statsAnalyzer = _this.statsAnalyzer) === null || _this$statsAnalyzer === void 0 ? void 0 : _this$statsAnalyzer.shareVideoEncoderImplementation
|
|
1199
1222
|
});
|
|
1200
1223
|
});
|
|
1201
1224
|
/**
|
|
@@ -2071,6 +2094,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2071
2094
|
isRetry: false,
|
|
2072
2095
|
prevJoinResponse: undefined
|
|
2073
2096
|
};
|
|
2097
|
+
|
|
2098
|
+
/**
|
|
2099
|
+
* Connection state handler
|
|
2100
|
+
* @instance
|
|
2101
|
+
* @type {ConnectionStateHandler}
|
|
2102
|
+
* @private
|
|
2103
|
+
* @memberof Meeting
|
|
2104
|
+
*/
|
|
2105
|
+
_this.connectionStateHandler = undefined;
|
|
2106
|
+
|
|
2107
|
+
/**
|
|
2108
|
+
* ICE Candidates errors map
|
|
2109
|
+
* @instance
|
|
2110
|
+
* @type {Map<[number, string], number>}
|
|
2111
|
+
* @private
|
|
2112
|
+
* @memberof Meeting
|
|
2113
|
+
*/
|
|
2114
|
+
_this.iceCandidateErrors = new _map.default();
|
|
2074
2115
|
return _this;
|
|
2075
2116
|
}
|
|
2076
2117
|
|
|
@@ -5588,7 +5629,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5588
5629
|
_context19.next = 8;
|
|
5589
5630
|
break;
|
|
5590
5631
|
}
|
|
5591
|
-
if (!(
|
|
5632
|
+
if (!(
|
|
5633
|
+
// @ts-ignore - Fix type
|
|
5634
|
+
url === this.webex.internal.llm.getLocusUrl() &&
|
|
5635
|
+
// @ts-ignore - Fix type
|
|
5636
|
+
datachannelUrl === this.webex.internal.llm.getDatachannelUrl() && isJoined)) {
|
|
5592
5637
|
_context19.next = 5;
|
|
5593
5638
|
break;
|
|
5594
5639
|
}
|
|
@@ -6103,7 +6148,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6103
6148
|
key: "waitForMediaConnectionConnected",
|
|
6104
6149
|
value: (function () {
|
|
6105
6150
|
var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee23() {
|
|
6106
|
-
var _this$mediaProperties6, _this$mediaProperties7, _this$mediaProperties8, _this$mediaProperties9, _this$mediaProperties10, _this$mediaProperties11, _this$mediaProperties12
|
|
6151
|
+
var iceConnected, _this$mediaProperties6, _this$mediaProperties7, _this$mediaProperties8, _this$mediaProperties9, _this$mediaProperties10, _this$mediaProperties11, _this$mediaProperties12;
|
|
6107
6152
|
return _regenerator.default.wrap(function _callee23$(_context23) {
|
|
6108
6153
|
while (1) switch (_context23.prev = _context23.next) {
|
|
6109
6154
|
case 0:
|
|
@@ -6111,11 +6156,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6111
6156
|
_context23.next = 3;
|
|
6112
6157
|
return this.mediaProperties.waitForMediaConnectionConnected();
|
|
6113
6158
|
case 3:
|
|
6114
|
-
_context23.next =
|
|
6159
|
+
_context23.next = 10;
|
|
6115
6160
|
break;
|
|
6116
6161
|
case 5:
|
|
6117
6162
|
_context23.prev = 5;
|
|
6118
6163
|
_context23.t0 = _context23["catch"](0);
|
|
6164
|
+
iceConnected = _context23.t0.iceConnected;
|
|
6119
6165
|
if (!this.hasMediaConnectionConnectedAtLeastOnce) {
|
|
6120
6166
|
// Only send CA event for join flow if we haven't successfully connected media yet
|
|
6121
6167
|
// @ts-ignore
|
|
@@ -6130,7 +6176,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6130
6176
|
this.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
|
|
6131
6177
|
clientErrorCode: _internalPluginMetrics.CallDiagnosticUtils.generateClientErrorCodeForIceFailure({
|
|
6132
6178
|
signalingState: ((_this$mediaProperties6 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties6 === void 0 ? void 0 : (_this$mediaProperties7 = _this$mediaProperties6.multistreamConnection) === null || _this$mediaProperties7 === void 0 ? void 0 : (_this$mediaProperties8 = _this$mediaProperties7.pc) === null || _this$mediaProperties8 === void 0 ? void 0 : (_this$mediaProperties9 = _this$mediaProperties8.pc) === null || _this$mediaProperties9 === void 0 ? void 0 : _this$mediaProperties9.signalingState) || ((_this$mediaProperties10 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties10 === void 0 ? void 0 : (_this$mediaProperties11 = _this$mediaProperties10.mediaConnection) === null || _this$mediaProperties11 === void 0 ? void 0 : (_this$mediaProperties12 = _this$mediaProperties11.pc) === null || _this$mediaProperties12 === void 0 ? void 0 : _this$mediaProperties12.signalingState) || 'unknown',
|
|
6133
|
-
|
|
6179
|
+
iceConnected: iceConnected,
|
|
6134
6180
|
turnServerUsed: this.turnServerUsed
|
|
6135
6181
|
})
|
|
6136
6182
|
})]
|
|
@@ -6141,7 +6187,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6141
6187
|
});
|
|
6142
6188
|
}
|
|
6143
6189
|
throw new Error("Timed out waiting for media connection to be connected, correlationId=".concat(this.correlationId));
|
|
6144
|
-
case
|
|
6190
|
+
case 10:
|
|
6145
6191
|
case "end":
|
|
6146
6192
|
return _context23.stop();
|
|
6147
6193
|
}
|
|
@@ -6167,11 +6213,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6167
6213
|
if (this.config.stats.enableStatsAnalyzer) {
|
|
6168
6214
|
// @ts-ignore - config coming from registerPlugin
|
|
6169
6215
|
this.networkQualityMonitor = new _networkQualityMonitor.default(this.config.stats);
|
|
6170
|
-
this.statsAnalyzer = new _statsAnalyzer.StatsAnalyzer(
|
|
6171
|
-
|
|
6172
|
-
|
|
6173
|
-
|
|
6174
|
-
|
|
6216
|
+
this.statsAnalyzer = new _statsAnalyzer.StatsAnalyzer({
|
|
6217
|
+
// @ts-ignore - config coming from registerPlugin
|
|
6218
|
+
config: this.config.stats,
|
|
6219
|
+
receiveSlotCallback: function receiveSlotCallback(ssrc) {
|
|
6220
|
+
return _this38.receiveSlotManager.findReceiveSlotBySsrc(ssrc);
|
|
6221
|
+
},
|
|
6222
|
+
networkQualityMonitor: this.networkQualityMonitor,
|
|
6223
|
+
isMultistream: this.isMultistream
|
|
6224
|
+
});
|
|
6175
6225
|
this.setupStatsAnalyzerEventHandlers();
|
|
6176
6226
|
this.networkQualityMonitor.on(_constants.EVENT_TRIGGERS.NETWORK_QUALITY, this.sendNetworkQualityEvent.bind(this));
|
|
6177
6227
|
}
|
|
@@ -6628,6 +6678,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6628
6678
|
selectedCandidatePairChanges,
|
|
6629
6679
|
numTransports,
|
|
6630
6680
|
reachabilityStats,
|
|
6681
|
+
_this$mediaProperties13,
|
|
6682
|
+
_this$mediaProperties14,
|
|
6683
|
+
_this$mediaProperties15,
|
|
6684
|
+
_this$mediaProperties16,
|
|
6685
|
+
_this$mediaProperties17,
|
|
6686
|
+
_this$mediaProperties18,
|
|
6687
|
+
_this$mediaProperties19,
|
|
6631
6688
|
_this$mediaProperties20,
|
|
6632
6689
|
_this$mediaProperties21,
|
|
6633
6690
|
_this$mediaProperties22,
|
|
@@ -6642,17 +6699,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6642
6699
|
_this$mediaProperties31,
|
|
6643
6700
|
_this$mediaProperties32,
|
|
6644
6701
|
_this$mediaProperties33,
|
|
6645
|
-
_this$mediaProperties34,
|
|
6646
|
-
_this$mediaProperties35,
|
|
6647
|
-
_this$mediaProperties36,
|
|
6648
|
-
_this$mediaProperties37,
|
|
6649
|
-
_this$mediaProperties38,
|
|
6650
|
-
_this$mediaProperties39,
|
|
6651
|
-
_this$mediaProperties40,
|
|
6652
6702
|
reachabilityMetrics,
|
|
6653
6703
|
_yield$this$mediaProp2,
|
|
6654
6704
|
_selectedCandidatePairChanges,
|
|
6655
6705
|
_numTransports,
|
|
6706
|
+
iceCandidateErrors,
|
|
6656
6707
|
_args32 = arguments;
|
|
6657
6708
|
return _regenerator.default.wrap(function _callee32$(_context32) {
|
|
6658
6709
|
while (1) switch (_context32.prev = _context32.next) {
|
|
@@ -6801,7 +6852,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6801
6852
|
|
|
6802
6853
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
6803
6854
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
6804
|
-
_context32.next =
|
|
6855
|
+
_context32.next = 68;
|
|
6805
6856
|
break;
|
|
6806
6857
|
case 50:
|
|
6807
6858
|
_context32.prev = 50;
|
|
@@ -6819,7 +6870,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6819
6870
|
_yield$this$mediaProp2 = _context32.sent;
|
|
6820
6871
|
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
|
6821
6872
|
_numTransports = _yield$this$mediaProp2.numTransports;
|
|
6822
|
-
|
|
6873
|
+
iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
6874
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread(_objectSpread({
|
|
6823
6875
|
correlation_id: this.correlationId,
|
|
6824
6876
|
locus_id: this.locusUrl.split('/').pop(),
|
|
6825
6877
|
reason: _context32.t0.message,
|
|
@@ -6832,13 +6884,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6832
6884
|
retriedWithTurnServer: this.retriedWithTurnServer,
|
|
6833
6885
|
isMultistream: this.isMultistream,
|
|
6834
6886
|
isJoinWithMediaRetry: this.joinWithMediaRetryInfo.isRetry,
|
|
6835
|
-
signalingState: ((_this$
|
|
6836
|
-
connectionState: ((_this$
|
|
6837
|
-
iceConnectionState: ((_this$
|
|
6838
|
-
}, reachabilityMetrics));
|
|
6839
|
-
_context32.next =
|
|
6887
|
+
signalingState: ((_this$mediaProperties13 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties13 === void 0 ? void 0 : (_this$mediaProperties14 = _this$mediaProperties13.multistreamConnection) === null || _this$mediaProperties14 === void 0 ? void 0 : (_this$mediaProperties15 = _this$mediaProperties14.pc) === null || _this$mediaProperties15 === void 0 ? void 0 : (_this$mediaProperties16 = _this$mediaProperties15.pc) === null || _this$mediaProperties16 === void 0 ? void 0 : _this$mediaProperties16.signalingState) || ((_this$mediaProperties17 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties17 === void 0 ? void 0 : (_this$mediaProperties18 = _this$mediaProperties17.mediaConnection) === null || _this$mediaProperties18 === void 0 ? void 0 : (_this$mediaProperties19 = _this$mediaProperties18.pc) === null || _this$mediaProperties19 === void 0 ? void 0 : _this$mediaProperties19.signalingState) || 'unknown',
|
|
6888
|
+
connectionState: ((_this$mediaProperties20 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties20 === void 0 ? void 0 : (_this$mediaProperties21 = _this$mediaProperties20.multistreamConnection) === null || _this$mediaProperties21 === void 0 ? void 0 : (_this$mediaProperties22 = _this$mediaProperties21.pc) === null || _this$mediaProperties22 === void 0 ? void 0 : (_this$mediaProperties23 = _this$mediaProperties22.pc) === null || _this$mediaProperties23 === void 0 ? void 0 : _this$mediaProperties23.connectionState) || ((_this$mediaProperties24 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties24 === void 0 ? void 0 : (_this$mediaProperties25 = _this$mediaProperties24.mediaConnection) === null || _this$mediaProperties25 === void 0 ? void 0 : (_this$mediaProperties26 = _this$mediaProperties25.pc) === null || _this$mediaProperties26 === void 0 ? void 0 : _this$mediaProperties26.connectionState) || 'unknown',
|
|
6889
|
+
iceConnectionState: ((_this$mediaProperties27 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties27 === void 0 ? void 0 : (_this$mediaProperties28 = _this$mediaProperties27.multistreamConnection) === null || _this$mediaProperties28 === void 0 ? void 0 : (_this$mediaProperties29 = _this$mediaProperties28.pc) === null || _this$mediaProperties29 === void 0 ? void 0 : (_this$mediaProperties30 = _this$mediaProperties29.pc) === null || _this$mediaProperties30 === void 0 ? void 0 : _this$mediaProperties30.iceConnectionState) || ((_this$mediaProperties31 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties31 === void 0 ? void 0 : (_this$mediaProperties32 = _this$mediaProperties31.mediaConnection) === null || _this$mediaProperties32 === void 0 ? void 0 : (_this$mediaProperties33 = _this$mediaProperties32.pc) === null || _this$mediaProperties33 === void 0 ? void 0 : _this$mediaProperties33.iceConnectionState) || 'unknown'
|
|
6890
|
+
}, reachabilityMetrics), iceCandidateErrors));
|
|
6891
|
+
_context32.next = 65;
|
|
6840
6892
|
return this.cleanUpOnAddMediaFailure();
|
|
6841
|
-
case
|
|
6893
|
+
case 65:
|
|
6842
6894
|
// Upload logs on error while adding media
|
|
6843
6895
|
_triggerProxy.default.trigger(this, {
|
|
6844
6896
|
file: 'meeting/index',
|
|
@@ -6850,7 +6902,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6850
6902
|
});
|
|
6851
6903
|
}
|
|
6852
6904
|
throw _context32.t0;
|
|
6853
|
-
case
|
|
6905
|
+
case 68:
|
|
6854
6906
|
case "end":
|
|
6855
6907
|
return _context32.stop();
|
|
6856
6908
|
}
|
|
@@ -7615,10 +7667,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7615
7667
|
var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
7616
7668
|
var main = renderInfo.main,
|
|
7617
7669
|
content = renderInfo.content;
|
|
7618
|
-
var _this$
|
|
7619
|
-
mediaDirection = _this$
|
|
7620
|
-
remoteShareStream = _this$
|
|
7621
|
-
remoteVideoStream = _this$
|
|
7670
|
+
var _this$mediaProperties34 = this.mediaProperties,
|
|
7671
|
+
mediaDirection = _this$mediaProperties34.mediaDirection,
|
|
7672
|
+
remoteShareStream = _this$mediaProperties34.remoteShareStream,
|
|
7673
|
+
remoteVideoStream = _this$mediaProperties34.remoteVideoStream;
|
|
7622
7674
|
var layoutInfo = (0, _lodash.cloneDeep)(this.lastVideoLayoutInfo);
|
|
7623
7675
|
|
|
7624
7676
|
// TODO: We need a real time value for Audio, Video and Share send indicator
|
|
@@ -7890,8 +7942,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7890
7942
|
}, {
|
|
7891
7943
|
key: "checkMediaConnection",
|
|
7892
7944
|
value: function checkMediaConnection() {
|
|
7893
|
-
var _this$
|
|
7894
|
-
if ((_this$
|
|
7945
|
+
var _this$mediaProperties35;
|
|
7946
|
+
if ((_this$mediaProperties35 = this.mediaProperties) !== null && _this$mediaProperties35 !== void 0 && _this$mediaProperties35.webrtcMediaConnection) {
|
|
7895
7947
|
return;
|
|
7896
7948
|
}
|
|
7897
7949
|
throw new _webexErrors.NoMediaEstablishedYetError();
|
|
@@ -7951,14 +8003,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7951
8003
|
}, {
|
|
7952
8004
|
key: "updateTranscodedMediaConnection",
|
|
7953
8005
|
value: function updateTranscodedMediaConnection() {
|
|
7954
|
-
var _this$
|
|
7955
|
-
_this$
|
|
7956
|
-
_this$
|
|
7957
|
-
_this$
|
|
7958
|
-
_this$
|
|
7959
|
-
_this$
|
|
7960
|
-
_this$
|
|
7961
|
-
_this$
|
|
8006
|
+
var _this$mediaProperties36,
|
|
8007
|
+
_this$mediaProperties37,
|
|
8008
|
+
_this$mediaProperties38,
|
|
8009
|
+
_this$mediaProperties39,
|
|
8010
|
+
_this$mediaProperties40,
|
|
8011
|
+
_this$mediaProperties41,
|
|
8012
|
+
_this$mediaProperties42,
|
|
8013
|
+
_this$mediaProperties43,
|
|
7962
8014
|
_this50 = this;
|
|
7963
8015
|
var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
|
|
7964
8016
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
|
|
@@ -7968,10 +8020,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7968
8020
|
return this.mediaProperties.webrtcMediaConnection.update({
|
|
7969
8021
|
// TODO: RoapMediaConnection is not ready to use stream classes yet, so we pass the raw MediaStreamTrack for now
|
|
7970
8022
|
localTracks: {
|
|
7971
|
-
audio: ((_this$
|
|
7972
|
-
video: ((_this$
|
|
7973
|
-
screenShareVideo: ((_this$
|
|
7974
|
-
screenShareAudio: ((_this$
|
|
8023
|
+
audio: ((_this$mediaProperties36 = this.mediaProperties.audioStream) === null || _this$mediaProperties36 === void 0 ? void 0 : (_this$mediaProperties37 = _this$mediaProperties36.outputStream) === null || _this$mediaProperties37 === void 0 ? void 0 : _this$mediaProperties37.getTracks()[0]) || null,
|
|
8024
|
+
video: ((_this$mediaProperties38 = this.mediaProperties.videoStream) === null || _this$mediaProperties38 === void 0 ? void 0 : (_this$mediaProperties39 = _this$mediaProperties38.outputStream) === null || _this$mediaProperties39 === void 0 ? void 0 : _this$mediaProperties39.getTracks()[0]) || null,
|
|
8025
|
+
screenShareVideo: ((_this$mediaProperties40 = this.mediaProperties.shareVideoStream) === null || _this$mediaProperties40 === void 0 ? void 0 : (_this$mediaProperties41 = _this$mediaProperties40.outputStream) === null || _this$mediaProperties41 === void 0 ? void 0 : _this$mediaProperties41.getTracks()[0]) || null,
|
|
8026
|
+
screenShareAudio: ((_this$mediaProperties42 = this.mediaProperties.shareAudioStream) === null || _this$mediaProperties42 === void 0 ? void 0 : (_this$mediaProperties43 = _this$mediaProperties42.outputStream) === null || _this$mediaProperties43 === void 0 ? void 0 : _this$mediaProperties43.getTracks()[0]) || null
|
|
7975
8027
|
},
|
|
7976
8028
|
direction: {
|
|
7977
8029
|
audio: _media.default.getDirection(true, this.mediaProperties.mediaDirection.receiveAudio, this.mediaProperties.mediaDirection.sendAudio),
|