@techsee/techsee-media-service 12.2.0 → 13.0.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.
- package/lib/MediaConstants.d.ts +5 -0
- package/lib/MediaConstants.d.ts.map +1 -1
- package/lib/MediaConstants.js +9 -1
- package/lib/MediaConstants.js.map +1 -1
- package/lib/MultiParty/MultiPartyService.d.ts +6 -3
- package/lib/MultiParty/MultiPartyService.d.ts.map +1 -1
- package/lib/MultiParty/MultiPartyServiceFactory.d.ts +2 -2
- package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +1 -1
- package/lib/MultiParty/MultiPartyServiceFactory.js +2 -2
- package/lib/MultiParty/MultiPartyServiceFactory.js.map +1 -1
- package/lib/MultiParty/MultipartyServiceEventTypes.d.ts +3 -1
- package/lib/MultiParty/MultipartyServiceEventTypes.d.ts.map +1 -1
- package/lib/MultiParty/index.d.ts +0 -1
- package/lib/MultiParty/index.d.ts.map +1 -1
- package/lib/MultiParty/index.js +1 -10
- package/lib/MultiParty/index.js.map +1 -1
- package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts +12 -6
- package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts.map +1 -1
- package/lib/MultiParty/opentok/OpentokMultiPartyService.js +185 -71
- package/lib/MultiParty/opentok/OpentokMultiPartyService.js.map +1 -1
- package/lib/MultiParty/opentok/OpentokPublisher.d.ts +12 -16
- package/lib/MultiParty/opentok/OpentokPublisher.d.ts.map +1 -1
- package/lib/MultiParty/opentok/OpentokPublisher.js +17 -108
- package/lib/MultiParty/opentok/OpentokPublisher.js.map +1 -1
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts +2 -1
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts.map +1 -1
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js +8 -5
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js.map +1 -1
- package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts +5 -0
- package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts.map +1 -0
- package/lib/MultiParty/opentok/OpentokScreenPublisher.js +80 -0
- package/lib/MultiParty/opentok/OpentokScreenPublisher.js.map +1 -0
- package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts +13 -0
- package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts.map +1 -0
- package/lib/MultiParty/opentok/OpentokVideoPublisher.js +314 -0
- package/lib/MultiParty/opentok/OpentokVideoPublisher.js.map +1 -0
- package/lib/MultiParty/types.d.ts +5 -1
- package/lib/MultiParty/types.d.ts.map +1 -1
- package/lib/MultiParty/utils.d.ts +7 -1
- package/lib/MultiParty/utils.d.ts.map +1 -1
- package/lib/MultiParty/utils.js +7 -1
- package/lib/MultiParty/utils.js.map +1 -1
- package/package.json +2 -2
- package/lib/MultiParty/VideoLayoutType.d.ts +0 -4
- package/lib/MultiParty/VideoLayoutType.d.ts.map +0 -1
- package/lib/MultiParty/VideoLayoutType.js +0 -13
- 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
|
|
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,
|
|
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;
|
|
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"]}
|
package/lib/MultiParty/utils.js
CHANGED
|
@@ -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,
|
|
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"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@techsee/techsee-media-service",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "13.0.0",
|
|
4
4
|
"description": "Techsee Media Service",
|
|
5
5
|
"author": "TechSee",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@techsee/kurento-utils-temasys-mod": "6.6.3-dev-3",
|
|
31
31
|
"@techsee/openvidu-browser": "~12.15.6",
|
|
32
|
-
"@techsee/techsee-common": "^
|
|
32
|
+
"@techsee/techsee-common": "^4.0.0",
|
|
33
33
|
"bluebird": "~3.7.2",
|
|
34
34
|
"kurento-utils": "6.6.2",
|
|
35
35
|
"lodash": "4.17.20",
|
|
@@ -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"]}
|