@webex/plugin-meetings 3.0.0-beta.170 → 3.0.0-beta.172
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/README.md +0 -6
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/media/index.js +3 -3
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +22 -5
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/index.js +529 -415
- package/dist/meeting/index.js.map +1 -1
- package/dist/member/index.js +15 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +11 -1
- package/dist/member/types.js.map +1 -1
- package/dist/member/util.js +15 -0
- package/dist/member/util.js.map +1 -1
- package/dist/reconnection-manager/index.js +1 -2
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/media/properties.d.ts +10 -3
- package/dist/types/meeting/index.d.ts +41 -9
- package/dist/types/member/index.d.ts +2 -1
- package/dist/types/member/types.d.ts +11 -0
- package/package.json +20 -20
- package/src/index.ts +2 -0
- package/src/media/index.ts +11 -5
- package/src/media/properties.ts +24 -5
- package/src/meeting/index.ts +210 -77
- package/src/member/index.ts +17 -1
- package/src/member/types.ts +14 -0
- package/src/member/util.ts +23 -1
- package/src/reconnection-manager/index.ts +4 -1
- package/test/integration/spec/journey.js +9 -9
- package/test/unit/spec/media/index.ts +13 -3
- package/test/unit/spec/meeting/index.js +106 -15
- package/test/unit/spec/member/index.js +36 -13
- package/test/unit/spec/member/util.js +31 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IExternalRoles } from './types';
|
|
1
|
+
import { IExternalRoles, IMediaStatus } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* @class Member
|
|
4
4
|
*/
|
|
@@ -23,6 +23,7 @@ export default class Member {
|
|
|
23
23
|
isUser: any;
|
|
24
24
|
isVideoMuted: any;
|
|
25
25
|
roles: IExternalRoles;
|
|
26
|
+
mediaStatus: IMediaStatus;
|
|
26
27
|
name: any;
|
|
27
28
|
participant: any;
|
|
28
29
|
status: any;
|
|
@@ -19,3 +19,14 @@ export type ParticipantWithRoles = {
|
|
|
19
19
|
};
|
|
20
20
|
};
|
|
21
21
|
};
|
|
22
|
+
export declare enum MediaStatus {
|
|
23
|
+
RECVONLY = "RECVONLY",
|
|
24
|
+
SENDONLY = "SENDONLY",
|
|
25
|
+
SENDRECV = "SENDRECV",
|
|
26
|
+
INACTIVE = "INACTIVE",
|
|
27
|
+
UNKNOWN = "UNKNOWN"
|
|
28
|
+
}
|
|
29
|
+
export interface IMediaStatus {
|
|
30
|
+
audio: MediaStatus;
|
|
31
|
+
video: MediaStatus;
|
|
32
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webex/plugin-meetings",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.172",
|
|
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.
|
|
36
|
-
"@webex/test-helper-chai": "3.0.0-beta.
|
|
37
|
-
"@webex/test-helper-mocha": "3.0.0-beta.
|
|
38
|
-
"@webex/test-helper-mock-webex": "3.0.0-beta.
|
|
39
|
-
"@webex/test-helper-retry": "3.0.0-beta.
|
|
40
|
-
"@webex/test-helper-test-users": "3.0.0-beta.
|
|
35
|
+
"@webex/plugin-meetings": "3.0.0-beta.172",
|
|
36
|
+
"@webex/test-helper-chai": "3.0.0-beta.172",
|
|
37
|
+
"@webex/test-helper-mocha": "3.0.0-beta.172",
|
|
38
|
+
"@webex/test-helper-mock-webex": "3.0.0-beta.172",
|
|
39
|
+
"@webex/test-helper-retry": "3.0.0-beta.172",
|
|
40
|
+
"@webex/test-helper-test-users": "3.0.0-beta.172",
|
|
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.
|
|
50
|
-
"@webex/internal-media-core": "1.
|
|
51
|
-
"@webex/internal-plugin-conversation": "3.0.0-beta.
|
|
52
|
-
"@webex/internal-plugin-device": "3.0.0-beta.
|
|
53
|
-
"@webex/internal-plugin-llm": "3.0.0-beta.
|
|
54
|
-
"@webex/internal-plugin-mercury": "3.0.0-beta.
|
|
55
|
-
"@webex/internal-plugin-metrics": "3.0.0-beta.
|
|
56
|
-
"@webex/internal-plugin-support": "3.0.0-beta.
|
|
57
|
-
"@webex/internal-plugin-user": "3.0.0-beta.
|
|
58
|
-
"@webex/media-helpers": "3.0.0-beta.
|
|
59
|
-
"@webex/plugin-people": "3.0.0-beta.
|
|
60
|
-
"@webex/plugin-rooms": "3.0.0-beta.
|
|
61
|
-
"@webex/webex-core": "3.0.0-beta.
|
|
49
|
+
"@webex/common": "3.0.0-beta.172",
|
|
50
|
+
"@webex/internal-media-core": "1.39.1",
|
|
51
|
+
"@webex/internal-plugin-conversation": "3.0.0-beta.172",
|
|
52
|
+
"@webex/internal-plugin-device": "3.0.0-beta.172",
|
|
53
|
+
"@webex/internal-plugin-llm": "3.0.0-beta.172",
|
|
54
|
+
"@webex/internal-plugin-mercury": "3.0.0-beta.172",
|
|
55
|
+
"@webex/internal-plugin-metrics": "3.0.0-beta.172",
|
|
56
|
+
"@webex/internal-plugin-support": "3.0.0-beta.172",
|
|
57
|
+
"@webex/internal-plugin-user": "3.0.0-beta.172",
|
|
58
|
+
"@webex/media-helpers": "3.0.0-beta.172",
|
|
59
|
+
"@webex/plugin-people": "3.0.0-beta.172",
|
|
60
|
+
"@webex/plugin-rooms": "3.0.0-beta.172",
|
|
61
|
+
"@webex/webex-core": "3.0.0-beta.172",
|
|
62
62
|
"ampersand-collection": "^2.0.2",
|
|
63
63
|
"bowser": "^2.11.0",
|
|
64
64
|
"btoa": "^1.2.1",
|
package/src/index.ts
CHANGED
|
@@ -12,6 +12,7 @@ export {
|
|
|
12
12
|
getDevices,
|
|
13
13
|
LocalTrack,
|
|
14
14
|
LocalDisplayTrack,
|
|
15
|
+
LocalSystemAudioTrack,
|
|
15
16
|
LocalTrackEvents,
|
|
16
17
|
type TrackMuteEvent,
|
|
17
18
|
type ServerMuteReason,
|
|
@@ -22,6 +23,7 @@ export {
|
|
|
22
23
|
createMicrophoneTrack,
|
|
23
24
|
createCameraTrack,
|
|
24
25
|
createDisplayTrack,
|
|
26
|
+
createDisplayTrackWithAudio,
|
|
25
27
|
FacingMode,
|
|
26
28
|
DisplaySurface,
|
|
27
29
|
PresetCameraConstraints,
|
package/src/media/index.ts
CHANGED
|
@@ -4,7 +4,12 @@
|
|
|
4
4
|
/* globals navigator */
|
|
5
5
|
|
|
6
6
|
import {RoapMediaConnection, MultistreamRoapMediaConnection} from '@webex/internal-media-core';
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
LocalCameraTrack,
|
|
9
|
+
LocalDisplayTrack,
|
|
10
|
+
LocalSystemAudioTrack,
|
|
11
|
+
LocalMicrophoneTrack,
|
|
12
|
+
} from '@webex/media-helpers';
|
|
8
13
|
import LoggerProxy from '../common/logs/logger-proxy';
|
|
9
14
|
import {MEDIA_TRACK_CONSTRAINT} from '../constants';
|
|
10
15
|
import Config from '../config';
|
|
@@ -99,7 +104,7 @@ Media.getDirection = (forceSendRecv: boolean, receive: boolean, send: boolean) =
|
|
|
99
104
|
* @param {string} debugId string useful for debugging (will appear in media connection logs)
|
|
100
105
|
* @param {Object} options
|
|
101
106
|
* @param {Object} [options.mediaProperties] contains mediaDirection and local tracks:
|
|
102
|
-
* audioTrack, videoTrack and
|
|
107
|
+
* audioTrack, videoTrack, shareVideoTrack, and shareAudioTrack
|
|
103
108
|
* @param {string} [options.remoteQualityLevel] LOW|MEDIUM|HIGH applicable only to non-multistream connections
|
|
104
109
|
* @param {boolean} [options.enableRtx] applicable only to non-multistream connections
|
|
105
110
|
* @param {boolean} [options.enableExtmap] applicable only to non-multistream connections
|
|
@@ -122,7 +127,8 @@ Media.createMediaConnection = (
|
|
|
122
127
|
};
|
|
123
128
|
audioTrack?: LocalMicrophoneTrack;
|
|
124
129
|
videoTrack?: LocalCameraTrack;
|
|
125
|
-
|
|
130
|
+
shareVideoTrack?: LocalDisplayTrack;
|
|
131
|
+
shareAudioTrack?: LocalSystemAudioTrack;
|
|
126
132
|
};
|
|
127
133
|
remoteQualityLevel?: 'LOW' | 'MEDIUM' | 'HIGH';
|
|
128
134
|
enableRtx?: boolean;
|
|
@@ -174,7 +180,7 @@ Media.createMediaConnection = (
|
|
|
174
180
|
throw new Error('mediaProperties have to be provided for non-multistream media connections');
|
|
175
181
|
}
|
|
176
182
|
|
|
177
|
-
const {mediaDirection, audioTrack, videoTrack,
|
|
183
|
+
const {mediaDirection, audioTrack, videoTrack, shareVideoTrack} = mediaProperties;
|
|
178
184
|
|
|
179
185
|
return new RoapMediaConnection(
|
|
180
186
|
{
|
|
@@ -198,7 +204,7 @@ Media.createMediaConnection = (
|
|
|
198
204
|
localTracks: {
|
|
199
205
|
audio: audioTrack?.underlyingTrack,
|
|
200
206
|
video: videoTrack?.underlyingTrack,
|
|
201
|
-
screenShareVideo:
|
|
207
|
+
screenShareVideo: shareVideoTrack?.underlyingTrack,
|
|
202
208
|
},
|
|
203
209
|
direction: {
|
|
204
210
|
audio: Media.getDirection(true, mediaDirection.receiveAudio, mediaDirection.sendAudio),
|
package/src/media/properties.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import {ConnectionState, Event} from '@webex/internal-media-core';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
LocalCameraTrack,
|
|
5
|
+
LocalMicrophoneTrack,
|
|
6
|
+
LocalDisplayTrack,
|
|
7
|
+
LocalSystemAudioTrack,
|
|
8
|
+
} from '@webex/media-helpers';
|
|
4
9
|
|
|
5
10
|
import {MEETINGS, PC_BAIL_TIMEOUT, QUALITY_LEVELS} from '../constants';
|
|
6
11
|
import LoggerProxy from '../common/logs/logger-proxy';
|
|
@@ -26,7 +31,8 @@ export default class MediaProperties {
|
|
|
26
31
|
remoteQualityLevel: any;
|
|
27
32
|
remoteShare: any;
|
|
28
33
|
remoteVideoTrack: any;
|
|
29
|
-
|
|
34
|
+
shareVideoTrack?: LocalDisplayTrack;
|
|
35
|
+
shareAudioTrack?: LocalSystemAudioTrack;
|
|
30
36
|
videoDeviceId: any;
|
|
31
37
|
videoTrack?: LocalCameraTrack;
|
|
32
38
|
namespace = MEETINGS;
|
|
@@ -47,7 +53,8 @@ export default class MediaProperties {
|
|
|
47
53
|
};
|
|
48
54
|
this.videoTrack = null;
|
|
49
55
|
this.audioTrack = null;
|
|
50
|
-
this.
|
|
56
|
+
this.shareVideoTrack = null;
|
|
57
|
+
this.shareAudioTrack = null;
|
|
51
58
|
this.remoteShare = undefined;
|
|
52
59
|
this.remoteAudioTrack = undefined;
|
|
53
60
|
this.remoteVideoTrack = undefined;
|
|
@@ -84,8 +91,12 @@ export default class MediaProperties {
|
|
|
84
91
|
this.audioTrack = audioTrack;
|
|
85
92
|
}
|
|
86
93
|
|
|
87
|
-
|
|
88
|
-
this.
|
|
94
|
+
setLocalShareVideoTrack(shareVideoTrack?: LocalDisplayTrack) {
|
|
95
|
+
this.shareVideoTrack = shareVideoTrack;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
setLocalShareAudioTrack(shareAudioTrack?: LocalSystemAudioTrack) {
|
|
99
|
+
this.shareAudioTrack = shareAudioTrack;
|
|
89
100
|
}
|
|
90
101
|
|
|
91
102
|
setRemoteQualityLevel(remoteQualityLevel) {
|
|
@@ -149,6 +160,14 @@ export default class MediaProperties {
|
|
|
149
160
|
this.unsetRemoteShare();
|
|
150
161
|
}
|
|
151
162
|
|
|
163
|
+
/**
|
|
164
|
+
* Returns if we have at least one local share track or not.
|
|
165
|
+
* @returns {Boolean}
|
|
166
|
+
*/
|
|
167
|
+
hasLocalShareTrack() {
|
|
168
|
+
return !!(this.shareAudioTrack || this.shareVideoTrack);
|
|
169
|
+
}
|
|
170
|
+
|
|
152
171
|
/**
|
|
153
172
|
* Waits for the webrtc media connection to be connected.
|
|
154
173
|
*
|