@techsee/techsee-media-service 2.0.1 → 4.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 (45) hide show
  1. package/lib/MediaConstants.d.ts +4 -0
  2. package/lib/MediaConstants.d.ts.map +1 -1
  3. package/lib/MediaConstants.js +8 -1
  4. package/lib/MediaConstants.js.map +1 -1
  5. package/lib/MediaUtils/index.d.ts +1 -0
  6. package/lib/MediaUtils/index.d.ts.map +1 -0
  7. package/lib/MediaUtils/index.js +16 -0
  8. package/lib/MediaUtils/index.js.map +1 -0
  9. package/lib/MultiParty/Contracts.d.ts +3 -2
  10. package/lib/MultiParty/Contracts.d.ts.map +1 -1
  11. package/lib/MultiParty/{MediaCapabilitiesHelper.d.ts → MediaCapabilitiesService.d.ts} +3 -3
  12. package/lib/MultiParty/MediaCapabilitiesService.d.ts.map +1 -0
  13. package/lib/MultiParty/{MediaCapabilitiesHelper.js → MediaCapabilitiesService.js} +70 -109
  14. package/lib/MultiParty/MediaCapabilitiesService.js.map +1 -0
  15. package/lib/MultiParty/MediaCapabilitiesUtils.d.ts +5 -0
  16. package/lib/MultiParty/MediaCapabilitiesUtils.d.ts.map +1 -0
  17. package/lib/MultiParty/MediaCapabilitiesUtils.js +305 -0
  18. package/lib/MultiParty/MediaCapabilitiesUtils.js.map +1 -0
  19. package/lib/MultiParty/{MultiParty.d.ts → MultiPartyService.d.ts} +4 -15
  20. package/lib/MultiParty/MultiPartyService.d.ts.map +1 -0
  21. package/lib/MultiParty/{MultiParty.js → MultiPartyService.js} +9 -192
  22. package/lib/MultiParty/MultiPartyService.js.map +1 -0
  23. package/lib/MultiParty/MultiPartyServiceFactory.d.ts +3 -0
  24. package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +1 -0
  25. package/lib/MultiParty/MultiPartyServiceFactory.js +21 -0
  26. package/lib/MultiParty/MultiPartyServiceFactory.js.map +1 -0
  27. package/lib/MultiParty/{OpentokMultiparty.d.ts → OpentokMultiPartyService.d.ts} +6 -12
  28. package/lib/MultiParty/OpentokMultiPartyService.d.ts.map +1 -0
  29. package/lib/MultiParty/{OpentokMultiparty.js → OpentokMultiPartyService.js} +242 -285
  30. package/lib/MultiParty/OpentokMultiPartyService.js.map +1 -0
  31. package/lib/MultiParty/index.d.ts +3 -0
  32. package/lib/MultiParty/index.d.ts.map +1 -0
  33. package/lib/MultiParty/index.js +52 -0
  34. package/lib/MultiParty/index.js.map +1 -0
  35. package/package.json +2 -2
  36. package/lib/MultiParty/MediaCapabilitiesHelper.d.ts.map +0 -1
  37. package/lib/MultiParty/MediaCapabilitiesHelper.js.map +0 -1
  38. package/lib/MultiParty/MultiParty.d.ts.map +0 -1
  39. package/lib/MultiParty/MultiParty.js.map +0 -1
  40. package/lib/MultiParty/MultipartyFactory.d.ts +0 -4
  41. package/lib/MultiParty/MultipartyFactory.d.ts.map +0 -1
  42. package/lib/MultiParty/MultipartyFactory.js +0 -21
  43. package/lib/MultiParty/MultipartyFactory.js.map +0 -1
  44. package/lib/MultiParty/OpentokMultiparty.d.ts.map +0 -1
  45. package/lib/MultiParty/OpentokMultiparty.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["MultiParty/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","defineProperty","exports","OpentokMultiPartyService","MultiPartyService_1","require","MediaConstants_1","MediaUtils_1","MediaCapabilitiesUtils_1","MediaCapabilitiesService_1","trace","getMediaTracer","OpentokFacingMode","_super","settings","getParticipantDomId","_this","subscribers","participantCount","connect","credentials","session","window","OT","initSession","apiKey","sessionId","err","error","JSON","stringify","emit","MULTI_PARTY_EVENTS","connectFailed","meta","on","connectionCreatedHandler","connectionDestroyedHandler","streamCreatedHandler","streamDestroyedHandler","streamPropertyChangedHandler","sessionDisconnectedHandler","token","_a","_b","off","traceErrorCallback","createPublisher","disconnect","info","canStartWithAudio","canStartWithVideo","checkAudioCapabilities","checkVideoCapabilities","currentPublisher","initPublisher","cameraEnabled","startWithAudioMuted","Error","publish","publishAudio","shouldMute","canPublishAudio","publishVideo","shouldPublishVideo","canPublishVideo","switchCamera","mediaCapabilitiesService","deviceId","cameraType_1","err_1","MediaCapabilitiesService","getInstance","supportSwitchCamera","selectedCamera","MultiPartyCameraTypes","BACK","FRONT","frontCameraDeviceId","backCameraDeviceId","setVideoSource","cameraSourceChanged","cameraSource","isMobile","videoSourceId","mobileCameraType","properties","err_2","_c","checkIsMobile","undefined","USER","ENVIRONMENT","insertMode","fitMode","width","height","style","buttonDisplayMode","archiveStatusDisplayMode","audioLevelDisplayMode","backgroundImageURI","branding","DEFAULT_AVATAR_URI","videoSource","facingMode","getParticipantId","connection","connectionId","event","videoElementCreated","streamDestroyed","participantId","stream","isOwnConnection","ownConnectionId","mediaDeviceAccessDenied","_d","_e","_f","_g","setDevicesList","streamCreated","hasAudio","hasVideo","subscriber_1","maxParticipantsNumber","target","subscribe","subscriber","clientRole","getClientRole","videoAudioStatus","destroyedConnectionId","filter","participantsNumberChanged","connectionCreated","connectionDestroyed","signal","retryAfterReconnect","get","enumerable","configurable","data","parse","SessionClientRole","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};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpentokMultiPartyService = void 0;\nvar MultiPartyService_1 = require(\"./MultiPartyService\");\nvar MediaConstants_1 = require(\"../MediaConstants\");\nvar MediaUtils_1 = require(\"../MediaUtils\");\nvar MediaCapabilitiesUtils_1 = require(\"./MediaCapabilitiesUtils\");\nvar MediaCapabilitiesService_1 = require(\"./MediaCapabilitiesService\");\nvar trace = MediaUtils_1.getMediaTracer('Multiparty');\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 OpentokMultiPartyService = /** @class */ (function (_super) {\n __extends(OpentokMultiPartyService, _super);\n function OpentokMultiPartyService(settings, getParticipantDomId) {\n var _this = _super.call(this, settings) || this;\n _this.subscribers = [];\n _this.participantCount = 0;\n _this.connect = function (credentials) {\n try {\n _this.session = window === null || window === void 0 ? void 0 : window.OT.initSession(credentials.apiKey, credentials.sessionId);\n }\n catch (err) {\n trace.error(JSON.stringify(err));\n _this.emit(MultiPartyService_1.MULTI_PARTY_EVENTS.connectFailed, { meta: { err: JSON.stringify(err) } });\n return;\n }\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) { return __awaiter(_this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (error) {\n (_a = this.session) === null || _a === void 0 ? void 0 : _a.off();\n this.session = null;\n this.traceErrorCallback(error);\n this.emit(MultiPartyService_1.MULTI_PARTY_EVENTS.connectFailed, { meta: { err: JSON.stringify(error) } });\n return [2 /*return*/];\n }\n return [4 /*yield*/, this.createPublisher(this.settings)];\n case 1:\n _b.sent();\n return [2 /*return*/];\n }\n });\n }); });\n };\n _this.disconnect = function () {\n try {\n trace.info('Disconnecting from session');\n if (_this.session) {\n _this.session.disconnect();\n _this.participantCount = 0;\n trace.info('Disconnection from session completed');\n }\n }\n catch (err) {\n trace.error(JSON.stringify(err));\n }\n };\n _this.createPublisher = function (settings) { return __awaiter(_this, void 0, void 0, function () {\n var canStartWithAudio, canStartWithVideo;\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 canStartWithAudio = _b.sent();\n return [4 /*yield*/, MediaCapabilitiesUtils_1.checkVideoCapabilities()];\n case 2:\n canStartWithVideo = _b.sent();\n if (!canStartWithAudio && !canStartWithVideo) {\n // FIXME: use emitter\n trace.error('Did not create publisher due to lack of media capabilities.');\n return [2 /*return*/];\n }\n if (!!this.currentPublisher) return [3 /*break*/, 4];\n return [4 /*yield*/, this.initPublisher(__assign(__assign({}, settings), { cameraEnabled: settings.cameraEnabled && canStartWithVideo, startWithAudioMuted: settings.startWithAudioMuted && canStartWithAudio }))];\n case 3:\n _b.sent();\n if (!this.currentPublisher) {\n throw new Error('Creating session requires initialized publisher');\n }\n this.currentPublisher && ((_a = this.session) === null || _a === void 0 ? void 0 : _a.publish(this.currentPublisher, this.traceErrorCallback));\n _b.label = 4;\n case 4: return [2 /*return*/];\n }\n });\n }); };\n _this.publishAudio = function (shouldMute) { return __awaiter(_this, void 0, void 0, function () {\n var canPublishAudio;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, MediaCapabilitiesUtils_1.checkAudioCapabilities()];\n case 1:\n canPublishAudio = _a.sent();\n // why do we care about audio if 'shouldMute' is true?\n if (shouldMute && !canPublishAudio) {\n trace.error('could not publish audio');\n return [2 /*return*/];\n }\n if (!!this.currentPublisher) return [3 /*break*/, 3];\n return [4 /*yield*/, this.createPublisher(__assign(__assign({}, this.settings), { \n // so if 'shouldMute' is true then we DON't mute?\n startWithAudioMuted: !shouldMute }))];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n this.currentPublisher.publishAudio(shouldMute);\n _a.label = 4;\n case 4: return [2 /*return*/];\n }\n });\n }); };\n _this.publishVideo = function (shouldPublishVideo) { return __awaiter(_this, void 0, void 0, function () {\n var canPublishVideo;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, MediaCapabilitiesUtils_1.checkVideoCapabilities()];\n case 1:\n canPublishVideo = _a.sent();\n if (shouldPublishVideo && !canPublishVideo) {\n trace.error('could not publish video');\n return [2 /*return*/];\n }\n if (!!this.currentPublisher) return [3 /*break*/, 3];\n return [4 /*yield*/, this.createPublisher(__assign(__assign({}, this.settings), { cameraEnabled: shouldPublishVideo }))];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n this.currentPublisher.publishVideo(shouldPublishVideo);\n _a.label = 4;\n case 4: return [2 /*return*/];\n }\n });\n }); };\n _this.switchCamera = function () { return __awaiter(_this, void 0, void 0, function () {\n var mediaCapabilitiesService, deviceId, cameraType_1, err_1;\n var _this = this;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 2, , 3]);\n return [4 /*yield*/, MediaCapabilitiesService_1.MediaCapabilitiesService.getInstance()];\n case 1:\n mediaCapabilitiesService = _b.sent();\n if (!mediaCapabilitiesService.supportSwitchCamera) {\n throw new Error('Not Support switch camera');\n }\n deviceId = '';\n switch (this.settings.selectedCamera) {\n case MediaConstants_1.MultiPartyCameraTypes.BACK:\n cameraType_1 = MediaConstants_1.MultiPartyCameraTypes.FRONT;\n deviceId = mediaCapabilitiesService.frontCameraDeviceId;\n break;\n case MediaConstants_1.MultiPartyCameraTypes.FRONT:\n cameraType_1 = MediaConstants_1.MultiPartyCameraTypes.BACK;\n deviceId = mediaCapabilitiesService.backCameraDeviceId;\n break;\n default:\n throw new Error(\"cameraType not valid: \" + this.settings.selectedCamera);\n }\n return [2 /*return*/, (_a = this.currentPublisher) === null || _a === void 0 ? void 0 : _a.setVideoSource(deviceId).then(function () {\n _this.settings.selectedCamera = cameraType_1;\n _this.emit(MultiPartyService_1.MULTI_PARTY_EVENTS.cameraSourceChanged, { cameraSource: cameraType_1 });\n trace.info(\"Success to switch camera to cameraType: \" + cameraType_1);\n })];\n case 2:\n err_1 = _b.sent();\n trace.error(JSON.stringify(err_1));\n throw err_1;\n case 3: return [2 /*return*/];\n }\n });\n }); };\n _this.initPublisher = function (settings) { return __awaiter(_this, void 0, void 0, function () {\n var selectedCamera, isMobile, mediaCapabilitiesService, frontCameraDeviceId, backCameraDeviceId, videoSourceId, mobileCameraType, properties, err_2;\n var _this = this;\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 2, , 3]);\n selectedCamera = settings.selectedCamera;\n isMobile = MediaCapabilitiesUtils_1.checkIsMobile();\n return [4 /*yield*/, MediaCapabilitiesService_1.MediaCapabilitiesService.getInstance()];\n case 1:\n mediaCapabilitiesService = _c.sent();\n frontCameraDeviceId = mediaCapabilitiesService.frontCameraDeviceId, backCameraDeviceId = mediaCapabilitiesService.backCameraDeviceId;\n videoSourceId = (selectedCamera === MediaConstants_1.MultiPartyCameraTypes.FRONT ? frontCameraDeviceId : backCameraDeviceId) || undefined;\n mobileCameraType = settings.selectedCamera === MediaConstants_1.MultiPartyCameraTypes.FRONT ? OpentokFacingMode.USER : OpentokFacingMode.ENVIRONMENT;\n properties = {\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: ((_a = this.branding) === null || _a === void 0 ? void 0 : _a.backgroundImageURI) || MultiPartyService_1.DEFAULT_AVATAR_URI\n },\n publishAudio: !settings.startWithAudioMuted,\n publishVideo: settings.cameraEnabled,\n videoSource: !isMobile ? videoSourceId : undefined,\n facingMode: isMobile || !videoSourceId ? mobileCameraType : undefined\n };\n this.currentPublisher = window === null || window === void 0 ? void 0 : window.OT.initPublisher(this.getParticipantId((_b = this.session) === null || _b === void 0 ? void 0 : _b.connection.connectionId), properties, this.traceErrorCallback);\n if (!this.currentPublisher) {\n trace.error('failed to init publisher');\n }\n else {\n this.currentPublisher.on('videoElementCreated', function (event) {\n trace.info('videoElementCreated', event);\n _this.emit(MultiPartyService_1.MULTI_PARTY_EVENTS.videoElementCreated, event);\n });\n this.currentPublisher.on('streamDestroyed', function (event) {\n var _a;\n trace.info('Publisher stream destroyed', event);\n _this.emit(MultiPartyService_1.MULTI_PARTY_EVENTS.streamDestroyed, { event: event, participantId: _this.getParticipantId((_a = event === null || event === void 0 ? void 0 : event.stream) === null || _a === void 0 ? void 0 : _a.connection.connectionId) });\n });\n this.currentPublisher.on('accessDenied', function (event) {\n var _a;\n trace.info('Publisher denied media permissions', event);\n var connection = (_a = _this.session) === null || _a === void 0 ? void 0 : _a.connection;\n var connectionId = connection === null || connection === void 0 ? void 0 : connection.connectionId;\n var participantId = _this.getParticipantId(connection.connectionId);\n var isOwnConnection = _this.ownConnectionId === connectionId;\n _this.emit(MultiPartyService_1.MULTI_PARTY_EVENTS.mediaDeviceAccessDenied, {\n connectionId: connectionId,\n isOwnConnection: isOwnConnection,\n participantId: participantId\n });\n });\n this.currentPublisher.on('streamCreated', function (event) { return __awaiter(_this, void 0, void 0, function () {\n var participantId;\n var _a, _b, _c, _d, _e, _f;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0: return [4 /*yield*/, MediaCapabilitiesService_1.MediaCapabilitiesService.setDevicesList()];\n case 1:\n _g.sent();\n participantId = this.getParticipantId((_a = event === null || event === void 0 ? void 0 : event.stream) === null || _a === void 0 ? void 0 : _a.connection.connectionId);\n this.emit(MultiPartyService_1.MULTI_PARTY_EVENTS.streamCreated, { event: event, participantId: participantId,\n startWithAudioMuted: this.settings.startWithAudioMuted, hasAudio: (_b = event === null || event === void 0 ? void 0 : event.stream) === null || _b === void 0 ? void 0 : _b.hasAudio,\n hasVideo: (_c = event === null || event === void 0 ? void 0 : event.stream) === null || _c === void 0 ? void 0 : _c.hasVideo,\n isOwnConnection: this.ownConnectionId === ((_e = (_d = event === null || event === void 0 ? void 0 : event.stream) === null || _d === void 0 ? void 0 : _d.connection) === null || _e === void 0 ? void 0 : _e.connectionId),\n });\n trace.info('publisher stream created', { event: event,\n hasAudio: (_f = this.currentPublisher) === null || _f === void 0 ? void 0 : _f['stream.hasAudio'],\n participantId: participantId });\n return [2 /*return*/];\n }\n });\n }); });\n }\n return [3 /*break*/, 3];\n case 2:\n err_2 = _c.sent();\n trace.error(JSON.stringify(err_2));\n throw err_2;\n case 3: return [2 /*return*/];\n }\n });\n }); };\n _this.streamCreatedHandler = function (event) { return __awaiter(_this, void 0, void 0, function () {\n var stream, connection, participantId, properties, subscriber_1;\n var _this = this;\n var _a, _b, _c, _d, _e;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n trace.info('streamCreatedHandler', event.stream);\n stream = event.stream;\n connection = stream.connection;\n participantId = this.getParticipantId(connection.connectionId);\n return [4 /*yield*/, MediaCapabilitiesService_1.MediaCapabilitiesService.setDevicesList()];\n case 1:\n _f.sent();\n this.emit(MultiPartyService_1.MULTI_PARTY_EVENTS.streamCreated, { event: event, participantId: participantId,\n startWithAudioMuted: this.settings.startWithAudioMuted, isOwnConnection: this.ownConnectionId === ((_b = (_a = event === null || event === void 0 ? void 0 : event.stream) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.connectionId),\n hasVideo: (_c = event === null || event === void 0 ? void 0 : event.stream) === null || _c === void 0 ? void 0 : _c.hasVideo,\n hasAudio: (_d = event === null || event === void 0 ? void 0 : event.stream) === null || _d === void 0 ? void 0 : _d.hasAudio });\n if (!this.ownConnectionId || !stream || connection.connectionId === this.ownConnectionId) {\n return [2 /*return*/];\n }\n if (this.subscribers.length >= MultiPartyService_1.maxParticipantsNumber - 1) {\n trace.info(\"a new subscriber cannot be added, as the number of participants reached its limit: \" + MultiPartyService_1.maxParticipantsNumber);\n }\n else {\n properties = {\n insertMode: 'append',\n fitMode: 'cover',\n width: '100%',\n height: '100%',\n style: {\n buttonDisplayMode: 'off',\n audioLevelDisplayMode: 'off',\n backgroundImageURI: ((_e = this.branding) === null || _e === void 0 ? void 0 : _e.backgroundImageURI) || MultiPartyService_1.DEFAULT_AVATAR_URI\n },\n };\n subscriber_1 = event.target.subscribe(event.stream, participantId, properties, function (err) {\n _this.traceErrorCallback(err);\n subscriber_1 === null || subscriber_1 === void 0 ? void 0 : subscriber_1.on('videoElementCreated', function (event) {\n trace.info('videoElementCreated', event);\n });\n });\n this.subscribers.push({\n subscriber: subscriber_1,\n connectionId: connection.connectionId,\n clientRole: this.getClientRole(connection)\n });\n }\n return [2 /*return*/];\n }\n });\n }); };\n _this.streamPropertyChangedHandler = function (event) {\n var _a;\n trace.info('streamPropertyChangedHandler', event);\n var stream = event.stream;\n _this.emit(MultiPartyService_1.MULTI_PARTY_EVENTS.videoAudioStatus, {\n hasVideo: stream === null || stream === void 0 ? void 0 : stream.hasVideo,\n hasAudio: stream === null || stream === void 0 ? void 0 : stream.hasAudio,\n participantId: _this.getParticipantId(stream === null || stream === void 0 ? void 0 : stream.connection.connectionId),\n isOwnConnection: _this.ownConnectionId === ((_a = stream === null || stream === void 0 ? void 0 : stream.connection) === null || _a === void 0 ? void 0 : _a.connectionId),\n stream: stream\n });\n };\n _this.streamDestroyedHandler = function (event) {\n var _a;\n trace.info('streamDestroyedHandler', event);\n var stream = event.stream;\n var destroyedConnectionId = stream && stream.connection && stream.connection.connectionId;\n _this.emit(MultiPartyService_1.MULTI_PARTY_EVENTS.streamDestroyed, { event: event, participantId: _this.getParticipantId((_a = event === null || event === void 0 ? void 0 : event.stream) === null || _a === void 0 ? void 0 : _a.connection.connectionId) });\n _this.subscribers = _this.subscribers.filter(function (subscriber) { return subscriber.connectionId !== destroyedConnectionId; });\n };\n _this.connectionCreatedHandler = function (event) {\n trace.info('connectionCreatedHandler', event);\n var connection = event.connection;\n if (!_this.ownConnectionId || !connection) {\n return;\n }\n ++_this.participantCount;\n _this.emit(MultiPartyService_1.MULTI_PARTY_EVENTS.participantsNumberChanged, _this.participantCount);\n var clientRole = _this.getClientRole(connection);\n _this.emit(MultiPartyService_1.MULTI_PARTY_EVENTS.connectionCreated, {\n clientRole: clientRole, event: event,\n participantId: _this.getParticipantId(connection.connectionId),\n isOwnConnection: _this.ownConnectionId === connection.connectionId\n });\n };\n _this.connectionDestroyedHandler = function (event) {\n var connection = event.connection;\n var clientRole = _this.getClientRole(connection);\n trace.info('connectionDestroyedHandler', event);\n _this.emit(MultiPartyService_1.MULTI_PARTY_EVENTS.connectionDestroyed, { clientRole: clientRole, event: event, participantId: _this.getParticipantId(event === null || event === void 0 ? void 0 : event.connection.connectionId) });\n if (!_this.ownConnectionId || !connection || connection.connectionId !== _this.ownConnectionId) {\n return;\n }\n --_this.participantCount;\n _this.emit(MultiPartyService_1.MULTI_PARTY_EVENTS.participantsNumberChanged, _this.participantCount);\n _this.session = null;\n };\n _this.traceErrorCallback = function (error) {\n trace.error(JSON.stringify(error));\n };\n _this.sessionDisconnectedHandler = function (event) {\n var _a;\n trace.info('sessionDisconnectedHandler', event);\n (_a = _this === null || _this === void 0 ? void 0 : _this.session) === null || _a === void 0 ? void 0 : _a.signal({ retryAfterReconnect: true });\n };\n _this.branding = settings.branding;\n _this.getParticipantId = getParticipantDomId;\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 OpentokMultiPartyService.prototype.getClientRole = function (connection) {\n return ((connection === null || connection === void 0 ? void 0 : connection.data) && JSON.parse(connection.data).clientRole) || MediaConstants_1.SessionClientRole.USER;\n };\n return OpentokMultiPartyService;\n}(MultiPartyService_1.MultiPartyService));\nexports.OpentokMultiPartyService = OpentokMultiPartyService;\n\n//# sourceMappingURL=OpentokMultiPartyService.js.map\n"]}
