@techsee/techsee-media-service 8.0.2 → 10.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.
Files changed (34) hide show
  1. package/lib/MultiParty/MultiPartyService.d.ts +3 -5
  2. package/lib/MultiParty/MultiPartyService.d.ts.map +1 -1
  3. package/lib/MultiParty/MultiPartyService.js +4 -7
  4. package/lib/MultiParty/MultiPartyService.js.map +1 -1
  5. package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +1 -1
  6. package/lib/MultiParty/MultiPartyServiceFactory.js +2 -2
  7. package/lib/MultiParty/MultiPartyServiceFactory.js.map +1 -1
  8. package/lib/MultiParty/MultipartyServiceEventTypes.d.ts +23 -1
  9. package/lib/MultiParty/MultipartyServiceEventTypes.d.ts.map +1 -1
  10. package/lib/MultiParty/{OpentokMultiPartyService.d.ts → opentok/OpentokMultiPartyService.d.ts} +9 -13
  11. package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts.map +1 -0
  12. package/lib/MultiParty/{OpentokMultiPartyService.js → opentok/OpentokMultiPartyService.js} +115 -396
  13. package/lib/MultiParty/opentok/OpentokMultiPartyService.js.map +1 -0
  14. package/lib/MultiParty/opentok/OpentokPublisher.d.ts +25 -0
  15. package/lib/MultiParty/opentok/OpentokPublisher.d.ts.map +1 -0
  16. package/lib/MultiParty/opentok/OpentokPublisher.js +409 -0
  17. package/lib/MultiParty/opentok/OpentokPublisher.js.map +1 -0
  18. package/lib/MultiParty/opentok/OpentokSubscriber.d.ts +1 -0
  19. package/lib/MultiParty/opentok/OpentokSubscriber.d.ts.map +1 -0
  20. package/lib/MultiParty/opentok/OpentokSubscriber.js +34 -0
  21. package/lib/MultiParty/opentok/OpentokSubscriber.js.map +1 -0
  22. package/lib/MultiParty/opentok/OpentokUtils.d.ts +2 -0
  23. package/lib/MultiParty/opentok/OpentokUtils.d.ts.map +1 -0
  24. package/lib/MultiParty/opentok/OpentokUtils.js +17 -0
  25. package/lib/MultiParty/opentok/OpentokUtils.js.map +1 -0
  26. package/lib/MultiParty/opentok/trace.d.ts +2 -0
  27. package/lib/MultiParty/opentok/trace.d.ts.map +1 -0
  28. package/lib/MultiParty/opentok/trace.js +31 -0
  29. package/lib/MultiParty/opentok/trace.js.map +1 -0
  30. package/lib/oldCode/utils/ImageFixer.js +2 -0
  31. package/lib/oldCode/utils/ImageFixer.js.map +1 -1
  32. package/package.json +4 -4
  33. package/lib/MultiParty/OpentokMultiPartyService.d.ts.map +0 -1
  34. package/lib/MultiParty/OpentokMultiPartyService.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["MultiParty/opentok/OpentokMultiPartyService.js"],"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","__spreadArrays","il","r","k","a","j","jl","defineProperty","exports","OpentokMultiPartyService","__1","require","MediaUtils_1","MediaCapabilitiesService_1","MediaCapabilitiesUtils_1","MultiPartyService_1","MultipartyServiceEventTypes_1","OpentokPublisher_1","OpentokSubscriber_1","OpentokUtils_1","trace_1","trace","getMediaTracer","_super","getParticipantId","_this","backgroundImageURI","DEFAULT_AVATAR_URI","subscriberList","setBackgroundImageURI","uri","connect","settings","credentials","session","OT","initSession","apiKey","sessionId","on","connectionCreatedHandler","connectionDestroyedHandler","streamCreatedHandler","streamDestroyedHandler","streamPropertyChangedHandler","sessionDisconnectedHandler","token","error","_a","off","undefined","traceError","emit","MULTI_PARTY_EVENTS","connectFailed","meta","err","JSON","stringify","initPublisher","disconnect","info","publisher","destroy","takeSnapshot","connectionId","_b","ownConnectionId","getImgData","subscribers","find","subscriber","canStartWithAudio","canStartWithVideo","capabilitiesService","publisherOptions","checkAudioCapabilities","checkVideoCapabilities","MediaCapabilitiesService","getInstance","Error","participantId","OpentokPublisher","cameraEnabled","startWithAudioMuted","cameraSourceChanged","streamCreated","streamDestroyed","mediaDeviceAccessDenied","videoElementCreated","publish","get","publishAudio","shouldMute","canPublishAudio","publishVideo","shouldPublishVideo","canPublishVideo","switchCamera","reinitializeStreams","_c","map","forEach","unsubscribe","event","stream","connection","hasAudio","hasVideo","videoDimensions","clientRole","getClientRole","setDevicesList","maxParticipantsNumber","createSubscriber","isOwnConnection","mirror","filter","connectionCreated","checkOwnConnection","connectionDestroyed","streamPropertyChanged","enumerable","configurable","MultiPartyService"],"mappings":"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","file":"OpentokMultiPartyService.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};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpentokMultiPartyService = void 0;\nvar __1 = require(\"..\");\nvar MediaUtils_1 = require(\"../../MediaUtils\");\nvar MediaCapabilitiesService_1 = require(\"../MediaCapabilitiesService\");\nvar MediaCapabilitiesUtils_1 = require(\"../MediaCapabilitiesUtils\");\nvar MultiPartyService_1 = require(\"../MultiPartyService\");\nvar MultipartyServiceEventTypes_1 = require(\"../MultipartyServiceEventTypes\");\nvar OpentokPublisher_1 = require(\"./OpentokPublisher\");\nvar OpentokSubscriber_1 = require(\"./OpentokSubscriber\");\nvar OpentokUtils_1 = require(\"./OpentokUtils\");\nvar trace_1 = require(\"./trace\");\nvar trace = MediaUtils_1.getMediaTracer('Multiparty');\nvar OpentokMultiPartyService = /** @class */ (function (_super) {\n __extends(OpentokMultiPartyService, _super);\n function OpentokMultiPartyService(getParticipantId) {\n var _this = _super.call(this) || this;\n _this.getParticipantId = getParticipantId;\n _this.backgroundImageURI = __1.DEFAULT_AVATAR_URI;\n _this.subscriberList = [];\n _this.setBackgroundImageURI = function (uri) {\n _this.backgroundImageURI = uri || __1.DEFAULT_AVATAR_URI;\n };\n _this.connect = function (settings, credentials) {\n try {\n _this.session = OT.initSession(credentials.apiKey, credentials.sessionId);\n _this.session.on('connectionCreated', _this.connectionCreatedHandler);\n _this.session.on('connectionDestroyed', _this.connectionDestroyedHandler);\n _this.session.on('streamCreated', _this.streamCreatedHandler);\n _this.session.on('streamDestroyed', _this.streamDestroyedHandler);\n _this.session.on('streamPropertyChanged', _this.streamPropertyChangedHandler);\n _this.session.on('sessionDisconnected', _this.sessionDisconnectedHandler);\n _this.session.connect(credentials.token, function (error) {\n var _a;\n if (error) {\n (_a = _this.session) === null || _a === void 0 ? void 0 : _a.off();\n _this.session = undefined;\n trace_1.traceError(error);\n _this.emit(MultipartyServiceEventTypes_1.MULTI_PARTY_EVENTS.connectFailed, {\n meta: { err: JSON.stringify(error) }\n });\n return;\n }\n _this.initPublisher(settings);\n });\n }\n catch (err) {\n trace.error(JSON.stringify(err));\n _this.emit(MultipartyServiceEventTypes_1.MULTI_PARTY_EVENTS.connectFailed, {\n meta: { err: JSON.stringify(err) }\n });\n }\n };\n _this.disconnect = function () {\n var _a;\n try {\n trace.info('Disconnecting from session');\n if (_this.session) {\n (_a = _this.publisher) === null || _a === void 0 ? void 0 : _a.destroy();\n _this.session.disconnect();\n trace.info('Disconnection from session completed');\n }\n }\n catch (err) {\n trace.error(JSON.stringify(err));\n }\n };\n _this.takeSnapshot = function (connectionId) {\n var _a, _b;\n if (!connectionId) {\n return null;\n }\n if (connectionId === _this.ownConnectionId) {\n return ((_a = _this.publisher) === null || _a === void 0 ? void 0 : _a.getImgData()) || null;\n }\n return ((_b = _this.subscribers.find(function (s) { return s.connectionId === connectionId; })) === null || _b === void 0 ? void 0 : _b.subscriber.getImgData()) || null;\n };\n _this.initPublisher = function (settings) { return __awaiter(_this, void 0, void 0, function () {\n var canStartWithAudio, canStartWithVideo, capabilitiesService, publisherOptions;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.session) {\n return [2 /*return*/];\n }\n return [4 /*yield*/, MediaCapabilitiesUtils_1.checkAudioCapabilities()];\n case 1:\n canStartWithAudio = _a.sent();\n return [4 /*yield*/, MediaCapabilitiesUtils_1.checkVideoCapabilities()];\n case 2:\n canStartWithVideo = _a.sent();\n return [4 /*yield*/, MediaCapabilitiesService_1.MediaCapabilitiesService.getInstance()];\n case 3:\n capabilitiesService = _a.sent();\n if (!canStartWithAudio && !canStartWithVideo) {\n throw new Error('Creating session requires initialized publisher');\n }\n publisherOptions = {\n participantId: this.getParticipantId(this.ownConnectionId),\n backgroundImageURI: this.backgroundImageURI\n };\n this.publisher = new OpentokPublisher_1.OpentokPublisher(__assign(__assign({}, settings), { cameraEnabled: settings.cameraEnabled && canStartWithVideo, startWithAudioMuted: settings.startWithAudioMuted && canStartWithAudio }), publisherOptions, capabilitiesService);\n // forward publisher events\n this.publisher.on('cameraSourceChanged', function (e) { return _this.emit(MultipartyServiceEventTypes_1.MULTI_PARTY_EVENTS.cameraSourceChanged, e); });\n this.publisher.on('streamCreated', function (e) { return _this.emit(MultipartyServiceEventTypes_1.MULTI_PARTY_EVENTS.streamCreated, e); });\n this.publisher.on('streamDestroyed', function (e) { return _this.emit(MultipartyServiceEventTypes_1.MULTI_PARTY_EVENTS.streamDestroyed, e); });\n this.publisher.on('mediaDeviceAccessDenied', function (e) { return _this.emit(MultipartyServiceEventTypes_1.MULTI_PARTY_EVENTS.mediaDeviceAccessDenied, e); });\n this.publisher.on('videoElementCreated', function () { return _this.emit(MultipartyServiceEventTypes_1.MULTI_PARTY_EVENTS.videoElementCreated); });\n this.session.publish(this.publisher.get(), trace_1.traceError);\n return [2 /*return*/];\n }\n });\n }); };\n _this.publishAudio = function (shouldMute) { return __awaiter(_this, void 0, void 0, function () {\n var canPublishAudio;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, MediaCapabilitiesUtils_1.checkAudioCapabilities()];\n case 1:\n canPublishAudio = _b.sent();\n if (shouldMute && !canPublishAudio) {\n trace.error('could not publish audio');\n return [2 /*return*/];\n }\n (_a = this.publisher) === null || _a === void 0 ? void 0 : _a.publishAudio(shouldMute);\n return [2 /*return*/];\n }\n });\n }); };\n _this.publishVideo = function (shouldPublishVideo) { return __awaiter(_this, void 0, void 0, function () {\n var canPublishVideo;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, MediaCapabilitiesUtils_1.checkVideoCapabilities()];\n case 1:\n canPublishVideo = _b.sent();\n if (shouldPublishVideo && !canPublishVideo) {\n trace.error('could not publish video');\n return [2 /*return*/];\n }\n (_a = this.publisher) === null || _a === void 0 ? void 0 : _a.publishVideo(shouldPublishVideo);\n return [2 /*return*/];\n }\n });\n }); };\n _this.switchCamera = function () { return __awaiter(_this, void 0, void 0, function () { var _a; return __generator(this, function (_b) {\n return [2 /*return*/, (_a = this.publisher) === null || _a === void 0 ? void 0 : _a.switchCamera()];\n }); }); };\n _this.reinitializeStreams = function (settings) { return __awaiter(_this, void 0, void 0, function () {\n var _a, _b;\n return __generator(this, function (_c) {\n if (!this.session) {\n return [2 /*return*/];\n }\n this.subscriberList.map(function (s) { return s.subscriber; }).forEach((_a = this.session) === null || _a === void 0 ? void 0 : _a.unsubscribe);\n this.subscriberList = [];\n (_b = this.publisher) === null || _b === void 0 ? void 0 : _b.destroy();\n return [2 /*return*/, this.initPublisher(settings)];\n });\n }); };\n _this.streamCreatedHandler = function (event) { return __awaiter(_this, void 0, void 0, function () {\n var stream, connection, hasAudio, hasVideo, videoDimensions, connectionId, participantId, clientRole, subscriber;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n trace.info('streamCreatedHandler', event.stream);\n stream = event.stream;\n connection = stream.connection, hasAudio = stream.hasAudio, hasVideo = stream.hasVideo, videoDimensions = stream.videoDimensions;\n connectionId = connection.connectionId;\n participantId = this.getParticipantId(connectionId);\n clientRole = OpentokUtils_1.getClientRole(connection);\n return [4 /*yield*/, MediaCapabilitiesService_1.MediaCapabilitiesService.setDevicesList()];\n case 1:\n _a.sent();\n if (this.ownConnectionId && stream && connectionId !== this.ownConnectionId) {\n if (this.subscriberList.length < MultiPartyService_1.maxParticipantsNumber - 1) {\n subscriber = OpentokSubscriber_1.createSubscriber(this.session, stream, this.getParticipantId(connectionId), this.backgroundImageURI);\n this.subscriberList.push({\n subscriber: subscriber,\n connectionId: connectionId,\n clientRole: clientRole\n });\n }\n else {\n trace.info(\"a new subscriber cannot be added, as the number of participants reached its limit: \" + MultiPartyService_1.maxParticipantsNumber);\n }\n }\n this.emit(MultipartyServiceEventTypes_1.MULTI_PARTY_EVENTS.streamCreated, {\n participantId: participantId,\n clientRole: clientRole,\n connectionId: connectionId,\n hasVideo: hasVideo,\n hasAudio: hasAudio,\n isOwnConnection: false,\n mirror: false,\n videoDimensions: videoDimensions\n });\n return [2 /*return*/];\n }\n });\n }); };\n _this.streamDestroyedHandler = function (event) {\n trace.info('streamDestroyedHandler', event);\n var connection = event.stream.connection;\n var connectionId = connection.connectionId;\n _this.subscriberList = _this.subscriberList.filter(function (subscriber) { return subscriber.connectionId !== connectionId; });\n _this.emit(MultipartyServiceEventTypes_1.MULTI_PARTY_EVENTS.streamDestroyed, {\n participantId: _this.getParticipantId(connectionId),\n connectionId: connectionId,\n isOwnConnection: false,\n clientRole: OpentokUtils_1.getClientRole(connection)\n });\n };\n _this.connectionCreatedHandler = function (event) {\n trace.info('connectionCreatedHandler', event);\n var connection = event.connection;\n var connectionId = connection.connectionId;\n if (!_this.ownConnectionId || !connection) {\n return;\n }\n _this.emit(MultipartyServiceEventTypes_1.MULTI_PARTY_EVENTS.connectionCreated, {\n clientRole: OpentokUtils_1.getClientRole(connection),\n participantId: _this.getParticipantId(connectionId),\n connectionId: connectionId,\n isOwnConnection: _this.checkOwnConnection(connectionId)\n });\n };\n _this.connectionDestroyedHandler = function (event) {\n var connection = event.connection;\n var connectionId = connection.connectionId;\n trace.info('connectionDestroyedHandler', event);\n _this.emit(MultipartyServiceEventTypes_1.MULTI_PARTY_EVENTS.connectionDestroyed, {\n clientRole: OpentokUtils_1.getClientRole(connection),\n participantId: _this.getParticipantId(connectionId),\n connectionId: connectionId,\n isOwnConnection: _this.checkOwnConnection(connectionId)\n });\n if (connectionId !== _this.ownConnectionId || !_this.ownConnectionId) {\n return;\n }\n _this.session = undefined;\n };\n _this.streamPropertyChangedHandler = function (event) {\n trace.info('streamPropertyChangedHandler', event);\n var _a = event.stream, hasVideo = _a.hasVideo, hasAudio = _a.hasAudio, connection = _a.connection, videoDimensions = _a.videoDimensions;\n var connectionId = connection.connectionId;\n _this.emit(MultipartyServiceEventTypes_1.MULTI_PARTY_EVENTS.streamPropertyChanged, {\n hasVideo: hasVideo,\n hasAudio: hasAudio,\n participantId: _this.getParticipantId(connectionId),\n connectionId: connectionId,\n isOwnConnection: _this.checkOwnConnection(connectionId),\n clientRole: OpentokUtils_1.getClientRole(connection),\n videoDimensions: videoDimensions\n });\n };\n _this.sessionDisconnectedHandler = function (event) {\n trace.info('sessionDisconnectedHandler', event);\n };\n _this.checkOwnConnection = function (connectionId) {\n return _this.ownConnectionId !== undefined && _this.ownConnectionId === connectionId;\n };\n return _this;\n }\n Object.defineProperty(OpentokMultiPartyService.prototype, \"ownConnectionId\", {\n get: function () {\n var _a, _b;\n return ((_b = (_a = this.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.connectionId) || '';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(OpentokMultiPartyService.prototype, \"subscribers\", {\n get: function () {\n return __spreadArrays(this.subscriberList);\n },\n enumerable: false,\n configurable: true\n });\n return OpentokMultiPartyService;\n}(MultiPartyService_1.MultiPartyService));\nexports.OpentokMultiPartyService = OpentokMultiPartyService;\n\n//# sourceMappingURL=OpentokMultiPartyService.js.map\n"]}
