@techsee/techsee-media-service 0.7.0 → 0.7.2-alpha.1

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.
@@ -9,3 +9,4 @@ export declare const WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL = 500;
9
9
  export declare function waitForOpenTokIsLoaded(): Promise<void>;
10
10
  export declare function enumerateMediaDevices(): Promise<MediaDeviceInfo[]>;
11
11
  export declare function isVideoPlaySupportedOnDevice(isOpenTokService: boolean): Promise<boolean>;
12
+ export declare function registerWebRTCAdapters(): void;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MediaUtils/Compatibility.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,EAAE,EAAE,GAAG,CAAC;QACR,QAAQ,EAAE,GAAG,CAAC;KACjB;CACJ;AAOD,eAAO,MAAM,4CAA4C,KAAK,CAAC;AAC/D,eAAO,MAAM,wCAAwC,MAAM,CAAC;AAmB5D,wBAAgB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAmBtD;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAUlE;AAED,wBAAgB,4BAA4B,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAcxF","file":"Compatibility.d.ts","sourcesContent":["declare const require: any;\n\ndeclare global {\n interface Window {\n OT: any;\n OTPlugin: any;\n }\n}\n\n//@ts-ignore\nimport {TsEnvironmentDetect} from '@techsee/techsee-common/lib/helpers/ts-environment-detect';\n\n// Grace period to wait in the unlikely case that Opentok has not finished initializing,\n// and a session initialization was requested\nexport const WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS = 10;\nexport const WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL = 500;\n\nconst environmentDetect = new TsEnvironmentDetect();\nconst isIE11 = environmentDetect.isIE11();\n\nif (isIE11) {\n require('../webrtc-ie-shim.js');\n} else if (!(environmentDetect.isChrome() && (environmentDetect.majorVersion() < 49))) {\n require('webrtc-adapter/src/js/adapter_core'); // eslint-disable-line global-require\n}\n\nfunction _isOTDefined(): boolean {\n try {\n return !!window.OT;\n } catch (e) {\n return false;\n }\n}\n\nexport function waitForOpenTokIsLoaded(): Promise<void> {\n if (_isOTDefined()) {\n return Promise.resolve();\n }\n\n let isDefined = false;\n\n return (Promise as any).reduce(\n new Array(WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS),\n () => {\n if (isDefined || _isOTDefined()) {\n isDefined = true;\n\n return Promise.resolve();\n }\n\n return (Promise as any).delay(WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL);\n }, 0)\n .then(() => isDefined || Promise.reject(new Error('OT is undefined')));\n}\n\nexport function enumerateMediaDevices(): Promise<MediaDeviceInfo[]> {\n return new Promise((resolve, reject) => {\n if ((typeof window.OT !== 'undefined') && window.OT && window.OT.getDevices) {\n window.OT.getDevices((error: any, devices: any) => (error ? reject(error) : resolve(devices)));\n } else if (navigator.mediaDevices && navigator.mediaDevices.enumerateDevices) {\n navigator.mediaDevices.enumerateDevices().then(resolve).catch(reject);\n } else {\n reject(new Error('Enumerating media devices is not supported'));\n }\n });\n}\n\nexport function isVideoPlaySupportedOnDevice(isOpenTokService: boolean): Promise<boolean> {\n if (!isIE11) {\n return Promise.resolve(true);\n }\n\n if (isOpenTokService) {\n return waitForOpenTokIsLoaded().then(() => window.OT && window.OTPlugin && window.OTPlugin.isInstalled && window.OTPlugin.isInstalled());\n }\n\n if ((window as any).WebRTCAdapter) {\n return Promise.resolve(true);\n }\n\n return Promise.resolve(false);\n}\n"]}
1
+ {"version":3,"sources":["../src/MediaUtils/Compatibility.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,EAAE,EAAE,GAAG,CAAC;QACR,QAAQ,EAAE,GAAG,CAAC;KACjB;CACJ;AAUD,eAAO,MAAM,4CAA4C,KAAK,CAAC;AAC/D,eAAO,MAAM,wCAAwC,MAAM,CAAC;AAU5D,wBAAgB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAmBtD;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAUlE;AAED,wBAAgB,4BAA4B,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAcxF;AAED,wBAAgB,sBAAsB,SAMrC","file":"Compatibility.d.ts","sourcesContent":["declare const require: any;\n\ndeclare global {\n interface Window {\n OT: any;\n OTPlugin: any;\n }\n}\n\n//@ts-ignore\nimport {TsEnvironmentDetect} from '@techsee/techsee-common/lib/helpers/ts-environment-detect';\n\nconst environmentDetect = new TsEnvironmentDetect();\nconst isIE11 = environmentDetect.isIE11();\n\n// Grace period to wait in the unlikely case that Opentok has not finished initializing,\n// and a session initialization was requested\nexport const WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS = 10;\nexport const WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL = 500;\n\nfunction _isOTDefined(): boolean {\n try {\n return !!window.OT;\n } catch (e) {\n return false;\n }\n}\n\nexport function waitForOpenTokIsLoaded(): Promise<void> {\n if (_isOTDefined()) {\n return Promise.resolve();\n }\n\n let isDefined = false;\n\n return (Promise as any).reduce(\n new Array(WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS),\n () => {\n if (isDefined || _isOTDefined()) {\n isDefined = true;\n\n return Promise.resolve();\n }\n\n return (Promise as any).delay(WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL);\n }, 0)\n .then(() => isDefined || Promise.reject(new Error('OT is undefined')));\n}\n\nexport function enumerateMediaDevices(): Promise<MediaDeviceInfo[]> {\n return new Promise((resolve, reject) => {\n if ((typeof window.OT !== 'undefined') && window.OT && window.OT.getDevices) {\n window.OT.getDevices((error: any, devices: any) => (error ? reject(error) : resolve(devices)));\n } else if (navigator.mediaDevices && navigator.mediaDevices.enumerateDevices) {\n navigator.mediaDevices.enumerateDevices().then(resolve).catch(reject);\n } else {\n reject(new Error('Enumerating media devices is not supported'));\n }\n });\n}\n\nexport function isVideoPlaySupportedOnDevice(isOpenTokService: boolean): Promise<boolean> {\n if (!isIE11) {\n return Promise.resolve(true);\n }\n\n if (isOpenTokService) {\n return waitForOpenTokIsLoaded().then(() => window.OT && window.OTPlugin && window.OTPlugin.isInstalled && window.OTPlugin.isInstalled());\n }\n\n if ((window as any).WebRTCAdapter) {\n return Promise.resolve(true);\n }\n\n return Promise.resolve(false);\n}\n\nexport function registerWebRTCAdapters() {\n if (isIE11) {\n require('../webrtc-ie-shim.js');\n } else if (!(environmentDetect.isChrome() && (environmentDetect.majorVersion() < 49))) {\n require('webrtc-adapter/src/js/adapter_core'); // eslint-disable-line global-require\n }\n}\n"]}
@@ -3,17 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  //@ts-ignore
5
5
  var ts_environment_detect_1 = require("@techsee/techsee-common/lib/helpers/ts-environment-detect");
6
+ var environmentDetect = new ts_environment_detect_1.TsEnvironmentDetect();
7
+ var isIE11 = environmentDetect.isIE11();
6
8
  // Grace period to wait in the unlikely case that Opentok has not finished initializing,
7
9
  // and a session initialization was requested
8
10
  exports.WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS = 10;
9
11
  exports.WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL = 500;
10
- var environmentDetect = new ts_environment_detect_1.TsEnvironmentDetect();
11
- var isIE11 = environmentDetect.isIE11();
12
- if (isIE11) {
13
- require('../webrtc-ie-shim.js');
14
- } else if (!(environmentDetect.isChrome() && environmentDetect.majorVersion() < 49)) {
15
- require('webrtc-adapter/src/js/adapter_core'); // eslint-disable-line global-require
16
- }
17
12
  function _isOTDefined() {
18
13
  try {
19
14
  return !!window.OT;
@@ -66,6 +61,14 @@ function isVideoPlaySupportedOnDevice(isOpenTokService) {
66
61
  return Promise.resolve(false);
67
62
  }
68
63
  exports.isVideoPlaySupportedOnDevice = isVideoPlaySupportedOnDevice;
64
+ function registerWebRTCAdapters() {
65
+ if (isIE11) {
66
+ require('../webrtc-ie-shim.js');
67
+ } else if (!(environmentDetect.isChrome() && environmentDetect.majorVersion() < 49)) {
68
+ require('webrtc-adapter/src/js/adapter_core'); // eslint-disable-line global-require
69
+ }
70
+ }
71
+ exports.registerWebRTCAdapters = registerWebRTCAdapters;
69
72
 
70
73
  //# sourceMappingURL=Compatibility.js.map
71
74
  //# sourceMappingURL=Compatibility.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["MediaUtils/Compatibility.js"],"names":["Object","defineProperty","exports","value","ts_environment_detect_1","require","WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS","WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL","environmentDetect","TsEnvironmentDetect","isIE11","isChrome","majorVersion","_isOTDefined","window","OT","e","waitForOpenTokIsLoaded","Promise","resolve","isDefined","reduce","Array","delay","then","reject","Error","enumerateMediaDevices","getDevices","error","devices","navigator","mediaDevices","enumerateDevices","catch","isVideoPlaySupportedOnDevice","isOpenTokService","OTPlugin","isInstalled","WebRTCAdapter"],"mappings":"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","file":"Compatibility.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//@ts-ignore\nvar ts_environment_detect_1 = require(\"@techsee/techsee-common/lib/helpers/ts-environment-detect\");\n// Grace period to wait in the unlikely case that Opentok has not finished initializing,\n// and a session initialization was requested\nexports.WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS = 10;\nexports.WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL = 500;\nvar environmentDetect = new ts_environment_detect_1.TsEnvironmentDetect();\nvar isIE11 = environmentDetect.isIE11();\nif (isIE11) {\n require('../webrtc-ie-shim.js');\n}\nelse if (!(environmentDetect.isChrome() && (environmentDetect.majorVersion() < 49))) {\n require('webrtc-adapter/src/js/adapter_core'); // eslint-disable-line global-require\n}\nfunction _isOTDefined() {\n try {\n return !!window.OT;\n }\n catch (e) {\n return false;\n }\n}\nfunction waitForOpenTokIsLoaded() {\n if (_isOTDefined()) {\n return Promise.resolve();\n }\n var isDefined = false;\n return Promise.reduce(new Array(exports.WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS), function () {\n if (isDefined || _isOTDefined()) {\n isDefined = true;\n return Promise.resolve();\n }\n return Promise.delay(exports.WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL);\n }, 0)\n .then(function () { return isDefined || Promise.reject(new Error('OT is undefined')); });\n}\nexports.waitForOpenTokIsLoaded = waitForOpenTokIsLoaded;\nfunction enumerateMediaDevices() {\n return new Promise(function (resolve, reject) {\n if ((typeof window.OT !== 'undefined') && window.OT && window.OT.getDevices) {\n window.OT.getDevices(function (error, devices) { return (error ? reject(error) : resolve(devices)); });\n }\n else if (navigator.mediaDevices && navigator.mediaDevices.enumerateDevices) {\n navigator.mediaDevices.enumerateDevices().then(resolve).catch(reject);\n }\n else {\n reject(new Error('Enumerating media devices is not supported'));\n }\n });\n}\nexports.enumerateMediaDevices = enumerateMediaDevices;\nfunction isVideoPlaySupportedOnDevice(isOpenTokService) {\n if (!isIE11) {\n return Promise.resolve(true);\n }\n if (isOpenTokService) {\n return waitForOpenTokIsLoaded().then(function () { return window.OT && window.OTPlugin && window.OTPlugin.isInstalled && window.OTPlugin.isInstalled(); });\n }\n if (window.WebRTCAdapter) {\n return Promise.resolve(true);\n }\n return Promise.resolve(false);\n}\nexports.isVideoPlaySupportedOnDevice = isVideoPlaySupportedOnDevice;\n\n//# sourceMappingURL=Compatibility.js.map\n"]}
1
+ {"version":3,"sources":["MediaUtils/Compatibility.js"],"names":["Object","defineProperty","exports","value","ts_environment_detect_1","require","environmentDetect","TsEnvironmentDetect","isIE11","WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS","WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL","_isOTDefined","window","OT","e","waitForOpenTokIsLoaded","Promise","resolve","isDefined","reduce","Array","delay","then","reject","Error","enumerateMediaDevices","getDevices","error","devices","navigator","mediaDevices","enumerateDevices","catch","isVideoPlaySupportedOnDevice","isOpenTokService","OTPlugin","isInstalled","WebRTCAdapter","registerWebRTCAdapters","isChrome","majorVersion"],"mappings":"AAAA;;AACAA,OAAOC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C,EAAEC,OAAO,IAAT,EAA7C;AACA;AACA,IAAIC,0BAA0BC,QAAQ,2DAAR,CAA9B;AACA,IAAIC,oBAAoB,IAAIF,wBAAwBG,mBAA5B,EAAxB;AACA,IAAIC,SAASF,kBAAkBE,MAAlB,EAAb;AACA;AACA;AACAN,QAAQO,4CAAR,GAAuD,EAAvD;AACAP,QAAQQ,wCAAR,GAAmD,GAAnD;AACA,SAASC,YAAT,GAAwB;AACpB,QAAI;AACA,eAAO,CAAC,CAACC,OAAOC,EAAhB;AACH,KAFD,CAGA,OAAOC,CAAP,EAAU;AACN,eAAO,KAAP;AACH;AACJ;AACD,SAASC,sBAAT,GAAkC;AAC9B,QAAIJ,cAAJ,EAAoB;AAChB,eAAOK,QAAQC,OAAR,EAAP;AACH;AACD,QAAIC,YAAY,KAAhB;AACA,WAAOF,QAAQG,MAAR,CAAe,IAAIC,KAAJ,CAAUlB,QAAQO,4CAAlB,CAAf,EAAgF,YAAY;AAC/F,YAAIS,aAAaP,cAAjB,EAAiC;AAC7BO,wBAAY,IAAZ;AACA,mBAAOF,QAAQC,OAAR,EAAP;AACH;AACD,eAAOD,QAAQK,KAAR,CAAcnB,QAAQQ,wCAAtB,CAAP;AACH,KANM,EAMJ,CANI,EAOFY,IAPE,CAOG,YAAY;AAAE,eAAOJ,aAAaF,QAAQO,MAAR,CAAe,IAAIC,KAAJ,CAAU,iBAAV,CAAf,CAApB;AAAmE,KAPpF,CAAP;AAQH;AACDtB,QAAQa,sBAAR,GAAiCA,sBAAjC;AACA,SAASU,qBAAT,GAAiC;AAC7B,WAAO,IAAIT,OAAJ,CAAY,UAAUC,OAAV,EAAmBM,MAAnB,EAA2B;AAC1C,YAAK,OAAOX,OAAOC,EAAd,KAAqB,WAAtB,IAAsCD,OAAOC,EAA7C,IAAmDD,OAAOC,EAAP,CAAUa,UAAjE,EAA6E;AACzEd,mBAAOC,EAAP,CAAUa,UAAV,CAAqB,UAAUC,KAAV,EAAiBC,OAAjB,EAA0B;AAAE,uBAAQD,QAAQJ,OAAOI,KAAP,CAAR,GAAwBV,QAAQW,OAAR,CAAhC;AAAoD,aAArG;AACH,SAFD,MAGK,IAAIC,UAAUC,YAAV,IAA0BD,UAAUC,YAAV,CAAuBC,gBAArD,EAAuE;AACxEF,sBAAUC,YAAV,CAAuBC,gBAAvB,GAA0CT,IAA1C,CAA+CL,OAA/C,EAAwDe,KAAxD,CAA8DT,MAA9D;AACH,SAFI,MAGA;AACDA,mBAAO,IAAIC,KAAJ,CAAU,4CAAV,CAAP;AACH;AACJ,KAVM,CAAP;AAWH;AACDtB,QAAQuB,qBAAR,GAAgCA,qBAAhC;AACA,SAASQ,4BAAT,CAAsCC,gBAAtC,EAAwD;AACpD,QAAI,CAAC1B,MAAL,EAAa;AACT,eAAOQ,QAAQC,OAAR,CAAgB,IAAhB,CAAP;AACH;AACD,QAAIiB,gBAAJ,EAAsB;AAClB,eAAOnB,yBAAyBO,IAAzB,CAA8B,YAAY;AAAE,mBAAOV,OAAOC,EAAP,IAAaD,OAAOuB,QAApB,IAAgCvB,OAAOuB,QAAP,CAAgBC,WAAhD,IAA+DxB,OAAOuB,QAAP,CAAgBC,WAAhB,EAAtE;AAAsG,SAAlJ,CAAP;AACH;AACD,QAAIxB,OAAOyB,aAAX,EAA0B;AACtB,eAAOrB,QAAQC,OAAR,CAAgB,IAAhB,CAAP;AACH;AACD,WAAOD,QAAQC,OAAR,CAAgB,KAAhB,CAAP;AACH;AACDf,QAAQ+B,4BAAR,GAAuCA,4BAAvC;AACA,SAASK,sBAAT,GAAkC;AAC9B,QAAI9B,MAAJ,EAAY;AACRH,gBAAQ,sBAAR;AACH,KAFD,MAGK,IAAI,EAAEC,kBAAkBiC,QAAlB,MAAiCjC,kBAAkBkC,YAAlB,KAAmC,EAAtE,CAAJ,EAAgF;AACjFnC,gBAAQ,oCAAR,EADiF,CAClC;AAClD;AACJ;AACDH,QAAQoC,sBAAR,GAAiCA,sBAAjC;;AAEA","file":"Compatibility.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//@ts-ignore\nvar ts_environment_detect_1 = require(\"@techsee/techsee-common/lib/helpers/ts-environment-detect\");\nvar environmentDetect = new ts_environment_detect_1.TsEnvironmentDetect();\nvar isIE11 = environmentDetect.isIE11();\n// Grace period to wait in the unlikely case that Opentok has not finished initializing,\n// and a session initialization was requested\nexports.WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS = 10;\nexports.WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL = 500;\nfunction _isOTDefined() {\n try {\n return !!window.OT;\n }\n catch (e) {\n return false;\n }\n}\nfunction waitForOpenTokIsLoaded() {\n if (_isOTDefined()) {\n return Promise.resolve();\n }\n var isDefined = false;\n return Promise.reduce(new Array(exports.WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS), function () {\n if (isDefined || _isOTDefined()) {\n isDefined = true;\n return Promise.resolve();\n }\n return Promise.delay(exports.WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL);\n }, 0)\n .then(function () { return isDefined || Promise.reject(new Error('OT is undefined')); });\n}\nexports.waitForOpenTokIsLoaded = waitForOpenTokIsLoaded;\nfunction enumerateMediaDevices() {\n return new Promise(function (resolve, reject) {\n if ((typeof window.OT !== 'undefined') && window.OT && window.OT.getDevices) {\n window.OT.getDevices(function (error, devices) { return (error ? reject(error) : resolve(devices)); });\n }\n else if (navigator.mediaDevices && navigator.mediaDevices.enumerateDevices) {\n navigator.mediaDevices.enumerateDevices().then(resolve).catch(reject);\n }\n else {\n reject(new Error('Enumerating media devices is not supported'));\n }\n });\n}\nexports.enumerateMediaDevices = enumerateMediaDevices;\nfunction isVideoPlaySupportedOnDevice(isOpenTokService) {\n if (!isIE11) {\n return Promise.resolve(true);\n }\n if (isOpenTokService) {\n return waitForOpenTokIsLoaded().then(function () { return window.OT && window.OTPlugin && window.OTPlugin.isInstalled && window.OTPlugin.isInstalled(); });\n }\n if (window.WebRTCAdapter) {\n return Promise.resolve(true);\n }\n return Promise.resolve(false);\n}\nexports.isVideoPlaySupportedOnDevice = isVideoPlaySupportedOnDevice;\nfunction registerWebRTCAdapters() {\n if (isIE11) {\n require('../webrtc-ie-shim.js');\n }\n else if (!(environmentDetect.isChrome() && (environmentDetect.majorVersion() < 49))) {\n require('webrtc-adapter/src/js/adapter_core'); // eslint-disable-line global-require\n }\n}\nexports.registerWebRTCAdapters = registerWebRTCAdapters;\n\n//# sourceMappingURL=Compatibility.js.map\n"]}