@@ -0,0 +1,3 @@
1
+ export * from './MediaCapabilitiesUtils';
2
+ export { createMultiPartyService } from './MultiPartyServiceFactory';
3
+ export { MultiPartyService, MULTI_PARTY_EVENTS } from './MultiPartyService';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/MultiParty/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAC,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAC,iBAAiB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC","file":"index.d.ts","sourcesContent":["export * from './MediaCapabilitiesUtils';\nexport {createMultiPartyService} from './MultiPartyServiceFactory';\nexport {MultiPartyService, MULTI_PARTY_EVENTS} from './MultiPartyService';\n"]}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ Object.defineProperty(o, k2, {
6
+ enumerable: true,
7
+ get: function get() {
8
+ return m[k];
9
+ }
10
+ });
11
+ } : function (o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ });
15
+
16
+ var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
17
+ for (var p in m) {
18
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
+ }
20
+ };
21
+
22
+ Object.defineProperty(exports, "__esModule", {
23
+ value: true
24
+ });
25
+ exports.MULTI_PARTY_EVENTS = exports.MultiPartyService = exports.createMultiPartyService = void 0;
26
+
27
+ __exportStar(require("./MediaCapabilitiesUtils"), exports);
28
+
29
+ var MultiPartyServiceFactory_1 = require("./MultiPartyServiceFactory");
30
+
31
+ Object.defineProperty(exports, "createMultiPartyService", {
32
+ enumerable: true,
33
+ get: function get() {
34
+ return MultiPartyServiceFactory_1.createMultiPartyService;
35
+ }
36
+ });
37
+
38
+ var MultiPartyService_1 = require("./MultiPartyService");
39
+
40
+ Object.defineProperty(exports, "MultiPartyService", {
41
+ enumerable: true,
42
+ get: function get() {
43
+ return MultiPartyService_1.MultiPartyService;
44
+ }
45
+ });
46
+ Object.defineProperty(exports, "MULTI_PARTY_EVENTS", {
47
+ enumerable: true,
48
+ get: function get() {
49
+ return MultiPartyService_1.MULTI_PARTY_EVENTS;
50
+ }
51
+ });
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["MultiParty/index.js"],"names":["__createBinding","Object","create","o","m","k","k2","undefined","defineProperty","enumerable","get","__exportStar","exports","p","prototype","hasOwnProperty","call","value","MULTI_PARTY_EVENTS","MultiPartyService","createMultiPartyService","require","MultiPartyServiceFactory_1","MultiPartyService_1"],"mappings":"AAAA;;AACA,IAAIA,eAAe,GAAI,UAAQ,SAAKA,eAAd,KAAmCC,MAAM,CAACC,MAAP,GAAiB,UAASC,CAAT,EAAYC,CAAZ,EAAeC,CAAf,EAAkBC,EAAlB,EAAsB;AAC5F,MAAIA,EAAE,KAAKC,SAAX,EAAsBD,EAAE,GAAGD,CAAL;AACtBJ,EAAAA,MAAM,CAACO,cAAP,CAAsBL,CAAtB,EAAyBG,EAAzB,EAA6B;AAAEG,IAAAA,UAAU,EAAE,IAAd;AAAoBC,IAAAA,GAAG,EAAE,eAAW;AAAE,aAAON,CAAC,CAACC,CAAD,CAAR;AAAc;AAApD,GAA7B;AACH,CAHwD,GAGnD,UAASF,CAAT,EAAYC,CAAZ,EAAeC,CAAf,EAAkBC,EAAlB,EAAsB;AACxB,MAAIA,EAAE,KAAKC,SAAX,EAAsBD,EAAE,GAAGD,CAAL;AACtBF,EAAAA,CAAC,CAACG,EAAD,CAAD,GAAQF,CAAC,CAACC,CAAD,CAAT;AACH,CANqB,CAAtB;;AAOA,IAAIM,YAAY,GAAI,UAAQ,SAAKA,YAAd,IAA+B,UAASP,CAAT,EAAYQ,OAAZ,EAAqB;AACnE,OAAK,IAAIC,CAAT,IAAcT,CAAd;AAAiB,QAAIS,CAAC,KAAK,SAAN,IAAmB,CAACZ,MAAM,CAACa,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCJ,OAArC,EAA8CC,CAA9C,CAAxB,EAA0Eb,eAAe,CAACY,OAAD,EAAUR,CAAV,EAAaS,CAAb,CAAf;AAA3F;AACH,CAFD;;AAGAZ,MAAM,CAACO,cAAP,CAAsBI,OAAtB,EAA+B,YAA/B,EAA6C;AAAEK,EAAAA,KAAK,EAAE;AAAT,CAA7C;AACAL,OAAO,CAACM,kBAAR,GAA6BN,OAAO,CAACO,iBAAR,GAA4BP,OAAO,CAACQ,uBAAR,GAAkC,KAAK,CAAhG;;AACAT,YAAY,CAACU,OAAO,CAAC,0BAAD,CAAR,EAAsCT,OAAtC,CAAZ;;AACA,IAAIU,0BAA0B,GAAGD,OAAO,CAAC,4BAAD,CAAxC;;AACApB,MAAM,CAACO,cAAP,CAAsBI,OAAtB,EAA+B,yBAA/B,EAA0D;AAAEH,EAAAA,UAAU,EAAE,IAAd;AAAoBC,EAAAA,GAAG,EAAE,eAAY;AAAE,WAAOY,0BAA0B,CAACF,uBAAlC;AAA4D;AAAnG,CAA1D;;AACA,IAAIG,mBAAmB,GAAGF,OAAO,CAAC,qBAAD,CAAjC;;AACApB,MAAM,CAACO,cAAP,CAAsBI,OAAtB,EAA+B,mBAA/B,EAAoD;AAAEH,EAAAA,UAAU,EAAE,IAAd;AAAoBC,EAAAA,GAAG,EAAE,eAAY;AAAE,WAAOa,mBAAmB,CAACJ,iBAA3B;AAA+C;AAAtF,CAApD;AACAlB,MAAM,CAACO,cAAP,CAAsBI,OAAtB,EAA+B,oBAA/B,EAAqD;AAAEH,EAAAA,UAAU,EAAE,IAAd;AAAoBC,EAAAA,GAAG,EAAE,eAAY;AAAE,WAAOa,mBAAmB,CAACL,kBAA3B;AAAgD;AAAvF,CAArD","file":"index.js","sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MULTI_PARTY_EVENTS = exports.MultiPartyService = exports.createMultiPartyService = void 0;\n__exportStar(require(\"./MediaCapabilitiesUtils\"), exports);\nvar MultiPartyServiceFactory_1 = require(\"./MultiPartyServiceFactory\");\nObject.defineProperty(exports, \"createMultiPartyService\", { enumerable: true, get: function () { return MultiPartyServiceFactory_1.createMultiPartyService; } });\nvar MultiPartyService_1 = require(\"./MultiPartyService\");\nObject.defineProperty(exports, \"MultiPartyService\", { enumerable: true, get: function () { return MultiPartyService_1.MultiPartyService; } });\nObject.defineProperty(exports, \"MULTI_PARTY_EVENTS\", { enumerable: true, get: function () { return MultiPartyService_1.MULTI_PARTY_EVENTS; } });\n\n//# sourceMappingURL=index.js.map\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@techsee/techsee-media-service",
3
- "version": "2.0.1",
3
+ "version": "4.0.0",
4
4
  "description": "Techsee Media Service",
