@techsee/techsee-media-service 0.21.0 → 0.21.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["MediaUtils/MediaDomUtils.js"],"names":["__importDefault","mod","__esModule","Object","defineProperty","exports","value","getSnapshotFromMediaStream","removeVideoElementFromDom","renderMediaStreamToVideoEl","isUndefined_1","require","ts_environment_detect_1","retry_with_timeout_1","MediaTracer_1","MediaConstants_1","trace","getMediaTracer","isIE11","TsEnvironmentDetect","container","mediaStream","streamType","Promise","resolve","reject","document","body","contains","Error","doResolve","videoEl","info","createElement","muted","playsInline","window","WebRTCAdapter","appendChild","bindVideoElement","srcObject","addEventListener","KnownMediaStream","USER_AUDIO_STREAM","AGENT_AUDIO_STREAM","OBSERVER_AUDIO_STREAM","indexOf","play","setAttribute","playRes","then","catch","error","handleComplete","parentElement","tagName","waitForObjectSettings","intervalInMs","timeoutInMs","repeatWithTimeout","isVideoPlaying","videoHeight","videoWidth","waitForVideoSettings","unBindVideoElement","parentNode","removeChild","warn","remove","defaultSnapshot","format","quality","sourceStream","snapshotOptions","x","y","w","h","crop","default","resize","tempContainer","style","cssText","doneFn","err","image","setTimeout","videoElement","getImgDataIE11","getImgData","imgData","length","canvas","ctx","getContext","width","height","drawImage","toDataURL","_drawAndRemove","base64","getFrame","Image","onload"],"mappings":"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","file":"MediaDomUtils.js","sourcesContent":["\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSnapshotFromMediaStream = exports.removeVideoElementFromDom = exports.renderMediaStreamToVideoEl = void 0;\nvar isUndefined_1 = __importDefault(require(\"lodash/isUndefined\"));\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n//@ts-ignore\nvar ts_environment_detect_1 = require(\"@techsee/techsee-common/lib/helpers/ts-environment-detect\");\nvar retry_with_timeout_1 = require(\"@techsee/techsee-common/lib/core/retry-with-timeout\");\nvar MediaTracer_1 = require(\"./MediaTracer\");\nvar MediaConstants_1 = require(\"../MediaConstants\");\nvar trace = MediaTracer_1.getMediaTracer('DomUtils');\nvar isIE11 = (new ts_environment_detect_1.TsEnvironmentDetect()).isIE11();\nfunction renderMediaStreamToVideoEl(container, mediaStream, streamType) {\n return new Promise(function (resolve, reject) {\n if (!document.body.contains(container)) {\n reject(new Error('Cannot render to container that is not attached to dom'));\n return;\n }\n var doResolve = function (videoEl) {\n trace.info('Video element created successfully', { videoEl: videoEl });\n resolve(videoEl);\n };\n var videoEl = document.createElement('video');\n videoEl.muted = true;\n videoEl.playsInline = true;\n if (isIE11 && window.WebRTCAdapter) {\n container.appendChild(videoEl);\n window.WebRTCAdapter.bindVideoElement(videoEl);\n }\n videoEl.srcObject = mediaStream;\n // When unplugged the headphones in ios the video element got paused.\n videoEl.addEventListener('pause', function () {\n if ([MediaConstants_1.KnownMediaStream.USER_AUDIO_STREAM, MediaConstants_1.KnownMediaStream.AGENT_AUDIO_STREAM, MediaConstants_1.KnownMediaStream.OBSERVER_AUDIO_STREAM]\n .indexOf(streamType) > -1) {\n trace.info('Video element got paused. IOS headphones disconnected');\n videoEl.play();\n }\n });\n if (!isIE11) {\n // Hack to override behavior introduced by Chrome/FF that unmuted video elements can't auto play\n videoEl.setAttribute('muted', '');\n }\n try {\n var playRes = videoEl.play();\n if (playRes && playRes.then) {\n playRes.then(function () {\n trace.info('Video element play success');\n if (!isIE11) {\n doResolve(videoEl);\n }\n });\n }\n else if (!isIE11) {\n doResolve(videoEl);\n }\n if (playRes && playRes.catch) {\n playRes.catch(function (error) {\n trace.error('Reject while executing play method on video element', error);\n reject(error);\n });\n }\n }\n catch (error) {\n reject(error);\n trace.error('Error while executing play method on video element', error);\n return;\n }\n if (isIE11) {\n var handleComplete = function () { return videoEl.parentElement.tagName !== 'OBJECT'; };\n var waitForObjectSettings = { intervalInMs: 30, timeoutInMs: 200 };\n retry_with_timeout_1.repeatWithTimeout(handleComplete, waitForObjectSettings)\n .then(function () {\n //We will wait, until video is played, then we resolve\n var isVideoPlaying = function () { return videoEl.videoHeight <= 0 || videoEl.videoWidth <= 0; };\n var waitForVideoSettings = { intervalInMs: 50, timeoutInMs: 10000 };\n retry_with_timeout_1.repeatWithTimeout(isVideoPlaying, waitForVideoSettings)\n .then(function () { return doResolve(videoEl.parentElement); })\n .catch(function () { return reject(new Error('Timeout while waiting for video to play')); });\n });\n }\n else {\n container.appendChild(videoEl);\n //doResolve(videoEl);\n }\n });\n}\nexports.renderMediaStreamToVideoEl = renderMediaStreamToVideoEl;\nfunction removeVideoElementFromDom(videoEl) {\n return new Promise(function (resolve) {\n if (isIE11 && window.WebRTCAdapter) {\n window.WebRTCAdapter.unBindVideoElement(videoEl);\n if (videoEl && videoEl.parentNode && videoEl.parentNode.removeChild) {\n videoEl.parentNode.removeChild(videoEl);\n trace.info('Video element removed successfully');\n }\n else {\n trace.warn('Video element not removed', videoEl, videoEl.parentNode);\n }\n }\n else {\n videoEl.remove();\n }\n resolve();\n });\n}\nexports.removeVideoElementFromDom = removeVideoElementFromDom;\nvar defaultSnapshot = {\n format: 'image/png',\n quality: 0.92\n};\nfunction getSnapshotFromMediaStream(mediaStream, sourceStream, snapshotOptions) {\n if (snapshotOptions === void 0) { snapshotOptions = defaultSnapshot; }\n var format = snapshotOptions.format, quality = snapshotOptions.quality, x = snapshotOptions.x, y = snapshotOptions.y, w = snapshotOptions.w, h = snapshotOptions.h;\n var crop = !isUndefined_1.default(x) && !isUndefined_1.default(y) && !isUndefined_1.default(w) && !isUndefined_1.default(h);\n var resize = !crop && (!isUndefined_1.default(w) || !isUndefined_1.default(h));\n return new Promise(function (resolve, reject) {\n var tempContainer = document.createElement('div');\n tempContainer.style.cssText = 'position:absolute;left: -10000px;';\n document.body.appendChild(tempContainer);\n var doneFn = function (err, image) {\n if (err) {\n reject(err);\n return;\n }\n setTimeout(function () {\n document.body.removeChild(tempContainer);\n if (!err) {\n resolve(image);\n }\n }, 50);\n };\n renderMediaStreamToVideoEl(tempContainer, mediaStream, sourceStream)\n .then(function (videoElement) { return Promise.resolve(isIE11 ? getImgDataIE11(videoElement) : getImgData(videoElement))\n .then(function (imgData) {\n if (!imgData || imgData.length < 10) {\n throw new Error('Failed to create a snapshot - imgData is null or empty');\n }\n doneFn(null, imgData);\n }); })\n .catch(function (error) {\n doneFn(error || new Error('Failed to create a snapshot - can\\'t render MediaStream To VideoEl '));\n });\n });\n //Gets image in all browsers except of IE\n function getImgData(videoElement) {\n var videoWidth = videoElement.videoWidth, videoHeight = videoElement.videoHeight;\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (crop) {\n canvas.width = w;\n canvas.height = h;\n ctx.drawImage(videoElement, x, y, w, h, 0, 0, w, h);\n }\n else if (resize) {\n canvas.width = w;\n canvas.height = h;\n ctx.drawImage(videoElement, 0, 0, w, h);\n }\n else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n ctx.drawImage(videoElement, 0, 0);\n }\n return canvas.toDataURL(format, quality);\n }\n //Gets image in IE browser. There should be TechSee IE11 plugin or OpenTok plugin installed.\n function getImgDataIE11(videoElement) {\n return new Promise(function (resolve) {\n var videoWidth = videoElement.videoWidth, videoHeight = videoElement.videoHeight;\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (crop || resize) {\n canvas.width = w;\n canvas.height = h;\n }\n else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n }\n function _drawAndRemove(image) {\n if (crop) {\n ctx.drawImage(image, x, y, w, h, 0, 0, w, h);\n }\n else if (resize) {\n ctx.drawImage(image, 0, 0, w, h);\n }\n else {\n ctx.drawImage(image, 0, 0, videoWidth, videoHeight);\n }\n return canvas.toDataURL(format, quality);\n }\n var base64 = videoElement.getFrame();\n var image = new Image();\n image.onload = function () { return resolve(_drawAndRemove(image)); };\n image.setAttribute('src', 'data:image/bmp;base64,' + base64);\n });\n }\n}\nexports.getSnapshotFromMediaStream = getSnapshotFromMediaStream;\n\n//# sourceMappingURL=MediaDomUtils.js.map\n"]}
1
+ {"version":3,"sources":["MediaUtils/MediaDomUtils.js","../src/MediaUtils/MediaDomUtils.ts"],"names":["__importDefault","mod","__esModule","Object","defineProperty","exports","value","getSnapshotFromMediaStream","removeVideoElementFromDom","renderMediaStreamToVideoEl","isUndefined_1","require","ts_environment_detect_1","retry_with_timeout_1","MediaTracer_1","MediaConstants_1","trace","getMediaTracer","isIE11","TsEnvironmentDetect","container","mediaStream","streamType","Promise","resolve","reject","document","body","contains","Error","doResolve","videoEl","info","createElement","muted","playsInline","window","WebRTCAdapter","appendChild","bindVideoElement","srcObject","addEventListener","KnownMediaStream","USER_AUDIO_STREAM","AGENT_AUDIO_STREAM","OBSERVER_AUDIO_STREAM","indexOf","play","setAttribute","playRes","then","catch","error","handleComplete","parentElement","tagName","waitForObjectSettings","intervalInMs","timeoutInMs","repeatWithTimeout","isVideoPlaying","videoHeight","videoWidth","waitForVideoSettings","unBindVideoElement","parentNode","removeChild","warn","remove","defaultSnapshot","format","quality","sourceStream","snapshotOptions","x","y","w","h","crop","default","resize","tempContainer","style","cssText","doneFn","err","image","setTimeout","videoElement","getImgDataIE11","getImgData","imgData","length","canvas","ctx","getContext","width","height","drawImage","toDataURL","_drawAndRemove","base64","getFrame","Image","onload"],"mappings":"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","file":"MediaDomUtils.js","sourcesContent":["\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSnapshotFromMediaStream = exports.removeVideoElementFromDom = exports.renderMediaStreamToVideoEl = void 0;\nvar isUndefined_1 = __importDefault(require(\"lodash/isUndefined\"));\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n//@ts-ignore\nvar ts_environment_detect_1 = require(\"@techsee/techsee-common/lib/helpers/ts-environment-detect\");\nvar retry_with_timeout_1 = require(\"@techsee/techsee-common/lib/core/retry-with-timeout\");\nvar MediaTracer_1 = require(\"./MediaTracer\");\nvar MediaConstants_1 = require(\"../MediaConstants\");\nvar trace = MediaTracer_1.getMediaTracer('DomUtils');\nvar isIE11 = (new ts_environment_detect_1.TsEnvironmentDetect()).isIE11();\nfunction renderMediaStreamToVideoEl(container, mediaStream, streamType) {\n return new Promise(function (resolve, reject) {\n if (!document.body.contains(container)) {\n reject(new Error('Cannot render to container that is not attached to dom'));\n return;\n }\n var doResolve = function (videoEl) {\n trace.info('Video element created successfully', { videoEl: videoEl });\n resolve(videoEl);\n };\n var videoEl = document.createElement('video');\n videoEl.muted = true;\n videoEl.playsInline = true;\n if (isIE11 && window.WebRTCAdapter) {\n container.appendChild(videoEl);\n window.WebRTCAdapter.bindVideoElement(videoEl);\n }\n videoEl.srcObject = mediaStream;\n // When unplugged the headphones in ios the video element got paused.\n videoEl.addEventListener('pause', function () {\n if ([MediaConstants_1.KnownMediaStream.USER_AUDIO_STREAM, MediaConstants_1.KnownMediaStream.AGENT_AUDIO_STREAM, MediaConstants_1.KnownMediaStream.OBSERVER_AUDIO_STREAM]\n .indexOf(streamType) > -1) {\n trace.info('Video element got paused. IOS headphones disconnected');\n videoEl.play();\n }\n });\n if (!isIE11) {\n // Hack to override behavior introduced by Chrome/FF that unmuted video elements can't auto play\n videoEl.setAttribute('muted', '');\n }\n try {\n var playRes = videoEl.play();\n if (playRes && playRes.then) {\n playRes.then(function () {\n trace.info('Video element play success');\n if (!isIE11) {\n doResolve(videoEl);\n }\n });\n }\n else if (!isIE11) {\n doResolve(videoEl);\n }\n if (playRes && playRes.catch) {\n playRes.catch(function (error) {\n trace.error('Reject while executing play method on video element', error);\n reject(error);\n });\n }\n }\n catch (error) {\n reject(error);\n trace.error('Error while executing play method on video element', error);\n return;\n }\n if (isIE11) {\n var handleComplete = function () { return videoEl.parentElement.tagName !== 'OBJECT'; };\n var waitForObjectSettings = { intervalInMs: 30, timeoutInMs: 200 };\n retry_with_timeout_1.repeatWithTimeout(handleComplete, waitForObjectSettings)\n .then(function () {\n //We will wait, until video is played, then we resolve\n var isVideoPlaying = function () { return videoEl.videoHeight <= 0 || videoEl.videoWidth <= 0; };\n var waitForVideoSettings = { intervalInMs: 50, timeoutInMs: 10000 };\n retry_with_timeout_1.repeatWithTimeout(isVideoPlaying, waitForVideoSettings)\n .then(function () { return doResolve(videoEl.parentElement); })\n .catch(function () { return reject(new Error('Timeout while waiting for video to play')); });\n });\n }\n else {\n container.appendChild(videoEl);\n //doResolve(videoEl);\n }\n });\n}\nexports.renderMediaStreamToVideoEl = renderMediaStreamToVideoEl;\nfunction removeVideoElementFromDom(videoEl) {\n return new Promise(function (resolve) {\n if (isIE11 && window.WebRTCAdapter) {\n window.WebRTCAdapter.unBindVideoElement(videoEl);\n if (videoEl && videoEl.parentNode && videoEl.parentNode.removeChild) {\n videoEl.parentNode.removeChild(videoEl);\n trace.info('Video element removed successfully');\n }\n else {\n trace.warn('Video element not removed', videoEl, videoEl.parentNode);\n }\n }\n else {\n videoEl.remove();\n }\n resolve();\n });\n}\nexports.removeVideoElementFromDom = removeVideoElementFromDom;\nvar defaultSnapshot = {\n format: 'image/png',\n quality: 0.92\n};\nfunction getSnapshotFromMediaStream(mediaStream, sourceStream, snapshotOptions) {\n if (snapshotOptions === void 0) { snapshotOptions = defaultSnapshot; }\n var format = snapshotOptions.format, quality = snapshotOptions.quality, x = snapshotOptions.x, y = snapshotOptions.y, w = snapshotOptions.w, h = snapshotOptions.h;\n var crop = !isUndefined_1.default(x) && !isUndefined_1.default(y) && !isUndefined_1.default(w) && !isUndefined_1.default(h);\n var resize = !crop && (!isUndefined_1.default(w) || !isUndefined_1.default(h));\n return new Promise(function (resolve, reject) {\n var tempContainer = document.createElement('div');\n tempContainer.style.cssText = 'position:absolute;left: -10000px;';\n document.body.appendChild(tempContainer);\n var doneFn = function (err, image) {\n if (err) {\n reject(err);\n return;\n }\n setTimeout(function () {\n document.body.removeChild(tempContainer);\n if (!err) {\n resolve(image);\n }\n }, 50);\n };\n renderMediaStreamToVideoEl(tempContainer, mediaStream, sourceStream)\n .then(function (videoElement) { return Promise.resolve(isIE11 ? getImgDataIE11(videoElement) : getImgData(videoElement))\n .then(function (imgData) {\n if (!imgData || imgData.length < 10) {\n throw new Error('Failed to create a snapshot - imgData is null or empty');\n }\n doneFn(null, imgData);\n }); })\n .catch(function (error) {\n doneFn(error || new Error('Failed to create a snapshot - can\\'t render MediaStream To VideoEl '));\n });\n });\n //Gets image in all browsers except of IE\n function getImgData(videoElement) {\n var videoWidth = videoElement.videoWidth, videoHeight = videoElement.videoHeight;\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (crop) {\n canvas.width = w;\n canvas.height = h;\n ctx.drawImage(videoElement, x, y, w, h, 0, 0, w, h);\n }\n else if (resize) {\n canvas.width = w;\n canvas.height = h;\n ctx.drawImage(videoElement, 0, 0, w, h);\n }\n else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n ctx.drawImage(videoElement, 0, 0);\n }\n return canvas.toDataURL(format, quality);\n }\n //Gets image in IE browser. There should be TechSee IE11 plugin or OpenTok plugin installed.\n function getImgDataIE11(videoElement) {\n return new Promise(function (resolve) {\n var videoWidth = videoElement.videoWidth, videoHeight = videoElement.videoHeight;\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (crop || resize) {\n canvas.width = w;\n canvas.height = h;\n }\n else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n }\n function _drawAndRemove(image) {\n if (crop) {\n ctx.drawImage(image, x, y, w, h, 0, 0, w, h);\n }\n else if (resize) {\n ctx.drawImage(image, 0, 0, w, h);\n }\n else {\n ctx.drawImage(image, 0, 0, videoWidth, videoHeight);\n }\n return canvas.toDataURL(format, quality);\n }\n var base64 = videoElement.getFrame();\n var image = new Image();\n image.onload = function () { return resolve(_drawAndRemove(image)); };\n image.setAttribute('src', 'data:image/bmp;base64,' + base64);\n });\n }\n}\nexports.getSnapshotFromMediaStream = getSnapshotFromMediaStream;\n","import isUndefined from 'lodash/isUndefined';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n//@ts-ignore\nimport {TsEnvironmentDetect} from '@techsee/techsee-common/lib/helpers/ts-environment-detect';\nimport {repeatWithTimeout} from '@techsee/techsee-common/lib/core/retry-with-timeout';\nimport {SnapshotOptions} from '../MediaContracts';\nimport {getMediaTracer} from './MediaTracer';\nimport {KnownMediaStream} from '../MediaConstants';\n\nconst trace = getMediaTracer('DomUtils');\n\nconst isIE11 = (new TsEnvironmentDetect()).isIE11();\n\nexport function renderMediaStreamToVideoEl(container: HTMLDivElement, mediaStream: MediaStream, streamType: KnownMediaStream): Promise<HTMLVideoElement> {\n return new Promise((resolve, reject) => {\n if (!document.body.contains(container)) {\n reject(new Error('Cannot render to container that is not attached to dom'));\n\n return;\n }\n\n const doResolve = (videoEl: HTMLVideoElement): void => {\n trace.info('Video element created successfully', {videoEl});\n resolve(videoEl);\n };\n\n const videoEl = document.createElement('video') as any;\n\n videoEl.muted = true;\n videoEl.playsInline = true;\n\n if (isIE11 && (window as any).WebRTCAdapter) {\n container.appendChild(videoEl);\n (window as any).WebRTCAdapter.bindVideoElement(videoEl);\n }\n\n videoEl.srcObject = mediaStream;\n\n // When unplugged the headphones in ios the video element got paused.\n videoEl.addEventListener('pause', () => {\n if ([KnownMediaStream.USER_AUDIO_STREAM, KnownMediaStream.AGENT_AUDIO_STREAM, KnownMediaStream.OBSERVER_AUDIO_STREAM]\n .indexOf(streamType) > -1) {\n trace.info('Video element got paused. IOS headphones disconnected');\n videoEl.play();\n }\n });\n\n if (!isIE11) {\n // Hack to override behavior introduced by Chrome/FF that unmuted video elements can't auto play\n videoEl.setAttribute('muted', '');\n }\n\n try {\n const playRes = videoEl.play();\n\n if (playRes && playRes.then) {\n playRes.then(() => {\n trace.info('Video element play success');\n if (!isIE11) {\n doResolve(videoEl);\n }\n });\n } else if (!isIE11) {\n doResolve(videoEl);\n }\n\n if (playRes && playRes.catch) {\n playRes.catch((error: any) => {\n trace.error('Reject while executing play method on video element', error);\n reject(error);\n });\n }\n } catch (error) {\n reject(error);\n trace.error('Error while executing play method on video element', error);\n\n return;\n }\n\n\n if (isIE11) {\n const handleComplete = (): boolean => videoEl.parentElement.tagName !== 'OBJECT';\n\n const waitForObjectSettings = {intervalInMs: 30, timeoutInMs: 200};\n\n repeatWithTimeout(handleComplete, waitForObjectSettings)\n .then(() => {\n //We will wait, until video is played, then we resolve\n const isVideoPlaying = (): boolean => videoEl.videoHeight <= 0 || videoEl.videoWidth <= 0;\n const waitForVideoSettings = {intervalInMs: 50, timeoutInMs: 10000};\n\n repeatWithTimeout(isVideoPlaying, waitForVideoSettings)\n .then(() => doResolve(videoEl.parentElement))\n .catch(() => reject(new Error('Timeout while waiting for video to play')));\n });\n } else {\n container.appendChild(videoEl);\n //doResolve(videoEl);\n }\n });\n}\n\nexport function removeVideoElementFromDom(videoEl: HTMLVideoElement): Promise<void> {\n return new Promise((resolve) => {\n if (isIE11 && (window as any).WebRTCAdapter) {\n (window as any).WebRTCAdapter.unBindVideoElement(videoEl);\n if (videoEl && videoEl.parentNode && videoEl.parentNode.removeChild) {\n videoEl.parentNode.removeChild(videoEl);\n trace.info('Video element removed successfully');\n } else {\n trace.warn('Video element not removed', videoEl, videoEl.parentNode);\n }\n } else {\n videoEl.remove();\n }\n\n resolve();\n });\n}\n\nconst defaultSnapshot: SnapshotOptions = {\n format: 'image/png',\n quality: 0.92\n};\n\nexport function getSnapshotFromMediaStream(mediaStream: MediaStream, sourceStream: KnownMediaStream, snapshotOptions: SnapshotOptions = defaultSnapshot): Promise<string> {\n const {format, quality, x, y, w, h} = snapshotOptions;\n const crop = !isUndefined(x) && !isUndefined(y) && !isUndefined(w) && !isUndefined(h);\n const resize = !crop && (!isUndefined(w) || !isUndefined(h));\n\n return new Promise((resolve, reject) => {\n\n const tempContainer = document.createElement('div');\n\n tempContainer.style.cssText = 'position:absolute;left: -10000px;';\n document.body.appendChild(tempContainer);\n\n const doneFn = (err: any, image?: any): void => {\n if (err) {\n reject(err);\n\n return;\n }\n\n setTimeout(() => {\n document.body.removeChild(tempContainer);\n if (!err) {\n resolve(image);\n }\n }, 50);\n };\n\n renderMediaStreamToVideoEl(tempContainer, mediaStream, sourceStream)\n .then((videoElement) => Promise.resolve(isIE11 ? getImgDataIE11(videoElement) : getImgData(videoElement))\n .then((imgData: any) => {\n if (!imgData || imgData.length < 10) {\n throw new Error('Failed to create a snapshot - imgData is null or empty');\n }\n\n doneFn(null, imgData);\n }))\n .catch((error) => {\n doneFn(error || new Error('Failed to create a snapshot - can\\'t render MediaStream To VideoEl '));\n });\n });\n\n //Gets image in all browsers except of IE\n function getImgData(videoElement: HTMLVideoElement): string {\n const {videoWidth, videoHeight} = videoElement;\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d')!;\n\n if (crop) {\n canvas.width = w;\n canvas.height = h;\n\n ctx.drawImage(videoElement, x, y, w, h, 0, 0, w, h);\n } else if (resize) {\n canvas.width = w;\n canvas.height = h;\n\n ctx.drawImage(videoElement, 0, 0, w, h);\n } else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n\n ctx.drawImage(videoElement, 0, 0);\n }\n\n return canvas.toDataURL(format, quality);\n }\n\n //Gets image in IE browser. There should be TechSee IE11 plugin or OpenTok plugin installed.\n function getImgDataIE11(videoElement: any): Promise<string> {\n return new Promise((resolve) => {\n const {videoWidth, videoHeight} = videoElement;\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d')!;\n\n if (crop || resize) {\n canvas.width = w;\n canvas.height = h;\n } else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n }\n\n function _drawAndRemove(image: any): string {\n if (crop) {\n ctx.drawImage(image, x, y, w, h, 0, 0, w, h);\n } else if (resize) {\n ctx.drawImage(image, 0, 0, w, h);\n } else {\n ctx.drawImage(image, 0, 0, videoWidth, videoHeight);\n }\n\n return canvas.toDataURL(format, quality);\n }\n\n const base64 = videoElement.getFrame();\n const image = new Image();\n\n image.onload = () => resolve(_drawAndRemove(image));\n image.setAttribute('src', 'data:image/bmp;base64,' + base64);\n });\n }\n}\n"]}
@@ -8,6 +8,6 @@ function getMediaTracer(postfixName) {
8
8
  return Tracer_1.getTracer(exports.TECHSEE_MEDIA_TRACER, postfixName);
9
9
  }
