@techsee/techsee-media-service 16.0.0 → 17.1.0

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.
Files changed (49) hide show
  1. package/lib/MediaConstants.d.ts +5 -0
  2. package/lib/MediaConstants.d.ts.map +1 -1
  3. package/lib/MediaConstants.js +9 -1
  4. package/lib/MediaConstants.js.map +1 -1
  5. package/lib/MultiParty/MultiPartyService.d.ts +7 -3
  6. package/lib/MultiParty/MultiPartyService.d.ts.map +1 -1
  7. package/lib/MultiParty/MultiPartyServiceFactory.d.ts +2 -2
  8. package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +1 -1
  9. package/lib/MultiParty/MultiPartyServiceFactory.js +2 -2
  10. package/lib/MultiParty/MultiPartyServiceFactory.js.map +1 -1
  11. package/lib/MultiParty/MultipartyServiceEventTypes.d.ts +3 -1
  12. package/lib/MultiParty/MultipartyServiceEventTypes.d.ts.map +1 -1
  13. package/lib/MultiParty/index.d.ts +0 -1
  14. package/lib/MultiParty/index.d.ts.map +1 -1
  15. package/lib/MultiParty/index.js +1 -10
  16. package/lib/MultiParty/index.js.map +1 -1
  17. package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts +13 -6
  18. package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts.map +1 -1
  19. package/lib/MultiParty/opentok/OpentokMultiPartyService.js +192 -71
  20. package/lib/MultiParty/opentok/OpentokMultiPartyService.js.map +1 -1
  21. package/lib/MultiParty/opentok/OpentokPublisher.d.ts +12 -16
  22. package/lib/MultiParty/opentok/OpentokPublisher.d.ts.map +1 -1
  23. package/lib/MultiParty/opentok/OpentokPublisher.js +17 -108
  24. package/lib/MultiParty/opentok/OpentokPublisher.js.map +1 -1
  25. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts +2 -1
  26. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts.map +1 -1
  27. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js +8 -5
  28. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js.map +1 -1
  29. package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts +5 -0
  30. package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts.map +1 -0
  31. package/lib/MultiParty/opentok/OpentokScreenPublisher.js +80 -0
  32. package/lib/MultiParty/opentok/OpentokScreenPublisher.js.map +1 -0
  33. package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts +13 -0
  34. package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts.map +1 -0
  35. package/lib/MultiParty/opentok/OpentokVideoPublisher.js +314 -0
  36. package/lib/MultiParty/opentok/OpentokVideoPublisher.js.map +1 -0
  37. package/lib/MultiParty/types.d.ts +5 -1
  38. package/lib/MultiParty/types.d.ts.map +1 -1
  39. package/lib/MultiParty/utils.d.ts +7 -1
  40. package/lib/MultiParty/utils.d.ts.map +1 -1
  41. package/lib/MultiParty/utils.js +7 -1
  42. package/lib/MultiParty/utils.js.map +1 -1
  43. package/lib/qos/raw-qos.js +1 -1
  44. package/lib/webrtc-ie-shim.js +1 -1
  45. package/package.json +1 -1
  46. package/lib/MultiParty/VideoLayoutType.d.ts +0 -4
  47. package/lib/MultiParty/VideoLayoutType.d.ts.map +0 -1
  48. package/lib/MultiParty/VideoLayoutType.js +0 -13
  49. package/lib/MultiParty/VideoLayoutType.js.map +0 -1
