@webex/plugin-meetings 3.0.0-beta.276 → 3.0.0-beta.277

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/plugin-meetings",
3
- "version": "3.0.0-beta.276",
3
+ "version": "3.0.0-beta.277",
4
4
  "description": "",
5
5
  "license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
6
6
  "contributors": [
@@ -32,12 +32,12 @@
32
32
  "build": "yarn run -T tsc --declaration true --declarationDir ./dist/types"
33
33
  },
34
34
  "devDependencies": {
35
- "@webex/plugin-meetings": "3.0.0-beta.276",
36
- "@webex/test-helper-chai": "3.0.0-beta.276",
37
- "@webex/test-helper-mocha": "3.0.0-beta.276",
38
- "@webex/test-helper-mock-webex": "3.0.0-beta.276",
39
- "@webex/test-helper-retry": "3.0.0-beta.276",
40
- "@webex/test-helper-test-users": "3.0.0-beta.276",
35
+ "@webex/plugin-meetings": "3.0.0-beta.277",
36
+ "@webex/test-helper-chai": "3.0.0-beta.277",
37
+ "@webex/test-helper-mocha": "3.0.0-beta.277",
38
+ "@webex/test-helper-mock-webex": "3.0.0-beta.277",
39
+ "@webex/test-helper-retry": "3.0.0-beta.277",
40
+ "@webex/test-helper-test-users": "3.0.0-beta.277",
41
41
  "chai": "^4.3.4",
42
42
  "chai-as-promised": "^7.1.1",
43
43
  "jsdom-global": "3.0.2",
@@ -46,19 +46,19 @@
46
46
  "typescript": "^4.7.4"
47
47
  },
48
48
  "dependencies": {
49
- "@webex/common": "3.0.0-beta.276",
49
+ "@webex/common": "3.0.0-beta.277",
50
50
  "@webex/internal-media-core": "2.0.6",
51
- "@webex/internal-plugin-conversation": "3.0.0-beta.276",
52
- "@webex/internal-plugin-device": "3.0.0-beta.276",
53
- "@webex/internal-plugin-llm": "3.0.0-beta.276",
54
- "@webex/internal-plugin-mercury": "3.0.0-beta.276",
55
- "@webex/internal-plugin-metrics": "3.0.0-beta.276",
56
- "@webex/internal-plugin-support": "3.0.0-beta.276",
57
- "@webex/internal-plugin-user": "3.0.0-beta.276",
58
- "@webex/media-helpers": "3.0.0-beta.276",
59
- "@webex/plugin-people": "3.0.0-beta.276",
60
- "@webex/plugin-rooms": "3.0.0-beta.276",
61
- "@webex/webex-core": "3.0.0-beta.276",
51
+ "@webex/internal-plugin-conversation": "3.0.0-beta.277",
52
+ "@webex/internal-plugin-device": "3.0.0-beta.277",
53
+ "@webex/internal-plugin-llm": "3.0.0-beta.277",
54
+ "@webex/internal-plugin-mercury": "3.0.0-beta.277",
55
+ "@webex/internal-plugin-metrics": "3.0.0-beta.277",
56
+ "@webex/internal-plugin-support": "3.0.0-beta.277",
57
+ "@webex/internal-plugin-user": "3.0.0-beta.277",
58
+ "@webex/media-helpers": "3.0.0-beta.277",
59
+ "@webex/plugin-people": "3.0.0-beta.277",
60
+ "@webex/plugin-rooms": "3.0.0-beta.277",
61
+ "@webex/webex-core": "3.0.0-beta.277",
62
62
  "ampersand-collection": "^2.0.2",
63
63
  "bowser": "^2.11.0",
64
64
  "btoa": "^1.2.1",
@@ -5542,8 +5542,8 @@ export default class Meeting extends StatelessWebexPlugin {
5542
5542
  this.mediaProperties.mediaDirection.receiveShare,
5543
5543
  ];
5544
5544
 
5545
- this.sendSlotManager.createSlot(mc, MediaType.VideoMain, audioEnabled);
5546
- this.sendSlotManager.createSlot(mc, MediaType.AudioMain, videoEnabled);
5545
+ this.sendSlotManager.createSlot(mc, MediaType.VideoMain, videoEnabled);
5546
+ this.sendSlotManager.createSlot(mc, MediaType.AudioMain, audioEnabled);
5547
5547
  this.sendSlotManager.createSlot(mc, MediaType.VideoSlides, shareEnabled);
5548
5548
  this.sendSlotManager.createSlot(mc, MediaType.AudioSlides, shareEnabled);
5549
5549
  }
@@ -2081,6 +2081,11 @@ describe('plugin-meetings', () => {
2081
2081
  iceServers,
2082
2082
  }, meetingId);
2083
2083
 