10
10
  exports.getMediaTracer = getMediaTracer;
11
-
12
11
  //# sourceMappingURL=MediaTracer.js.map
12
+
13
13
  //# sourceMappingURL=MediaTracer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["MediaUtils/MediaTracer.js"],"names":["Object","defineProperty","exports","value","getMediaTracer","TECHSEE_MEDIA_TRACER","Tracer_1","require","postfixName","getTracer"],"mappings":"AAAA;;AACAA,OAAOC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C,EAAEC,OAAO,IAAT,EAA7C;AACAD,QAAQE,cAAR,GAAyBF,QAAQG,oBAAR,GAA+B,KAAK,CAA7D;AACA,IAAIC,WAAWC,QAAQ,yCAAR,CAAf;AACAL,QAAQG,oBAAR,GAA+B,aAA/B;AACA,SAASD,cAAT,CAAwBI,WAAxB,EAAqC;AACjC,WAAOF,SAASG,SAAT,CAAmBP,QAAQG,oBAA3B,EAAiDG,WAAjD,CAAP;AACH;AACDN,QAAQE,cAAR,GAAyBA,cAAzB;;AAEA","file":"MediaTracer.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMediaTracer = exports.TECHSEE_MEDIA_TRACER = void 0;\nvar Tracer_1 = require(\"@techsee/techsee-common/lib/core/Tracer\");\nexports.TECHSEE_MEDIA_TRACER = 'MediaTracer';\nfunction getMediaTracer(postfixName) {\n return Tracer_1.getTracer(exports.TECHSEE_MEDIA_TRACER, postfixName);\n}\nexports.getMediaTracer = getMediaTracer;\n\n//# sourceMappingURL=MediaTracer.js.map\n"]}
