@webex/plugin-meetings 3.0.0-beta.146 → 3.0.0-beta.148
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/annotation/index.js +0 -2
- package/dist/annotation/index.js.map +1 -1
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/common/errors/webex-errors.js +3 -2
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/config.js +1 -7
- package/dist/config.js.map +1 -1
- package/dist/constants.js +7 -15
- package/dist/constants.js.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/media/index.js +5 -56
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +15 -93
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/index.js +1112 -1873
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +88 -184
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/util.js +1 -23
- package/dist/meeting/util.js.map +1 -1
- package/dist/meetings/index.js +1 -2
- package/dist/meetings/index.js.map +1 -1
- package/dist/reconnection-manager/index.js +153 -134
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/roap/index.js +8 -7
- package/dist/roap/index.js.map +1 -1
- package/dist/types/common/errors/webex-errors.d.ts +1 -1
- package/dist/types/config.d.ts +0 -6
- package/dist/types/constants.d.ts +1 -18
- package/dist/types/index.d.ts +1 -1
- package/dist/types/media/properties.d.ts +16 -38
- package/dist/types/meeting/index.d.ts +97 -353
- package/dist/types/meeting/muteState.d.ts +36 -38
- package/dist/types/meeting/util.d.ts +2 -4
- package/package.json +19 -19
- package/src/annotation/index.ts +0 -2
- package/src/common/errors/webex-errors.ts +6 -2
- package/src/config.ts +0 -6
- package/src/constants.ts +1 -14
- package/src/index.ts +1 -0
- package/src/media/index.ts +10 -53
- package/src/media/properties.ts +32 -92
- package/src/meeting/index.ts +544 -1567
- package/src/meeting/muteState.ts +87 -178
- package/src/meeting/util.ts +3 -24
- package/src/meetings/index.ts +0 -1
- package/src/reconnection-manager/index.ts +4 -9
- package/src/roap/index.ts +13 -14
- package/test/integration/spec/converged-space-meetings.js +59 -3
- package/test/integration/spec/journey.js +330 -256
- package/test/integration/spec/space-meeting.js +75 -3
- package/test/unit/spec/annotation/index.ts +4 -4
- package/test/unit/spec/meeting/index.js +811 -1367
- package/test/unit/spec/meeting/muteState.js +238 -394
- package/test/unit/spec/meeting/utils.js +2 -9
- package/test/unit/spec/multistream/receiveSlot.ts +1 -1
- package/test/unit/spec/roap/index.ts +2 -2
- package/test/utils/integrationTestUtils.js +5 -23
|
@@ -26,13 +26,10 @@ describe('plugin-meetings', () => {
|
|
|
26
26
|
});
|
|
27
27
|
LoggerProxy.set(logger);
|
|
28
28
|
|
|
29
|
-
meeting.
|
|
30
|
-
meeting.closeLocalShare = sinon.stub().returns(Promise.resolve());
|
|
29
|
+
meeting.cleanupLocalTracks = sinon.stub().returns(Promise.resolve());
|
|
31
30
|
meeting.closeRemoteTracks = sinon.stub().returns(Promise.resolve());
|
|
32
31
|
meeting.closePeerConnections = sinon.stub().returns(Promise.resolve());
|
|
33
32
|
|
|
34
|
-
meeting.unsetLocalVideoTrack = sinon.stub();
|
|
35
|
-
meeting.unsetLocalShareTrack = sinon.stub();
|
|
36
33
|
meeting.unsetRemoteTracks = sinon.stub();
|
|
37
34
|
meeting.unsetPeerConnections = sinon.stub();
|
|
38
35
|
meeting.reconnectionManager = {cleanUp: sinon.stub()};
|
|
@@ -49,14 +46,10 @@ describe('plugin-meetings', () => {
|
|
|
49
46
|
describe('#cleanup', () => {
|
|
50
47
|
it('do clean up on meeting object', async () => {
|
|
51
48
|
await MeetingUtil.cleanUp(meeting);
|
|
52
|
-
assert.calledOnce(meeting.
|
|
53
|
-
assert.calledOnce(meeting.closeLocalStream);
|
|
54
|
-
assert.calledOnce(meeting.closeLocalShare);
|
|
49
|
+
assert.calledOnce(meeting.cleanupLocalTracks);
|
|
55
50
|
assert.calledOnce(meeting.closeRemoteTracks);
|
|
56
51
|
assert.calledOnce(meeting.closePeerConnections);
|
|
57
52
|
|
|
58
|
-
assert.calledOnce(meeting.unsetLocalVideoTrack);
|
|
59
|
-
assert.calledOnce(meeting.unsetLocalShareTrack);
|
|
60
53
|
assert.calledOnce(meeting.unsetRemoteTracks);
|
|
61
54
|
assert.calledOnce(meeting.unsetPeerConnections);
|
|
62
55
|
assert.calledOnce(meeting.reconnectionManager.cleanUp);
|
|
@@ -98,13 +98,13 @@ describe('Roap', () => {
|
|
|
98
98
|
};
|
|
99
99
|
|
|
100
100
|
assert.calledOnce(sendRoapStub);
|
|
101
|
-
assert.calledWith(sendRoapStub, {
|
|
101
|
+
assert.calledWith(sendRoapStub, sinon.match({
|
|
102
102
|
roapMessage: expectedRoapMessage,
|
|
103
103
|
locusSelfUrl: meeting.selfUrl,
|
|
104
104
|
mediaId: expectEmptyMediaId ? '' : meeting.mediaId,
|
|
105
105
|
meetingId: meeting.id,
|
|
106
106
|
locusMediaRequest: meeting.locusMediaRequest,
|
|
107
|
-
});
|
|
107
|
+
}));
|
|
108
108
|
})
|
|
109
109
|
);
|
|
110
110
|
});
|
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
import {assert} from '@webex/test-helper-chai';
|
|
2
2
|
import {Defer} from '@webex/common';
|
|
3
|
-
import {LocalCameraTrack, LocalMicrophoneTrack} from '@webex/plugin-meetings';
|
|
4
3
|
|
|
5
4
|
const addMedia = async (user, options = {}) => {
|
|
6
|
-
const [localStream, localShare] = await user.meeting
|
|
7
|
-
.getMediaStreams({
|
|
8
|
-
sendAudio: true,
|
|
9
|
-
sendVideo: true,
|
|
10
|
-
sendShare: false,
|
|
11
|
-
});
|
|
12
5
|
|
|
13
|
-
|
|
14
|
-
await user.meeting.addMedia({});
|
|
15
|
-
await user.meeting.publishTracks({microphone: new LocalMicrophoneTrack(new MediaStream([localStream.getAudioTracks()?.[0]])), camera: new LocalCameraTrack(new MediaStream([localStream.getVideoTracks()?.[0]]))});
|
|
6
|
+
const {microphone, camera} = options;
|
|
16
7
|
|
|
8
|
+
if (options.multistream) {
|
|
9
|
+
await user.meeting.addMedia({localTracks: {microphone, camera}});
|
|
17
10
|
} else {
|
|
18
11
|
const mediaReadyPromises = Array.isArray(options.expectedMediaReadyTypes)
|
|
19
12
|
? options.expectedMediaReadyTypes.reduce((output, expectedMediaReadyType) => {
|
|
@@ -25,7 +18,7 @@ const addMedia = async (user, options = {}) => {
|
|
|
25
18
|
|
|
26
19
|
return output;
|
|
27
20
|
}, {})
|
|
28
|
-
: {
|
|
21
|
+
: {remoteAudio: new Defer(), remoteVideo: new Defer()};
|
|
29
22
|
|
|
30
23
|
const mediaReady = (media) => {
|
|
31
24
|
if (!media) {
|
|
@@ -38,18 +31,7 @@ const addMedia = async (user, options = {}) => {
|
|
|
38
31
|
|
|
39
32
|
user.meeting.on('media:ready', mediaReady);
|
|
40
33
|
|
|
41
|
-
await user.meeting.addMedia({
|
|
42
|
-
mediaSettings: {
|
|
43
|
-
sendAudio: true,
|
|
44
|
-
sendVideo: true,
|
|
45
|
-
sendShare: false,
|
|
46
|
-
receiveShare: true,
|
|
47
|
-
receiveAudio: true,
|
|
48
|
-
receiveVideo: true,
|
|
49
|
-
},
|
|
50
|
-
localShare,
|
|
51
|
-
localStream,
|
|
52
|
-
});
|
|
34
|
+
await user.meeting.addMedia({localTracks: {microphone, camera}});
|
|
53
35
|
await Promise.all(Object.values(mediaReadyPromises).map((defer) => defer.promise));
|
|
54
36
|
};
|
|
55
37
|
|