2084
+ assert.calledWith(fakeMultistreamRoapMediaConnection.createSendSlot, MediaType.AudioMain, direction.audio !== 'inactive');
2085
+ assert.calledWith(fakeMultistreamRoapMediaConnection.createSendSlot, MediaType.VideoMain, direction.video !== 'inactive');
2086
+ assert.calledWith(fakeMultistreamRoapMediaConnection.createSendSlot, MediaType.AudioSlides, direction.screenShare !== 'inactive');
2087
+ assert.calledWith(fakeMultistreamRoapMediaConnection.createSendSlot, MediaType.VideoSlides, direction.screenShare !== 'inactive');
2088
+
2084
2089
  for(let type in localStreams){
2085
2090
  const stream = localStreams[type];
2086
2091
  if(stream !== undefined){
@@ -2109,7 +2114,7 @@ describe('plugin-meetings', () => {
2109
2114
  screenShareVideo: localStreams.screenShareVideo?.outputTrack,
2110
2115
  screenShareAudio: localStreams.screenShareAudio?.outputTrack,
2111
2116
  },
2112
- direction,
2117
+ direction: {audio: direction.audio, video: direction.video, screenShareVideo: direction.screenShare},
2113
2118
  remoteQualityLevel,
2114
2119
  },
2115
2120
  expectedDebugId
@@ -2133,7 +2138,7 @@ describe('plugin-meetings', () => {
2133
2138
  direction: {
2134
2139
  audio: 'sendrecv',
2135
2140
  video: 'sendrecv',
2136
- screenShareVideo: 'recvonly',
2141
+ screenShare: 'recvonly',
2137
2142
  },
2138
2143
  remoteQualityLevel: 'HIGH',
2139
2144
  expectedDebugId,
@@ -2163,7 +2168,7 @@ describe('plugin-meetings', () => {
2163
2168
  direction: {
2164
2169
  audio: 'sendrecv',
2165
2170
  video: 'sendrecv',
2166
- screenShareVideo: 'recvonly',
2171
+ screenShare: 'recvonly',
2167
2172
  },
2168
2173
  remoteQualityLevel: 'HIGH',
2169
2174
  expectedDebugId,
@@ -2195,7 +2200,7 @@ describe('plugin-meetings', () => {
2195
2200
  direction: {
2196
2201
  audio: 'sendrecv',
2197
2202
  video: 'sendrecv',
2198
- screenShareVideo: 'recvonly',
2203
+ screenShare: 'recvonly',
2199
2204
  },
2200
2205
  remoteQualityLevel: 'HIGH',
2201
2206
  expectedDebugId,
@@ -2224,7 +2229,7 @@ describe('plugin-meetings', () => {
2224
2229
  direction: {
2225
2230
  audio: 'inactive',
2226
2231
  video: 'sendrecv',
2227
- screenShareVideo: 'recvonly',
2232
+ screenShare: 'recvonly',
2228
2233
  },
2229
2234
  remoteQualityLevel: 'HIGH',
2230
2235
  expectedDebugId,
@@ -2254,7 +2259,68 @@ describe('plugin-meetings', () => {
2254
2259
  direction: {
2255
2260
  audio: 'inactive',
2256
2261
  video: 'sendrecv',
2257
- screenShareVideo: 'recvonly',
2262
+ screenShare: 'recvonly',
2263
+ },
2264
+ remoteQualityLevel: 'HIGH',
2265
+ expectedDebugId,
2266
+ meetingId: meeting.id
2267
+ });
2268
+
2269
+ // and SDP offer was sent with the right audioMuted/videoMuted values
2270
+ checkSdpOfferSent({audioMuted: true, videoMuted: true});
2271
+
2272
+ // and no other local mute requests were sent to Locus
2273
+ assert.calledOnce(locusMediaRequestStub);
2274
+ });
2275
+
2276
+
2277
+ it('addMedia() works correctly when video is disabled with no tracks to publish', async () => {
2278
+ await meeting.addMedia({videoEnabled: false});
2279
+ await simulateRoapOffer();
2280
+
2281
+ // check RoapMediaConnection was created correctly
2282
+ checkMediaConnectionCreated({
2283
+ mediaConnectionConfig: expectedMediaConnectionConfig,
2284
+ localStreams: {
2285
+ audio: undefined,
2286
+ video: undefined,
2287
+ screenShareVideo: undefined,
2288
+ screenShareAudio: undefined,
2289
+ },
2290
+ direction: {
2291
+ audio: 'sendrecv',
2292
+ video: 'inactive',
2293
+ screenShare: 'recvonly',
2294
+ },
2295
+ remoteQualityLevel: 'HIGH',
2296
+ expectedDebugId,
2297
+ meetingId: meeting.id
2298
+ });
2299
+
2300
+ // and SDP offer was sent with the right audioMuted/videoMuted values
2301
+ checkSdpOfferSent({audioMuted: true, videoMuted: true});
2302
+
2303
+ // and no other local mute requests were sent to Locus
2304
+ assert.calledOnce(locusMediaRequestStub);
2305
+ });
2306
+
2307
+ it('addMedia() works correctly when screen share is disabled with no tracks to publish', async () => {
2308
+ await meeting.addMedia({shareAudioEnabled: false, shareVideoEnabled: false});
2309
+ await simulateRoapOffer();
2310
+
2311
+ // check RoapMediaConnection was created correctly
2312
+ checkMediaConnectionCreated({
2313
+ mediaConnectionConfig: expectedMediaConnectionConfig,
2314
+ localStreams: {
2315
+ audio: undefined,
2316
+ video: undefined,
2317
+ screenShareVideo: undefined,
2318
+ screenShareAudio: undefined,
2319
+ },
2320
+ direction: {
2321
+ audio: 'sendrecv',
2322
+ video: 'sendrecv',
2323
+ screenShare: 'inactive',
2258
2324
  },
2259
2325
  remoteQualityLevel: 'HIGH',
2260
2326
  expectedDebugId,