1
+ {"version":3,"sources":["MediaUtils/MediaTracer.js","../src/MediaUtils/MediaTracer.ts"],"names":["Object","defineProperty","exports","value","getMediaTracer","TECHSEE_MEDIA_TRACER","Tracer_1","require","postfixName","getTracer"],"mappings":"AAAA;;AACAA,OAAOC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C,EAAEC,OAAO,IAAT,EAA7C;AACAD,QAAQE,cAAR,GAAyBF,QAAQG,oBAAR,GAA+B,KAAK,CAA7D;ACFA,IAAAC,WAAAC,QAAA,yCAAA,CAAA;AAEaL,QAAAG,oBAAA,GAAuB,aAAvB;AAEb,SAAgBD,cAAhB,CAA+BI,WAA/B,EAAkD;AAC9C,WAAOF,SAAAG,SAAA,CAAUP,QAAAG,oBAAV,EAAgCG,WAAhC,CAAP;AACH;AAFDN,QAAAE,cAAA,GAAAA,cAAA","file":"MediaTracer.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMediaTracer = exports.TECHSEE_MEDIA_TRACER = void 0;\nvar Tracer_1 = require(\"@techsee/techsee-common/lib/core/Tracer\");\nexports.TECHSEE_MEDIA_TRACER = 'MediaTracer';\nfunction getMediaTracer(postfixName) {\n return Tracer_1.getTracer(exports.TECHSEE_MEDIA_TRACER, postfixName);\n}\nexports.getMediaTracer = getMediaTracer;\n","import {getTracer, ITechseeTracer} from '@techsee/techsee-common/lib/core/Tracer';\n\nexport const TECHSEE_MEDIA_TRACER = 'MediaTracer';\n\nexport function getMediaTracer(postfixName: string): ITechseeTracer {\n return getTracer(TECHSEE_MEDIA_TRACER, postfixName);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MultiParty/MediaCapabilitiesHelper.ts"],"names":[],"mappings":"AAmBA,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;IAEnF,OAAO,CAAC,kBAAkB,CAA6B;WAEnC,IAAI,IAAI,OAAO,CAAC,uBAAuB,CAAC;IA0BrD,SAAS,IAAI,OAAO;IAMpB,aAAa,IAAI,OAAO;IAMxB,SAAS,IAAI,OAAO;IAIpB,wBAAwB,IAAI,OAAO;CAG7C","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';\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\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\n private environmentService = new TsEnvironmentDetect();\n\n public static async init(): Promise<MediaCapabilitiesHelper> {\n try {\n this.detectWebRtcService = await new DetectWebRtcService(DETECT_RTC_ADVISED_TIMEOUT);\n this.webRtcSupportInfo = await this.detectWebRtcService.getWebRtcInfo();\n\n const localDevicesList = 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 if (!this.mediaCapabilitiesHelper) {\n this.mediaCapabilitiesHelper = new MediaCapabilitiesHelper();\n }\n trace.info('initialize media capabilities helper successfully');\n\n return this.mediaCapabilitiesHelper;\n\n } catch (err) {\n trace.error(JSON.stringify(err));\n\n throw err;\n }\n }\n\n public hasCamera(): boolean {\n return this.environmentService.isIOS()\n ? MediaCapabilitiesHelper.webRtcSupportInfo!.isWebsiteHasWebcamPermissions && this.hasGetUserMediaSupported()\n : MediaCapabilitiesHelper.devicesList.video.length > 0 && this.hasGetUserMediaSupported();\n }\n\n public hasMicrophone(): boolean {\n return this.environmentService.isIOS()\n ? MediaCapabilitiesHelper.webRtcSupportInfo!.isWebsiteHasMicrophonePermissions && 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"]}
1
+ {"version":3,"sources":["../src/MultiParty/MediaCapabilitiesHelper.ts"],"names":[],"mappings":"AAmBA,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;IAEnF,OAAO,CAAC,kBAAkB,CAA6B;WAEnC,IAAI,IAAI,OAAO,CAAC,uBAAuB,CAAC;IA0BrD,SAAS,IAAI,OAAO;IAMpB,aAAa,IAAI,OAAO;IAMxB,SAAS,IAAI,OAAO;IAIpB,wBAAwB,IAAI,OAAO;CAG7C","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';\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\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\n private environmentService = new TsEnvironmentDetect();\n\n public static async init(): Promise<MediaCapabilitiesHelper> {\n try {\n this.detectWebRtcService = await new DetectWebRtcService(DETECT_RTC_ADVISED_TIMEOUT);\n this.webRtcSupportInfo = await this.detectWebRtcService.getWebRtcInfo();\n\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 if (!this.mediaCapabilitiesHelper) {\n this.mediaCapabilitiesHelper = new MediaCapabilitiesHelper();\n }\n trace.info('initialize media capabilities helper successfully');\n\n return this.mediaCapabilitiesHelper;\n\n } catch (err) {\n trace.error(JSON.stringify(err));\n\n throw err;\n }\n }\n\n public hasCamera(): boolean {\n return this.environmentService.isIOS()\n ? MediaCapabilitiesHelper.webRtcSupportInfo!.isWebsiteHasWebcamPermissions && this.hasGetUserMediaSupported()\n : MediaCapabilitiesHelper.devicesList.video.length > 0 && this.hasGetUserMediaSupported();\n }\n\n public hasMicrophone(): boolean {\n return this.environmentService.isIOS()\n ? MediaCapabilitiesHelper.webRtcSupportInfo!.isWebsiteHasMicrophonePermissions && 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"]}
@@ -108,22 +108,29 @@ var MediaCapabilitiesHelper = /** @class */function () {
108
108
  }
