@webex/media-helpers 3.0.1 → 3.1.0-next.2
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/babel.config.js +3 -0
- package/dist/constants.js +5 -4
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +48 -41
- package/dist/index.js.map +1 -1
- package/dist/webrtc-core.d.ts +10 -10
- package/dist/webrtc-core.js +155 -87
- package/dist/webrtc-core.js.map +1 -1
- package/jest.config.js +1 -4
- package/package.json +6 -5
- package/src/index.ts +1 -0
- package/src/webrtc-core.ts +11 -10
- package/test/unit/spec/webrtc-core.js +11 -10
- package/babel.config.json +0 -13
package/babel.config.js
ADDED
package/dist/constants.js
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.PresetCameraConstraints = exports.FacingMode = exports.DisplaySurface = void 0;
|
|
7
|
-
|
|
8
|
+
var FacingMode = exports.FacingMode = /*#__PURE__*/function (FacingMode) {
|
|
8
9
|
FacingMode["user"] = "user";
|
|
9
10
|
FacingMode["environment"] = "environment";
|
|
10
11
|
return FacingMode;
|
|
11
12
|
}({}); // can be used later on when we add constraints in create display track
|
|
12
|
-
|
|
13
|
+
var DisplaySurface = exports.DisplaySurface = /*#__PURE__*/function (DisplaySurface) {
|
|
13
14
|
DisplaySurface["browser"] = "browser";
|
|
14
15
|
DisplaySurface["monitor"] = "monitor";
|
|
15
16
|
DisplaySurface["window"] = "window";
|
|
16
17
|
return DisplaySurface;
|
|
17
18
|
}({});
|
|
18
|
-
|
|
19
|
+
var PresetCameraConstraints = exports.PresetCameraConstraints = {
|
|
19
20
|
'1080p': {
|
|
20
21
|
frameRate: 30,
|
|
21
22
|
width: 1920,
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
{"version":3,"names":["FacingMode","exports","DisplaySurface","PresetCameraConstraints","frameRate","width","height"],"sources":["constants.ts"],"sourcesContent":["import {VideoDeviceConstraints} from '@webex/internal-media-core';\n\nexport enum FacingMode {\n user = 'user',\n environment = 'environment',\n}\n\n// can be used later on when we add constraints in create display track\nexport enum DisplaySurface {\n browser = 'browser',\n monitor = 'monitor',\n window = 'window',\n}\n\nexport const PresetCameraConstraints: {[key: string]: VideoDeviceConstraints} = {\n '1080p': {frameRate: 30, width: 1920, height: 1080},\n\n '720p': {frameRate: 30, width: 1280, height: 720},\n\n '480p': {frameRate: 30, width: 640, height: 480},\n\n '360p': {frameRate: 30, width: 640, height: 360},\n\n '240p': {frameRate: 30, width: 320, height: 240},\n\n '180p': {frameRate: 30, width: 320, height: 180},\n\n '120p': {frameRate: 30, width: 160, height: 120},\n};\n"],"mappings":";;;;;;;IAEYA,UAAU,GAAAC,OAAA,CAAAD,UAAA,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA,OAKtB;AAAA,IACYE,cAAc,GAAAD,OAAA,CAAAC,cAAA,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAMnB,IAAMC,uBAAgE,GAAAF,OAAA,CAAAE,uBAAA,GAAG;EAC9E,OAAO,EAAE;IAACC,SAAS,EAAE,EAAE;IAAEC,KAAK,EAAE,IAAI;IAAEC,MAAM,EAAE;EAAI,CAAC;EAEnD,MAAM,EAAE;IAACF,SAAS,EAAE,EAAE;IAAEC,KAAK,EAAE,IAAI;IAAEC,MAAM,EAAE;EAAG,CAAC;EAEjD,MAAM,EAAE;IAACF,SAAS,EAAE,EAAE;IAAEC,KAAK,EAAE,GAAG;IAAEC,MAAM,EAAE;EAAG,CAAC;EAEhD,MAAM,EAAE;IAACF,SAAS,EAAE,EAAE;IAAEC,KAAK,EAAE,GAAG;IAAEC,MAAM,EAAE;EAAG,CAAC;EAEhD,MAAM,EAAE;IAACF,SAAS,EAAE,EAAE;IAAEC,KAAK,EAAE,GAAG;IAAEC,MAAM,EAAE;EAAG,CAAC;EAEhD,MAAM,EAAE;IAACF,SAAS,EAAE,EAAE;IAAEC,KAAK,EAAE,GAAG;IAAEC,MAAM,EAAE;EAAG,CAAC;EAEhD,MAAM,EAAE;IAACF,SAAS,EAAE,EAAE;IAAEC,KAAK,EAAE,GAAG;IAAEC,MAAM,EAAE;EAAG;AACjD,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { getDevices, LocalStream, LocalDisplayStream, LocalSystemAudioStream, LocalStreamEventNames, StreamEventNames, RemoteStream, type ServerMuteReason, LocalMicrophoneStreamEventNames, LocalCameraStreamEventNames, LocalMicrophoneStream, LocalCameraStream, createMicrophoneStream, createCameraStream, createDisplayStream, createDisplayStreamWithAudio, type VideoContentHint, } from './webrtc-core';
|
|
1
|
+
export { getDevices, LocalStream, LocalDisplayStream, LocalSystemAudioStream, LocalStreamEventNames, StreamEventNames, RemoteStream, RemoteStreamEventNames, type ServerMuteReason, LocalMicrophoneStreamEventNames, LocalCameraStreamEventNames, LocalMicrophoneStream, LocalCameraStream, createMicrophoneStream, createCameraStream, createDisplayStream, createDisplayStreamWithAudio, type VideoContentHint, } from './webrtc-core';
|
|
2
2
|
export { NoiseReductionEffect, VirtualBackgroundEffect } from '@webex/web-media-effects';
|
|
3
3
|
export type { NoiseReductionEffectOptions, VirtualBackgroundEffectOptions, } from '@webex/web-media-effects';
|
|
4
4
|
export { FacingMode, DisplaySurface, PresetCameraConstraints } from './constants';
|
package/dist/index.js
CHANGED
|
@@ -1,125 +1,132 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
|
-
|
|
7
|
+
_Object$defineProperty(exports, "DisplaySurface", {
|
|
7
8
|
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
+
get: function get() {
|
|
9
10
|
return _constants.DisplaySurface;
|
|
10
11
|
}
|
|
11
12
|
});
|
|
12
|
-
|
|
13
|
+
_Object$defineProperty(exports, "FacingMode", {
|
|
13
14
|
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
+
get: function get() {
|
|
15
16
|
return _constants.FacingMode;
|
|
16
17
|
}
|
|
17
18
|
});
|
|
18
|
-
|
|
19
|
+
_Object$defineProperty(exports, "LocalCameraStream", {
|
|
19
20
|
enumerable: true,
|
|
20
|
-
get: function () {
|
|
21
|
+
get: function get() {
|
|
21
22
|
return _webrtcCore.LocalCameraStream;
|
|
22
23
|
}
|
|
23
24
|
});
|
|
24
|
-
|
|
25
|
+
_Object$defineProperty(exports, "LocalCameraStreamEventNames", {
|
|
25
26
|
enumerable: true,
|
|
26
|
-
get: function () {
|
|
27
|
+
get: function get() {
|
|
27
28
|
return _webrtcCore.LocalCameraStreamEventNames;
|
|
28
29
|
}
|
|
29
30
|
});
|
|
30
|
-
|
|
31
|
+
_Object$defineProperty(exports, "LocalDisplayStream", {
|
|
31
32
|
enumerable: true,
|
|
32
|
-
get: function () {
|
|
33
|
+
get: function get() {
|
|
33
34
|
return _webrtcCore.LocalDisplayStream;
|
|
34
35
|
}
|
|
35
36
|
});
|
|
36
|
-
|
|
37
|
+
_Object$defineProperty(exports, "LocalMicrophoneStream", {
|
|
37
38
|
enumerable: true,
|
|
38
|
-
get: function () {
|
|
39
|
+
get: function get() {
|
|
39
40
|
return _webrtcCore.LocalMicrophoneStream;
|
|
40
41
|
}
|
|
41
42
|
});
|
|
42
|
-
|
|
43
|
+
_Object$defineProperty(exports, "LocalMicrophoneStreamEventNames", {
|
|
43
44
|
enumerable: true,
|
|
44
|
-
get: function () {
|
|
45
|
+
get: function get() {
|
|
45
46
|
return _webrtcCore.LocalMicrophoneStreamEventNames;
|
|
46
47
|
}
|
|
47
48
|
});
|
|
48
|
-
|
|
49
|
+
_Object$defineProperty(exports, "LocalStream", {
|
|
49
50
|
enumerable: true,
|
|
50
|
-
get: function () {
|
|
51
|
+
get: function get() {
|
|
51
52
|
return _webrtcCore.LocalStream;
|
|
52
53
|
}
|
|
53
54
|
});
|
|
54
|
-
|
|
55
|
+
_Object$defineProperty(exports, "LocalStreamEventNames", {
|
|
55
56
|
enumerable: true,
|
|
56
|
-
get: function () {
|
|
57
|
+
get: function get() {
|
|
57
58
|
return _webrtcCore.LocalStreamEventNames;
|
|
58
59
|
}
|
|
59
60
|
});
|
|
60
|
-
|
|
61
|
+
_Object$defineProperty(exports, "LocalSystemAudioStream", {
|
|
61
62
|
enumerable: true,
|
|
62
|
-
get: function () {
|
|
63
|
+
get: function get() {
|
|
63
64
|
return _webrtcCore.LocalSystemAudioStream;
|
|
64
65
|
}
|
|
65
66
|
});
|
|
66
|
-
|
|
67
|
+
_Object$defineProperty(exports, "NoiseReductionEffect", {
|
|
67
68
|
enumerable: true,
|
|
68
|
-
get: function () {
|
|
69
|
+
get: function get() {
|
|
69
70
|
return _webMediaEffects.NoiseReductionEffect;
|
|
70
71
|
}
|
|
71
72
|
});
|
|
72
|
-
|
|
73
|
+
_Object$defineProperty(exports, "PresetCameraConstraints", {
|
|
73
74
|
enumerable: true,
|
|
74
|
-
get: function () {
|
|
75
|
+
get: function get() {
|
|
75
76
|
return _constants.PresetCameraConstraints;
|
|
76
77
|
}
|
|
77
78
|
});
|
|
78
|
-
|
|
79
|
+
_Object$defineProperty(exports, "RemoteStream", {
|
|
79
80
|
enumerable: true,
|
|
80
|
-
get: function () {
|
|
81
|
+
get: function get() {
|
|
81
82
|
return _webrtcCore.RemoteStream;
|
|
82
83
|
}
|
|
83
84
|
});
|
|
84
|
-
|
|
85
|
+
_Object$defineProperty(exports, "RemoteStreamEventNames", {
|
|
85
86
|
enumerable: true,
|
|
86
|
-
get: function () {
|
|
87
|
+
get: function get() {
|
|
88
|
+
return _webrtcCore.RemoteStreamEventNames;
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
_Object$defineProperty(exports, "StreamEventNames", {
|
|
92
|
+
enumerable: true,
|
|
93
|
+
get: function get() {
|
|
87
94
|
return _webrtcCore.StreamEventNames;
|
|
88
95
|
}
|
|
89
96
|
});
|
|
90
|
-
|
|
97
|
+
_Object$defineProperty(exports, "VirtualBackgroundEffect", {
|
|
91
98
|
enumerable: true,
|
|
92
|
-
get: function () {
|
|
99
|
+
get: function get() {
|
|
93
100
|
return _webMediaEffects.VirtualBackgroundEffect;
|
|
94
101
|
}
|
|
95
102
|
});
|
|
96
|
-
|
|
103
|
+
_Object$defineProperty(exports, "createCameraStream", {
|
|
97
104
|
enumerable: true,
|
|
98
|
-
get: function () {
|
|
105
|
+
get: function get() {
|
|
99
106
|
return _webrtcCore.createCameraStream;
|
|
100
107
|
}
|
|
101
108
|
});
|
|
102
|
-
|
|
109
|
+
_Object$defineProperty(exports, "createDisplayStream", {
|
|
103
110
|
enumerable: true,
|
|
104
|
-
get: function () {
|
|
111
|
+
get: function get() {
|
|
105
112
|
return _webrtcCore.createDisplayStream;
|
|
106
113
|
}
|
|
107
114
|
});
|
|
108
|
-
|
|
115
|
+
_Object$defineProperty(exports, "createDisplayStreamWithAudio", {
|
|
109
116
|
enumerable: true,
|
|
110
|
-
get: function () {
|
|
117
|
+
get: function get() {
|
|
111
118
|
return _webrtcCore.createDisplayStreamWithAudio;
|
|
112
119
|
}
|
|
113
120
|
});
|
|
114
|
-
|
|
121
|
+
_Object$defineProperty(exports, "createMicrophoneStream", {
|
|
115
122
|
enumerable: true,
|
|
116
|
-
get: function () {
|
|
123
|
+
get: function get() {
|
|
117
124
|
return _webrtcCore.createMicrophoneStream;
|
|
118
125
|
}
|
|
119
126
|
});
|
|
120
|
-
|
|
127
|
+
_Object$defineProperty(exports, "getDevices", {
|
|
121
128
|
enumerable: true,
|
|
122
|
-
get: function () {
|
|
129
|
+
get: function get() {
|
|
123
130
|
return _webrtcCore.getDevices;
|
|
124
131
|
}
|
|
125
132
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
{"version":3,"names":["_webrtcCore","require","_webMediaEffects","_constants"],"sources":["index.ts"],"sourcesContent":["export {\n getDevices,\n LocalStream,\n LocalDisplayStream,\n LocalSystemAudioStream,\n LocalStreamEventNames,\n StreamEventNames,\n RemoteStream,\n RemoteStreamEventNames,\n type ServerMuteReason,\n LocalMicrophoneStreamEventNames,\n LocalCameraStreamEventNames,\n LocalMicrophoneStream,\n LocalCameraStream,\n createMicrophoneStream,\n createCameraStream,\n createDisplayStream,\n createDisplayStreamWithAudio,\n type VideoContentHint,\n} from './webrtc-core';\n\nexport {NoiseReductionEffect, VirtualBackgroundEffect} from '@webex/web-media-effects';\nexport type {\n NoiseReductionEffectOptions,\n VirtualBackgroundEffectOptions,\n} from '@webex/web-media-effects';\n\nexport {FacingMode, DisplaySurface, PresetCameraConstraints} from './constants';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAqBA,IAAAC,gBAAA,GAAAD,OAAA;AAMA,IAAAE,UAAA,GAAAF,OAAA"}
|
package/dist/webrtc-core.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AudioDeviceConstraints, LocalDisplayStream, LocalSystemAudioStream, LocalMicrophoneStream as WcmeLocalMicrophoneStream, LocalCameraStream as WcmeLocalCameraStream, VideoDeviceConstraints } from '@webex/internal-media-core';
|
|
2
2
|
import { TypedEvent, WithEventsDummyType } from '@webex/ts-events';
|
|
3
|
-
export { getDevices, LocalStream, LocalDisplayStream, LocalSystemAudioStream, LocalStreamEventNames, StreamEventNames, RemoteStream, type VideoContentHint, } from '@webex/internal-media-core';
|
|
3
|
+
export { getDevices, LocalStream, LocalDisplayStream, LocalSystemAudioStream, LocalStreamEventNames, StreamEventNames, RemoteStream, RemoteStreamEventNames, type VideoContentHint, } from '@webex/internal-media-core';
|
|
4
4
|
export type ServerMuteReason = 'remotelyMuted' | 'clientRequestFailed' | 'localUnmuteRequired';
|
|
5
5
|
export declare enum LocalMicrophoneStreamEventNames {
|
|
6
6
|
ServerMuted = "muted:byServer"
|
|
@@ -12,7 +12,7 @@ interface LocalMicrophoneStreamEvents {
|
|
|
12
12
|
[LocalMicrophoneStreamEventNames.ServerMuted]: TypedEvent<(muted: boolean, reason: ServerMuteReason) => void>;
|
|
13
13
|
}
|
|
14
14
|
interface LocalCameraStreamEvents {
|
|
15
|
-
[
|
|
15
|
+
[LocalCameraStreamEventNames.ServerMuted]: TypedEvent<(muted: boolean, reason: ServerMuteReason) => void>;
|
|
16
16
|
}
|
|
17
17
|
declare class _LocalMicrophoneStream extends WcmeLocalMicrophoneStream {
|
|
18
18
|
private unmuteAllowed;
|
|
@@ -21,7 +21,7 @@ declare class _LocalMicrophoneStream extends WcmeLocalMicrophoneStream {
|
|
|
21
21
|
* @returns true if user is allowed to unmute the track, false otherwise
|
|
22
22
|
*/
|
|
23
23
|
isUnmuteAllowed(): boolean;
|
|
24
|
-
|
|
24
|
+
setUserMuted(muted: boolean): void;
|
|
25
25
|
}
|
|
26
26
|
declare class _LocalCameraStream extends WcmeLocalCameraStream {
|
|
27
27
|
private unmuteAllowed;
|
|
@@ -30,7 +30,7 @@ declare class _LocalCameraStream extends WcmeLocalCameraStream {
|
|
|
30
30
|
* @returns true if user is allowed to unmute the track, false otherwise
|
|
31
31
|
*/
|
|
32
32
|
isUnmuteAllowed(): boolean;
|
|
33
|
-
|
|
33
|
+
setUserMuted(muted: boolean): void;
|
|
34
34
|
}
|
|
35
35
|
export declare const createMicrophoneStream: (constraints?: AudioDeviceConstraints) => Promise<{
|
|
36
36
|
on<K extends LocalMicrophoneStreamEventNames.ServerMuted, E extends LocalMicrophoneStreamEvents[K] extends infer T ? T extends LocalMicrophoneStreamEvents[K] ? T extends TypedEvent<infer X extends (...args: any[]) => void> ? X : never : never : never>(eventName: K, handler: E): void;
|
|
@@ -38,9 +38,9 @@ export declare const createMicrophoneStream: (constraints?: AudioDeviceConstrain
|
|
|
38
38
|
off<K_2 extends LocalMicrophoneStreamEventNames.ServerMuted, E_2 extends LocalMicrophoneStreamEvents[K_2] extends infer T_2 ? T_2 extends LocalMicrophoneStreamEvents[K_2] ? T_2 extends TypedEvent<infer X extends (...args: any[]) => void> ? X : never : never : never>(eventName: K_2, handler: E_2): void;
|
|
39
39
|
} & _LocalMicrophoneStream>;
|
|
40
40
|
export declare const createCameraStream: (constraints?: VideoDeviceConstraints) => Promise<{
|
|
41
|
-
on<K extends
|
|
42
|
-
once<K_1 extends
|
|
43
|
-
off<K_2 extends
|
|
41
|
+
on<K extends LocalCameraStreamEventNames.ServerMuted, E extends LocalCameraStreamEvents[K] extends infer T ? T extends LocalCameraStreamEvents[K] ? T extends TypedEvent<infer X extends (...args: any[]) => void> ? X : never : never : never>(eventName: K, handler: E): void;
|
|
42
|
+
once<K_1 extends LocalCameraStreamEventNames.ServerMuted, E_1 extends LocalCameraStreamEvents[K_1] extends infer T_1 ? T_1 extends LocalCameraStreamEvents[K_1] ? T_1 extends TypedEvent<infer X extends (...args: any[]) => void> ? X : never : never : never>(eventName: K_1, handler: E_1): void;
|
|
43
|
+
off<K_2 extends LocalCameraStreamEventNames.ServerMuted, E_2 extends LocalCameraStreamEvents[K_2] extends infer T_2 ? T_2 extends LocalCameraStreamEvents[K_2] ? T_2 extends TypedEvent<infer X extends (...args: any[]) => void> ? X : never : never : never>(eventName: K_2, handler: E_2): void;
|
|
44
44
|
} & _LocalCameraStream>;
|
|
45
45
|
export declare const createDisplayStream: () => Promise<LocalDisplayStream>;
|
|
46
46
|
export declare const createDisplayStreamWithAudio: () => Promise<[LocalDisplayStream, LocalSystemAudioStream]>;
|
|
@@ -51,8 +51,8 @@ export declare const LocalMicrophoneStream: (new (...args: any[]) => {
|
|
|
51
51
|
}) & typeof _LocalMicrophoneStream;
|
|
52
52
|
export type LocalMicrophoneStream = _LocalMicrophoneStream & WithEventsDummyType<LocalMicrophoneStreamEvents>;
|
|
53
53
|
export declare const LocalCameraStream: (new (...args: any[]) => {
|
|
54
|
-
on<K extends
|
|
55
|
-
once<K_1 extends
|
|
56
|
-
off<K_2 extends
|
|
54
|
+
on<K extends LocalCameraStreamEventNames.ServerMuted, E extends LocalCameraStreamEvents[K] extends infer T ? T extends LocalCameraStreamEvents[K] ? T extends TypedEvent<infer X extends (...args: any[]) => void> ? X : never : never : never>(eventName: K, handler: E): void;
|
|
55
|
+
once<K_1 extends LocalCameraStreamEventNames.ServerMuted, E_1 extends LocalCameraStreamEvents[K_1] extends infer T_1 ? T_1 extends LocalCameraStreamEvents[K_1] ? T_1 extends TypedEvent<infer X extends (...args: any[]) => void> ? X : never : never : never>(eventName: K_1, handler: E_1): void;
|
|
56
|
+
off<K_2 extends LocalCameraStreamEventNames.ServerMuted, E_2 extends LocalCameraStreamEvents[K_2] extends infer T_2 ? T_2 extends LocalCameraStreamEvents[K_2] ? T_2 extends TypedEvent<infer X extends (...args: any[]) => void> ? X : never : never : never>(eventName: K_2, handler: E_2): void;
|
|
57
57
|
}) & typeof _LocalCameraStream;
|
|
58
58
|
export type LocalCameraStream = _LocalCameraStream & WithEventsDummyType<LocalCameraStreamEvents>;
|
package/dist/webrtc-core.js
CHANGED
|
@@ -1,148 +1,216 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
|
|
4
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
4
7
|
value: true
|
|
5
8
|
});
|
|
6
9
|
exports.LocalCameraStreamEventNames = exports.LocalCameraStream = void 0;
|
|
7
|
-
|
|
10
|
+
_Object$defineProperty(exports, "LocalDisplayStream", {
|
|
8
11
|
enumerable: true,
|
|
9
|
-
get: function () {
|
|
12
|
+
get: function get() {
|
|
10
13
|
return _internalMediaCore.LocalDisplayStream;
|
|
11
14
|
}
|
|
12
15
|
});
|
|
13
16
|
exports.LocalMicrophoneStreamEventNames = exports.LocalMicrophoneStream = void 0;
|
|
14
|
-
|
|
17
|
+
_Object$defineProperty(exports, "LocalStream", {
|
|
15
18
|
enumerable: true,
|
|
16
|
-
get: function () {
|
|
19
|
+
get: function get() {
|
|
17
20
|
return _internalMediaCore.LocalStream;
|
|
18
21
|
}
|
|
19
22
|
});
|
|
20
|
-
|
|
23
|
+
_Object$defineProperty(exports, "LocalStreamEventNames", {
|
|
21
24
|
enumerable: true,
|
|
22
|
-
get: function () {
|
|
25
|
+
get: function get() {
|
|
23
26
|
return _internalMediaCore.LocalStreamEventNames;
|
|
24
27
|
}
|
|
25
28
|
});
|
|
26
|
-
|
|
29
|
+
_Object$defineProperty(exports, "LocalSystemAudioStream", {
|
|
27
30
|
enumerable: true,
|
|
28
|
-
get: function () {
|
|
31
|
+
get: function get() {
|
|
29
32
|
return _internalMediaCore.LocalSystemAudioStream;
|
|
30
33
|
}
|
|
31
34
|
});
|
|
32
|
-
|
|
35
|
+
_Object$defineProperty(exports, "RemoteStream", {
|
|
33
36
|
enumerable: true,
|
|
34
|
-
get: function () {
|
|
37
|
+
get: function get() {
|
|
35
38
|
return _internalMediaCore.RemoteStream;
|
|
36
39
|
}
|
|
37
40
|
});
|
|
38
|
-
|
|
41
|
+
_Object$defineProperty(exports, "RemoteStreamEventNames", {
|
|
39
42
|
enumerable: true,
|
|
40
|
-
get: function () {
|
|
43
|
+
get: function get() {
|
|
44
|
+
return _internalMediaCore.RemoteStreamEventNames;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
_Object$defineProperty(exports, "StreamEventNames", {
|
|
48
|
+
enumerable: true,
|
|
49
|
+
get: function get() {
|
|
41
50
|
return _internalMediaCore.StreamEventNames;
|
|
42
51
|
}
|
|
43
52
|
});
|
|
44
53
|
exports.createMicrophoneStream = exports.createDisplayStreamWithAudio = exports.createDisplayStream = exports.createCameraStream = void 0;
|
|
45
|
-
|
|
54
|
+
_Object$defineProperty(exports, "getDevices", {
|
|
46
55
|
enumerable: true,
|
|
47
|
-
get: function () {
|
|
56
|
+
get: function get() {
|
|
48
57
|
return _internalMediaCore.getDevices;
|
|
49
58
|
}
|
|
50
59
|
});
|
|
60
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
61
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
62
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
|
|
63
|
+
var _get2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/get"));
|
|
64
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
65
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
66
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
67
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
51
68
|
var _internalMediaCore = require("@webex/internal-media-core");
|
|
52
69
|
var _tsEvents = require("@webex/ts-events");
|
|
70
|
+
var _LocalMicrophoneStrea, _LocalCameraStreamEve;
|
|
53
71
|
/* eslint-disable @typescript-eslint/no-misused-new */
|
|
54
72
|
/* eslint-disable valid-jsdoc */
|
|
55
73
|
/* eslint-disable require-jsdoc */
|
|
74
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
75
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
56
76
|
// server forced the client to be unmuted
|
|
57
77
|
// these events are in addition to WCME events. This will be properly typed once webrtc-core event types inheritance is fixed
|
|
58
|
-
|
|
78
|
+
var LocalMicrophoneStreamEventNames = exports.LocalMicrophoneStreamEventNames = /*#__PURE__*/function (LocalMicrophoneStreamEventNames) {
|
|
59
79
|
LocalMicrophoneStreamEventNames["ServerMuted"] = "muted:byServer";
|
|
60
80
|
return LocalMicrophoneStreamEventNames;
|
|
61
81
|
}({}); // these events are in addition to WCME events. This will be properly typed once webrtc-core event types inheritance is fixed
|
|
62
|
-
|
|
82
|
+
var LocalCameraStreamEventNames = exports.LocalCameraStreamEventNames = /*#__PURE__*/function (LocalCameraStreamEventNames) {
|
|
63
83
|
LocalCameraStreamEventNames["ServerMuted"] = "muted:byServer";
|
|
64
84
|
return LocalCameraStreamEventNames;
|
|
65
85
|
}({});
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
86
|
+
_LocalMicrophoneStrea = LocalMicrophoneStreamEventNames.ServerMuted;
|
|
87
|
+
var _LocalMicrophoneStream = /*#__PURE__*/function (_WcmeLocalMicrophoneS) {
|
|
88
|
+
(0, _inherits2.default)(_LocalMicrophoneStream, _WcmeLocalMicrophoneS);
|
|
89
|
+
var _super = _createSuper(_LocalMicrophoneStream);
|
|
90
|
+
function _LocalMicrophoneStream() {
|
|
91
|
+
var _this;
|
|
92
|
+
(0, _classCallCheck2.default)(this, _LocalMicrophoneStream);
|
|
93
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
94
|
+
args[_key] = arguments[_key];
|
|
95
|
+
}
|
|
96
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
97
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "unmuteAllowed", true);
|
|
98
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), _LocalMicrophoneStrea, new _tsEvents.TypedEvent());
|
|
99
|
+
return _this;
|
|
75
100
|
}
|
|
101
|
+
(0, _createClass2.default)(_LocalMicrophoneStream, [{
|
|
102
|
+
key: "setUnmuteAllowed",
|
|
103
|
+
value:
|
|
104
|
+
/**
|
|
105
|
+
* @internal
|
|
106
|
+
*/
|
|
107
|
+
function setUnmuteAllowed(allowed) {
|
|
108
|
+
this.unmuteAllowed = allowed;
|
|
109
|
+
}
|
|
76
110
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
111
|
+
/**
|
|
112
|
+
* @returns true if user is allowed to unmute the track, false otherwise
|
|
113
|
+
*/
|
|
114
|
+
}, {
|
|
115
|
+
key: "isUnmuteAllowed",
|
|
116
|
+
value: function isUnmuteAllowed() {
|
|
117
|
+
return this.unmuteAllowed;
|
|
118
|
+
}
|
|
119
|
+
}, {
|
|
120
|
+
key: "setUserMuted",
|
|
121
|
+
value: function setUserMuted(muted) {
|
|
122
|
+
if (!muted) {
|
|
123
|
+
if (!this.isUnmuteAllowed()) {
|
|
124
|
+
throw new Error('Unmute is not allowed');
|
|
125
|
+
}
|
|
87
126
|
}
|
|
127
|
+
return (0, _get2.default)((0, _getPrototypeOf2.default)(_LocalMicrophoneStream.prototype), "setUserMuted", this).call(this, muted);
|
|
88
128
|
}
|
|
89
|
-
return super.setMuted(muted);
|
|
90
|
-
}
|
|
91
129
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
130
|
+
/**
|
|
131
|
+
* @internal
|
|
132
|
+
*/
|
|
133
|
+
}, {
|
|
134
|
+
key: "setServerMuted",
|
|
135
|
+
value: function setServerMuted(muted, reason) {
|
|
136
|
+
if (muted !== this.userMuted) {
|
|
137
|
+
this.setUserMuted(muted);
|
|
138
|
+
this[LocalMicrophoneStreamEventNames.ServerMuted].emit(muted, reason);
|
|
139
|
+
}
|
|
99
140
|
}
|
|
141
|
+
}]);
|
|
142
|
+
return _LocalMicrophoneStream;
|
|
143
|
+
}(_internalMediaCore.LocalMicrophoneStream);
|
|
144
|
+
_LocalCameraStreamEve = LocalCameraStreamEventNames.ServerMuted;
|
|
145
|
+
var _LocalCameraStream = /*#__PURE__*/function (_WcmeLocalCameraStrea) {
|
|
146
|
+
(0, _inherits2.default)(_LocalCameraStream, _WcmeLocalCameraStrea);
|
|
147
|
+
var _super2 = _createSuper(_LocalCameraStream);
|
|
148
|
+
function _LocalCameraStream() {
|
|
149
|
+
var _this2;
|
|
150
|
+
(0, _classCallCheck2.default)(this, _LocalCameraStream);
|
|
151
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
152
|
+
args[_key2] = arguments[_key2];
|
|
153
|
+
}
|
|
154
|
+
_this2 = _super2.call.apply(_super2, [this].concat(args));
|
|
155
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "unmuteAllowed", true);
|
|
156
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), _LocalCameraStreamEve, new _tsEvents.TypedEvent());
|
|
157
|
+
return _this2;
|
|
100
158
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
this.unmuteAllowed = allowed;
|
|
111
|
-
}
|
|
159
|
+
(0, _createClass2.default)(_LocalCameraStream, [{
|
|
160
|
+
key: "setUnmuteAllowed",
|
|
161
|
+
value:
|
|
162
|
+
/**
|
|
163
|
+
* @internal
|
|
164
|
+
*/
|
|
165
|
+
function setUnmuteAllowed(allowed) {
|
|
166
|
+
this.unmuteAllowed = allowed;
|
|
167
|
+
}
|
|
112
168
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
169
|
+
/**
|
|
170
|
+
* @returns true if user is allowed to unmute the track, false otherwise
|
|
171
|
+
*/
|
|
172
|
+
}, {
|
|
173
|
+
key: "isUnmuteAllowed",
|
|
174
|
+
value: function isUnmuteAllowed() {
|
|
175
|
+
return this.unmuteAllowed;
|
|
176
|
+
}
|
|
177
|
+
}, {
|
|
178
|
+
key: "setUserMuted",
|
|
179
|
+
value: function setUserMuted(muted) {
|
|
180
|
+
if (!muted) {
|
|
181
|
+
if (!this.isUnmuteAllowed()) {
|
|
182
|
+
throw new Error('Unmute is not allowed');
|
|
183
|
+
}
|
|
123
184
|
}
|
|
185
|
+
return (0, _get2.default)((0, _getPrototypeOf2.default)(_LocalCameraStream.prototype), "setUserMuted", this).call(this, muted);
|
|
124
186
|
}
|
|
125
|
-
return super.setMuted(muted);
|
|
126
|
-
}
|
|
127
187
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
188
|
+
/**
|
|
189
|
+
* @internal
|
|
190
|
+
*/
|
|
191
|
+
}, {
|
|
192
|
+
key: "setServerMuted",
|
|
193
|
+
value: function setServerMuted(muted, reason) {
|
|
194
|
+
if (muted !== this.userMuted) {
|
|
195
|
+
this.setUserMuted(muted);
|
|
196
|
+
this[LocalCameraStreamEventNames.ServerMuted].emit(muted, reason);
|
|
197
|
+
}
|
|
135
198
|
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
exports.createMicrophoneStream = createMicrophoneStream
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
exports.
|
|
146
|
-
|
|
147
|
-
|
|
199
|
+
}]);
|
|
200
|
+
return _LocalCameraStream;
|
|
201
|
+
}(_internalMediaCore.LocalCameraStream);
|
|
202
|
+
var createMicrophoneStream = exports.createMicrophoneStream = function createMicrophoneStream(constraints) {
|
|
203
|
+
return (0, _internalMediaCore.createMicrophoneStream)(LocalMicrophoneStream, constraints);
|
|
204
|
+
};
|
|
205
|
+
var createCameraStream = exports.createCameraStream = function createCameraStream(constraints) {
|
|
206
|
+
return (0, _internalMediaCore.createCameraStream)(LocalCameraStream, constraints);
|
|
207
|
+
};
|
|
208
|
+
var createDisplayStream = exports.createDisplayStream = function createDisplayStream() {
|
|
209
|
+
return (0, _internalMediaCore.createDisplayStream)(_internalMediaCore.LocalDisplayStream);
|
|
210
|
+
};
|
|
211
|
+
var createDisplayStreamWithAudio = exports.createDisplayStreamWithAudio = function createDisplayStreamWithAudio() {
|
|
212
|
+
return (0, _internalMediaCore.createDisplayStreamWithAudio)(_internalMediaCore.LocalDisplayStream, _internalMediaCore.LocalSystemAudioStream);
|
|
213
|
+
};
|
|
214
|
+
var LocalMicrophoneStream = exports.LocalMicrophoneStream = (0, _tsEvents.AddEvents)(_LocalMicrophoneStream);
|
|
215
|
+
var LocalCameraStream = exports.LocalCameraStream = (0, _tsEvents.AddEvents)(_LocalCameraStream);
|
|
148
216
|
//# sourceMappingURL=webrtc-core.js.map
|
package/dist/webrtc-core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
null
|
|
1
|
+
{"version":3,"names":["_internalMediaCore","require","_tsEvents","_LocalMicrophoneStrea","_LocalCameraStreamEve","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","LocalMicrophoneStreamEventNames","exports","LocalCameraStreamEventNames","ServerMuted","_LocalMicrophoneStream","_WcmeLocalMicrophoneS","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","TypedEvent","_createClass2","key","value","setUnmuteAllowed","allowed","unmuteAllowed","isUnmuteAllowed","setUserMuted","muted","Error","_get2","setServerMuted","reason","userMuted","emit","WcmeLocalMicrophoneStream","_LocalCameraStream","_WcmeLocalCameraStrea","_super2","_this2","_len2","_key2","WcmeLocalCameraStream","createMicrophoneStream","constraints","wcmeCreateMicrophoneStream","LocalMicrophoneStream","createCameraStream","wcmeCreateCameraStream","LocalCameraStream","createDisplayStream","wcmeCreateDisplayStream","LocalDisplayStream","createDisplayStreamWithAudio","wcmeCreateDisplayStreamWithAudio","LocalSystemAudioStream","AddEvents"],"sources":["webrtc-core.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-misused-new */\n/* eslint-disable valid-jsdoc */\n/* eslint-disable require-jsdoc */\nimport {\n AudioDeviceConstraints,\n createCameraStream as wcmeCreateCameraStream,\n createDisplayStream as wcmeCreateDisplayStream,\n createDisplayStreamWithAudio as wcmeCreateDisplayStreamWithAudio,\n createMicrophoneStream as wcmeCreateMicrophoneStream,\n LocalDisplayStream,\n LocalSystemAudioStream,\n LocalMicrophoneStream as WcmeLocalMicrophoneStream,\n LocalCameraStream as WcmeLocalCameraStream,\n VideoDeviceConstraints,\n} from '@webex/internal-media-core';\nimport {AddEvents, TypedEvent, WithEventsDummyType} from '@webex/ts-events';\n\nexport {\n getDevices,\n LocalStream,\n LocalDisplayStream,\n LocalSystemAudioStream,\n LocalStreamEventNames,\n StreamEventNames,\n RemoteStream,\n RemoteStreamEventNames,\n type VideoContentHint,\n} from '@webex/internal-media-core';\n\nexport type ServerMuteReason =\n | 'remotelyMuted' // other user has remotely muted us\n | 'clientRequestFailed' // client called setUserMuted() but server request failed\n | 'localUnmuteRequired'; // server forced the client to be unmuted\n\n// these events are in addition to WCME events. This will be properly typed once webrtc-core event types inheritance is fixed\nexport enum LocalMicrophoneStreamEventNames {\n ServerMuted = 'muted:byServer',\n}\n\n// these events are in addition to WCME events. This will be properly typed once webrtc-core event types inheritance is fixed\nexport enum LocalCameraStreamEventNames {\n ServerMuted = 'muted:byServer',\n}\n\ninterface LocalMicrophoneStreamEvents {\n [LocalMicrophoneStreamEventNames.ServerMuted]: TypedEvent<\n (muted: boolean, reason: ServerMuteReason) => void\n >;\n}\n\ninterface LocalCameraStreamEvents {\n [LocalCameraStreamEventNames.ServerMuted]: TypedEvent<\n (muted: boolean, reason: ServerMuteReason) => void\n >;\n}\n\nclass _LocalMicrophoneStream extends WcmeLocalMicrophoneStream {\n private unmuteAllowed = true;\n\n [LocalMicrophoneStreamEventNames.ServerMuted] = new TypedEvent<\n (muted: boolean, reason: ServerMuteReason) => void\n >();\n\n /**\n * @internal\n */\n setUnmuteAllowed(allowed: boolean) {\n this.unmuteAllowed = allowed;\n }\n\n /**\n * @returns true if user is allowed to unmute the track, false otherwise\n */\n isUnmuteAllowed() {\n return this.unmuteAllowed;\n }\n\n setUserMuted(muted: boolean): void {\n if (!muted) {\n if (!this.isUnmuteAllowed()) {\n throw new Error('Unmute is not allowed');\n }\n }\n\n return super.setUserMuted(muted);\n }\n\n /**\n * @internal\n */\n setServerMuted(muted: boolean, reason: ServerMuteReason) {\n if (muted !== this.userMuted) {\n this.setUserMuted(muted);\n this[LocalMicrophoneStreamEventNames.ServerMuted].emit(muted, reason);\n }\n }\n}\n\nclass _LocalCameraStream extends WcmeLocalCameraStream {\n private unmuteAllowed = true;\n\n [LocalCameraStreamEventNames.ServerMuted] = new TypedEvent<\n (muted: boolean, reason: ServerMuteReason) => void\n >();\n\n /**\n * @internal\n */\n setUnmuteAllowed(allowed: boolean) {\n this.unmuteAllowed = allowed;\n }\n\n /**\n * @returns true if user is allowed to unmute the track, false otherwise\n */\n isUnmuteAllowed() {\n return this.unmuteAllowed;\n }\n\n setUserMuted(muted: boolean): void {\n if (!muted) {\n if (!this.isUnmuteAllowed()) {\n throw new Error('Unmute is not allowed');\n }\n }\n\n return super.setUserMuted(muted);\n }\n\n /**\n * @internal\n */\n setServerMuted(muted: boolean, reason: ServerMuteReason) {\n if (muted !== this.userMuted) {\n this.setUserMuted(muted);\n this[LocalCameraStreamEventNames.ServerMuted].emit(muted, reason);\n }\n }\n}\n\nexport const createMicrophoneStream = (constraints?: AudioDeviceConstraints) =>\n wcmeCreateMicrophoneStream(LocalMicrophoneStream, constraints);\n\nexport const createCameraStream = (constraints?: VideoDeviceConstraints) =>\n wcmeCreateCameraStream(LocalCameraStream, constraints);\n\nexport const createDisplayStream = () => wcmeCreateDisplayStream(LocalDisplayStream);\n\nexport const createDisplayStreamWithAudio = () =>\n wcmeCreateDisplayStreamWithAudio(LocalDisplayStream, LocalSystemAudioStream);\n\nexport const LocalMicrophoneStream = AddEvents<\n typeof _LocalMicrophoneStream,\n LocalMicrophoneStreamEvents\n>(_LocalMicrophoneStream);\n\nexport type LocalMicrophoneStream = _LocalMicrophoneStream &\n WithEventsDummyType<LocalMicrophoneStreamEvents>;\n\nexport const LocalCameraStream = AddEvents<typeof _LocalCameraStream, LocalCameraStreamEvents>(\n _LocalCameraStream\n);\n\nexport type LocalCameraStream = _LocalCameraStream & WithEventsDummyType<LocalCameraStreamEvents>;\n"],"mappings":"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"}
|
package/jest.config.js
CHANGED
package/package.json
CHANGED
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
"deploy:npm": "yarn npm publish"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@webex/internal-media-core": "2.
|
|
25
|
+
"@webex/internal-media-core": "2.5.0",
|
|
26
26
|
"@webex/ts-events": "^1.1.0",
|
|
27
|
-
"@webex/web-media-effects": "
|
|
27
|
+
"@webex/web-media-effects": "2.18.0"
|
|
28
28
|
},
|
|
29
29
|
"browserify": {
|
|
30
30
|
"transform": [
|
|
@@ -38,10 +38,11 @@
|
|
|
38
38
|
"@webex/eslint-config-legacy": "0.0.0",
|
|
39
39
|
"@webex/jest-config-legacy": "0.0.0",
|
|
40
40
|
"@webex/legacy-tools": "0.0.0",
|
|
41
|
-
"@webex/test-helper-chai": "3.0.
|
|
42
|
-
"@webex/test-helper-mock-webex": "3.0.
|
|
41
|
+
"@webex/test-helper-chai": "3.1.0-next.2",
|
|
42
|
+
"@webex/test-helper-mock-webex": "3.1.0-next.2",
|
|
43
43
|
"eslint": "^8.24.0",
|
|
44
|
+
"jsdom-global": "3.0.2",
|
|
44
45
|
"sinon": "^9.2.4"
|
|
45
46
|
},
|
|
46
|
-
"version": "3.0.
|
|
47
|
+
"version": "3.1.0-next.2"
|
|
47
48
|
}
|
package/src/index.ts
CHANGED
package/src/webrtc-core.ts
CHANGED
|
@@ -23,12 +23,13 @@ export {
|
|
|
23
23
|
LocalStreamEventNames,
|
|
24
24
|
StreamEventNames,
|
|
25
25
|
RemoteStream,
|
|
26
|
+
RemoteStreamEventNames,
|
|
26
27
|
type VideoContentHint,
|
|
27
28
|
} from '@webex/internal-media-core';
|
|
28
29
|
|
|
29
30
|
export type ServerMuteReason =
|
|
30
31
|
| 'remotelyMuted' // other user has remotely muted us
|
|
31
|
-
| 'clientRequestFailed' // client called
|
|
32
|
+
| 'clientRequestFailed' // client called setUserMuted() but server request failed
|
|
32
33
|
| 'localUnmuteRequired'; // server forced the client to be unmuted
|
|
33
34
|
|
|
34
35
|
// these events are in addition to WCME events. This will be properly typed once webrtc-core event types inheritance is fixed
|
|
@@ -48,7 +49,7 @@ interface LocalMicrophoneStreamEvents {
|
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
interface LocalCameraStreamEvents {
|
|
51
|
-
[
|
|
52
|
+
[LocalCameraStreamEventNames.ServerMuted]: TypedEvent<
|
|
52
53
|
(muted: boolean, reason: ServerMuteReason) => void
|
|
53
54
|
>;
|
|
54
55
|
}
|
|
@@ -74,22 +75,22 @@ class _LocalMicrophoneStream extends WcmeLocalMicrophoneStream {
|
|
|
74
75
|
return this.unmuteAllowed;
|
|
75
76
|
}
|
|
76
77
|
|
|
77
|
-
|
|
78
|
+
setUserMuted(muted: boolean): void {
|
|
78
79
|
if (!muted) {
|
|
79
80
|
if (!this.isUnmuteAllowed()) {
|
|
80
81
|
throw new Error('Unmute is not allowed');
|
|
81
82
|
}
|
|
82
83
|
}
|
|
83
84
|
|
|
84
|
-
return super.
|
|
85
|
+
return super.setUserMuted(muted);
|
|
85
86
|
}
|
|
86
87
|
|
|
87
88
|
/**
|
|
88
89
|
* @internal
|
|
89
90
|
*/
|
|
90
91
|
setServerMuted(muted: boolean, reason: ServerMuteReason) {
|
|
91
|
-
if (muted !== this.
|
|
92
|
-
this.
|
|
92
|
+
if (muted !== this.userMuted) {
|
|
93
|
+
this.setUserMuted(muted);
|
|
93
94
|
this[LocalMicrophoneStreamEventNames.ServerMuted].emit(muted, reason);
|
|
94
95
|
}
|
|
95
96
|
}
|
|
@@ -116,22 +117,22 @@ class _LocalCameraStream extends WcmeLocalCameraStream {
|
|
|
116
117
|
return this.unmuteAllowed;
|
|
117
118
|
}
|
|
118
119
|
|
|
119
|
-
|
|
120
|
+
setUserMuted(muted: boolean): void {
|
|
120
121
|
if (!muted) {
|
|
121
122
|
if (!this.isUnmuteAllowed()) {
|
|
122
123
|
throw new Error('Unmute is not allowed');
|
|
123
124
|
}
|
|
124
125
|
}
|
|
125
126
|
|
|
126
|
-
return super.
|
|
127
|
+
return super.setUserMuted(muted);
|
|
127
128
|
}
|
|
128
129
|
|
|
129
130
|
/**
|
|
130
131
|
* @internal
|
|
131
132
|
*/
|
|
132
133
|
setServerMuted(muted: boolean, reason: ServerMuteReason) {
|
|
133
|
-
if (muted !== this.
|
|
134
|
-
this.
|
|
134
|
+
if (muted !== this.userMuted) {
|
|
135
|
+
this.setUserMuted(muted);
|
|
135
136
|
this[LocalCameraStreamEventNames.ServerMuted].emit(muted, reason);
|
|
136
137
|
}
|
|
137
138
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import 'jsdom-global/register';
|
|
1
2
|
import {assert, expect} from '@webex/test-helper-chai';
|
|
2
3
|
import sinon from 'sinon';
|
|
3
4
|
import {
|
|
@@ -53,22 +54,22 @@ describe('media-helpers', () => {
|
|
|
53
54
|
|
|
54
55
|
it('by default allows unmuting', async () => {
|
|
55
56
|
assert.equal(stream.isUnmuteAllowed(), true);
|
|
56
|
-
await stream.
|
|
57
|
+
await stream.setUserMuted(false);
|
|
57
58
|
});
|
|
58
59
|
|
|
59
|
-
it('rejects
|
|
60
|
-
|
|
60
|
+
it('rejects setUserMuted(false) if unmute is not allowed', async () => {
|
|
61
|
+
stream.setUnmuteAllowed(false);
|
|
61
62
|
|
|
62
63
|
assert.equal(stream.isUnmuteAllowed(), false);
|
|
63
|
-
const fn = () => stream.
|
|
64
|
+
const fn = () => stream.setUserMuted(false);
|
|
64
65
|
expect(fn).to.throw(/Unmute is not allowed/);
|
|
65
66
|
});
|
|
66
67
|
|
|
67
|
-
it('resolves
|
|
68
|
-
|
|
68
|
+
it('resolves setUserMuted(false) if unmute is allowed', async () => {
|
|
69
|
+
stream.setUnmuteAllowed(true);
|
|
69
70
|
|
|
70
71
|
assert.equal(stream.isUnmuteAllowed(), true);
|
|
71
|
-
await stream.
|
|
72
|
+
await stream.setUserMuted(false);
|
|
72
73
|
});
|
|
73
74
|
|
|
74
75
|
it('returns a reasonable length string from JSON.stringify()', () => {
|
|
@@ -81,16 +82,16 @@ describe('media-helpers', () => {
|
|
|
81
82
|
});
|
|
82
83
|
|
|
83
84
|
const checkSetServerMuted = async (startMute, setMute, expectedCalled) => {
|
|
84
|
-
await stream.
|
|
85
|
+
await stream.setUserMuted(startMute);
|
|
85
86
|
|
|
86
|
-
assert.equal(stream.
|
|
87
|
+
assert.equal(stream.userMuted, startMute);
|
|
87
88
|
|
|
88
89
|
const handler = sinon.fake();
|
|
89
90
|
stream.on(event.ServerMuted, handler);
|
|
90
91
|
|
|
91
92
|
await stream.setServerMuted(setMute, 'remotelyMuted');
|
|
92
93
|
|
|
93
|
-
assert.equal(stream.
|
|
94
|
+
assert.equal(stream.userMuted, setMute);
|
|
94
95
|
if (expectedCalled) {
|
|
95
96
|
assert.calledOnceWithExactly(handler, setMute, 'remotelyMuted');
|
|
96
97
|
} else {
|