@@ -0,0 +1,25 @@
1
+ import { TypedEventEmitter } from '@techsee/techsee-common/lib/helpers/TypedEventEmitter';
2
+ import { MultipartyServiceEventTypesMap } from '../MultipartyServiceEventTypes';
3
+ import { MediaCapabilitiesService } from '../MediaCapabilitiesService';
4
+ import { SessionSettings } from '../Contracts';
5
+ export declare type PublisherEvents = Pick<MultipartyServiceEventTypesMap, 'videoElementCreated' | 'streamDestroyed' | 'streamCreated' | 'mediaDeviceAccessDenied' | 'cameraSourceChanged'>;
6
+ export interface OpentokPublisherOptions {
7
+ participantId: string;
8
+ backgroundImageURI: string;
9
+ }
10
+ export declare class OpentokPublisher extends TypedEventEmitter<PublisherEvents> {
11
+ private readonly options;
12
+ private readonly mediaCapabilitiesService;
13
+ private currentPublisher;
14
+ private selectedCamera;
15
+ private isMobile;
16
+ constructor(settings: SessionSettings, options: OpentokPublisherOptions, mediaCapabilitiesService: MediaCapabilitiesService);
17
+ get: () => OT.Publisher;
18
+ private get mirror();
19
+ destroy: () => void;
20
+ getImgData: () => string | null;
21
+ publishAudio: (enabled: boolean) => void;
22
+ publishVideo: (enabled: boolean) => void;
23
+ switchCamera: () => Promise<void>;
24
+ private initializeEventHandlers;
25
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/MultiParty/opentok/OpentokPublisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uDAAuD,CAAC;AAExF,OAAO,EAAC,8BAA8B,EAAC,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAC,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAW7C,oBAAY,eAAe,GAAG,IAAI,CAC9B,8BAA8B,EAC9B,qBAAqB,GAAG,iBAAiB,GAAG,eAAe,GAAG,yBAAyB,GAAG,qBAAqB,CAClH,CAAC;AAIF,MAAM,WAAW,uBAAuB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,gBAAiB,SAAQ,iBAAiB,CAAC,eAAe,CAAC;IAQhE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IAR7C,OAAO,CAAC,gBAAgB,CAAe;IAEvC,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,QAAQ,CAA4B;gBAGxC,QAAQ,EAAE,eAAe,EACR,OAAO,EAAE,uBAAuB,EAChC,wBAAwB,EAAE,wBAAwB;IA2ChE,GAAG,QAAO,GAAG,SAAS,CAA0B;IAEvD,OAAO,KAAK,MAAM,GAEjB;IAEM,OAAO,QAAO,IAAI,CAAoC;IAEtD,UAAU,QAAO,MAAM,GAAG,IAAI,CAA+C;IAE7E,YAAY,YAAa,OAAO,KAAG,IAAI,CAAgD;IAEvF,YAAY,YAAa,OAAO,KAAG,IAAI,CAAgD;IAEvF,YAAY,QAAa,QAAQ,IAAI,CAAC,CAkC3C;IAEF,OAAO,CAAC,uBAAuB,CAyD7B;CACL","file":"OpentokPublisher.d.ts","sourcesContent":["import {TypedEventEmitter} from '@techsee/techsee-common/lib/helpers/TypedEventEmitter';\nimport {MultiPartyCameraTypes} from '../../MediaConstants';\nimport {MultipartyServiceEventTypesMap} from '../MultipartyServiceEventTypes';\nimport {MediaCapabilitiesService} from '../MediaCapabilitiesService';\nimport {SessionSettings} from '../Contracts';\nimport {checkIsMobile} from '../MediaCapabilitiesUtils';\nimport {getClientRole} from './OpentokUtils';\nimport {traceError, traceInfo} from './trace';\n\n// The preferred camera position to use for the video source\nenum OpentokFacingMode {\n USER = 'user',\n ENVIRONMENT = 'environment'\n}\n\nexport type PublisherEvents = Pick<\n MultipartyServiceEventTypesMap,\n 'videoElementCreated' | 'streamDestroyed' | 'streamCreated' | 'mediaDeviceAccessDenied' | 'cameraSourceChanged'\n>;\n\nconst OPENTOK_MIRRORED_CSS_CLASS = 'OT_mirrored';\n\nexport interface OpentokPublisherOptions {\n participantId: string;\n backgroundImageURI: string;\n}\n\nexport class OpentokPublisher extends TypedEventEmitter<PublisherEvents> {\n private currentPublisher: OT.Publisher;\n\n private selectedCamera;\n private isMobile: boolean = checkIsMobile();\n\n constructor(\n settings: SessionSettings,\n private readonly options: OpentokPublisherOptions,\n private readonly mediaCapabilitiesService: MediaCapabilitiesService\n ) {\n super();\n\n const {selectedCamera, cameraEnabled, startWithAudioMuted} = settings;\n\n this.selectedCamera = selectedCamera;\n\n const {participantId, backgroundImageURI} = options;\n const videoSourceId =\n (this.selectedCamera === MultiPartyCameraTypes.FRONT\n ? this.mediaCapabilitiesService.frontCameraDeviceId\n : this.mediaCapabilitiesService.backCameraDeviceId) || undefined;\n const mobileCameraType =\n this.selectedCamera === MultiPartyCameraTypes.FRONT\n ? OpentokFacingMode.USER\n : OpentokFacingMode.ENVIRONMENT;\n\n this.currentPublisher = OT.initPublisher(\n participantId,\n {\n insertMode: 'append',\n fitMode: 'cover',\n width: '100%',\n height: '100%',\n style: {\n buttonDisplayMode: 'off',\n archiveStatusDisplayMode: 'off',\n audioLevelDisplayMode: 'off',\n backgroundImageURI\n },\n publishAudio: !startWithAudioMuted,\n publishVideo: cameraEnabled,\n videoSource: !this.isMobile ? videoSourceId : undefined,\n facingMode: this.isMobile && !videoSourceId ? mobileCameraType : undefined,\n mirror: this.mirror\n },\n traceError\n );\n\n this.initializeEventHandlers();\n }\n\n public get = (): OT.Publisher => this.currentPublisher;\n\n private get mirror() {\n return !this.isMobile || this.selectedCamera !== MultiPartyCameraTypes.BACK;\n }\n\n public destroy = (): void => this.currentPublisher.destroy();\n\n public getImgData = (): string | null => this.currentPublisher.getImgData() || null;\n\n public publishAudio = (enabled: boolean): void => this.currentPublisher.publishAudio(enabled);\n\n public publishVideo = (enabled: boolean): void => this.currentPublisher.publishVideo(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 newVideoSourceId =\n this.selectedCamera === MultiPartyCameraTypes.FRONT\n ? this.mediaCapabilitiesService.backCameraDeviceId\n : this.mediaCapabilitiesService.frontCameraDeviceId;\n\n const newCameraSource =\n this.selectedCamera === MultiPartyCameraTypes.BACK\n ? MultiPartyCameraTypes.FRONT\n : MultiPartyCameraTypes.BACK;\n\n await this.currentPublisher.setVideoSource(newVideoSourceId);\n\n const mirror = !this.isMobile || newCameraSource !== MultiPartyCameraTypes.BACK;\n\n if (mirror) {\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 = newCameraSource;\n const videoDimensions = this.currentPublisher.stream?.videoDimensions || {width: 0, height: 0};\n\n this.emit('cameraSourceChanged', {cameraSource: newCameraSource, mirror, videoDimensions});\n } catch (err) {\n traceError(JSON.stringify(err));\n throw err;\n }\n };\n\n private initializeEventHandlers = () => {\n if (!this.currentPublisher) {\n throw new Error('Publisher not initialized');\n }\n\n this.currentPublisher.on('videoElementCreated', (event: unknown) => {\n traceInfo('videoElementCreated', event);\n\n this.emit('videoElementCreated');\n });\n\n this.currentPublisher.on('streamDestroyed', (event: {stream: OT.Stream; reason: string}) => {\n traceInfo('Publisher stream destroyed', event);\n\n const {connection} = event.stream;\n const {connectionId} = connection;\n\n this.emit('streamDestroyed', {\n participantId: this.options.participantId,\n connectionId,\n isOwnConnection: true,\n clientRole: getClientRole(connection)\n });\n });\n\n this.currentPublisher.on('accessDenied', () => {\n traceInfo('Publisher denied media permissions');\n\n this.emit('mediaDeviceAccessDenied', {\n isOwnConnection: true\n });\n });\n\n this.currentPublisher.on('streamCreated', async (event: {stream: OT.Stream}) => {\n await MediaCapabilitiesService.setDevicesList();\n\n const {hasAudio, hasVideo, connection, videoDimensions} = event.stream;\n const {connectionId} = event.stream.connection;\n const {participantId} = this.options;\n\n this.emit('streamCreated', {\n participantId,\n clientRole: getClientRole(connection),\n connectionId,\n hasVideo,\n hasAudio,\n isOwnConnection: true,\n mirror: this.mirror,\n videoDimensions\n });\n\n traceInfo('publisher stream created', {\n event,\n hasAudio,\n participantId\n });\n });\n };\n}\n"]}
@@ -0,0 +1,409 @@
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 __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
30
+ function adopt(value) {
31
+ return value instanceof P ? value : new P(function (resolve) {
32
+ resolve(value);
33
+ });
34
+ }
35
+
36
+ return new (P || (P = Promise))(function (resolve, reject) {
37
+ function fulfilled(value) {
38
+ try {
39
+ step(generator.next(value));
40
+ } catch (e) {
41
+ reject(e);
42
+ }
43
+ }
44
+
45
+ function rejected(value) {
46
+ try {
47
+ step(generator["throw"](value));
48
+ } catch (e) {
49
+ reject(e);
50
+ }
51
+ }
52
+
53
+ function step(result) {
54
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
55
+ }
56
+
57
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
58
+ });
59
+ };
60
+
61
+ var __generator = void 0 && (void 0).__generator || function (thisArg, body) {
62
+ var _ = {
63
+ label: 0,
64
+ sent: function sent() {
65
+ if (t[0] & 1) throw t[1];
66
+ return t[1];
67
+ },
68
+ trys: [],
69
+ ops: []
70
+ },
71
+ f,
72
+ y,
73
+ t,
74
+ g;
75
+ return g = {
76
+ next: verb(0),
77
+ "throw": verb(1),
78
+ "return": verb(2)
79
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
80
+ return this;
81
+ }), g;
82
+
83
+ function verb(n) {
84
+ return function (v) {
85
+ return step([n, v]);
86
+ };
87
+ }
88
+
89
+ function step(op) {
90
+ if (f) throw new TypeError("Generator is already executing.");
91
+
92
+ while (_) {
93
+ try {
94
+ 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;
95
+ if (y = 0, t) op = [op[0] & 2, t.value];
96
+
97
+ switch (op[0]) {
98
+ case 0:
99
+ case 1:
100
+ t = op;
101
+ break;
102
+
103
+ case 4:
104
+ _.label++;
105
+ return {
106
+ value: op[1],
107
+ done: false
108
+ };
109
+
110
+ case 5:
111
+ _.label++;
112
+ y = op[1];
113
+ op = [0];
114
+ continue;
115
+
116
+ case 7:
117
+ op = _.ops.pop();
118
+
119
+ _.trys.pop();
120
+
121
+ continue;
122
+
123
+ default:
124
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
125
+ _ = 0;
126
+ continue;
127
+ }
128
+
129
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
130
+ _.label = op[1];
131
+ break;
132
+ }
133
+
134
+ if (op[0] === 6 && _.label < t[1]) {
135
+ _.label = t[1];
136
+ t = op;
137
+ break;
138
+ }
139
+
140
+ if (t && _.label < t[2]) {
141
+ _.label = t[2];
142
+
143
+ _.ops.push(op);
144
+
145
+ break;
146
+ }
147
+
148
+ if (t[2]) _.ops.pop();
149
+
150
+ _.trys.pop();
151
+
152
+ continue;
153
+ }
154
+
155
+ op = body.call(thisArg, _);
156
+ } catch (e) {
157
+ op = [6, e];
158
+ y = 0;
159
+ } finally {
160
+ f = t = 0;
161
+ }
162
+ }
163
+
164
+ if (op[0] & 5) throw op[1];
165
+ return {
166
+ value: op[0] ? op[1] : void 0,
167
+ done: true
168
+ };
169
+ }
170
+ };
171
+
172
+ Object.defineProperty(exports, "__esModule", {
173
+ value: true
174
+ });
175
+ exports.OpentokPublisher = void 0;
176
+
177
+ var TypedEventEmitter_1 = require("@techsee/techsee-common/lib/helpers/TypedEventEmitter");
178
+
179
+ var MediaConstants_1 = require("../../MediaConstants");
180
+
181
+ var MediaCapabilitiesService_1 = require("../MediaCapabilitiesService");
182
+
183
+ var MediaCapabilitiesUtils_1 = require("../MediaCapabilitiesUtils");
184
+
185
+ var OpentokUtils_1 = require("./OpentokUtils");
186
+
187
+ var trace_1 = require("./trace"); // The preferred camera position to use for the video source
188
+
189
+
190
+ var OpentokFacingMode;
191
+
192
+ (function (OpentokFacingMode) {
193
+ OpentokFacingMode["USER"] = "user";
194
+ OpentokFacingMode["ENVIRONMENT"] = "environment";
195
+ })(OpentokFacingMode || (OpentokFacingMode = {}));
196
+
197
+ var OPENTOK_MIRRORED_CSS_CLASS = 'OT_mirrored';
198
+
199
+ var OpentokPublisher =
200
+ /** @class */
201
+ function (_super) {
202
+ __extends(OpentokPublisher, _super);
203
+
204
+ function OpentokPublisher(settings, options, mediaCapabilitiesService) {
205
+ var _this = _super.call(this) || this;
206
+
207
+ _this.options = options;
208
+ _this.mediaCapabilitiesService = mediaCapabilitiesService;
209
+ _this.isMobile = MediaCapabilitiesUtils_1.checkIsMobile();
210
+
211
+ _this.get = function () {
212
+ return _this.currentPublisher;
213
+ };
214
+
215
+ _this.destroy = function () {
216
+ return _this.currentPublisher.destroy();
217
+ };
218
+
219
+ _this.getImgData = function () {
220
+ return _this.currentPublisher.getImgData() || null;
221
+ };
222
+
223
+ _this.publishAudio = function (enabled) {
224
+ return _this.currentPublisher.publishAudio(enabled);
225
+ };
226
+
227
+ _this.publishVideo = function (enabled) {
228
+ return _this.currentPublisher.publishVideo(enabled);
229
+ };
230
+
231
+ _this.switchCamera = function () {
232
+ return __awaiter(_this, void 0, void 0, function () {
233
+ var newVideoSourceId, newCameraSource, mirror, videoDimensions, err_1;
234
+
235
+ var _a, _b, _c;
236
+
237
+ return __generator(this, function (_d) {
238
+ switch (_d.label) {
239
+ case 0:
240
+ if (!this.mediaCapabilitiesService.supportSwitchCamera) {
241
+ throw new Error('Not Support switch camera');
242
+ }
243
+
244
+ _d.label = 1;
245
+
246
+ case 1:
247
+ _d.trys.push([1, 3,, 4]);
248
+
249
+ newVideoSourceId = this.selectedCamera === MediaConstants_1.MultiPartyCameraTypes.FRONT ? this.mediaCapabilitiesService.backCameraDeviceId : this.mediaCapabilitiesService.frontCameraDeviceId;
250
+ newCameraSource = this.selectedCamera === MediaConstants_1.MultiPartyCameraTypes.BACK ? MediaConstants_1.MultiPartyCameraTypes.FRONT : MediaConstants_1.MultiPartyCameraTypes.BACK;
251
+ return [4
252
+ /*yield*/
253
+ , this.currentPublisher.setVideoSource(newVideoSourceId)];
254
+
255
+ case 2:
256
+ _d.sent();
257
+
258
+ mirror = !this.isMobile || newCameraSource !== MediaConstants_1.MultiPartyCameraTypes.BACK;
259
+
260
+ if (mirror) {
261
+ (_a = this.currentPublisher.element) === null || _a === void 0 ? void 0 : _a.classList.add(OPENTOK_MIRRORED_CSS_CLASS);
262
+ } else {
263
+ (_b = this.currentPublisher.element) === null || _b === void 0 ? void 0 : _b.classList.remove(OPENTOK_MIRRORED_CSS_CLASS);
264
+ }
265
+
266
+ this.selectedCamera = newCameraSource;
267
+ videoDimensions = ((_c = this.currentPublisher.stream) === null || _c === void 0 ? void 0 : _c.videoDimensions) || {
268
+ width: 0,
269
+ height: 0
270
+ };
271
+ this.emit('cameraSourceChanged', {
272
+ cameraSource: newCameraSource,
273
+ mirror: mirror,
274
+ videoDimensions: videoDimensions
275
+ });
276
+ return [3
277
+ /*break*/
278
+ , 4];
279
+
280
+ case 3:
281
+ err_1 = _d.sent();
282
+ trace_1.traceError(JSON.stringify(err_1));
283
+ throw err_1;
284
+
285
+ case 4:
286
+ return [2
287
+ /*return*/
288
+ ];
289
+ }
290
+ });
291
+ });
292
+ };
293
+
294
+ _this.initializeEventHandlers = function () {
295
+ if (!_this.currentPublisher) {
296
+ throw new Error('Publisher not initialized');
297
+ }
298
+
299
+ _this.currentPublisher.on('videoElementCreated', function (event) {
300
+ trace_1.traceInfo('videoElementCreated', event);
301
+
302
+ _this.emit('videoElementCreated');
303
+ });
304
+
305
+ _this.currentPublisher.on('streamDestroyed', function (event) {
306
+ trace_1.traceInfo('Publisher stream destroyed', event);
307
+ var connection = event.stream.connection;
308
+ var connectionId = connection.connectionId;
309
+
310
+ _this.emit('streamDestroyed', {
311
+ participantId: _this.options.participantId,
312
+ connectionId: connectionId,
313
+ isOwnConnection: true,
314
+ clientRole: OpentokUtils_1.getClientRole(connection)
315
+ });
316
+ });
317
+
318
+ _this.currentPublisher.on('accessDenied', function () {
319
+ trace_1.traceInfo('Publisher denied media permissions');
320
+
321
+ _this.emit('mediaDeviceAccessDenied', {
322
+ isOwnConnection: true
323
+ });
324
+ });
325
+
326
+ _this.currentPublisher.on('streamCreated', function (event) {
327
+ return __awaiter(_this, void 0, void 0, function () {
328
+ var _a, hasAudio, hasVideo, connection, videoDimensions, connectionId, participantId;
329
+
330
+ return __generator(this, function (_b) {
331
+ switch (_b.label) {
332
+ case 0:
333
+ return [4
334
+ /*yield*/
335
+ , MediaCapabilitiesService_1.MediaCapabilitiesService.setDevicesList()];
336
+
337
+ case 1:
338
+ _b.sent();
339
+
340
+ _a = event.stream, hasAudio = _a.hasAudio, hasVideo = _a.hasVideo, connection = _a.connection, videoDimensions = _a.videoDimensions;
341
+ connectionId = event.stream.connection.connectionId;
342
+ participantId = this.options.participantId;
343
+ this.emit('streamCreated', {
344
+ participantId: participantId,
345
+ clientRole: OpentokUtils_1.getClientRole(connection),
346
+ connectionId: connectionId,
347
+ hasVideo: hasVideo,
348
+ hasAudio: hasAudio,
349
+ isOwnConnection: true,
350
+ mirror: this.mirror,
351
+ videoDimensions: videoDimensions
352
+ });
353
+ trace_1.traceInfo('publisher stream created', {
354
+ event: event,
355
+ hasAudio: hasAudio,
356
+ participantId: participantId
357
+ });
358
+ return [2
359
+ /*return*/
360
+ ];
361
+ }
362
+ });
363
+ });
364
+ });
365
+ };
366
+
367
+ var selectedCamera = settings.selectedCamera,
368
+ cameraEnabled = settings.cameraEnabled,
369
+ startWithAudioMuted = settings.startWithAudioMuted;
370
+ _this.selectedCamera = selectedCamera;
371
+ var participantId = options.participantId,
372
+ backgroundImageURI = options.backgroundImageURI;
373
+ var videoSourceId = (_this.selectedCamera === MediaConstants_1.MultiPartyCameraTypes.FRONT ? _this.mediaCapabilitiesService.frontCameraDeviceId : _this.mediaCapabilitiesService.backCameraDeviceId) || undefined;
374
+ var mobileCameraType = _this.selectedCamera === MediaConstants_1.MultiPartyCameraTypes.FRONT ? OpentokFacingMode.USER : OpentokFacingMode.ENVIRONMENT;
375
+ _this.currentPublisher = OT.initPublisher(participantId, {
376
+ insertMode: 'append',
377
+ fitMode: 'cover',
378
+ width: '100%',
379
+ height: '100%',
380
+ style: {
381
+ buttonDisplayMode: 'off',
382
+ archiveStatusDisplayMode: 'off',
383
+ audioLevelDisplayMode: 'off',
384
+ backgroundImageURI: backgroundImageURI
385
+ },
386
+ publishAudio: !startWithAudioMuted,
387
+ publishVideo: cameraEnabled,
388
+ videoSource: !_this.isMobile ? videoSourceId : undefined,
389
+ facingMode: _this.isMobile && !videoSourceId ? mobileCameraType : undefined,
390
+ mirror: _this.mirror
391
+ }, trace_1.traceError);
392
+
393
+ _this.initializeEventHandlers();
394
+
395
+ return _this;
396
+ }
397
+
398
+ Object.defineProperty(OpentokPublisher.prototype, "mirror", {
399
+ get: function get() {
400
+ return !this.isMobile || this.selectedCamera !== MediaConstants_1.MultiPartyCameraTypes.BACK;
401
+ },
402
+ enumerable: false,
403
+ configurable: true
404
+ });
405
+ return OpentokPublisher;
406
+ }(TypedEventEmitter_1.TypedEventEmitter);
407
+
408
+ exports.OpentokPublisher = OpentokPublisher;
409
+ //# sourceMappingURL=OpentokPublisher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["MultiParty/opentok/OpentokPublisher.js"],"names":["__extends","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__","constructor","create","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__generator","body","_","label","sent","t","trys","ops","f","y","g","verb","Symbol","iterator","n","v","op","TypeError","pop","length","push","defineProperty","exports","OpentokPublisher","TypedEventEmitter_1","require","MediaConstants_1","MediaCapabilitiesService_1","MediaCapabilitiesUtils_1","OpentokUtils_1","trace_1","OpentokFacingMode","OPENTOK_MIRRORED_CSS_CLASS","_super","settings","options","mediaCapabilitiesService","_this","isMobile","checkIsMobile","get","currentPublisher","destroy","getImgData","publishAudio","enabled","publishVideo","switchCamera","newVideoSourceId","newCameraSource","mirror","videoDimensions","err_1","_a","_b","_c","_d","supportSwitchCamera","Error","selectedCamera","MultiPartyCameraTypes","FRONT","backCameraDeviceId","frontCameraDeviceId","BACK","setVideoSource","element","classList","add","remove","stream","width","height","emit","cameraSource","traceError","JSON","stringify","initializeEventHandlers","on","event","traceInfo","connection","connectionId","participantId","isOwnConnection","clientRole","getClientRole","hasAudio","hasVideo","MediaCapabilitiesService","setDevicesList","cameraEnabled","startWithAudioMuted","backgroundImageURI","videoSourceId","undefined","mobileCameraType","USER","ENVIRONMENT","OT","initPublisher","insertMode","fitMode","style","buttonDisplayMode","archiveStatusDisplayMode","audioLevelDisplayMode","videoSource","facingMode","enumerable","configurable","TypedEventEmitter"],"mappings":"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","file":"OpentokPublisher.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 __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.OpentokPublisher = void 0;\nvar TypedEventEmitter_1 = require(\"@techsee/techsee-common/lib/helpers/TypedEventEmitter\");\nvar MediaConstants_1 = require(\"../../MediaConstants\");\nvar MediaCapabilitiesService_1 = require(\"../MediaCapabilitiesService\");\nvar MediaCapabilitiesUtils_1 = require(\"../MediaCapabilitiesUtils\");\nvar OpentokUtils_1 = require(\"./OpentokUtils\");\nvar trace_1 = require(\"./trace\");\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 OpentokPublisher = /** @class */ (function (_super) {\n __extends(OpentokPublisher, _super);\n function OpentokPublisher(settings, options, mediaCapabilitiesService) {\n var _this = _super.call(this) || this;\n _this.options = options;\n _this.mediaCapabilitiesService = mediaCapabilitiesService;\n _this.isMobile = MediaCapabilitiesUtils_1.checkIsMobile();\n _this.get = function () { return _this.currentPublisher; };\n _this.destroy = function () { return _this.currentPublisher.destroy(); };\n _this.getImgData = function () { return _this.currentPublisher.getImgData() || null; };\n _this.publishAudio = function (enabled) { return _this.currentPublisher.publishAudio(enabled); };\n _this.publishVideo = function (enabled) { return _this.currentPublisher.publishVideo(enabled); };\n _this.switchCamera = function () { return __awaiter(_this, void 0, void 0, function () {\n var newVideoSourceId, newCameraSource, mirror, videoDimensions, err_1;\n var _a, _b, _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n if (!this.mediaCapabilitiesService.supportSwitchCamera) {\n throw new Error('Not Support switch camera');\n }\n _d.label = 1;\n case 1:\n _d.trys.push([1, 3, , 4]);\n newVideoSourceId = this.selectedCamera === MediaConstants_1.MultiPartyCameraTypes.FRONT\n ? this.mediaCapabilitiesService.backCameraDeviceId\n : this.mediaCapabilitiesService.frontCameraDeviceId;\n newCameraSource = this.selectedCamera === MediaConstants_1.MultiPartyCameraTypes.BACK\n ? MediaConstants_1.MultiPartyCameraTypes.FRONT\n : MediaConstants_1.MultiPartyCameraTypes.BACK;\n return [4 /*yield*/, this.currentPublisher.setVideoSource(newVideoSourceId)];\n case 2:\n _d.sent();\n mirror = !this.isMobile || newCameraSource !== MediaConstants_1.MultiPartyCameraTypes.BACK;\n if (mirror) {\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 = newCameraSource;\n videoDimensions = ((_c = this.currentPublisher.stream) === null || _c === void 0 ? void 0 : _c.videoDimensions) || { width: 0, height: 0 };\n this.emit('cameraSourceChanged', { cameraSource: newCameraSource, mirror: mirror, videoDimensions: videoDimensions });\n return [3 /*break*/, 4];\n case 3:\n err_1 = _d.sent();\n trace_1.traceError(JSON.stringify(err_1));\n throw err_1;\n case 4: return [2 /*return*/];\n }\n });\n }); };\n _this.initializeEventHandlers = function () {\n if (!_this.currentPublisher) {\n throw new Error('Publisher not initialized');\n }\n _this.currentPublisher.on('videoElementCreated', function (event) {\n trace_1.traceInfo('videoElementCreated', event);\n _this.emit('videoElementCreated');\n });\n _this.currentPublisher.on('streamDestroyed', function (event) {\n trace_1.traceInfo('Publisher stream destroyed', event);\n var connection = event.stream.connection;\n var connectionId = connection.connectionId;\n _this.emit('streamDestroyed', {\n participantId: _this.options.participantId,\n connectionId: connectionId,\n isOwnConnection: true,\n clientRole: OpentokUtils_1.getClientRole(connection)\n });\n });\n _this.currentPublisher.on('accessDenied', function () {\n trace_1.traceInfo('Publisher denied media permissions');\n _this.emit('mediaDeviceAccessDenied', {\n isOwnConnection: true\n });\n });\n _this.currentPublisher.on('streamCreated', function (event) { return __awaiter(_this, void 0, void 0, function () {\n var _a, hasAudio, hasVideo, connection, videoDimensions, connectionId, participantId;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, MediaCapabilitiesService_1.MediaCapabilitiesService.setDevicesList()];\n case 1:\n _b.sent();\n _a = event.stream, hasAudio = _a.hasAudio, hasVideo = _a.hasVideo, connection = _a.connection, videoDimensions = _a.videoDimensions;\n connectionId = event.stream.connection.connectionId;\n participantId = this.options.participantId;\n this.emit('streamCreated', {\n participantId: participantId,\n clientRole: OpentokUtils_1.getClientRole(connection),\n connectionId: connectionId,\n hasVideo: hasVideo,\n hasAudio: hasAudio,\n isOwnConnection: true,\n mirror: this.mirror,\n videoDimensions: videoDimensions\n });\n trace_1.traceInfo('publisher stream created', {\n event: event,\n hasAudio: hasAudio,\n participantId: participantId\n });\n return [2 /*return*/];\n }\n });\n }); });\n };\n var selectedCamera = settings.selectedCamera, cameraEnabled = settings.cameraEnabled, startWithAudioMuted = settings.startWithAudioMuted;\n _this.selectedCamera = selectedCamera;\n var participantId = options.participantId, backgroundImageURI = options.backgroundImageURI;\n var videoSourceId = (_this.selectedCamera === MediaConstants_1.MultiPartyCameraTypes.FRONT\n ? _this.mediaCapabilitiesService.frontCameraDeviceId\n : _this.mediaCapabilitiesService.backCameraDeviceId) || undefined;\n var mobileCameraType = _this.selectedCamera === MediaConstants_1.MultiPartyCameraTypes.FRONT\n ? OpentokFacingMode.USER\n : OpentokFacingMode.ENVIRONMENT;\n _this.currentPublisher = OT.initPublisher(participantId, {\n insertMode: 'append',\n fitMode: 'cover',\n width: '100%',\n height: '100%',\n style: {\n buttonDisplayMode: 'off',\n archiveStatusDisplayMode: 'off',\n audioLevelDisplayMode: 'off',\n backgroundImageURI: backgroundImageURI\n },\n publishAudio: !startWithAudioMuted,\n publishVideo: cameraEnabled,\n videoSource: !_this.isMobile ? videoSourceId : undefined,\n facingMode: _this.isMobile && !videoSourceId ? mobileCameraType : undefined,\n mirror: _this.mirror\n }, trace_1.traceError);\n _this.initializeEventHandlers();\n return _this;\n }\n Object.defineProperty(OpentokPublisher.prototype, \"mirror\", {\n get: function () {\n return !this.isMobile || this.selectedCamera !== MediaConstants_1.MultiPartyCameraTypes.BACK;\n },\n enumerable: false,\n configurable: true\n });\n return OpentokPublisher;\n}(TypedEventEmitter_1.TypedEventEmitter));\nexports.OpentokPublisher = OpentokPublisher;\n\n//# sourceMappingURL=OpentokPublisher.js.map\n"]}
@@ -0,0 +1 @@
1
+ export declare function createSubscriber(session: OT.Session, stream: OT.Stream, participantId: string, backgroundImageURI: string): OT.Subscriber;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/MultiParty/opentok/OpentokSubscriber.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,MAAM,EAAE,EAAE,CAAC,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,kBAAkB,EAAE,MAAM,GAC3B,EAAE,CAAC,UAAU,CA0Bf","file":"OpentokSubscriber.d.ts","sourcesContent":["import {traceError, traceInfo} from './trace';\n\nexport function createSubscriber(\n session: OT.Session,\n stream: OT.Stream,\n participantId: string,\n backgroundImageURI: string\n): OT.Subscriber {\n const subscriber = session.subscribe(\n stream,\n participantId,\n {\n insertMode: 'append',\n fitMode: 'cover',\n width: '100%',\n height: '100%',\n style: {\n buttonDisplayMode: 'off',\n audioLevelDisplayMode: 'off',\n videoDisabledDisplayMode: 'off',\n backgroundImageURI\n }\n },\n (err) => {\n traceError(err);\n }\n );\n\n subscriber.on('videoElementCreated', (event: unknown) => {\n traceInfo('videoElementCreated', event);\n });\n\n return subscriber;\n}\n"]}