109
109
  MediaCapabilitiesHelper.init = function () {
110
110
  return __awaiter(this, void 0, void 0, function () {
111
- var _a, _b, localDevicesList, err_1;
112
- return __generator(this, function (_c) {
113
- switch (_c.label) {
111
+ var _a, _b, localDevicesList, _c, err_1;
112
+ return __generator(this, function (_d) {
113
+ switch (_d.label) {
114
114
  case 0:
115
- _c.trys.push([0, 4,, 5]);
115
+ _d.trys.push([0, 6,, 7]);
116
116
  _a = this;
117
117
  return [4 /*yield*/, new DetectWebRtcService_1.DetectWebRtcService(DetectWebRtcService_1.DETECT_RTC_ADVISED_TIMEOUT)];
118
118
  case 1:
119
- _a.detectWebRtcService = _c.sent();
119
+ _a.detectWebRtcService = _d.sent();
120
120
  _b = this;
121
121
  return [4 /*yield*/, this.detectWebRtcService.getWebRtcInfo()];
122
122
  case 2:
123
- _b.webRtcSupportInfo = _c.sent();
123
+ _b.webRtcSupportInfo = _d.sent();
124
+ if (!this.webRtcSupportInfo.isWebRTCSupported) return [3 /*break*/, 4];
124
125
  return [4 /*yield*/, enumerateMediaDevices()];
125
126
  case 3:
126
- localDevicesList = _c.sent();
127
+ _c = _d.sent();
128
+ return [3 /*break*/, 5];
129
+ case 4:
130
+ _c = [];
131
+ _d.label = 5;
132
+ case 5:
133
+ localDevicesList = _c;
127
134
  this.devicesList = {
128
135
  video: filter_1.default(localDevicesList, function (device) {
129
136
  return device.kind.toLowerCase() === 'videoinput';
@@ -137,11 +144,11 @@ var MediaCapabilitiesHelper = /** @class */function () {
137
144
  }
138
145
  trace.info('initialize media capabilities helper successfully');
139
146
  return [2 /*return*/, this.mediaCapabilitiesHelper];
140
- case 4:
141
- err_1 = _c.sent();
147
+ case 6:
148
+ err_1 = _d.sent();
142
149
  trace.error(JSON.stringify(err_1));
143
150
  throw err_1;
144
- case 5:
151
+ case 7:
145
152
  return [2 /*return*/];
146
153
  }
147
154
  });
@@ -1 +1 @@
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","trace","getMediaTracer","enumerateMediaDevices","navigator","mediaDevices","enumerateDevices","catch","environmentService","TsEnvironmentDetect","init","_a","_b","localDevicesList","err_1","_c","DetectWebRtcService","DETECT_RTC_ADVISED_TIMEOUT","detectWebRtcService","getWebRtcInfo","webRtcSupportInfo","devicesList","video","default","device","kind","toLowerCase","audio","mediaCapabilitiesHelper","info","error","JSON","stringify","prototype","hasCamera","isIOS","isWebsiteHasWebcamPermissions","hasGetUserMediaSupported","hasMicrophone","isWebsiteHasMicrophonePermissions","hasWebRTC","isWebRTCSupported","isGetUserMediaSupported"],"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 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.init = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, _b, localDevicesList, err_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 4, , 5]);\n _a = this;\n return [4 /*yield*/, new DetectWebRtcService_1.DetectWebRtcService(DetectWebRtcService_1.DETECT_RTC_ADVISED_TIMEOUT)];\n case 1:\n _a.detectWebRtcService = _c.sent();\n _b = this;\n return [4 /*yield*/, this.detectWebRtcService.getWebRtcInfo()];\n case 2:\n _b.webRtcSupportInfo = _c.sent();\n return [4 /*yield*/, enumerateMediaDevices()];\n case 3:\n localDevicesList = _c.sent();\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 if (!this.mediaCapabilitiesHelper) {\n this.mediaCapabilitiesHelper = new MediaCapabilitiesHelper();\n }\n trace.info('initialize media capabilities helper successfully');\n return [2 /*return*/, this.mediaCapabilitiesHelper];\n case 4:\n err_1 = _c.sent();\n trace.error(JSON.stringify(err_1));\n throw err_1;\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n MediaCapabilitiesHelper.prototype.hasCamera = function () {\n return this.environmentService.isIOS()\n ? MediaCapabilitiesHelper.webRtcSupportInfo.isWebsiteHasWebcamPermissions && this.hasGetUserMediaSupported()\n : MediaCapabilitiesHelper.devicesList.video.length > 0 && this.hasGetUserMediaSupported();\n };\n MediaCapabilitiesHelper.prototype.hasMicrophone = function () {\n return this.environmentService.isIOS()\n ? MediaCapabilitiesHelper.webRtcSupportInfo.isWebsiteHasMicrophonePermissions && 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 return MediaCapabilitiesHelper;\n}());\nexports.MediaCapabilitiesHelper = MediaCapabilitiesHelper;\n\n//# sourceMappingURL=MediaCapabilitiesHelper.js.map\n"]}
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","trace","getMediaTracer","enumerateMediaDevices","navigator","mediaDevices","enumerateDevices","catch","environmentService","TsEnvironmentDetect","init","_a","_b","localDevicesList","_c","err_1","_d","DetectWebRtcService","DETECT_RTC_ADVISED_TIMEOUT","detectWebRtcService","getWebRtcInfo","webRtcSupportInfo","isWebRTCSupported","devicesList","video","default","device","kind","toLowerCase","audio","mediaCapabilitiesHelper","info","error","JSON","stringify","prototype","hasCamera","isIOS","isWebsiteHasWebcamPermissions","hasGetUserMediaSupported","hasMicrophone","isWebsiteHasMicrophonePermissions","hasWebRTC","isGetUserMediaSupported"],"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 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.init = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, _b, localDevicesList, _c, err_1;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _d.trys.push([0, 6, , 7]);\n _a = this;\n return [4 /*yield*/, new DetectWebRtcService_1.DetectWebRtcService(DetectWebRtcService_1.DETECT_RTC_ADVISED_TIMEOUT)];\n case 1:\n _a.detectWebRtcService = _d.sent();\n _b = this;\n return [4 /*yield*/, this.detectWebRtcService.getWebRtcInfo()];\n case 2:\n _b.webRtcSupportInfo = _d.sent();\n if (!this.webRtcSupportInfo.isWebRTCSupported) return [3 /*break*/, 4];\n return [4 /*yield*/, enumerateMediaDevices()];\n case 3:\n _c = _d.sent();\n return [3 /*break*/, 5];\n case 4:\n _c = [];\n _d.label = 5;\n case 5:\n localDevicesList = _c;\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 if (!this.mediaCapabilitiesHelper) {\n this.mediaCapabilitiesHelper = new MediaCapabilitiesHelper();\n }\n trace.info('initialize media capabilities helper successfully');\n return [2 /*return*/, this.mediaCapabilitiesHelper];\n case 6:\n err_1 = _d.sent();\n trace.error(JSON.stringify(err_1));\n throw err_1;\n case 7: return [2 /*return*/];\n }\n });\n });\n };\n MediaCapabilitiesHelper.prototype.hasCamera = function () {\n return this.environmentService.isIOS()\n ? MediaCapabilitiesHelper.webRtcSupportInfo.isWebsiteHasWebcamPermissions && this.hasGetUserMediaSupported()\n : MediaCapabilitiesHelper.devicesList.video.length > 0 && this.hasGetUserMediaSupported();\n };\n MediaCapabilitiesHelper.prototype.hasMicrophone = function () {\n return this.environmentService.isIOS()\n ? MediaCapabilitiesHelper.webRtcSupportInfo.isWebsiteHasMicrophonePermissions && 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 return MediaCapabilitiesHelper;\n}());\nexports.MediaCapabilitiesHelper = MediaCapabilitiesHelper;\n\n//# sourceMappingURL=MediaCapabilitiesHelper.js.map\n"]}
@@ -10,7 +10,14 @@ export declare enum MULTI_PARTY_EVENTS {
10
10
  connectionDestroyed = "connectionDestroyed",
11
11
  streamCreated = "streamCreated"
12
12
  }