5
5
  "author": "TechSee",
6
6
  "main": "lib/index.js",
@@ -20,7 +20,7 @@
20
20
  "dependencies": {
21
21
  "@techsee/kurento-utils-temasys-mod": "6.6.3-dev-3",
22
22
  "@techsee/openvidu-browser": "~12.15.6",
23
- "@techsee/techsee-common": "^2.0.0",
23
+ "@techsee/techsee-common": "^2.14.0",
24
24
  "bluebird": "~3.7.2",
25
25
  "kurento-utils": "6.6.2",
26
26
  "lodash": "4.17.20",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/MultiParty/MediaCapabilitiesHelper.ts"],"names":[],"mappings":"AA6BA,qBAAa,uBAAuB;IAChC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAsB;IACxD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAA+B;IAC/D,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAA0B;IAChE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAyD;IACnF,OAAO,CAAC,MAAM,CAAC,cAAc,CAA8C;IAC3E,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAU;IAC7C,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAS;IAC3C,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAS;IAC5C,OAAO,CAAC,MAAM,CAAC,YAAY,CAAmC;IAE9D,OAAO,CAAC,kBAAkB,CAA6B;WAEnC,WAAW,IAAI,OAAO,CAAC,uBAAuB,CAAC;mBAoB9C,IAAI;IAkBlB,SAAS,IAAI,OAAO;IAIpB,aAAa,IAAI,OAAO;IAMxB,SAAS,IAAI,OAAO;IAIpB,wBAAwB,IAAI,OAAO;mBAIrB,iBAAiB;WAalB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAWnD,IAAW,mBAAmB,YAE7B;IAED,IAAW,kBAAkB,WAE5B;IAED,IAAW,mBAAmB,WAE7B;CACJ","file":"MediaCapabilitiesHelper.d.ts","sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-var-requires\nimport {getMediaTracer} from '../MediaUtils/MediaTracer';\nimport {DETECT_RTC_ADVISED_TIMEOUT, DetectWebRtcService} from './DetectWebRtcService';\nimport {ClientWebRtcInfo} from '../MediaContracts';\nimport filter from 'lodash/filter';\nimport {TsEnvironmentDetect} from '@techsee/techsee-common/lib/helpers/ts-environment-detect';\nimport {CameraTypes} from '../MediaConstants';\nimport last from 'lodash/last';\nimport first from 'lodash/first';\nimport get from 'lodash/get';\nimport {Nullable} from '@techsee/techsee-common';\n\nconst trace = getMediaTracer('MediaCapabilitiesHelper');\n\nfunction enumerateMediaDevices(): Promise<MediaDeviceInfo[]> {\n return new Promise((resolve, reject) => {\n if (navigator.mediaDevices && navigator.mediaDevices.enumerateDevices) {\n return navigator.mediaDevices.enumerateDevices().then(resolve).catch(reject);\n }\n\n return resolve([]);\n });\n}\n\ntype GroupedDevices = {\n video: Nullable<{ back?: MediaDeviceInfo; front?: MediaDeviceInfo }>;\n audio: Nullable<MediaDeviceInfo>;\n}\n\nexport class MediaCapabilitiesHelper {\n private static detectWebRtcService: DetectWebRtcService;\n private static webRtcSupportInfo: ClientWebRtcInfo | undefined;\n private static mediaCapabilitiesHelper: MediaCapabilitiesHelper;\n private static devicesList: { video: MediaDeviceInfo[]; audio: MediaDeviceInfo[] };\n private static groupedDevices: GroupedDevices = {video: null, audio: null};\n private static _supportSwitchCamera: boolean;\n private static _backCameraDeviceId: string;\n private static _frontCameraDeviceId: string;\n private static _initPromise: Promise<MediaCapabilitiesHelper>;\n\n private environmentService = new TsEnvironmentDetect();\n\n public static async getInstance(): Promise<MediaCapabilitiesHelper> {\n try {\n if (this.mediaCapabilitiesHelper) {\n return await (this.mediaCapabilitiesHelper);\n }\n\n if (this._initPromise) {\n return this._initPromise;\n }\n\n this._initPromise = this.init();\n\n return this._initPromise;\n } catch (err) {\n trace.error(JSON.stringify(err));\n\n throw err;\n }\n }\n\n private static async init(): Promise<MediaCapabilitiesHelper> {\n try {\n this.mediaCapabilitiesHelper = await new MediaCapabilitiesHelper();\n\n this.detectWebRtcService = await new DetectWebRtcService(DETECT_RTC_ADVISED_TIMEOUT);\n this.webRtcSupportInfo = await this.detectWebRtcService.getWebRtcInfo();\n await this.setDevicesList();\n\n trace.info('initialize media capabilities helper successfully');\n\n return this.mediaCapabilitiesHelper;\n } catch (err) {\n trace.error(JSON.stringify(err));\n\n throw err;\n }\n }\n\n public hasCamera(): boolean {\n return MediaCapabilitiesHelper.devicesList.video.length > 0 && this.hasGetUserMediaSupported();\n }\n\n public hasMicrophone(): boolean {\n return this.environmentService.isIOS()\n ? this.hasGetUserMediaSupported()\n : MediaCapabilitiesHelper.devicesList.audio.length > 0 && this.hasGetUserMediaSupported();\n }\n\n public hasWebRTC(): boolean {\n return MediaCapabilitiesHelper.webRtcSupportInfo!.isWebRTCSupported;\n }\n\n public hasGetUserMediaSupported(): boolean {\n return MediaCapabilitiesHelper.webRtcSupportInfo!.isGetUserMediaSupported;\n }\n\n private static async setGroupedDevices() {\n trace.info('setGroupedDevices', this.devicesList);\n this.groupedDevices = {\n video: this.devicesList.video\n ? {[CameraTypes.BACK]: last(this.devicesList.video), [CameraTypes.FRONT]: first(this.devicesList.video)}\n : null,\n audio: last(this.devicesList.audio) || null\n };\n this._supportSwitchCamera = this.devicesList.video.length > 1;\n this._backCameraDeviceId = get(this.groupedDevices, `video.${CameraTypes.BACK}.deviceId`) || '';\n this._frontCameraDeviceId = get(this.groupedDevices, `video.${CameraTypes.FRONT}.deviceId`) || '';\n }\n\n public static async setDevicesList(): Promise<void> {\n const localDevicesList = this.webRtcSupportInfo!.isWebRTCSupported ? await enumerateMediaDevices() : [];\n\n this.devicesList = {\n video: filter(localDevicesList, (device) => device.kind.toLowerCase() === 'videoinput'),\n audio: filter(localDevicesList, (device) => device.kind.toLowerCase() === 'audioinput')\n };\n\n await this.setGroupedDevices();\n }\n\n public get supportSwitchCamera() {\n return MediaCapabilitiesHelper._supportSwitchCamera;\n }\n\n public get backCameraDeviceId() {\n return MediaCapabilitiesHelper._backCameraDeviceId;\n }\n\n public get frontCameraDeviceId() {\n return MediaCapabilitiesHelper._frontCameraDeviceId;\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["MultiParty/MediaCapabilitiesHelper.js"],"names":["__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","call","pop","length","push","__importDefault","mod","__esModule","Object","defineProperty","exports","MediaCapabilitiesHelper","MediaTracer_1","require","DetectWebRtcService_1","filter_1","ts_environment_detect_1","MediaConstants_1","last_1","first_1","get_1","trace","getMediaTracer","enumerateMediaDevices","navigator","mediaDevices","enumerateDevices","environmentService","TsEnvironmentDetect","getInstance","err_1","_a","mediaCapabilitiesHelper","_initPromise","init","error","JSON","stringify","_b","_c","err_2","_d","DetectWebRtcService","DETECT_RTC_ADVISED_TIMEOUT","detectWebRtcService","getWebRtcInfo","webRtcSupportInfo","setDevicesList","info","prototype","hasCamera","devicesList","video","hasGetUserMediaSupported","hasMicrophone","isIOS","audio","hasWebRTC","isWebRTCSupported","isGetUserMediaSupported","setGroupedDevices","groupedDevices","CameraTypes","BACK","FRONT","_supportSwitchCamera","_backCameraDeviceId","_frontCameraDeviceId","localDevicesList","device","kind","toLowerCase","get","enumerable","configurable"],"mappings":"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","file":"MediaCapabilitiesHelper.js","sourcesContent":["\"use strict\";\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 __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MediaCapabilitiesHelper = void 0;\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nvar MediaTracer_1 = require(\"../MediaUtils/MediaTracer\");\nvar DetectWebRtcService_1 = require(\"./DetectWebRtcService\");\nvar filter_1 = __importDefault(require(\"lodash/filter\"));\nvar ts_environment_detect_1 = require(\"@techsee/techsee-common/lib/helpers/ts-environment-detect\");\nvar MediaConstants_1 = require(\"../MediaConstants\");\nvar last_1 = __importDefault(require(\"lodash/last\"));\nvar first_1 = __importDefault(require(\"lodash/first\"));\nvar get_1 = __importDefault(require(\"lodash/get\"));\nvar trace = MediaTracer_1.getMediaTracer('MediaCapabilitiesHelper');\nfunction enumerateMediaDevices() {\n return new Promise(function (resolve, reject) {\n if (navigator.mediaDevices && navigator.mediaDevices.enumerateDevices) {\n return navigator.mediaDevices.enumerateDevices().then(resolve).catch(reject);\n }\n return resolve([]);\n });\n}\nvar MediaCapabilitiesHelper = /** @class */ (function () {\n function MediaCapabilitiesHelper() {\n this.environmentService = new ts_environment_detect_1.TsEnvironmentDetect();\n }\n MediaCapabilitiesHelper.getInstance = function () {\n return __awaiter(this, void 0, void 0, function () {\n var err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 3, , 4]);\n if (!this.mediaCapabilitiesHelper) return [3 /*break*/, 2];\n return [4 /*yield*/, (this.mediaCapabilitiesHelper)];\n case 1: return [2 /*return*/, _a.sent()];\n case 2:\n if (this._initPromise) {\n return [2 /*return*/, this._initPromise];\n }\n this._initPromise = this.init();\n return [2 /*return*/, this._initPromise];\n case 3:\n err_1 = _a.sent();\n trace.error(JSON.stringify(err_1));\n throw err_1;\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n MediaCapabilitiesHelper.init = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, _b, _c, err_2;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _d.trys.push([0, 5, , 6]);\n _a = this;\n return [4 /*yield*/, new MediaCapabilitiesHelper()];\n case 1:\n _a.mediaCapabilitiesHelper = _d.sent();\n _b = this;\n return [4 /*yield*/, new DetectWebRtcService_1.DetectWebRtcService(DetectWebRtcService_1.DETECT_RTC_ADVISED_TIMEOUT)];\n case 2:\n _b.detectWebRtcService = _d.sent();\n _c = this;\n return [4 /*yield*/, this.detectWebRtcService.getWebRtcInfo()];\n case 3:\n _c.webRtcSupportInfo = _d.sent();\n return [4 /*yield*/, this.setDevicesList()];\n case 4:\n _d.sent();\n trace.info('initialize media capabilities helper successfully');\n return [2 /*return*/, this.mediaCapabilitiesHelper];\n case 5:\n err_2 = _d.sent();\n trace.error(JSON.stringify(err_2));\n throw err_2;\n case 6: return [2 /*return*/];\n }\n });\n });\n };\n MediaCapabilitiesHelper.prototype.hasCamera = function () {\n return MediaCapabilitiesHelper.devicesList.video.length > 0 && this.hasGetUserMediaSupported();\n };\n MediaCapabilitiesHelper.prototype.hasMicrophone = function () {\n return this.environmentService.isIOS()\n ? this.hasGetUserMediaSupported()\n : MediaCapabilitiesHelper.devicesList.audio.length > 0 && this.hasGetUserMediaSupported();\n };\n MediaCapabilitiesHelper.prototype.hasWebRTC = function () {\n return MediaCapabilitiesHelper.webRtcSupportInfo.isWebRTCSupported;\n };\n MediaCapabilitiesHelper.prototype.hasGetUserMediaSupported = function () {\n return MediaCapabilitiesHelper.webRtcSupportInfo.isGetUserMediaSupported;\n };\n MediaCapabilitiesHelper.setGroupedDevices = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n trace.info('setGroupedDevices', this.devicesList);\n this.groupedDevices = {\n video: this.devicesList.video\n ? (_a = {}, _a[MediaConstants_1.CameraTypes.BACK] = last_1.default(this.devicesList.video), _a[MediaConstants_1.CameraTypes.FRONT] = first_1.default(this.devicesList.video), _a) : null,\n audio: last_1.default(this.devicesList.audio) || null\n };\n this._supportSwitchCamera = this.devicesList.video.length > 1;\n this._backCameraDeviceId = get_1.default(this.groupedDevices, \"video.\" + MediaConstants_1.CameraTypes.BACK + \".deviceId\") || '';\n this._frontCameraDeviceId = get_1.default(this.groupedDevices, \"video.\" + MediaConstants_1.CameraTypes.FRONT + \".deviceId\") || '';\n return [2 /*return*/];\n });\n });\n };\n MediaCapabilitiesHelper.setDevicesList = function () {\n return __awaiter(this, void 0, void 0, function () {\n var localDevicesList, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!this.webRtcSupportInfo.isWebRTCSupported) return [3 /*break*/, 2];\n return [4 /*yield*/, enumerateMediaDevices()];\n case 1:\n _a = _b.sent();\n return [3 /*break*/, 3];\n case 2:\n _a = [];\n _b.label = 3;\n case 3:\n localDevicesList = _a;\n this.devicesList = {\n video: filter_1.default(localDevicesList, function (device) { return device.kind.toLowerCase() === 'videoinput'; }),\n audio: filter_1.default(localDevicesList, function (device) { return device.kind.toLowerCase() === 'audioinput'; })\n };\n return [4 /*yield*/, this.setGroupedDevices()];\n case 4:\n _b.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n Object.defineProperty(MediaCapabilitiesHelper.prototype, \"supportSwitchCamera\", {\n get: function () {\n return MediaCapabilitiesHelper._supportSwitchCamera;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MediaCapabilitiesHelper.prototype, \"backCameraDeviceId\", {\n get: function () {\n return MediaCapabilitiesHelper._backCameraDeviceId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MediaCapabilitiesHelper.prototype, \"frontCameraDeviceId\", {\n get: function () {\n return MediaCapabilitiesHelper._frontCameraDeviceId;\n },\n enumerable: false,\n configurable: true\n });\n MediaCapabilitiesHelper.groupedDevices = { video: null, audio: null };\n return MediaCapabilitiesHelper;\n}());\nexports.MediaCapabilitiesHelper = MediaCapabilitiesHelper;\n\n//# sourceMappingURL=MediaCapabilitiesHelper.js.map\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/MultiParty/MultiParty.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAKpD,eAAO,MAAM,kBAAkB,uqLAAuqL,CAAC;AAEvsL,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,oBAAY,kBAAkB;IAC1B,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB;IAC3C,yBAAyB,8BAA8B;IACvD,gBAAgB,qBAAqB;IACrC,uBAAuB,4BAA4B;CACtD;AAED,oBAAY,UAAU,GAAG;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF,MAAM,WAAW,WAAW;IACxB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,WAAW,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC9B,UAAU,IAAI,IAAI,CAAC;IACnB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,WAAW,CAAC;IAC5E,YAAY,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,YAAY,CAAC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED,8BAAsB,UAAW,SAAQ,YAAa,YAAW,WAAW;IACxE,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACzC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEpC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IACtC,QAAQ,CAAC,UAAU,IAAI,IAAI;IAC3B,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IACtC,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IACzD,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;gBAErD,QAAQ,EAAE,eAAe;CAIxC;AAED,eAAO,MAAM,oBAAoB,QAAa,QAAQ,OAAO,CAW5D,CAAC","file":"MultiParty.d.ts","sourcesContent":["import {MediaCapabilitiesHelper} from './MediaCapabilitiesHelper';\nimport {getMediaTracer} from '../MediaUtils/MediaTracer';\nimport {EventEmitter} from 'events';\nimport {SessionSettings} from './Contracts';\nimport {SessionClientRole} from '../MediaConstants';\n\nconst trace = getMediaTracer('Multiparty');\n\n// eslint-disable-next-line max-len\nexport const DEFAULT_AVATAR_URI = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQcAAAFKCAYAAAAQbZoVAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABB+SURBVHgB7d3NbxzlAcfxJ9jrtXFiE4MdQhOE1NALnBJUQbjwciDJBfVC20NVVaIvEgf4r4C0asWFwqFApRIuJD006aExQoqjgu3EiZM4fo87v3FXMuufvbO7MzvPbL4fyUoxTYC1/d3neeaZZw689+4734at8EwAgB0eCQBgEAcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcA1mBAX3vkkUfCwMBAqA0NhaHaUPrXg4OD6ecaf18fzTY2NsKDBw/C1tZW8utmWFtbDxubG2FzczOsr62lfw/9jTj0mXq9HoaSENSSEOh/KwSdaP59IyM//PuKx/r6WlhdXQ1r6+thdWUloL8Qh4rTu/5w8pM7XB9OfoBH7CigCIqHPkZGHk3/WiOJ1dWVsLy8nH4wsqg+4lBBCoBGBYcOHUpHCL0Kwn7076BQNGKxvHw/jcTS0lJANRGHChkYHAgHRw+GgwcPRRGE/TRCMTY2nk49Fu/cDpsbmwHVQRwqQKOE8fHx5NfhUDWN6cfo6Gg6ili6v8T6REUQh4hVOQqOAqEPjSRuLtxgJBE54hAhTR8en3i8b6LQTNF76uiP0pEE0414EYeIaB1Bi4xVWFPIQ2MkcefOYlhcXAyIC3GIhN5NJ5LRQqf7EqpMi5aPPjoaFm4tsB4REeJQMo0QtK6g0cLDTFGcmpwKd+/eDbdv3wooH3EokdYWpiaPPJSjhb1oWqXNXHPzs6xFlIwbr0qiufaTR44SBkOviV4bhQLl4TuzBJpjayqBvWm69dhjh9NfWawsB3Hooe1v+MeSUcPBgGwU0lqtFhYWFrhfo8eYVvSI1hcmkwU3wtA+bcPWa6fXEL1DHHqgsfCoW6nRGb12eg0JRO8Qh4JxRSI/25c7CUSvEIcCEYb8EYjeIQ4F0eLjE49PEoYC6DXVa/swbDEvE69uQbQVmjWG4ui11ZUfFIc4FECX30aaD11E7nTlh/0ixSEOOdOuPr5he0ch1m5T5I845EiLZPpmRW9pJyULlPkjDjnSKjqLZL2n15zXPn+8mjk5fPgwVyZKpNeeUVu+iEMOdFDLw34eQwy03lMf7s+j9cpAHHKgy5aIw8ThCaYXOeFV7JKGskwn4qGvBedA5IM4dEEr5Fy2jI+meFy96B5x6ML4GDv0YqRpxeMTTwR0hzh0SO9MbL6JlxaJWZzsDnHo0MRhFiFjN86lza6wktYBPYlquA/elbSYOjU1lb7D1utD6X/XnTt30jMbV1dXwvzcXKiyxuiBZ2F0hjh0oMrTiWPHnw4nTpwIJ559tuWmoTtJJGZmZsI301fDdPJRRRo9zBGHjhCHNlV1rUFROH36dPprVmPJlZjn9PH882kovvrqy3Dl8uVQJRo96GvGMzDaRxzaVLUrFGNjY+HM2XNtRcH+OUkk3jhzLrz00svh/Ifvp9OPqjg4epDj7TvAgmSb9E5UFSdOPBt+9evfdB2GnRSJt3/3h/DS6ZdDVTwsDybOGyOHNmg6UZXdkCdPngqvvPb6vv+f68l6wtzcbJifn0//eiWZm2uhdXJyMlmoPJJE5fiev7cRh68ufBlipzAo6svLywHZEYc26PkJVfDcc8/vGYbV1dVw6eLX6Yf+9360YKn1Bn24xcsqBeLQoTHi0KaBF1/86XvJr2z1a0HvPlW4wUprDG/94pf272mk8Oc//TG9+rC52XqBTvHQ75m+Op1e5tRlz2bHkymL5vPz83Ff9tTXb2npXtja2grIholYRlU5E/Ktn/sw6N19eyGx/YU5/Z5PP/l4zxHCq8koRVGKmeIwzLmebSEOGVVhSqFh/pi5EUw/1HkM/ff6czSf1xWR2A3X2U7dDuKQUexXKfTO7a4g5BWGnX+e1iua6YrIfguYMeBE8PYQhww03479Uph2PDbTdKCIxcIvPv8sucqxe43hdOSXN9OrFtyMlRlxyGBoqBZid/LkC7s+98Vnn4Wi/P3zv+36nEYP9eG4R1i1wfi/lrEgDhnUI5+ral9C81qDRg1F3g+hey6uz1zb9XltvIoZTyHLjjhkUKvF/W5z3OyAvHTxYija9NXd8Tl2LL/dmEWo0g7XshGHFjRPjX1XpNsePWPe1fM2PT2963NTR6ZCzPS1ZCt1NrxKLdRq8Q9Dh808vxdnMWjq0rzLsgrPjhgcYGNwFsShhYGB+A8q3bXe0MM7EHUozE5VGLYPVmCBOQbEoQWOne8/QxUYDcaAOLTA6nb/Yc0hG16lFg4cOBBi1zyN0DSjV/sNmtcYWt3pGQNGg9kQhxaq8C6zaE5lmpws/qqB9lc0q8KhtFVYR4oBcWihCnGYn53d9bnjx4vfb+D+GTo8Bv2BOLRQhSGo229w8tQLoWjunzFzfSbEjjWHbHiV+oD2GzRvZdYlRZ3gVJT0dCizZfubq/EfYU8csuFV6hNuK/Mrr75eyMJkenv4S7vvwJy5Fv+oAdkRhz5x5crlXVcKNHp4882fhbzpfMq9DpVB/yAOfUJhuHDhH7s+r/suNILIiw6UcXdeKgydHEGHeBGHFh48eBCq4p8XL9rbqE+eOtX1FEOjkDfOnrOnTRV1qAzKxW6QFhSH2Bew9IM7OXUkfQbmXhQI/f2PPvpL23sRNPo4c+asnUrI6spqEp/Xtk+qrsAzNTc2NgJaO/Deu+98G7bCMwHW0aNPRXs5U1HQ5UR9tHPDk46mv7jHKGOnTp6vqd2aWv+4dOnrNBoxWltbC7Oz3wfsj5FDC3qXiTEOrd7N9/PjZM1AH1qnmJ+bTc+DbCxmKjJ6PoVGIp3cYal/H0099GCdTz75OB1NxIZnV2RDHFrI8vCXXtMP3hs5HAWvH/7tU6Pz302pSOgZGnmffp2HKq0jlYk4tBDbN1LWMDQ/BTuvh860++dqFNF4BF8sNK1Aa8ShhZi+kfSDuNczMLcXA/+TPrrOXVLU3ZPpcL/DXZP68y8kIwC3TqE/+9jTx9Oj6d1JUFqs1LF1sdyUtbHJgmQWLEi2UBuqhSePHA0xePu3v7drDHqORNZ3Zv3wnnj2RHLl4if7PoRmez1iLv2hzvLQ3QYFyF3uVFTOf/hBiMHcfLLGsrISsD9GDi1sbsSx5uDuZZBP//pxenUgK40qdDJ143Rq3do9PDwchv6/+LiWREAPxu10Q5PWFxaT33vmzA+nPlrX0IN3piO492KdaUUmxKEFrTnEcMVCaw3N9IPYThicIp6O/e/Ll8NUEp3muzZPnjxVehz0tWRBMht2SGZQ9ulGjasKO8W+K1H/bs2vWwxPxFpfXw/IhjhksL5e7jB0aurIrs/FfgekwnDl8r92ff7Y8XIferPCWkNmxCGDtbVy323GxndfLux2OtEL7srGcMlH169vMHLIijhkoGczlDlPdZcHm58XEaPFRX9JtSz6GnKVIjvikNHy8nKISaz3Ley0uhrXVYEqnIwdE+KQEXPV6ltevh+QHXHIaGVlmUtgbarX43ogUGyjv9gRh4wUhrK2UrsNSdpQFDt3dH1Zp0UpDMS9PWyCasO9e3fT3YS9NmeeS6EtytrdeD3So+DTQ2jNNuq5ku6vYErRPuLQBi1olXEy1Pz8fHpZcOcegcbR80UeP583jRrKuPlKuyKXlpYC2sO0og0Kw927d0MZ+uGMxvMflHPjFVcpOkMc2nT/fjnvQDMzM+nJSlWlG8TKWm/gVOzOMK1ok4aouqxZxtqDbmi6fm0mnDl7bt/brWOy3zkQvaDpBAfKdoY4dECnIZURh+1/9mI4/+H76U7Dyamp0v49spi5dq30d+2l+6w1dIo4dEBbl8saPTToh47h8v601sB26c6x5tCh5rMUEZ+FhZsBnSMOHWqMHhAn1hq6Rxy6cOvWArvuIsWUq3vEoQt6Zypr3wP2pjAwaugeceiStlTzjRgPfS3cORJoH3HokqYVCwsLAXFgETI/xCEHWpxkelE+fQ3YKp0f4pAT5rnl0mt/+/atgPwQh5xoeqFnQHD1ovcarz3yRRxyxLtXObQAyagtf8QhZ9p8w2p572g6pytGyB9xKIC+YZeW7gUUS0e/EeLiEIeC3L59u/QnZfUznefJZctiEYeCaJHsxo0bzIULoNf05s0bLP4WjDgUSN/EWkUnEPnhNe0d4lAwvpnzw2vZW8ShBxrf1KxBdE5rDISht4hDj+ibWs9s4KlL7dOVH8LQe8Shh7YXKee5/NYGXRbWjW0sPvYeZ0iWQN/wW1sP0kNie/2AnKpQDLTblIfRlIc4lER3EGqKoUfaDQ7yZdiJhcc48LZVIn3zf/fdf7ndewe9FrOz3xOGCPCWFQENnzWKmJiYeGhHEYqBdjxyHkM8iEMkdGCMRhFahxgfHw8Pi8bzR3XzFIuOcSEOkdFipZ7HqUiMjo6Gfqaj/XWCN1OIOBGHCDWG2ArF4cMTUT/yrhOKgv7bmELEjThErLFqX68Pp6OIqo8kiEK1EIcK0HqEPvSDpelGvV6vzMJlY01BUyWmD9VCHCqkMd0QjSJGRh5NPkZCbBQE3QuhRUaNElhorCbiUFHaOagP7bBUIBQKjSjK2nGpAOhy7IqeIZr8ShCqjzhUnH4IG6EQrU8MDdXSX2u1WmHTD41iNCrQnaYaJbCO0H+IQ59prE80dl1qJFGrDYWBwYEwODCYhGMoHDhwIP28Plw8FJzGO78isLm5uT1VSEKwsb6efo6RQf8jDn1OP8SKReCNHW3i3goAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGD9D7w3oqmvc81MAAAAAElFTkSuQmCC';\n\nexport const maxParticipantsNumber = 2;\n\nexport enum MULTI_PARTY_EVENTS {\n connectFailed = 'connectFailed',\n streamDestroyed = 'streamDestroyed',\n connectionCreated = 'connectionCreated',\n connectionDestroyed = 'connectionDestroyed',\n streamCreated = 'streamCreated',\n videoElementCreated = 'videoElementCreated',\n participantsNumberChanged = 'participantsNumberChanged',\n videoAudioStatus = 'videoAudioStatus',\n mediaDeviceAccessDenied = 'mediaDeviceAccessDenied',\n}\n\nexport type Subscriber = {\n subscriber: unknown;\n connectionId: string;\n clientRole: SessionClientRole | 'default';\n};\n\nexport interface IMultiParty {\n session?: any;\n subscribers?: Array<Subscriber>;\n ownConnectionId?: string;\n\n connect(...args: any[]): void;\n disconnect(): void;\n switchCamera(): Promise<void>;\n on(event: string | symbol, listener: (...args: any[]) => void): IMultiParty;\n publishAudio(shouldMute: boolean): Promise<void>;\n publishVideo(shouldPublishVideo: boolean): Promise<void>;\n}\n\nexport abstract class MultiParty extends EventEmitter implements IMultiParty {\n session?: any;\n abstract subscribers?: Array<Subscriber>;\n abstract ownConnectionId?: string;\n protected settings: SessionSettings;\n\n abstract connect(...args: any[]): void;\n abstract disconnect(): void;\n abstract switchCamera(): Promise<void>;\n abstract publishAudio(shouldMute: boolean): Promise<void>;\n abstract publishVideo(shouldPublishVideo: boolean): Promise<void>;\n\n constructor(settings: SessionSettings) {\n super();\n this.settings = settings;\n }\n}\n\nexport const couldStartMultiparty = async (): Promise<boolean> => {\n try {\n const mediaCapabilitiesHelper = await MediaCapabilitiesHelper.getInstance();\n\n return mediaCapabilitiesHelper.hasWebRTC();\n\n } catch (err) {\n trace.error(JSON.stringify(err));\n\n return false;\n }\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["MultiParty/MultiParty.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","couldStartMultiparty","MultiParty","MULTI_PARTY_EVENTS","maxParticipantsNumber","DEFAULT_AVATAR_URI","MediaCapabilitiesHelper_1","require","MediaTracer_1","events_1","trace","getMediaTracer","_super","settings","_this","EventEmitter","mediaCapabilitiesHelper","err_1","_a","MediaCapabilitiesHelper","getInstance","hasWebRTC","error","JSON","stringify"],"mappings":"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","file":"MultiParty.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.couldStartMultiparty = exports.MultiParty = exports.MULTI_PARTY_EVENTS = exports.maxParticipantsNumber = exports.DEFAULT_AVATAR_URI = void 0;\nvar MediaCapabilitiesHelper_1 = require(\"./MediaCapabilitiesHelper\");\nvar MediaTracer_1 = require(\"../MediaUtils/MediaTracer\");\nvar events_1 = require(\"events\");\nvar trace = MediaTracer_1.getMediaTracer('Multiparty');\n// eslint-disable-next-line max-len\nexports.DEFAULT_AVATAR_URI = 'data:image/png;base64,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';\nexports.maxParticipantsNumber = 2;\nvar MULTI_PARTY_EVENTS;\n(function (MULTI_PARTY_EVENTS) {\n MULTI_PARTY_EVENTS[\"connectFailed\"] = \"connectFailed\";\n MULTI_PARTY_EVENTS[\"streamDestroyed\"] = \"streamDestroyed\";\n MULTI_PARTY_EVENTS[\"connectionCreated\"] = \"connectionCreated\";\n MULTI_PARTY_EVENTS[\"connectionDestroyed\"] = \"connectionDestroyed\";\n MULTI_PARTY_EVENTS[\"streamCreated\"] = \"streamCreated\";\n MULTI_PARTY_EVENTS[\"videoElementCreated\"] = \"videoElementCreated\";\n MULTI_PARTY_EVENTS[\"participantsNumberChanged\"] = \"participantsNumberChanged\";\n MULTI_PARTY_EVENTS[\"videoAudioStatus\"] = \"videoAudioStatus\";\n MULTI_PARTY_EVENTS[\"mediaDeviceAccessDenied\"] = \"mediaDeviceAccessDenied\";\n})(MULTI_PARTY_EVENTS = exports.MULTI_PARTY_EVENTS || (exports.MULTI_PARTY_EVENTS = {}));\nvar MultiParty = /** @class */ (function (_super) {\n __extends(MultiParty, _super);\n function MultiParty(settings) {\n var _this = _super.call(this) || this;\n _this.settings = settings;\n return _this;\n }\n return MultiParty;\n}(events_1.EventEmitter));\nexports.MultiParty = MultiParty;\nvar couldStartMultiparty = function () { return __awaiter(void 0, void 0, void 0, function () {\n var mediaCapabilitiesHelper, err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, MediaCapabilitiesHelper_1.MediaCapabilitiesHelper.getInstance()];\n case 1:\n mediaCapabilitiesHelper = _a.sent();\n return [2 /*return*/, mediaCapabilitiesHelper.hasWebRTC()];\n case 2:\n err_1 = _a.sent();\n trace.error(JSON.stringify(err_1));\n return [2 /*return*/, false];\n case 3: return [2 /*return*/];\n }\n });\n}); };\nexports.couldStartMultiparty = couldStartMultiparty;\n\n//# sourceMappingURL=MultiParty.js.map\n"]}
@@ -1,4 +0,0 @@
1
- import { SessionClientRole } from '../MediaConstants';
2
- import { SessionSettings } from './Contracts';
3
- import { IMultiParty } from './MultiParty';
4
- export declare const createMultiParty: (settings: SessionSettings, getParticipantDomId: (clientRole: SessionClientRole, connectionId: string) => string) => IMultiParty;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/MultiParty/MultipartyFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,eAAO,MAAM,gBAAgB,aAAc,eAAe,oCAAoC,iBAAiB,gBAAgB,MAAM,KAAK,MAAM,KAAG,WAMlJ,CAAC","file":"MultipartyFactory.d.ts","sourcesContent":["import {MediaServiceType, SessionClientRole} from '../MediaConstants';\nimport {OpentokMultiparty} from './OpentokMultiparty';\nimport {SessionSettings} from './Contracts';\nimport { IMultiParty } from './MultiParty';\n\nexport const createMultiParty = (settings: SessionSettings, getParticipantDomId: (clientRole: SessionClientRole, connectionId: string) => string): IMultiParty => {\n if (settings.mediaServiceType === MediaServiceType.OPENTOK) {\n return new OpentokMultiparty(settings, getParticipantDomId);\n }\n\n throw new Error('NOT_SUPPORTED');\n};\n"]}
@@ -1,21 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createMultiParty = void 0;
7
-
8
- var MediaConstants_1 = require("../MediaConstants");
9
-
10
- var OpentokMultiparty_1 = require("./OpentokMultiparty");
11
-
12
- var createMultiParty = function createMultiParty(settings, getParticipantDomId) {
13
- if (settings.mediaServiceType === MediaConstants_1.MediaServiceType.OPENTOK) {
14
- return new OpentokMultiparty_1.OpentokMultiparty(settings, getParticipantDomId);
15
- }
16
-
17
- throw new Error('NOT_SUPPORTED');
18
- };
19
-
20
- exports.createMultiParty = createMultiParty;
21
- //# sourceMappingURL=MultipartyFactory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["MultiParty/MultipartyFactory.js"],"names":["Object","defineProperty","exports","value","createMultiParty","MediaConstants_1","require","OpentokMultiparty_1","settings","getParticipantDomId","mediaServiceType","MediaServiceType","OPENTOK","OpentokMultiparty","Error"],"mappings":"AAAA;;AACAA,MAAM,CAACC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C;AAAEC,EAAAA,KAAK,EAAE;AAAT,CAA7C;AACAD,OAAO,CAACE,gBAAR,GAA2B,KAAK,CAAhC;;AACA,IAAIC,gBAAgB,GAAGC,OAAO,CAAC,mBAAD,CAA9B;;AACA,IAAIC,mBAAmB,GAAGD,OAAO,CAAC,qBAAD,CAAjC;;AACA,IAAIF,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAUI,QAAV,EAAoBC,mBAApB,EAAyC;AAC5D,MAAID,QAAQ,CAACE,gBAAT,KAA8BL,gBAAgB,CAACM,gBAAjB,CAAkCC,OAApE,EAA6E;AACzE,WAAO,IAAIL,mBAAmB,CAACM,iBAAxB,CAA0CL,QAA1C,EAAoDC,mBAApD,CAAP;AACH;;AACD,QAAM,IAAIK,KAAJ,CAAU,eAAV,CAAN;AACH,CALD;;AAMAZ,OAAO,CAACE,gBAAR,GAA2BA,gBAA3B","file":"MultipartyFactory.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createMultiParty = void 0;\nvar MediaConstants_1 = require(\"../MediaConstants\");\nvar OpentokMultiparty_1 = require(\"./OpentokMultiparty\");\nvar createMultiParty = function (settings, getParticipantDomId) {\n if (settings.mediaServiceType === MediaConstants_1.MediaServiceType.OPENTOK) {\n return new OpentokMultiparty_1.OpentokMultiparty(settings, getParticipantDomId);\n }\n throw new Error('NOT_SUPPORTED');\n};\nexports.createMultiParty = createMultiParty;\n\n//# sourceMappingURL=MultipartyFactory.js.map\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/MultiParty/OpentokMultiparty.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,UAAU,EAAE,UAAU,EAAqB,MAAM,cAAc,CAAC;AACnH,OAAO,EAAc,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAGjE,OAAO,EAAC,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAC,MAAM,aAAa,CAAC;AAa3E,qBAAa,iBAAkB,SAAQ,UAAU;IAC7C,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAM;IACpC,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,gBAAgB,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;IAElF,gDAAgD;IAChD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gBAAgB,SAAK;gBAET,QAAQ,EAAE,eAAe,EAAE,mBAAmB,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM;IAM3H,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAExC;IAED,OAAO,gBAAiB,WAAW,KAAG,IAAI,CAqCxC;IAEF,UAAU,QAAO,IAAI,CAYnB;IAEF,sBAAsB,aAAoB,eAAe,KAAG,QAAQ,OAAO,GAAG,KAAK,CAAC,CAYlF;IAEF,sBAAsB,aAAoB,eAAe,KAAG,QAAQ,OAAO,GAAG,KAAK,CAAC,CASlF;IAEF,eAAe,yBAAgC,eAAe,KAAG,QAAQ,IAAI,CAAC,CA6B5E;IAEF,YAAY,eAAsB,OAAO,KAAG,QAAQ,IAAI,CAAC,CAgBvD;IAEF,YAAY,uBAA8B,OAAO,KAAG,QAAQ,IAAI,CAAC,CAgB/D;IAEF,YAAY,QAAa,QAAQ,IAAI,CAAC,CAiCpC;IAEF,OAAO,CAAC,aAAa;IAIrB,aAAa,aAAc,eAAe,KAAG,IAAI,CA+D/C;IAEF,OAAO,CAAC,yBAAyB;IAMjC,oBAAoB,kBAEhB,QAAQ,IAAI,CAAC,CAgDf;IAEF,4BAA4B,UAAW,GAAG,KAAG,IAAI,CAY/C;IAEF,sBAAsB,kBAGlB,IAAI,CAON;IAEF,wBAAwB,kBAEpB,IAAI,CAmBN;IAEF,0BAA0B,kBAGtB,IAAI,CAcN;IAEF,kBAAkB,iCAAoB,IAAI,CAExC;IAEF,OAAO,CAAC,0BAA0B,CAGjC;CACJ","file":"OpentokMultiparty.d.ts","sourcesContent":["import {maxParticipantsNumber, MULTI_PARTY_EVENTS, MultiParty, Subscriber, DEFAULT_AVATAR_URI} from './MultiParty';\nimport {CameraTypes, SessionClientRole} from '../MediaConstants';\nimport {getMediaTracer} from '../MediaUtils/MediaTracer';\nimport get from 'lodash/get';\nimport {BrandingSettings, Credentials, SessionSettings} from './Contracts';\nimport filter from 'lodash/filter';\nimport cloneDeep from 'lodash/cloneDeep';\nimport {MediaCapabilitiesHelper} from './MediaCapabilitiesHelper';\n\nconst trace = getMediaTracer('Multiparty');\n\n// The preferred camera position to use for the video source\nenum OpentokFacingMode {\n USER = 'user',\n ENVIRONMENT = 'environment'\n}\n\nexport class OpentokMultiparty extends MultiParty {\n subscribers: Array<Subscriber> = [];\n session?: any;\n currentPublisher?: any;\n branding?: BrandingSettings;\n getParticipantId: (clientRole: SessionClientRole, connectionId: string) => string;\n\n /** @FIXME not used atm, should be refactored */\n credentials?: Credentials;\n participantCount = 0;\n\n constructor(settings: SessionSettings, getParticipantDomId: (clientRole: SessionClientRole, connectionId: string) => string) {\n super(settings);\n this.branding = settings.branding;\n this.getParticipantId = getParticipantDomId;\n }\n\n get ownConnectionId(): string | undefined {\n return this.session?.connection?.connectionId;\n }\n\n connect = (credentials: Credentials): void => {\n this.credentials = credentials;\n\n try {\n this.session = window?.OT.initSession(credentials.apiKey, credentials.sessionId);\n } catch (err) {\n trace.error(JSON.stringify(err));\n this.emit(MULTI_PARTY_EVENTS.connectFailed, {meta: {err: JSON.stringify(err)}});\n\n return;\n }\n\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\n this.session.connect(credentials.token, async (error?: any) => {\n if (error) {\n this.session?.off();\n this.session = null;\n this.traceErrorCallback(error);\n this.emit(MULTI_PARTY_EVENTS.connectFailed, {meta: {err: JSON.stringify(error)}});\n\n return;\n }\n\n if (this.settings.defaultCamera === CameraTypes.NONE && this.settings.startWithAudioMuted) {\n trace.info('camera is none, no need to create publisher');\n\n return;\n }\n\n await this.createPublisher(this.settings);\n });\n };\n\n disconnect = (): void => {\n try {\n trace.info('Disconnecting from session');\n\n if (this.session) {\n this.session.disconnect();\n this.participantCount = 0;\n trace.info('Disconnection from session completed');\n }\n } catch (err) {\n trace.error(JSON.stringify(err));\n }\n };\n\n couldStartPublishVideo = async (settings: SessionSettings): Promise<boolean | Error> => {\n try {\n const mediaCapabilitiesHelper = await MediaCapabilitiesHelper.getInstance();\n\n return (settings.defaultCamera !== CameraTypes.NONE)\n ? mediaCapabilitiesHelper.hasCamera()\n : false;\n\n } catch (err) {\n trace.error(JSON.stringify(err));\n throw err;\n }\n };\n\n couldStartPublishAudio = async (settings: SessionSettings): Promise<boolean | Error> => {\n try {\n const mediaCapabilitiesHelper = await MediaCapabilitiesHelper.getInstance();\n\n return !settings.startWithAudioMuted && mediaCapabilitiesHelper.hasMicrophone();\n } catch (err) {\n trace.error(JSON.stringify(err));\n throw err;\n }\n };\n\n createPublisher = async (settingsForPublisher: SessionSettings): Promise<void> => {\n const settings = cloneDeep(settingsForPublisher);\n const couldStartPublishVideo = await this.couldStartPublishVideo(settings);\n const couldStartPublishAudio = await this.couldStartPublishAudio(settings);\n\n if (!couldStartPublishVideo && !couldStartPublishAudio) {\n // FIXME: use emitter\n trace.error('could not create a publisher, due to lack of media capabilities or settings');\n\n return;\n }\n\n if (!couldStartPublishVideo) {\n settings.defaultCamera = CameraTypes.NONE;\n }\n\n if (!couldStartPublishAudio) {\n settings.startWithAudioMuted = true;\n }\n\n if (!this.currentPublisher) {\n this.initPublisher(settings);\n\n if (!this.currentPublisher) {\n throw new Error('Creating session requires initialized publisher');\n }\n\n this.currentPublisher && this.session?.publish(this.currentPublisher, this.traceErrorCallback);\n }\n };\n\n publishAudio = async (shouldMute: boolean): Promise<void> => {\n const settings = cloneDeep(this.settings);\n\n settings.startWithAudioMuted = !shouldMute;\n\n if (shouldMute && !await this.couldStartPublishAudio(settings)) {\n trace.error('could not publish audio');\n\n return;\n }\n\n if (!this.currentPublisher) {\n await this.createPublisher(settings);\n } else {\n this.currentPublisher.publishAudio(shouldMute);\n }\n };\n\n publishVideo = async (shouldPublishVideo: boolean): Promise<void> => {\n const settings = cloneDeep(this.settings);\n\n settings.defaultCamera = shouldPublishVideo ? this.settings.defaultCamera : CameraTypes.NONE;\n\n if (shouldPublishVideo && !await this.couldStartPublishVideo(settings)) {\n trace.error('could not publish video');\n\n return;\n }\n\n if (!this.currentPublisher) {\n await this.createPublisher(settings);\n } else {\n this.currentPublisher.publishVideo(shouldPublishVideo);\n }\n };\n\n switchCamera = async (): Promise<void> => {\n try {\n const mediaCapabilitiesHelper = await MediaCapabilitiesHelper.getInstance();\n\n if (!mediaCapabilitiesHelper.supportSwitchCamera) {\n throw new Error('Not Support switch camera');\n }\n\n let deviceId = '';\n let cameraType = CameraTypes.NONE;\n\n switch (this.settings.defaultCamera) {\n case CameraTypes.BACK:\n cameraType = CameraTypes.FRONT;\n deviceId = mediaCapabilitiesHelper.frontCameraDeviceId;\n break;\n case CameraTypes.FRONT:\n cameraType = CameraTypes.BACK;\n deviceId = mediaCapabilitiesHelper.backCameraDeviceId;\n break;\n default:\n throw new Error(`cameraType not valid: ${this.settings.defaultCamera}`);\n }\n\n return this.currentPublisher?.setVideoSource(deviceId)\n .then(() => {\n this.settings.defaultCamera = cameraType;\n trace.info(`Success to switch camera to cameraType: ${cameraType}`);\n });\n } catch (err) {\n trace.error(JSON.stringify(err));\n throw err;\n }\n };\n\n private getClientRole(connection?: any): SessionClientRole {\n return (connection?.data && JSON.parse(connection.data).clientRole) || SessionClientRole.USER;\n }\n\n initPublisher = (settings: SessionSettings): void => {\n const properties = {\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: this.branding?.backgroundImageURI || DEFAULT_AVATAR_URI\n },\n publishAudio: !settings.startWithAudioMuted,\n publishVideo: settings.defaultCamera !== CameraTypes.NONE,\n facingMode: settings.defaultCamera === CameraTypes.FRONT ? OpentokFacingMode.USER : OpentokFacingMode.ENVIRONMENT\n };\n\n this.currentPublisher = window?.OT.initPublisher(this.getParticipantIdForStream(this.session?.connection),\n properties, this.traceErrorCallback);\n\n if (!this.currentPublisher) {\n trace.error('failed to init publisher');\n } else {\n this.currentPublisher.on('videoElementCreated', (event: any) => {\n trace.info('videoElementCreated', event);\n this.emit(MULTI_PARTY_EVENTS.videoElementCreated, event);\n });\n this.currentPublisher.on('streamDestroyed', (event: any) => {\n trace.info('Publisher stream destroyed', event);\n this.emit(MULTI_PARTY_EVENTS.streamDestroyed, {event: event,\n participantId: this.getParticipantIdForStream(event?.stream?.connection)});\n });\n this.currentPublisher.on('accessDenied', (event: any) => {\n trace.info('Publisher denied media permissions', event);\n const connection = this.session?.connection;\n const connectionId = connection?.connectionId;\n const participantId = this.getParticipantIdForStream(connection);\n const isOwnConnection = this.ownConnectionId === connectionId;\n\n this.emit(MULTI_PARTY_EVENTS.mediaDeviceAccessDenied, {\n connectionId,\n isOwnConnection,\n participantId\n });\n });\n this.currentPublisher.on('streamCreated', async (event: any) => {\n await MediaCapabilitiesHelper.setDevicesList();\n\n const participantId = this.getParticipantIdForStream(event?.stream?.connection);\n\n this.emit(MULTI_PARTY_EVENTS.streamCreated,\n {event: event, participantId: participantId,\n startWithAudioMuted: this.settings.startWithAudioMuted,\n hasAudio: event?.stream?.hasAudio,\n hasVideo: event?.stream?.hasVideo,\n isOwnConnection: this.ownConnectionId === event?.stream?.connection?.connectionId,\n });\n\n trace.info('publisher stream created', {event,\n hasAudio: get(this.currentPublisher, 'stream.hasAudio'),\n participantId});\n });\n }\n };\n\n private getParticipantIdForStream(connection: any) {\n const clientRole = this.getClientRole(connection);\n\n return this.getParticipantId(clientRole, connection.connectionId);\n }\n\n streamCreatedHandler = async (event: any & {\n stream: any;\n }): Promise<void> => {\n trace.info('streamCreatedHandler', event.stream);\n\n const {stream} = event;\n const {connection} = stream;\n const participantId = this.getParticipantIdForStream(connection);\n\n await MediaCapabilitiesHelper.setDevicesList();\n\n this.emit(MULTI_PARTY_EVENTS.streamCreated,\n {event: event, participantId: participantId,\n startWithAudioMuted: this.settings.startWithAudioMuted,\n isOwnConnection: this.ownConnectionId === (event?.stream?.connection?.connectionId) as string,\n hasVideo: event?.stream?.hasVideo,\n hasAudio: event?.stream?.hasAudio});\n\n if (!this.ownConnectionId || !stream || connection.connectionId === this.ownConnectionId) {\n return;\n }\n\n if (this.subscribers.length >= maxParticipantsNumber - 1) {\n trace.info(`a new subscriber cannot be added, as the number of participants reached its limit: ${maxParticipantsNumber}`);\n } else {\n const properties = {\n insertMode: 'append',\n fitMode: 'cover',\n width: '100%',\n height: '100%',\n style: {\n buttonDisplayMode: 'off',\n audioLevelDisplayMode: 'off',\n backgroundImageURI: this.branding?.backgroundImageURI || DEFAULT_AVATAR_URI\n },\n };\n\n const subscriber = event.target.subscribe(event.stream, participantId, properties, (err: any) => {\n this.traceErrorCallback(err);\n subscriber?.on('videoElementCreated', (event: any) => {\n trace.info('videoElementCreated', event);\n });\n });\n\n this.subscribers.push({\n subscriber,\n connectionId: connection.connectionId,\n clientRole: this.getClientRole(connection)\n });\n }\n };\n\n streamPropertyChangedHandler = (event: any): void => {\n trace.info('streamPropertyChangedHandler', event);\n\n const {stream} = event;\n\n this.emit(MULTI_PARTY_EVENTS.videoAudioStatus, {\n hasVideo: stream?.hasVideo,\n hasAudio: stream?.hasAudio,\n participantId: this.getParticipantIdForStream(stream?.connection),\n isOwnConnection: this.ownConnectionId === stream?.connection?.connectionId,\n stream\n });\n };\n\n streamDestroyedHandler = (event: any & {\n stream: any;\n reason: string;\n }): void => {\n trace.info('streamDestroyedHandler', event);\n const {stream} = event;\n const destroyedConnectionId = stream && stream.connection && stream.connection.connectionId;\n\n this.emit(MULTI_PARTY_EVENTS.streamDestroyed, {event: event, participantId: this.getParticipantIdForStream(event?.stream?.connection)});\n this.subscribers = filter(this.subscribers, (subscriber) => subscriber.connectionId !== destroyedConnectionId);\n };\n\n connectionCreatedHandler = (event: any & {\n connection: any;\n }): void => {\n trace.info('connectionCreatedHandler', event);\n\n const {connection} = event;\n\n if (!this.ownConnectionId || !connection) {\n return;\n }\n\n ++this.participantCount;\n this.emit(MULTI_PARTY_EVENTS.participantsNumberChanged, this.participantCount);\n\n const clientRole = this.getClientRole(connection);\n\n this.emit(MULTI_PARTY_EVENTS.connectionCreated, {\n clientRole, event,\n participantId: this.getParticipantIdForStream(connection),\n isOwnConnection: this.ownConnectionId === connection.connectionId\n });\n };\n\n connectionDestroyedHandler = (event: any & {\n connection: any;\n reason: string;\n }): void => {\n const {connection} = event;\n const clientRole = this.getClientRole(connection);\n\n trace.info('connectionDestroyedHandler', event);\n this.emit(MULTI_PARTY_EVENTS.connectionDestroyed, {clientRole, event, participantId: this.getParticipantIdForStream(event?.connection)});\n\n if (!this.ownConnectionId || !connection || connection.connectionId !== this.ownConnectionId) {\n return;\n }\n\n --this.participantCount;\n this.emit(MULTI_PARTY_EVENTS.participantsNumberChanged, this.participantCount);\n this.session = null;\n };\n\n traceErrorCallback = (error?: Error): void => {\n trace.error(JSON.stringify(error));\n };\n\n private sessionDisconnectedHandler = (event: any) => {\n trace.info('sessionDisconnectedHandler', event);\n this?.session?.signal({retryAfterReconnect: true});\n }\n}\n"]}