@webex/plugin-meetings 3.6.0-next.13 → 3.6.0-next.14
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/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/meeting/index.js +2 -1
- package/dist/meeting/index.js.map +1 -1
- package/dist/webinar/index.js +1 -1
- package/package.json +3 -3
- package/src/meeting/index.ts +1 -1
- package/test/unit/spec/meeting/index.js +44 -31
package/dist/webinar/index.js
CHANGED
package/package.json
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"@webex/eslint-config-legacy": "0.0.0",
|
|
44
44
|
"@webex/jest-config-legacy": "0.0.0",
|
|
45
45
|
"@webex/legacy-tools": "0.0.0",
|
|
46
|
-
"@webex/plugin-meetings": "3.6.0-next.
|
|
46
|
+
"@webex/plugin-meetings": "3.6.0-next.14",
|
|
47
47
|
"@webex/plugin-rooms": "3.6.0-next.6",
|
|
48
48
|
"@webex/test-helper-chai": "3.6.0-next.2",
|
|
49
49
|
"@webex/test-helper-mocha": "3.6.0-next.2",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"@webex/internal-plugin-metrics": "3.6.0-next.2",
|
|
71
71
|
"@webex/internal-plugin-support": "3.6.0-next.6",
|
|
72
72
|
"@webex/internal-plugin-user": "3.6.0-next.2",
|
|
73
|
-
"@webex/internal-plugin-voicea": "3.6.0-next.
|
|
73
|
+
"@webex/internal-plugin-voicea": "3.6.0-next.14",
|
|
74
74
|
"@webex/media-helpers": "3.6.0-next.2",
|
|
75
75
|
"@webex/plugin-people": "3.6.0-next.4",
|
|
76
76
|
"@webex/plugin-rooms": "3.6.0-next.6",
|
|
@@ -91,5 +91,5 @@
|
|
|
91
91
|
"//": [
|
|
92
92
|
"TODO: upgrade jwt-decode when moving to node 18"
|
|
93
93
|
],
|
|
94
|
-
"version": "3.6.0-next.
|
|
94
|
+
"version": "3.6.0-next.14"
|
|
95
95
|
}
|
package/src/meeting/index.ts
CHANGED
|
@@ -7123,7 +7123,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
7123
7123
|
shareAudioEnabled = true,
|
|
7124
7124
|
shareVideoEnabled = true,
|
|
7125
7125
|
remoteMediaManagerConfig,
|
|
7126
|
-
bundlePolicy,
|
|
7126
|
+
bundlePolicy = 'max-bundle',
|
|
7127
7127
|
} = options;
|
|
7128
7128
|
|
|
7129
7129
|
this.allowMediaInLobby = options?.allowMediaInLobby;
|
|
@@ -3442,47 +3442,60 @@ describe('plugin-meetings', () => {
|
|
|
3442
3442
|
});
|
|
3443
3443
|
});
|
|
3444
3444
|
|
|
3445
|
-
|
|
3445
|
+
describe('bundlePolicy', () => {
|
|
3446
3446
|
const FAKE_TURN_URL = 'turns:webex.com:3478';
|
|
3447
3447
|
const FAKE_TURN_USER = 'some-turn-username';
|
|
3448
3448
|
const FAKE_TURN_PASSWORD = 'some-password';
|
|
3449
3449
|
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
|
|
3453
|
-
meeting.roap.doTurnDiscovery = sinon.stub().resolves({
|
|
3454
|
-
turnServerInfo: {
|
|
3455
|
-
url: FAKE_TURN_URL,
|
|
3456
|
-
username: FAKE_TURN_USER,
|
|
3457
|
-
password: FAKE_TURN_PASSWORD,
|
|
3458
|
-
},
|
|
3459
|
-
turnDiscoverySkippedReason: undefined,
|
|
3460
|
-
});
|
|
3461
|
-
const media = meeting.addMedia({
|
|
3462
|
-
mediaSettings: {},
|
|
3463
|
-
bundlePolicy: 'bundlePolicy-value',
|
|
3464
|
-
});
|
|
3450
|
+
beforeEach(() => {
|
|
3451
|
+
meeting.meetingState = 'ACTIVE';
|
|
3452
|
+
Media.createMediaConnection.resetHistory();
|
|
3465
3453
|
|
|
3466
|
-
|
|
3467
|
-
await media;
|
|
3468
|
-
assert.calledOnce(meeting.roap.doTurnDiscovery);
|
|
3469
|
-
assert.calledWith(meeting.roap.doTurnDiscovery, meeting, false);
|
|
3470
|
-
assert.calledOnce(Media.createMediaConnection);
|
|
3471
|
-
assert.calledWith(
|
|
3472
|
-
Media.createMediaConnection,
|
|
3473
|
-
false,
|
|
3474
|
-
meeting.getMediaConnectionDebugId(),
|
|
3475
|
-
meeting.id,
|
|
3476
|
-
sinon.match({
|
|
3454
|
+
meeting.roap.doTurnDiscovery = sinon.stub().resolves({
|
|
3477
3455
|
turnServerInfo: {
|
|
3478
3456
|
url: FAKE_TURN_URL,
|
|
3479
3457
|
username: FAKE_TURN_USER,
|
|
3480
3458
|
password: FAKE_TURN_PASSWORD,
|
|
3481
3459
|
},
|
|
3482
|
-
|
|
3483
|
-
})
|
|
3484
|
-
);
|
|
3485
|
-
|
|
3460
|
+
turnDiscoverySkippedReason: undefined,
|
|
3461
|
+
});
|
|
3462
|
+
});
|
|
3463
|
+
|
|
3464
|
+
const runCheck = async (bundlePolicy, expectedValue) => {
|
|
3465
|
+
const media = meeting.addMedia({
|
|
3466
|
+
mediaSettings: {},
|
|
3467
|
+
bundlePolicy,
|
|
3468
|
+
});
|
|
3469
|
+
|
|
3470
|
+
assert.exists(media);
|
|
3471
|
+
await media;
|
|
3472
|
+
assert.calledOnce(meeting.roap.doTurnDiscovery);
|
|
3473
|
+
assert.calledWith(meeting.roap.doTurnDiscovery, meeting, false);
|
|
3474
|
+
assert.calledOnce(Media.createMediaConnection);
|
|
3475
|
+
assert.calledWith(
|
|
3476
|
+
Media.createMediaConnection,
|
|
3477
|
+
false,
|
|
3478
|
+
meeting.getMediaConnectionDebugId(),
|
|
3479
|
+
meeting.id,
|
|
3480
|
+
sinon.match({
|
|
3481
|
+
turnServerInfo: {
|
|
3482
|
+
url: FAKE_TURN_URL,
|
|
3483
|
+
username: FAKE_TURN_USER,
|
|
3484
|
+
password: FAKE_TURN_PASSWORD,
|
|
3485
|
+
},
|
|
3486
|
+
bundlePolicy: expectedValue,
|
|
3487
|
+
})
|
|
3488
|
+
);
|
|
3489
|
+
assert.calledOnce(fakeMediaConnection.initiateOffer);
|
|
3490
|
+
};
|
|
3491
|
+
|
|
3492
|
+
it('should pass bundlePolicy to createMediaConnection', async () => {
|
|
3493
|
+
await runCheck('max-compat', 'max-compat');
|
|
3494
|
+
});
|
|
3495
|
+
|
|
3496
|
+
it('should pass max-bundle to createMediaConnection if bundlePolicy is not provided', async () => {
|
|
3497
|
+
await runCheck(undefined, 'max-bundle');
|
|
3498
|
+
});
|
|
3486
3499
|
});
|
|
3487
3500
|
|
|
3488
3501
|
it('succeeds even if getDevices() throws', async () => {
|