13
- export declare abstract class MultiParty extends EventEmitter {
13
+ export interface IMultiParty {
14
+ session: any;
15
+ subscribers: Array<any> | undefined;
16
+ connect(...args: any[]): void;
17
+ disconnect(): void;
18
+ on(event: string | symbol, listener: (...args: any[]) => void): IMultiParty;
19
+ }
20
+ export declare abstract class MultiParty extends EventEmitter implements IMultiParty {
14
21
  abstract session: any;
15
22
  abstract subscribers: Array<any> | undefined;
16
23
  protected settings: ISessionSettings;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MultiParty/MultiParty.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAI7C,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,oBAAY,kBAAkB;IAC1B,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;CAClC;AAED,8BAAsB,UAAW,SAAQ,YAAY;IACjD,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC7C,SAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAErC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IACtC,QAAQ,CAAC,UAAU,IAAI,IAAI;gBAEf,QAAQ,EAAE,gBAAgB;CAIzC;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 {ISessionSettings} from './Contracts';\n\nconst trace = getMediaTracer('Multiparty');\n\nexport const participateDomId = 'participate';\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}\n\nexport abstract class MultiParty extends EventEmitter {\n abstract session: any;\n abstract subscribers: Array<any> | undefined;\n protected settings: ISessionSettings;\n\n abstract connect(...args: any[]): void;\n abstract disconnect(): void;\n\n constructor(settings: ISessionSettings) {\n super();\n this.settings = settings;\n }\n}\n\nexport const couldStartMultiparty = async (): Promise<boolean> => {\n try {\n const mediaCapabilitiesHelper = await MediaCapabilitiesHelper.init();\n\n return mediaCapabilitiesHelper.hasWebRTC();\n\n } catch (err) {\n trace.error(JSON.stringify(err));\n\n return false;\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/MultiParty/MultiParty.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAI7C,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,oBAAY,kBAAkB;IAC1B,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;CAClC;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,GAAG,CAAC;IACb,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAEpC,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC9B,UAAU,IAAI,IAAI,CAAC;IACnB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,WAAW,CAAC;CAC/E;AAED,8BAAsB,UAAW,SAAQ,YAAa,YAAW,WAAW;IACxE,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC7C,SAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAErC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IACtC,QAAQ,CAAC,UAAU,IAAI,IAAI;gBAEf,QAAQ,EAAE,gBAAgB;CAIzC;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 {ISessionSettings} from './Contracts';\n\nconst trace = getMediaTracer('Multiparty');\n\nexport const participateDomId = 'participate';\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}\n\nexport interface IMultiParty {\n session: any;\n subscribers: Array<any> | undefined;\n\n connect(...args: any[]): void;\n disconnect(): void;\n on(event: string | symbol, listener: (...args: any[]) => void): IMultiParty;\n}\n\nexport abstract class MultiParty extends EventEmitter implements IMultiParty {\n abstract session: any;\n abstract subscribers: Array<any> | undefined;\n protected settings: ISessionSettings;\n\n abstract connect(...args: any[]): void;\n abstract disconnect(): void;\n\n constructor(settings: ISessionSettings) {\n super();\n this.settings = settings;\n }\n}\n\nexport const couldStartMultiparty = async (): Promise<boolean> => {\n try {\n const mediaCapabilitiesHelper = await MediaCapabilitiesHelper.init();\n\n return mediaCapabilitiesHelper.hasWebRTC();\n\n } catch (err) {\n trace.error(JSON.stringify(err));\n\n return false;\n }\n};\n"]}
@@ -150,6 +150,6 @@ var couldStartMultiparty = function couldStartMultiparty() {
150
150
  });
151
151
  };
