@webex/plugin-meetings 3.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.js +2 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +5 -4
- package/dist/constants.js +8 -4
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- 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/mediaSharesUtils.js +15 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/selfUtils.js +5 -0
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/MediaConnectionAwaiter.d.ts +61 -0
- package/dist/media/MediaConnectionAwaiter.js +163 -0
- package/dist/media/MediaConnectionAwaiter.js.map +1 -0
- package/dist/media/index.js +4 -1
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +4 -24
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/index.d.ts +26 -7
- package/dist/meeting/index.js +893 -677
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.d.ts +2 -8
- package/dist/meeting/muteState.js +37 -25
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.d.ts +3 -0
- package/dist/meeting/request.js +32 -23
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +1 -0
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +4 -1
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/index.d.ts +8 -0
- package/dist/meetings/index.js +20 -0
- package/dist/meetings/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.d.ts +2 -1
- package/dist/multistream/mediaRequestManager.js +1 -1
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.d.ts +2 -0
- package/dist/multistream/remoteMediaGroup.js +16 -2
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.d.ts +15 -0
- package/dist/multistream/remoteMediaManager.js +179 -65
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.d.ts +9 -1
- package/dist/multistream/sendSlotManager.js +22 -0
- package/dist/multistream/sendSlotManager.js.map +1 -1
- package/dist/reachability/clusterReachability.d.ts +1 -0
- package/dist/reachability/clusterReachability.js +29 -15
- package/dist/reachability/clusterReachability.js.map +1 -1
- package/dist/reachability/index.d.ts +4 -0
- package/dist/reachability/index.js +18 -2
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +12 -10
- package/dist/reachability/request.js.map +1 -1
- package/dist/reachability/util.d.ts +7 -0
- package/dist/reachability/util.js +19 -0
- package/dist/reachability/util.js.map +1 -1
- package/dist/reconnection-manager/index.js +2 -1
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/roap/index.d.ts +10 -2
- package/dist/roap/index.js +15 -0
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +3 -3
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.d.ts +64 -17
- package/dist/roap/turnDiscovery.js +307 -126
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/statsAnalyzer/index.js +53 -30
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/webinar/index.js +1 -1
- package/package.json +22 -22
- package/src/config.ts +1 -0
- package/src/constants.ts +7 -3
- package/src/index.ts +1 -0
- package/src/interpretation/index.ts +18 -1
- package/src/locus-info/mediaSharesUtils.ts +16 -0
- package/src/locus-info/selfUtils.ts +5 -0
- package/src/media/MediaConnectionAwaiter.ts +174 -0
- package/src/media/index.ts +3 -1
- package/src/media/properties.ts +6 -31
- package/src/meeting/index.ts +321 -106
- package/src/meeting/muteState.ts +34 -20
- package/src/meeting/request.ts +18 -2
- package/src/meeting/util.ts +1 -0
- package/src/meeting-info/utilv2.ts +2 -1
- package/src/meetings/index.ts +18 -0
- package/src/multistream/mediaRequestManager.ts +4 -1
- package/src/multistream/remoteMediaGroup.ts +19 -0
- package/src/multistream/remoteMediaManager.ts +101 -16
- package/src/multistream/sendSlotManager.ts +28 -0
- package/src/reachability/clusterReachability.ts +20 -5
- package/src/reachability/index.ts +24 -1
- package/src/reachability/request.ts +15 -11
- package/src/reachability/util.ts +21 -0
- package/src/reconnection-manager/index.ts +1 -1
- package/src/roap/index.ts +25 -3
- package/src/roap/request.ts +3 -3
- package/src/roap/turnDiscovery.ts +244 -78
- package/src/statsAnalyzer/index.ts +63 -27
- package/test/integration/spec/journey.js +14 -14
- package/test/integration/spec/space-meeting.js +1 -1
- package/test/unit/spec/interpretation/index.ts +39 -3
- package/test/unit/spec/locus-info/index.js +28 -19
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +9 -0
- package/test/unit/spec/locus-info/selfUtils.js +42 -12
- package/test/unit/spec/media/MediaConnectionAwaiter.ts +344 -0
- package/test/unit/spec/media/index.ts +89 -78
- package/test/unit/spec/media/properties.ts +16 -70
- package/test/unit/spec/meeting/index.js +638 -139
- package/test/unit/spec/meeting/muteState.js +219 -67
- package/test/unit/spec/meeting/request.js +21 -0
- package/test/unit/spec/meeting/utils.js +6 -1
- package/test/unit/spec/meeting-info/utilv2.js +6 -0
- package/test/unit/spec/meetings/index.js +40 -20
- package/test/unit/spec/multistream/mediaRequestManager.ts +20 -2
- package/test/unit/spec/multistream/remoteMediaGroup.ts +79 -1
- package/test/unit/spec/multistream/remoteMediaManager.ts +199 -1
- package/test/unit/spec/multistream/sendSlotManager.ts +50 -18
- package/test/unit/spec/reachability/clusterReachability.ts +86 -22
- package/test/unit/spec/reachability/index.ts +197 -60
- package/test/unit/spec/reachability/request.js +15 -7
- package/test/unit/spec/reachability/util.ts +32 -2
- package/test/unit/spec/reconnection-manager/index.js +28 -0
- package/test/unit/spec/roap/index.ts +61 -6
- package/test/unit/spec/roap/turnDiscovery.ts +298 -16
- package/test/unit/spec/stats-analyzer/index.js +179 -0
- package/dist/member/member.types.d.ts +0 -11
- package/dist/member/member.types.js +0 -17
- package/dist/member/member.types.js.map +0 -1
- package/src/member/member.types.ts +0 -13
- /package/test/unit/spec/locus-info/{lib/selfConstant.js → selfConstant.js} +0 -0
|
@@ -1543,6 +1543,185 @@ describe('plugin-meetings', () => {
|
|
|
1543
1543
|
},
|
|
1544
1544
|
]);
|
|
1545
1545
|
});
|
|
1546
|
+
|
|
1547
|
+
it('has three streams for video senders for simulcast', async () => {
|
|
1548
|
+
pc.getTransceiverStats = sinon.stub().resolves({
|
|
1549
|
+
audio: {
|
|
1550
|
+
senders: [fakeStats.audio.senders[0]],
|
|
1551
|
+
receivers: [fakeStats.audio.receivers[0]],
|
|
1552
|
+
},
|
|
1553
|
+
video: {
|
|
1554
|
+
senders: [
|
|
1555
|
+
{
|
|
1556
|
+
localTrackLabel: 'fake-camera',
|
|
1557
|
+
report: [
|
|
1558
|
+
{
|
|
1559
|
+
type: 'outbound-rtp',
|
|
1560
|
+
bytesSent: 1,
|
|
1561
|
+
framesSent: 0,
|
|
1562
|
+
packetsSent: 0,
|
|
1563
|
+
},
|
|
1564
|
+
{
|
|
1565
|
+
type: 'outbound-rtp',
|
|
1566
|
+
bytesSent: 0,
|
|
1567
|
+
framesSent: 0,
|
|
1568
|
+
packetsSent: 0,
|
|
1569
|
+
},
|
|
1570
|
+
{
|
|
1571
|
+
type: 'outbound-rtp',
|
|
1572
|
+
bytesSent: 1000,
|
|
1573
|
+
framesSent: 1,
|
|
1574
|
+
packetsSent: 1,
|
|
1575
|
+
},
|
|
1576
|
+
{
|
|
1577
|
+
type: 'remote-inbound-rtp',
|
|
1578
|
+
packetsLost: 0,
|
|
1579
|
+
},
|
|
1580
|
+
{
|
|
1581
|
+
type: 'candidate-pair',
|
|
1582
|
+
state: 'succeeded',
|
|
1583
|
+
localCandidateId: 'fake-candidate-id',
|
|
1584
|
+
},
|
|
1585
|
+
{
|
|
1586
|
+
type: 'candidate-pair',
|
|
1587
|
+
state: 'failed',
|
|
1588
|
+
localCandidateId: 'bad-candidate-id',
|
|
1589
|
+
},
|
|
1590
|
+
{
|
|
1591
|
+
type: 'local-candidate',
|
|
1592
|
+
id: 'fake-candidate-id',
|
|
1593
|
+
protocol: 'tcp',
|
|
1594
|
+
},
|
|
1595
|
+
],
|
|
1596
|
+
},
|
|
1597
|
+
],
|
|
1598
|
+
receivers: [fakeStats.video.receivers[0]],
|
|
1599
|
+
},
|
|
1600
|
+
screenShareAudio: {
|
|
1601
|
+
senders: [fakeStats.audio.senders[0]],
|
|
1602
|
+
receivers: [fakeStats.audio.receivers[0]],
|
|
1603
|
+
},
|
|
1604
|
+
screenShareVideo: {
|
|
1605
|
+
senders: [fakeStats.video.senders[0]],
|
|
1606
|
+
receivers: [fakeStats.video.receivers[0]],
|
|
1607
|
+
},
|
|
1608
|
+
});
|
|
1609
|
+
|
|
1610
|
+
await startStatsAnalyzer({expected: {receiveVideo: true}});
|
|
1611
|
+
|
|
1612
|
+
await progressTime();
|
|
1613
|
+
|
|
1614
|
+
assert.deepEqual(mqeData.videoTransmit[0].streams, [
|
|
1615
|
+
{
|
|
1616
|
+
common: {
|
|
1617
|
+
codec: 'H264',
|
|
1618
|
+
csi: [],
|
|
1619
|
+
duplicateSsci: 0,
|
|
1620
|
+
requestedBitrate: 0,
|
|
1621
|
+
requestedFrames: 0,
|
|
1622
|
+
rtpPackets: 0,
|
|
1623
|
+
ssci: 0,
|
|
1624
|
+
transmittedBitrate: 0.13333333333333333,
|
|
1625
|
+
transmittedFrameRate: 0
|
|
1626
|
+
},
|
|
1627
|
+
h264CodecProfile: 'BP',
|
|
1628
|
+
isAvatar: false,
|
|
1629
|
+
isHardwareEncoded: false,
|
|
1630
|
+
localConfigurationChanges: 2,
|
|
1631
|
+
maxFrameQp: 0,
|
|
1632
|
+
maxNoiseLevel: 0,
|
|
1633
|
+
minRegionQp: 0,
|
|
1634
|
+
remoteConfigurationChanges: 0,
|
|
1635
|
+
requestedFrameSize: 0,
|
|
1636
|
+
requestedKeyFrames: 0,
|
|
1637
|
+
transmittedFrameSize: 0,
|
|
1638
|
+
transmittedHeight: 0,
|
|
1639
|
+
transmittedKeyFrames: 0,
|
|
1640
|
+
transmittedKeyFramesClient: 0,
|
|
1641
|
+
transmittedKeyFramesConfigurationChange: 0,
|
|
1642
|
+
transmittedKeyFramesFeedback: 0,
|
|
1643
|
+
transmittedKeyFramesLocalDrop: 0,
|
|
1644
|
+
transmittedKeyFramesOtherLayer: 0,
|
|
1645
|
+
transmittedKeyFramesPeriodic: 0,
|
|
1646
|
+
transmittedKeyFramesSceneChange: 0,
|
|
1647
|
+
transmittedKeyFramesStartup: 0,
|
|
1648
|
+
transmittedKeyFramesUnknown: 0,
|
|
1649
|
+
transmittedWidth: 0,
|
|
1650
|
+
},
|
|
1651
|
+
{
|
|
1652
|
+
common: {
|
|
1653
|
+
codec: 'H264',
|
|
1654
|
+
csi: [],
|
|
1655
|
+
duplicateSsci: 0,
|
|
1656
|
+
requestedBitrate: 0,
|
|
1657
|
+
requestedFrames: 0,
|
|
1658
|
+
rtpPackets: 0,
|
|
1659
|
+
ssci: 0,
|
|
1660
|
+
transmittedBitrate: 0,
|
|
1661
|
+
transmittedFrameRate: 0,
|
|
1662
|
+
},
|
|
1663
|
+
h264CodecProfile: 'BP',
|
|
1664
|
+
isAvatar: false,
|
|
1665
|
+
isHardwareEncoded: false,
|
|
1666
|
+
localConfigurationChanges: 2,
|
|
1667
|
+
maxFrameQp: 0,
|
|
1668
|
+
maxNoiseLevel: 0,
|
|
1669
|
+
minRegionQp: 0,
|
|
1670
|
+
remoteConfigurationChanges: 0,
|
|
1671
|
+
requestedFrameSize: 0,
|
|
1672
|
+
requestedKeyFrames: 0,
|
|
1673
|
+
transmittedFrameSize: 0,
|
|
1674
|
+
transmittedHeight: 0,
|
|
1675
|
+
transmittedKeyFrames: 0,
|
|
1676
|
+
transmittedKeyFramesClient: 0,
|
|
1677
|
+
transmittedKeyFramesConfigurationChange: 0,
|
|
1678
|
+
transmittedKeyFramesFeedback: 0,
|
|
1679
|
+
transmittedKeyFramesLocalDrop: 0,
|
|
1680
|
+
transmittedKeyFramesOtherLayer: 0,
|
|
1681
|
+
transmittedKeyFramesPeriodic: 0,
|
|
1682
|
+
transmittedKeyFramesSceneChange: 0,
|
|
1683
|
+
transmittedKeyFramesStartup: 0,
|
|
1684
|
+
transmittedKeyFramesUnknown: 0,
|
|
1685
|
+
transmittedWidth: 0,
|
|
1686
|
+
},
|
|
1687
|
+
{
|
|
1688
|
+
common: {
|
|
1689
|
+
codec: 'H264',
|
|
1690
|
+
csi: [],
|
|
1691
|
+
duplicateSsci: 0,
|
|
1692
|
+
requestedBitrate: 0,
|
|
1693
|
+
requestedFrames: 0,
|
|
1694
|
+
rtpPackets: 1,
|
|
1695
|
+
ssci: 0,
|
|
1696
|
+
transmittedBitrate: 133.33333333333334,
|
|
1697
|
+
transmittedFrameRate: 0,
|
|
1698
|
+
},
|
|
1699
|
+
h264CodecProfile: 'BP',
|
|
1700
|
+
isAvatar: false,
|
|
1701
|
+
isHardwareEncoded: false,
|
|
1702
|
+
localConfigurationChanges: 2,
|
|
1703
|
+
maxFrameQp: 0,
|
|
1704
|
+
maxNoiseLevel: 0,
|
|
1705
|
+
minRegionQp: 0,
|
|
1706
|
+
remoteConfigurationChanges: 0,
|
|
1707
|
+
requestedFrameSize: 0,
|
|
1708
|
+
requestedKeyFrames: 0,
|
|
1709
|
+
transmittedFrameSize: 0,
|
|
1710
|
+
transmittedHeight: 0,
|
|
1711
|
+
transmittedKeyFrames: 0,
|
|
1712
|
+
transmittedKeyFramesClient: 0,
|
|
1713
|
+
transmittedKeyFramesConfigurationChange: 0,
|
|
1714
|
+
transmittedKeyFramesFeedback: 0,
|
|
1715
|
+
transmittedKeyFramesLocalDrop: 0,
|
|
1716
|
+
transmittedKeyFramesOtherLayer: 0,
|
|
1717
|
+
transmittedKeyFramesPeriodic: 0,
|
|
1718
|
+
transmittedKeyFramesSceneChange: 0,
|
|
1719
|
+
transmittedKeyFramesStartup: 0,
|
|
1720
|
+
transmittedKeyFramesUnknown: 0,
|
|
1721
|
+
transmittedWidth: 0,
|
|
1722
|
+
}
|
|
1723
|
+
]);
|
|
1724
|
+
});
|
|
1546
1725
|
});
|
|
1547
1726
|
});
|
|
1548
1727
|
});
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
_Object$defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.MediaStatus = void 0;
|
|
8
|
-
// values are inherited from locus so don't update these
|
|
9
|
-
var MediaStatus = exports.MediaStatus = /*#__PURE__*/function (MediaStatus) {
|
|
10
|
-
MediaStatus["RECVONLY"] = "RECVONLY";
|
|
11
|
-
MediaStatus["SENDONLY"] = "SENDONLY";
|
|
12
|
-
MediaStatus["SENDRECV"] = "SENDRECV";
|
|
13
|
-
MediaStatus["INACTIVE"] = "INACTIVE";
|
|
14
|
-
MediaStatus["UNKNOWN"] = "UNKNOWN";
|
|
15
|
-
return MediaStatus;
|
|
16
|
-
}({}); // participant has not added media in the meeting
|
|
17
|
-
//# sourceMappingURL=member.types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["MediaStatus","exports"],"sources":["member.types.ts"],"sourcesContent":["// values are inherited from locus so don't update these\nexport enum MediaStatus {\n RECVONLY = 'RECVONLY', // participant only receiving and not sending\n SENDONLY = 'SENDONLY', // participant only sending and not receiving\n SENDRECV = 'SENDRECV', // participant both sending and receiving\n INACTIVE = 'INACTIVE', // participant is not connected to media source\n UNKNOWN = 'UNKNOWN', // participant has not added media in the meeting\n}\n\nexport interface IMediaStatus {\n audio: MediaStatus;\n video: MediaStatus;\n}\n"],"mappings":";;;;;;;AAAA;AAAA,IACYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA,OAKA"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
// values are inherited from locus so don't update these
|
|
2
|
-
export enum MediaStatus {
|
|
3
|
-
RECVONLY = 'RECVONLY', // participant only receiving and not sending
|
|
4
|
-
SENDONLY = 'SENDONLY', // participant only sending and not receiving
|
|
5
|
-
SENDRECV = 'SENDRECV', // participant both sending and receiving
|
|
6
|
-
INACTIVE = 'INACTIVE', // participant is not connected to media source
|
|
7
|
-
UNKNOWN = 'UNKNOWN', // participant has not added media in the meeting
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export interface IMediaStatus {
|
|
11
|
-
audio: MediaStatus;
|
|
12
|
-
video: MediaStatus;
|
|
13
|
-
}
|
|
File without changes
|