@@ -0,0 +1,314 @@
1
+ "use strict";
2
+
3
+ var __extends = void 0 && (void 0).__extends || function () {
4
+ var _extendStatics = function extendStatics(d, b) {
5
+ _extendStatics = Object.setPrototypeOf || {
6
+ __proto__: []
7
+ } instanceof Array && function (d, b) {
8
+ d.__proto__ = b;
9
+ } || function (d, b) {
10
+ for (var p in b) {
11
+ if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
12
+ }
13
+ };
14
+
15
+ return _extendStatics(d, b);
16
+ };
17
+
18
+ return function (d, b) {
19
+ _extendStatics(d, b);
20
+
21
+ function __() {
22
+ this.constructor = d;
23
+ }
24
+
25
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
26
+ };
27
+ }();
28
+
29
+ var __assign = void 0 && (void 0).__assign || function () {
30
+ __assign = Object.assign || function (t) {
31
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
32
+ s = arguments[i];
33
+
34
+ for (var p in s) {
35
+ if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
36
+ }
37
+ }
38
+
39
+ return t;
40
+ };
41
+
42
+ return __assign.apply(this, arguments);
43
+ };
44
+
45
+ var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
46
+ function adopt(value) {
47
+ return value instanceof P ? value : new P(function (resolve) {
48
+ resolve(value);
49
+ });
50
+ }
51
+
52
+ return new (P || (P = Promise))(function (resolve, reject) {
53
+ function fulfilled(value) {
54
+ try {
55
+ step(generator.next(value));
56
+ } catch (e) {
57
+ reject(e);
58
+ }
59
+ }
60
+
61
+ function rejected(value) {
62
+ try {
63
+ step(generator["throw"](value));
64
+ } catch (e) {
65
+ reject(e);
66
+ }
67
+ }
68
+
69
+ function step(result) {
70
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
71
+ }
72
+
73
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
74
+ });
75
+ };
76
+
77
+ var __generator = void 0 && (void 0).__generator || function (thisArg, body) {
78
+ var _ = {
79
+ label: 0,
80
+ sent: function sent() {
81
+ if (t[0] & 1) throw t[1];
82
+ return t[1];
83
+ },
84
+ trys: [],
85
+ ops: []
86
+ },
87
+ f,
88
+ y,
89
+ t,
90
+ g;
91
+ return g = {
92
+ next: verb(0),
93
+ "throw": verb(1),
94
+ "return": verb(2)
95
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
96
+ return this;
97
+ }), g;
98
+
99
+ function verb(n) {
100
+ return function (v) {
101
+ return step([n, v]);
102
+ };
103
+ }
104
+
105
+ function step(op) {
106
+ if (f) throw new TypeError("Generator is already executing.");
107
+
108
+ while (_) {
109
+ try {
110
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
111
+ if (y = 0, t) op = [op[0] & 2, t.value];
112
+
113
+ switch (op[0]) {
114
+ case 0:
115
+ case 1:
116
+ t = op;
117
+ break;
118
+
119
+ case 4:
120
+ _.label++;
121
+ return {
122
+ value: op[1],
123
+ done: false
124
+ };
125
+
126
+ case 5:
127
+ _.label++;
128
+ y = op[1];
129
+ op = [0];
130
+ continue;
131
+
132
+ case 7:
133
+ op = _.ops.pop();
134
+
135
+ _.trys.pop();
136
+
137
+ continue;
138
+
139
+ default:
140
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
141
+ _ = 0;
142
+ continue;
143
+ }
144
+
145
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
146
+ _.label = op[1];
147
+ break;
148
+ }
149
+
150
+ if (op[0] === 6 && _.label < t[1]) {
151
+ _.label = t[1];
152
+ t = op;
153
+ break;
154
+ }
155
+
156
+ if (t && _.label < t[2]) {
157
+ _.label = t[2];
158
+
159
+ _.ops.push(op);
160
+
161
+ break;
162
+ }
163
+
164
+ if (t[2]) _.ops.pop();
165
+
166
+ _.trys.pop();
167
+
168
+ continue;
169
+ }
170
+
171
+ op = body.call(thisArg, _);
172
+ } catch (e) {
173
+ op = [6, e];
174
+ y = 0;
175
+ } finally {
176
+ f = t = 0;
177
+ }
178
+ }
179
+
180
+ if (op[0] & 5) throw op[1];
181
+ return {
182
+ value: op[0] ? op[1] : void 0,
183
+ done: true
184
+ };
185
+ }
186
+ };
187
+
188
+ Object.defineProperty(exports, "__esModule", {
189
+ value: true
190
+ });
191
+ exports.OpentokVideoPublisher = void 0;
192
+
193
+ var utils_1 = require("../utils");
194
+
195
+ var trace_1 = require("./trace");
196
+
197
+ var OpentokPublisherEventMapper_1 = require("./OpentokPublisherEventMapper");
198
+
199
+ var MediaConstants_1 = require("../../MediaConstants");
200
+
201
+ var OpentokPublisher_1 = require("./OpentokPublisher"); // The preferred camera position to use for the video source
202
+
203
+
204
+ var OpentokFacingMode;
205
+
206
+ (function (OpentokFacingMode) {
207
+ OpentokFacingMode["USER"] = "user";
208
+ OpentokFacingMode["ENVIRONMENT"] = "environment";
209
+ })(OpentokFacingMode || (OpentokFacingMode = {}));
210
+
211
+ var OPENTOK_MIRRORED_CSS_CLASS = 'OT_mirrored';
212
+
213
+ var OpentokVideoPublisher =
214
+ /** @class */
215
+ function (_super) {
216
+ __extends(OpentokVideoPublisher, _super);
217
+
218
+ function OpentokVideoPublisher(videoSettings, options, mediaCapabilitiesService) {
219
+ var _this = _super.call(this, options, mediaCapabilitiesService) || this;
220
+
221
+ _this.publishAudio = function (enabled) {
222
+ return _this.currentPublisher.publishAudio(enabled);
223
+ };
224
+
225
+ _this.switchCamera = function () {
226
+ return __awaiter(_this, void 0, void 0, function () {
227
+ var newSelectedCamera, newVideoSourceId, err_1;
228
+
229
+ var _a, _b;
230
+
231
+ return __generator(this, function (_c) {
232
+ switch (_c.label) {
233
+ case 0:
234
+ if (!this.mediaCapabilitiesService.supportSwitchCamera) {
235
+ throw new Error('Not Support switch camera');
236
+ }
237
+
238
+ _c.label = 1;
239
+
240
+ case 1:
241
+ _c.trys.push([1, 3,, 4]);
242
+
243
+ newSelectedCamera = this.selectedCamera === MediaConstants_1.MultiPartyCameraTypes.BACK ? MediaConstants_1.MultiPartyCameraTypes.FRONT : MediaConstants_1.MultiPartyCameraTypes.BACK;
244
+ newVideoSourceId = this.getVideoSourceId(newSelectedCamera);
245
+ return [4
246
+ /*yield*/
247
+ , this.currentPublisher.setVideoSource(newVideoSourceId)];
248
+
249
+ case 2:
250
+ _c.sent();
251
+
252
+ if (utils_1.shouldMirrorCamera(!this.isMobile, newSelectedCamera)) {
253
+ (_a = this.currentPublisher.element) === null || _a === void 0 ? void 0 : _a.classList.add(OPENTOK_MIRRORED_CSS_CLASS);
254
+ } else {
255
+ (_b = this.currentPublisher.element) === null || _b === void 0 ? void 0 : _b.classList.remove(OPENTOK_MIRRORED_CSS_CLASS);
256
+ }
257
+
258
+ this.selectedCamera = newSelectedCamera;
259
+ this.emit('cameraSourceChanged', OpentokPublisherEventMapper_1.createCameraSourceChangedEvent(this.currentPublisher.stream, this.selectedCamera, this.isMobile));
260
+ return [3
261
+ /*break*/
262
+ , 4];
263
+
264
+ case 3:
265
+ err_1 = _c.sent();
266
+ trace_1.traceError(JSON.stringify(err_1));
267
+ throw err_1;
268
+
269
+ case 4:
270
+ return [2
271
+ /*return*/
272
+ ];
273
+ }
274
+ });
275
+ });
276
+ };
277
+
278
+ _this.getVideoSourceId = function (selectedCamera) {
279
+ return selectedCamera === MediaConstants_1.MultiPartyCameraTypes.FRONT ? _this.mediaCapabilitiesService.frontCameraDeviceId : _this.mediaCapabilitiesService.backCameraDeviceId;
280
+ };
281
+
282
+ var selectedCamera = videoSettings.selectedCamera,
283
+ cameraEnabled = videoSettings.cameraEnabled,
284
+ startWithAudioMuted = videoSettings.startWithAudioMuted;
285
+ _this.selectedCamera = selectedCamera;
286
+ var participantId = options.participantId,
287
+ backgroundImageURI = options.backgroundImageURI;
288
+ var videoSource = !_this.isMobile && _this.getVideoSourceId(selectedCamera) || undefined;
289
+ var facingMode = _this.isMobile && !videoSource && (_this.selectedCamera === MediaConstants_1.MultiPartyCameraTypes.FRONT ? OpentokFacingMode.USER : OpentokFacingMode.ENVIRONMENT) || undefined;
290
+ _this.currentPublisher = OT.initPublisher(participantId, __assign(__assign({}, _this.publisherProperties), {
291
+ style: __assign(__assign({}, _this.publisherProperties.style), {
292
+ archiveStatusDisplayMode: 'off',
293
+ audioLevelDisplayMode: 'off',
294
+ backgroundImageURI: backgroundImageURI
295
+ }),
296
+ publishAudio: !startWithAudioMuted,
297
+ publishVideo: cameraEnabled,
298
+ videoSource: videoSource,
299
+ facingMode: facingMode,
300
+ mirror: utils_1.shouldMirrorCamera(_this.isMobile, selectedCamera)
301
+ }), trace_1.traceError);
302
+
303
+ _this.initializeEventHandlers();
304
+
305
+ return _this;
306
+ }
307
+
308
+ return OpentokVideoPublisher;
309
+ }(OpentokPublisher_1.OpentokPublisher);
310
+
311
+ exports.OpentokVideoPublisher = OpentokVideoPublisher;
312
+ //# sourceMappingURL=OpentokVideoPublisher.js.map
313
+
314
+ //# sourceMappingURL=OpentokVideoPublisher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["MultiParty/opentok/OpentokVideoPublisher.js","../src/MultiParty/opentok/OpentokVideoPublisher.ts"],"names":["__extends","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__","constructor","create","__assign","assign","t","s","i","n","arguments","length","apply","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","__generator","body","_","label","sent","trys","ops","f","y","g","verb","Symbol","iterator","v","op","TypeError","pop","push","defineProperty","exports","OpentokVideoPublisher","utils_1","require","trace_1","OpentokPublisherEventMapper_1","MediaConstants_1","OpentokPublisher_1","OpentokFacingMode","OPENTOK_MIRRORED_CSS_CLASS","_super","videoSettings","options","mediaCapabilitiesService","_this","publishAudio","enabled","currentPublisher","switchCamera","newSelectedCamera","newVideoSourceId","err_1","_a","_b","_c","supportSwitchCamera","Error","selectedCamera","MultiPartyCameraTypes","BACK","FRONT","getVideoSourceId","setVideoSource","shouldMirrorCamera","isMobile","element","classList","add","remove","emit","createCameraSourceChangedEvent","stream","traceError","JSON","stringify","frontCameraDeviceId","backCameraDeviceId","cameraEnabled","startWithAudioMuted","participantId","backgroundImageURI","videoSource","undefined","facingMode","USER","ENVIRONMENT","OT","initPublisher","publisherProperties","style","archiveStatusDisplayMode","audioLevelDisplayMode","publishVideo","mirror","initializeEventHandlers","OpentokPublisher"],"mappings":"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","file":"OpentokVideoPublisher.js","sourcesContent":["\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpentokVideoPublisher = void 0;\nvar utils_1 = require(\"../utils\");\nvar trace_1 = require(\"./trace\");\nvar OpentokPublisherEventMapper_1 = require(\"./OpentokPublisherEventMapper\");\nvar MediaConstants_1 = require(\"../../MediaConstants\");\nvar OpentokPublisher_1 = require(\"./OpentokPublisher\");\n// The preferred camera position to use for the video source\nvar OpentokFacingMode;\n(function (OpentokFacingMode) {\n OpentokFacingMode[\"USER\"] = \"user\";\n OpentokFacingMode[\"ENVIRONMENT\"] = \"environment\";\n})(OpentokFacingMode || (OpentokFacingMode = {}));\nvar OPENTOK_MIRRORED_CSS_CLASS = 'OT_mirrored';\nvar OpentokVideoPublisher = /** @class */ (function (_super) {\n __extends(OpentokVideoPublisher, _super);\n function OpentokVideoPublisher(videoSettings, options, mediaCapabilitiesService) {\n var _this = _super.call(this, options, mediaCapabilitiesService) || this;\n _this.publishAudio = function (enabled) { return _this.currentPublisher.publishAudio(enabled); };\n _this.switchCamera = function () { return __awaiter(_this, void 0, void 0, function () {\n var newSelectedCamera, newVideoSourceId, err_1;\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!this.mediaCapabilitiesService.supportSwitchCamera) {\n throw new Error('Not Support switch camera');\n }\n _c.label = 1;\n case 1:\n _c.trys.push([1, 3, , 4]);\n newSelectedCamera = this.selectedCamera === MediaConstants_1.MultiPartyCameraTypes.BACK\n ? MediaConstants_1.MultiPartyCameraTypes.FRONT\n : MediaConstants_1.MultiPartyCameraTypes.BACK;\n newVideoSourceId = this.getVideoSourceId(newSelectedCamera);\n return [4 /*yield*/, this.currentPublisher.setVideoSource(newVideoSourceId)];\n case 2:\n _c.sent();\n if (utils_1.shouldMirrorCamera(!this.isMobile, newSelectedCamera)) {\n (_a = this.currentPublisher.element) === null || _a === void 0 ? void 0 : _a.classList.add(OPENTOK_MIRRORED_CSS_CLASS);\n }\n else {\n (_b = this.currentPublisher.element) === null || _b === void 0 ? void 0 : _b.classList.remove(OPENTOK_MIRRORED_CSS_CLASS);\n }\n this.selectedCamera = newSelectedCamera;\n this.emit('cameraSourceChanged', OpentokPublisherEventMapper_1.createCameraSourceChangedEvent(this.currentPublisher.stream, this.selectedCamera, this.isMobile));\n return [3 /*break*/, 4];\n case 3:\n err_1 = _c.sent();\n trace_1.traceError(JSON.stringify(err_1));\n throw err_1;\n case 4: return [2 /*return*/];\n }\n });\n }); };\n _this.getVideoSourceId = function (selectedCamera) {\n return (selectedCamera === MediaConstants_1.MultiPartyCameraTypes.FRONT\n ? _this.mediaCapabilitiesService.frontCameraDeviceId\n : _this.mediaCapabilitiesService.backCameraDeviceId);\n };\n var selectedCamera = videoSettings.selectedCamera, cameraEnabled = videoSettings.cameraEnabled, startWithAudioMuted = videoSettings.startWithAudioMuted;\n _this.selectedCamera = selectedCamera;\n var participantId = options.participantId, backgroundImageURI = options.backgroundImageURI;\n var videoSource = (!_this.isMobile && _this.getVideoSourceId(selectedCamera)) || undefined;\n var facingMode = (_this.isMobile &&\n !videoSource &&\n (_this.selectedCamera === MediaConstants_1.MultiPartyCameraTypes.FRONT\n ? OpentokFacingMode.USER\n : OpentokFacingMode.ENVIRONMENT)) ||\n undefined;\n _this.currentPublisher = OT.initPublisher(participantId, __assign(__assign({}, _this.publisherProperties), { style: __assign(__assign({}, _this.publisherProperties.style), { archiveStatusDisplayMode: 'off', audioLevelDisplayMode: 'off', backgroundImageURI: backgroundImageURI }), publishAudio: !startWithAudioMuted, publishVideo: cameraEnabled, videoSource: videoSource,\n facingMode: facingMode, mirror: utils_1.shouldMirrorCamera(_this.isMobile, selectedCamera) }), trace_1.traceError);\n _this.initializeEventHandlers();\n return _this;\n }\n return OpentokVideoPublisher;\n}(OpentokPublisher_1.OpentokPublisher));\nexports.OpentokVideoPublisher = OpentokVideoPublisher;\n","import {VideoSettings} from '../types';\nimport {shouldMirrorCamera} from '../utils';\nimport {traceError} from './trace';\nimport {createCameraSourceChangedEvent} from './OpentokPublisherEventMapper';\nimport {MultiPartyCameraTypes} from '../../MediaConstants';\nimport {IMediaCapablities, IOpentokPublisher, OpentokPublisher, OpentokPublisherOptions} from './OpentokPublisher';\n\n// The preferred camera position to use for the video source\nenum OpentokFacingMode {\n USER = 'user',\n ENVIRONMENT = 'environment'\n}\n\nconst OPENTOK_MIRRORED_CSS_CLASS = 'OT_mirrored';\n\nexport interface IOpentokVideoPublisher extends IOpentokPublisher {\n publishAudio: (enabled: boolean) => void;\n switchCamera: () => Promise<void>;\n}\nexport class OpentokVideoPublisher extends OpentokPublisher implements IOpentokVideoPublisher {\n protected currentPublisher: OT.Publisher;\n\n constructor(\n videoSettings: VideoSettings,\n options: OpentokPublisherOptions,\n mediaCapabilitiesService: IMediaCapablities\n ) {\n super(options, mediaCapabilitiesService);\n\n const {selectedCamera, cameraEnabled, startWithAudioMuted} = videoSettings;\n\n this.selectedCamera = selectedCamera;\n\n const {participantId, backgroundImageURI} = options;\n const videoSource = (!this.isMobile && this.getVideoSourceId(selectedCamera)) || undefined;\n const facingMode =\n (this.isMobile &&\n !videoSource &&\n (this.selectedCamera === MultiPartyCameraTypes.FRONT\n ? OpentokFacingMode.USER\n : OpentokFacingMode.ENVIRONMENT)) ||\n undefined;\n\n this.currentPublisher = OT.initPublisher(\n participantId,\n {\n ...this.publisherProperties,\n style: {\n ...this.publisherProperties.style,\n archiveStatusDisplayMode: 'off',\n audioLevelDisplayMode: 'off',\n backgroundImageURI\n },\n publishAudio: !startWithAudioMuted,\n publishVideo: cameraEnabled,\n videoSource,\n facingMode,\n mirror: shouldMirrorCamera(this.isMobile, selectedCamera)\n },\n traceError\n );\n\n this.initializeEventHandlers();\n }\n\n public publishAudio = (enabled: boolean): void => this.currentPublisher.publishAudio(enabled);\n\n public switchCamera = async (): Promise<void> => {\n if (!this.mediaCapabilitiesService.supportSwitchCamera) {\n throw new Error('Not Support switch camera');\n }\n\n try {\n const newSelectedCamera =\n this.selectedCamera === MultiPartyCameraTypes.BACK\n ? MultiPartyCameraTypes.FRONT\n : MultiPartyCameraTypes.BACK;\n\n const newVideoSourceId = this.getVideoSourceId(newSelectedCamera);\n\n await this.currentPublisher.setVideoSource(newVideoSourceId);\n\n if (shouldMirrorCamera(!this.isMobile, newSelectedCamera)) {\n this.currentPublisher.element?.classList.add(OPENTOK_MIRRORED_CSS_CLASS);\n } else {\n this.currentPublisher.element?.classList.remove(OPENTOK_MIRRORED_CSS_CLASS);\n }\n\n this.selectedCamera = newSelectedCamera;\n\n this.emit(\n 'cameraSourceChanged',\n createCameraSourceChangedEvent(this.currentPublisher.stream, this.selectedCamera, this.isMobile)\n );\n } catch (err) {\n traceError(JSON.stringify(err));\n throw err;\n }\n };\n\n private getVideoSourceId = (selectedCamera: MultiPartyCameraTypes): string =>\n (selectedCamera === MultiPartyCameraTypes.FRONT\n ? this.mediaCapabilitiesService.frontCameraDeviceId\n : this.mediaCapabilitiesService.backCameraDeviceId);\n}\n"]}
@@ -7,10 +7,14 @@ export declare type Credentials = {
7
7
  export declare type BrandingSettings = {
8
8
  backgroundImageURI?: string;
9
9
  };
10
- export declare type SessionSettings = {
10
+ export declare type VideoSettings = {
11
11
  selectedCamera: MultiPartyCameraTypes;
12
12
  cameraEnabled: boolean;
13
13
  startWithAudioMuted: boolean;
14
+ };
15
+ export declare type SessionSettings = {
16
+ videoSettings: VideoSettings;
17
+ isScreenSharingCapabilitiesEnabled?: boolean;
14
18
  mediaServiceType: MediaServiceType;
15
19
  branding?: BrandingSettings;
16
20
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MultiParty/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AAE1E,oBAAY,WAAW,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC1B,cAAc,EAAE,qBAAqB,CAAC;IACtC,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,6BAA6B,EAAE,OAAO,CAAC;IACvC,iCAAiC,EAAE,OAAO,CAAC;IAC3C,uBAAuB,EAAE,OAAO,CAAC;IACjC,2BAA2B,EAAE,OAAO,CAAC;CACxC","file":"types.d.ts","sourcesContent":["import {MediaServiceType, MultiPartyCameraTypes} from '../MediaConstants';\n\nexport type Credentials = {\n apiKey: string;\n sessionId: string;\n token: string;\n};\n\nexport type BrandingSettings = {\n backgroundImageURI?: string;\n};\n\nexport type SessionSettings = {\n selectedCamera: MultiPartyCameraTypes;\n cameraEnabled: boolean;\n startWithAudioMuted: boolean;\n mediaServiceType: MediaServiceType;\n branding?: BrandingSettings;\n};\n\nexport interface ClientWebRtcInfo {\n isWebRTCSupported: boolean;\n isWebsiteHasWebcamPermissions: boolean;\n isWebsiteHasMicrophonePermissions: boolean;\n isGetUserMediaSupported: boolean;\n isApplyConstraintsSupported: boolean;\n}\n"]}
1
+ {"version":3,"sources":["../src/MultiParty/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AAE1E,oBAAY,WAAW,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,oBAAY,aAAa,GAAG;IACxB,cAAc,EAAE,qBAAqB,CAAC;IACtC,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,6BAA6B,EAAE,OAAO,CAAC;IACvC,iCAAiC,EAAE,OAAO,CAAC;IAC3C,uBAAuB,EAAE,OAAO,CAAC;IACjC,2BAA2B,EAAE,OAAO,CAAC;CACxC","file":"types.d.ts","sourcesContent":["import {MediaServiceType, MultiPartyCameraTypes} from '../MediaConstants';\n\nexport type Credentials = {\n apiKey: string;\n sessionId: string;\n token: string;\n};\n\nexport type BrandingSettings = {\n backgroundImageURI?: string;\n};\n\nexport type VideoSettings = {\n selectedCamera: MultiPartyCameraTypes;\n cameraEnabled: boolean;\n startWithAudioMuted: boolean;\n};\n\nexport type SessionSettings = {\n videoSettings: VideoSettings;\n isScreenSharingCapabilitiesEnabled?: boolean;\n mediaServiceType: MediaServiceType;\n branding?: BrandingSettings;\n};\n\nexport interface ClientWebRtcInfo {\n isWebRTCSupported: boolean;\n isWebsiteHasWebcamPermissions: boolean;\n isWebsiteHasMicrophonePermissions: boolean;\n isGetUserMediaSupported: boolean;\n isApplyConstraintsSupported: boolean;\n}\n"]}
@@ -1,3 +1,9 @@
1
- import { MultiPartyCameraTypes, SessionClientRole } from '../MediaConstants';
1
+ import { MultiPartyCameraTypes, SessionClientRole, VideoTypesEnum } from '../MediaConstants';
2
+ interface IStreamIdentifiers {
3
+ connectionId: string;
4
+ videoType: VideoTypesEnum;
5
+ }
2
6
  export declare function decodeClientRole(data: string): SessionClientRole;
3
7
  export declare function shouldMirrorCamera(isMobile: boolean, selectedCamera: MultiPartyCameraTypes): boolean;
8
+ export declare function isSameStream(s1: IStreamIdentifiers, s2: IStreamIdentifiers): boolean;
9
+ export {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MultiParty/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAE,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAE3E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAEhE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,qBAAqB,WAE1F","file":"utils.d.ts","sourcesContent":["import {MultiPartyCameraTypes, SessionClientRole} from '../MediaConstants';\n\nexport function decodeClientRole(data: string): SessionClientRole {\n return JSON.parse(data).clientRole || SessionClientRole.USER;\n}\n\nexport function shouldMirrorCamera(isMobile: boolean, selectedCamera: MultiPartyCameraTypes) {\n return !isMobile || selectedCamera !== MultiPartyCameraTypes.BACK;\n}\n"]}
1
+ {"version":3,"sources":["../src/MultiParty/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAE,iBAAiB,EAAE,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAE3F,UAAU,kBAAkB;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,cAAc,CAAC;CAC7B;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAEhE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,qBAAqB,WAE1F;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,kBAAkB,GAAG,OAAO,CAEpF","file":"utils.d.ts","sourcesContent":["import {MultiPartyCameraTypes, SessionClientRole, VideoTypesEnum} from '../MediaConstants';\n\ninterface IStreamIdentifiers {\n connectionId: string;\n videoType: VideoTypesEnum;\n}\n\nexport function decodeClientRole(data: string): SessionClientRole {\n return JSON.parse(data).clientRole || SessionClientRole.USER;\n}\n\nexport function shouldMirrorCamera(isMobile: boolean, selectedCamera: MultiPartyCameraTypes) {\n return !isMobile || selectedCamera !== MultiPartyCameraTypes.BACK;\n}\n\nexport function isSameStream(s1: IStreamIdentifiers, s2: IStreamIdentifiers): boolean {\n return s1.connectionId === s2.connectionId && s1.videoType === s2.videoType;\n}\n"]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.shouldMirrorCamera = exports.decodeClientRole = void 0;
6
+ exports.isSameStream = exports.shouldMirrorCamera = exports.decodeClientRole = void 0;
7
7
 
8
8
  var MediaConstants_1 = require("../MediaConstants");
9
9
 
@@ -18,4 +18,10 @@ function shouldMirrorCamera(isMobile, selectedCamera) {
18
18
  }
19
19
 
20
20
  exports.shouldMirrorCamera = shouldMirrorCamera;
21
+
22
+ function isSameStream(s1, s2) {
23
+ return s1.connectionId === s2.connectionId && s1.videoType === s2.videoType;
24
+ }
25
+
26
+ exports.isSameStream = isSameStream;
21
27
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["MultiParty/utils.js"],"names":["Object","defineProperty","exports","value","shouldMirrorCamera","decodeClientRole","MediaConstants_1","require","data","JSON","parse","clientRole","SessionClientRole","USER","isMobile","selectedCamera","MultiPartyCameraTypes","BACK"],"mappings":"AAAA;;AACAA,MAAM,CAACC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C;AAAEC,EAAAA,KAAK,EAAE;AAAT,CAA7C;AACAD,OAAO,CAACE,kBAAR,GAA6BF,OAAO,CAACG,gBAAR,GAA2B,KAAK,CAA7D;;AACA,IAAIC,gBAAgB,GAAGC,OAAO,CAAC,mBAAD,CAA9B;;AACA,SAASF,gBAAT,CAA0BG,IAA1B,EAAgC;AAC5B,SAAOC,IAAI,CAACC,KAAL,CAAWF,IAAX,EAAiBG,UAAjB,IAA+BL,gBAAgB,CAACM,iBAAjB,CAAmCC,IAAzE;AACH;;AACDX,OAAO,CAACG,gBAAR,GAA2BA,gBAA3B;;AACA,SAASD,kBAAT,CAA4BU,QAA5B,EAAsCC,cAAtC,EAAsD;AAClD,SAAO,CAACD,QAAD,IAAaC,cAAc,KAAKT,gBAAgB,CAACU,qBAAjB,CAAuCC,IAA9E;AACH;;AACDf,OAAO,CAACE,kBAAR,GAA6BA,kBAA7B","file":"utils.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.shouldMirrorCamera = exports.decodeClientRole = void 0;\nvar MediaConstants_1 = require(\"../MediaConstants\");\nfunction decodeClientRole(data) {\n return JSON.parse(data).clientRole || MediaConstants_1.SessionClientRole.USER;\n}\nexports.decodeClientRole = decodeClientRole;\nfunction shouldMirrorCamera(isMobile, selectedCamera) {\n return !isMobile || selectedCamera !== MediaConstants_1.MultiPartyCameraTypes.BACK;\n}\nexports.shouldMirrorCamera = shouldMirrorCamera;\n\n//# sourceMappingURL=utils.js.map\n"]}
1
+ {"version":3,"sources":["MultiParty/utils.js"],"names":["Object","defineProperty","exports","value","isSameStream","shouldMirrorCamera","decodeClientRole","MediaConstants_1","require","data","JSON","parse","clientRole","SessionClientRole","USER","isMobile","selectedCamera","MultiPartyCameraTypes","BACK","s1","s2","connectionId","videoType"],"mappings":"AAAA;;AACAA,MAAM,CAACC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C;AAAEC,EAAAA,KAAK,EAAE;AAAT,CAA7C;AACAD,OAAO,CAACE,YAAR,GAAuBF,OAAO,CAACG,kBAAR,GAA6BH,OAAO,CAACI,gBAAR,GAA2B,KAAK,CAApF;;AACA,IAAIC,gBAAgB,GAAGC,OAAO,CAAC,mBAAD,CAA9B;;AACA,SAASF,gBAAT,CAA0BG,IAA1B,EAAgC;AAC5B,SAAOC,IAAI,CAACC,KAAL,CAAWF,IAAX,EAAiBG,UAAjB,IAA+BL,gBAAgB,CAACM,iBAAjB,CAAmCC,IAAzE;AACH;;AACDZ,OAAO,CAACI,gBAAR,GAA2BA,gBAA3B;;AACA,SAASD,kBAAT,CAA4BU,QAA5B,EAAsCC,cAAtC,EAAsD;AAClD,SAAO,CAACD,QAAD,IAAaC,cAAc,KAAKT,gBAAgB,CAACU,qBAAjB,CAAuCC,IAA9E;AACH;;AACDhB,OAAO,CAACG,kBAAR,GAA6BA,kBAA7B;;AACA,SAASD,YAAT,CAAsBe,EAAtB,EAA0BC,EAA1B,EAA8B;AAC1B,SAAOD,EAAE,CAACE,YAAH,KAAoBD,EAAE,CAACC,YAAvB,IAAuCF,EAAE,CAACG,SAAH,KAAiBF,EAAE,CAACE,SAAlE;AACH;;AACDpB,OAAO,CAACE,YAAR,GAAuBA,YAAvB","file":"utils.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isSameStream = exports.shouldMirrorCamera = exports.decodeClientRole = void 0;\nvar MediaConstants_1 = require(\"../MediaConstants\");\nfunction decodeClientRole(data) {\n return JSON.parse(data).clientRole || MediaConstants_1.SessionClientRole.USER;\n}\nexports.decodeClientRole = decodeClientRole;\nfunction shouldMirrorCamera(isMobile, selectedCamera) {\n return !isMobile || selectedCamera !== MediaConstants_1.MultiPartyCameraTypes.BACK;\n}\nexports.shouldMirrorCamera = shouldMirrorCamera;\nfunction isSameStream(s1, s2) {\n return s1.connectionId === s2.connectionId && s1.videoType === s2.videoType;\n}\nexports.isSameStream = isSameStream;\n\n//# sourceMappingURL=utils.js.map\n"]}
@@ -15,7 +15,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
15
15
 
16
16
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
17
17
 
18
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
18
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
19
19
 
20
20
  var RawQos = /*#__PURE__*/function () {
21
21
  function RawQos() {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof2(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); }
3
+ function _typeof2(obj) { "@babel/helpers - typeof"; return _typeof2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof2(obj); }
4
4
 
5
5
  (function (f) {
6
6
  if ((typeof exports === "undefined" ? "undefined" : _typeof2(exports)) === "object" && typeof module !== "undefined") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@techsee/techsee-media-service",
3
- "version": "16.0.0",
3
+ "version": "17.1.0",
4
4
  "description": "Techsee Media Service",
5
5
  "author": "TechSee",
6
6
  "main": "lib/index.js",
@@ -1,4 +0,0 @@
1
- export declare enum VideoLayoutType {
2
- AgentPinnedLayout = "agent_pinned_layout",
3
- BigMainVideoLayout = "big_main_video_layout"
4
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/MultiParty/VideoLayoutType.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IACvB,iBAAiB,wBAAwB;IACzC,kBAAkB,0BAA0B;CAC/C","file":"VideoLayoutType.d.ts","sourcesContent":["export enum VideoLayoutType {\n AgentPinnedLayout = 'agent_pinned_layout',\n BigMainVideoLayout = 'big_main_video_layout'\n}\n"]}
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.VideoLayoutType = void 0;
7
- var VideoLayoutType;
8
-
9
- (function (VideoLayoutType) {
10
- VideoLayoutType["AgentPinnedLayout"] = "agent_pinned_layout";
11
- VideoLayoutType["BigMainVideoLayout"] = "big_main_video_layout";
12
- })(VideoLayoutType = exports.VideoLayoutType || (exports.VideoLayoutType = {}));
13
- //# sourceMappingURL=VideoLayoutType.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["MultiParty/VideoLayoutType.js"],"names":["Object","defineProperty","exports","value","VideoLayoutType"],"mappings":"AAAA;;AACAA,MAAM,CAACC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C;AAAEC,EAAAA,KAAK,EAAE;AAAT,CAA7C;AACAD,OAAO,CAACE,eAAR,GAA0B,KAAK,CAA/B;AACA,IAAIA,eAAJ;;AACA,CAAC,UAAUA,eAAV,EAA2B;AACxBA,EAAAA,eAAe,CAAC,mBAAD,CAAf,GAAuC,qBAAvC;AACAA,EAAAA,eAAe,CAAC,oBAAD,CAAf,GAAwC,uBAAxC;AACH,CAHD,EAGGA,eAAe,GAAGF,OAAO,CAACE,eAAR,KAA4BF,OAAO,CAACE,eAAR,GAA0B,EAAtD,CAHrB","file":"VideoLayoutType.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VideoLayoutType = void 0;\nvar VideoLayoutType;\n(function (VideoLayoutType) {\n VideoLayoutType[\"AgentPinnedLayout\"] = \"agent_pinned_layout\";\n VideoLayoutType[\"BigMainVideoLayout\"] = \"big_main_video_layout\";\n})(VideoLayoutType = exports.VideoLayoutType || (exports.VideoLayoutType = {}));\n\n//# sourceMappingURL=VideoLayoutType.js.map\n"]}