152
152
  exports.couldStartMultiparty = couldStartMultiparty;
153
- //# sourceMappingURL=MultiParty.js.map
154
153
 
155
154
  //# sourceMappingURL=MultiParty.js.map
155
+ //# sourceMappingURL=MultiParty.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["MultiParty/MultiParty.js","../src/MultiParty/MultiParty.ts"],"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","participateDomId","MediaCapabilitiesHelper_1","require","MediaTracer_1","events_1","trace","getMediaTracer","_super","settings","_this","EventEmitter","mediaCapabilitiesHelper","err_1","_a","MediaCapabilitiesHelper","init","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.participateDomId = void 0;\nvar MediaCapabilitiesHelper_1 = require(\"./MediaCapabilitiesHelper\");\nvar MediaTracer_1 = require(\"../MediaUtils/MediaTracer\");\nvar events_1 = require(\"events\");\nvar trace = MediaTracer_1.getMediaTracer('Multiparty');\nexports.participateDomId = 'participate';\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 = 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.init()];\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","import {MediaCapabilitiesHelper} from './MediaCapabilitiesHelper';\nimport {getMediaTracer} from '../MediaUtils/MediaTracer';\nimport {EventEmitter} from 'events';\nimport {ISessionSettings} from './Contracts';\n\nconst trace = getMediaTracer('Multiparty');\n\nexport const participateDomId = 'participate';\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}\n\nexport abstract class MultiParty extends EventEmitter {\n abstract session: any;\n abstract subscribers: Array<any> | undefined;\n protected settings: ISessionSettings;\n\n abstract connect(...args: any[]): void;\n abstract disconnect(): void;\n\n constructor(settings: ISessionSettings) {\n super();\n this.settings = settings;\n }\n}\n\nexport const couldStartMultiparty = async (): Promise<boolean> => {\n try {\n const mediaCapabilitiesHelper = await MediaCapabilitiesHelper.init();\n\n return mediaCapabilitiesHelper.hasWebRTC();\n\n } catch (err) {\n trace.error(JSON.stringify(err));\n\n return false;\n }\n};\n"]}
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","participateDomId","MediaCapabilitiesHelper_1","require","MediaTracer_1","events_1","trace","getMediaTracer","_super","settings","_this","EventEmitter","mediaCapabilitiesHelper","err_1","_a","MediaCapabilitiesHelper","init","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.participateDomId = void 0;\nvar MediaCapabilitiesHelper_1 = require(\"./MediaCapabilitiesHelper\");\nvar MediaTracer_1 = require(\"../MediaUtils/MediaTracer\");\nvar events_1 = require(\"events\");\nvar trace = MediaTracer_1.getMediaTracer('Multiparty');\nexports.participateDomId = 'participate';\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 = 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.init()];\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,2 +1,3 @@
1
1
  import { ISessionSettings } from './Contracts';
2
- export declare const createMultiParty: (settings: ISessionSettings) => any;
2
+ import { IMultiParty } from './MultiParty';
3
+ export declare const createMultiParty: (settings: ISessionSettings) => IMultiParty;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MultiParty/MultipartyFactory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAE7C,eAAO,MAAM,gBAAgB,aAAc,gBAAgB,KAAG,GAM7D,CAAC","file":"MultipartyFactory.d.ts","sourcesContent":["import {MediaServiceType} from '../MediaConstants';\nimport {OpentokMultiparty} from './OpentokMultiparty';\nimport {ISessionSettings} from './Contracts';\n\nexport const createMultiParty = (settings: ISessionSettings): any => {\n if (settings.mediaServiceType === MediaServiceType.OPENTOK) {\n return new OpentokMultiparty(settings);\n }\n\n throw new Error('NOT_SUPPORTED');\n};\n"]}
1
+ {"version":3,"sources":["../src/MultiParty/MultipartyFactory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,eAAO,MAAM,gBAAgB,aAAc,gBAAgB,KAAG,WAM7D,CAAC","file":"MultipartyFactory.d.ts","sourcesContent":["import {MediaServiceType} from '../MediaConstants';\nimport {OpentokMultiparty} from './OpentokMultiparty';\nimport {ISessionSettings} from './Contracts';\nimport { IMultiParty } from './MultiParty';\n\nexport const createMultiParty = (settings: ISessionSettings): IMultiParty => {\n if (settings.mediaServiceType === MediaServiceType.OPENTOK) {\n return new OpentokMultiparty(settings);\n }\n\n throw new Error('NOT_SUPPORTED');\n};\n"]}
@@ -11,6 +11,6 @@ var createMultiParty = function createMultiParty(settings) {
11
11
  throw new Error('NOT_SUPPORTED');
12
12
  };
13
13
  exports.createMultiParty = createMultiParty;
14
- //# sourceMappingURL=MultipartyFactory.js.map
15
14
 
16
15
  //# sourceMappingURL=MultipartyFactory.js.map
16
+ //# sourceMappingURL=MultipartyFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["MultiParty/MultipartyFactory.js","../src/MultiParty/MultipartyFactory.ts"],"names":["Object","defineProperty","exports","value","createMultiParty","MediaConstants_1","require","OpentokMultiparty_1","settings","mediaServiceType","MediaServiceType","OPENTOK","OpentokMultiparty","Error"],"mappings":"AAAA;;AACAA,OAAOC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C,EAAEC,OAAO,IAAT,EAA7C;AACAD,QAAQE,gBAAR,GAA2B,KAAK,CAAhC;ACFA,IAAAC,mBAAAC,QAAA,mBAAA,CAAA;AACA,IAAAC,sBAAAD,QAAA,qBAAA,CAAA;AAGO,IAAMF,mBAAmB,SAAnBA,gBAAmB,CAACI,QAAD,EAA2B;AACvD,QAAIA,SAASC,gBAAT,KAA8BJ,iBAAAK,gBAAA,CAAiBC,OAAnD,EAA4D;AACxD,eAAO,IAAIJ,oBAAAK,iBAAJ,CAAsBJ,QAAtB,CAAP;AACH;AAED,UAAM,IAAIK,KAAJ,CAAU,eAAV,CAAN;AACH,CANM;AAAMX,QAAAE,gBAAA,GAAgBA,gBAAhB","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) {\n if (settings.mediaServiceType === MediaConstants_1.MediaServiceType.OPENTOK) {\n return new OpentokMultiparty_1.OpentokMultiparty(settings);\n }\n throw new Error('NOT_SUPPORTED');\n};\nexports.createMultiParty = createMultiParty;\n","import {MediaServiceType} from '../MediaConstants';\nimport {OpentokMultiparty} from './OpentokMultiparty';\nimport {ISessionSettings} from './Contracts';\n\nexport const createMultiParty = (settings: ISessionSettings): any => {\n if (settings.mediaServiceType === MediaServiceType.OPENTOK) {\n return new OpentokMultiparty(settings);\n }\n\n throw new Error('NOT_SUPPORTED');\n};\n"]}
1
+ {"version":3,"sources":["MultiParty/MultipartyFactory.js"],"names":["Object","defineProperty","exports","value","createMultiParty","MediaConstants_1","require","OpentokMultiparty_1","settings","mediaServiceType","MediaServiceType","OPENTOK","OpentokMultiparty","Error"],"mappings":"AAAA;;AACAA,OAAOC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C,EAAEC,OAAO,IAAT,EAA7C;AACAD,QAAQE,gBAAR,GAA2B,KAAK,CAAhC;AACA,IAAIC,mBAAmBC,QAAQ,mBAAR,CAAvB;AACA,IAAIC,sBAAsBD,QAAQ,qBAAR,CAA1B;AACA,IAAIF,mBAAmB,SAAnBA,gBAAmB,CAAUI,QAAV,EAAoB;AACvC,QAAIA,SAASC,gBAAT,KAA8BJ,iBAAiBK,gBAAjB,CAAkCC,OAApE,EAA6E;AACzE,eAAO,IAAIJ,oBAAoBK,iBAAxB,CAA0CJ,QAA1C,CAAP;AACH;AACD,UAAM,IAAIK,KAAJ,CAAU,eAAV,CAAN;AACH,CALD;AAMAX,QAAQE,gBAAR,GAA2BA,gBAA3B;;AAEA","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) {\n if (settings.mediaServiceType === MediaConstants_1.MediaServiceType.OPENTOK) {\n return new OpentokMultiparty_1.OpentokMultiparty(settings);\n }\n throw new Error('NOT_SUPPORTED');\n};\nexports.createMultiParty = createMultiParty;\n\n//# sourceMappingURL=MultipartyFactory.js.map\n"]}
@@ -407,6 +407,6 @@ var OpentokMultiparty = /** @class */function (_super) {
407
407
  return OpentokMultiparty;
408
408
  }(MultiParty_1.MultiParty);
409
409
  exports.OpentokMultiparty = OpentokMultiparty;
410
- //# sourceMappingURL=OpentokMultiparty.js.map
411
410
 
412
411
  //# sourceMappingURL=OpentokMultiparty.js.map
412
+ //# sourceMappingURL=OpentokMultiparty.js.map