@techsee/techsee-media-service 999.17.3333-alphasa01 → 999.17.4444-alphasa01

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 (73) hide show
  1. package/lib/DetectWebRtcService.d.ts +19 -0
  2. package/lib/DetectWebRtcService.d.ts.map +1 -0
  3. package/lib/DetectWebRtcService.js +94 -0
  4. package/lib/DetectWebRtcService.js.map +1 -0
  5. package/lib/MediaCapabilitiesService.d.ts +18 -0
  6. package/lib/MediaCapabilitiesService.d.ts.map +1 -0
  7. package/lib/MediaCapabilitiesService.js +108 -0
  8. package/lib/MediaCapabilitiesService.js.map +1 -0
  9. package/lib/MediaCapabilitiesUtils.d.ts +6 -0
  10. package/lib/MediaCapabilitiesUtils.d.ts.map +1 -0
  11. package/lib/MediaCapabilitiesUtils.js +84 -0
  12. package/lib/MediaCapabilitiesUtils.js.map +1 -0
  13. package/lib/MediaTracer.d.ts +4 -0
  14. package/lib/MediaTracer.d.ts.map +1 -0
  15. package/lib/MediaTracer.js +10 -0
  16. package/lib/MediaTracer.js.map +1 -0
  17. package/lib/MultiPartyService.d.ts +47 -0
  18. package/lib/MultiPartyService.d.ts.map +1 -0
  19. package/lib/MultiPartyService.js +11 -0
  20. package/lib/MultiPartyService.js.map +1 -0
  21. package/lib/MultiPartyServiceFactory.d.ts +4 -0
  22. package/lib/MultiPartyServiceFactory.d.ts.map +1 -0
  23. package/lib/MultiPartyServiceFactory.js +13 -0
  24. package/lib/MultiPartyServiceFactory.js.map +1 -0
  25. package/lib/MultipartyServiceEventTypes.d.ts +103 -0
  26. package/lib/MultipartyServiceEventTypes.d.ts.map +1 -0
  27. package/lib/MultipartyServiceEventTypes.js +20 -0
  28. package/lib/MultipartyServiceEventTypes.js.map +1 -0
  29. package/lib/index.d.ts +7 -0
  30. package/lib/index.d.ts.map +1 -0
  31. package/lib/index.js +25 -0
  32. package/lib/index.js.map +1 -0
  33. package/lib/opentok/OpentokMultiPartyService.d.ts +43 -0
  34. package/lib/opentok/OpentokMultiPartyService.d.ts.map +1 -0
  35. package/lib/opentok/OpentokMultiPartyService.js +497 -0
  36. package/lib/opentok/OpentokMultiPartyService.js.map +1 -0
  37. package/lib/opentok/OpentokPublisher.d.ts +38 -0
  38. package/lib/opentok/OpentokPublisher.d.ts.map +1 -0
  39. package/lib/opentok/OpentokPublisher.js +235 -0
  40. package/lib/opentok/OpentokPublisher.js.map +1 -0
  41. package/lib/opentok/OpentokPublisherEventMapper.d.ts +19 -0
  42. package/lib/opentok/OpentokPublisherEventMapper.d.ts.map +1 -0
  43. package/lib/opentok/OpentokPublisherEventMapper.js +50 -0
  44. package/lib/opentok/OpentokPublisherEventMapper.js.map +1 -0
  45. package/lib/opentok/OpentokSubscriber.d.ts +5 -0
  46. package/lib/opentok/OpentokSubscriber.d.ts.map +1 -0
  47. package/lib/opentok/OpentokSubscriber.js +33 -0
  48. package/lib/opentok/OpentokSubscriber.js.map +1 -0
  49. package/lib/opentok/mocks/OpentokPublisher.d.ts +32 -0
  50. package/lib/opentok/mocks/OpentokPublisher.d.ts.map +1 -0
  51. package/lib/opentok/mocks/OpentokPublisher.js +143 -0
  52. package/lib/opentok/mocks/OpentokPublisher.js.map +1 -0
  53. package/lib/opentok/mocks/OpentokSession.d.ts +25 -0
  54. package/lib/opentok/mocks/OpentokSession.d.ts.map +1 -0
  55. package/lib/opentok/mocks/OpentokSession.js +76 -0
  56. package/lib/opentok/mocks/OpentokSession.js.map +1 -0
  57. package/lib/opentok/mocks/objects.d.ts +26 -0
  58. package/lib/opentok/mocks/objects.d.ts.map +1 -0
  59. package/lib/opentok/mocks/objects.js +35 -0
  60. package/lib/opentok/mocks/objects.js.map +1 -0
  61. package/lib/opentok/trace.d.ts +3 -0
  62. package/lib/opentok/trace.d.ts.map +1 -0
  63. package/lib/opentok/trace.js +20 -0
  64. package/lib/opentok/trace.js.map +1 -0
  65. package/lib/types.d.ts +55 -0
  66. package/lib/types.d.ts.map +1 -0
  67. package/lib/types.js +32 -0
  68. package/lib/types.js.map +1 -0
  69. package/lib/utils.d.ts +5 -0
  70. package/lib/utils.d.ts.map +1 -0
  71. package/lib/utils.js +17 -0
  72. package/lib/utils.js.map +1 -0
  73. package/package.json +2 -2
@@ -0,0 +1,19 @@
1
+ import type { ClientWebRtcInfo } from '@techsee/techsee-common/lib/data-contracts/ClientInfo';
2
+ export declare const DETECT_RTC_ADVISED_TIMEOUT = 20000;
3
+ export declare const defaultWebRtcResult: {
4
+ isWebRTCSupported: boolean;
5
+ isWebsiteHasWebcamPermissions: boolean;
6
+ isWebsiteHasMicrophonePermissions: boolean;
7
+ isGetUserMediaSupported: boolean;
8
+ isApplyConstraintsSupported: boolean;
9
+ };
10
+ export declare class DetectWebRtcService {
11
+ private static instance?;
12
+ private static initPromise;
13
+ private cachedResult;
14
+ private constructor();
15
+ static get: () => Promise<DetectWebRtcService>;
16
+ private readonly init;
17
+ getWebRtcInfo: () => ClientWebRtcInfo;
18
+ }
19
+ //# sourceMappingURL=DetectWebRtcService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DetectWebRtcService.d.ts","sourceRoot":"","sources":["../src/Live3/DetectWebRtcService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uDAAuD,CAAC;AAG9F,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAEhD,eAAO,MAAM,mBAAmB;;;;;;CAM/B,CAAC;AAEF,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAsB;IAC9C,OAAO,CAAC,MAAM,CAAC,WAAW,CAAoC;IAE9D,OAAO,CAAC,YAAY,CAAyC;IAE7D,OAAO;IAEP,OAAc,GAAG,QAAa,QAAQ,mBAAmB,CAAC,CAWxD;IAEF,OAAO,CAAC,QAAQ,CAAC,IAAI,CA4BnB;IAEK,aAAa,QAAO,gBAAgB,CAAsB;CAClE"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ var _a;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.DetectWebRtcService = exports.defaultWebRtcResult = exports.DETECT_RTC_ADVISED_TIMEOUT = void 0;
17
+ const detectrtc_1 = __importDefault(require("detectrtc"));
18
+ exports.DETECT_RTC_ADVISED_TIMEOUT = 20000;
19
+ exports.defaultWebRtcResult = {
20
+ isWebRTCSupported: false,
21
+ isWebsiteHasWebcamPermissions: false,
22
+ isWebsiteHasMicrophonePermissions: false,
23
+ isGetUserMediaSupported: false,
24
+ isApplyConstraintsSupported: false,
25
+ };
26
+ class DetectWebRtcService {
27
+ constructor() {
28
+ Object.defineProperty(this, "cachedResult", {
29
+ enumerable: true,
30
+ configurable: true,
31
+ writable: true,
32
+ value: exports.defaultWebRtcResult
33
+ });
34
+ Object.defineProperty(this, "init", {
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true,
38
+ value: () => __awaiter(this, void 0, void 0, function* () {
39
+ // eslint-disable-next-line @typescript-eslint/return-await
40
+ return new Promise((resolve, reject) => {
41
+ let timeoutPtr = setTimeout(() => {
42
+ timeoutPtr = null;
43
+ this.cachedResult = exports.defaultWebRtcResult;
44
+ // eslint-disable-next-line prefer-promise-reject-errors
45
+ reject();
46
+ }, exports.DETECT_RTC_ADVISED_TIMEOUT);
47
+ detectrtc_1.default.load(() => {
48
+ if (timeoutPtr === null) {
49
+ return;
50
+ }
51
+ clearTimeout(timeoutPtr);
52
+ this.cachedResult = {
53
+ isWebRTCSupported: detectrtc_1.default.isWebRTCSupported,
54
+ isWebsiteHasWebcamPermissions: detectrtc_1.default.isWebsiteHasWebcamPermissions,
55
+ isWebsiteHasMicrophonePermissions: detectrtc_1.default.isWebsiteHasMicrophonePermissions,
56
+ isGetUserMediaSupported: detectrtc_1.default.isGetUserMediaSupported,
57
+ isApplyConstraintsSupported: detectrtc_1.default.isApplyConstraintsSupported,
58
+ };
59
+ resolve();
60
+ });
61
+ });
62
+ })
63
+ });
64
+ Object.defineProperty(this, "getWebRtcInfo", {
65
+ enumerable: true,
66
+ configurable: true,
67
+ writable: true,
68
+ value: () => this.cachedResult
69
+ });
70
+ }
71
+ }
72
+ exports.DetectWebRtcService = DetectWebRtcService;
73
+ _a = DetectWebRtcService;
74
+ Object.defineProperty(DetectWebRtcService, "initPromise", {
75
+ enumerable: true,
76
+ configurable: true,
77
+ writable: true,
78
+ value: Promise.resolve()
79
+ });
80
+ Object.defineProperty(DetectWebRtcService, "get", {
81
+ enumerable: true,
82
+ configurable: true,
83
+ writable: true,
84
+ value: () => __awaiter(void 0, void 0, void 0, function* () {
85
+ yield DetectWebRtcService.initPromise;
86
+ if (!DetectWebRtcService.instance) {
87
+ DetectWebRtcService.instance = new DetectWebRtcService();
88
+ DetectWebRtcService.initPromise = DetectWebRtcService.instance.init();
89
+ yield DetectWebRtcService.initPromise;
90
+ }
91
+ return DetectWebRtcService.instance;
92
+ })
93
+ });
94
+ //# sourceMappingURL=DetectWebRtcService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DetectWebRtcService.js","sourceRoot":"","sources":["../src/Live3/DetectWebRtcService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,0DAAkC;AAErB,QAAA,0BAA0B,GAAG,KAAK,CAAC;AAEnC,QAAA,mBAAmB,GAAG;IACjC,iBAAiB,EAAE,KAAK;IACxB,6BAA6B,EAAE,KAAK;IACpC,iCAAiC,EAAE,KAAK;IACxC,uBAAuB,EAAE,KAAK;IAC9B,2BAA2B,EAAE,KAAK;CACnC,CAAC;AAEF,MAAa,mBAAmB;IAM9B;QAFA;;;;mBAAyC,2BAAmB;WAAC;QAiB7D;;;;mBAAwB,GAAwB,EAAE;gBAChD,2DAA2D;gBAC3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACrC,IAAI,UAAU,GAA0B,UAAU,CAAC,GAAG,EAAE;wBACtD,UAAU,GAAG,IAAI,CAAC;wBAClB,IAAI,CAAC,YAAY,GAAG,2BAAmB,CAAC;wBACxC,wDAAwD;wBACxD,MAAM,EAAE,CAAC;oBACX,CAAC,EAAE,kCAA0B,CAAC,CAAC;oBAE/B,mBAAS,CAAC,IAAI,CAAC,GAAG,EAAE;wBAClB,IAAI,UAAU,KAAK,IAAI,EAAE;4BACvB,OAAO;yBACR;wBAED,YAAY,CAAC,UAAU,CAAC,CAAC;wBAEzB,IAAI,CAAC,YAAY,GAAG;4BAClB,iBAAiB,EAAE,mBAAS,CAAC,iBAAiB;4BAC9C,6BAA6B,EAAE,mBAAS,CAAC,6BAA6B;4BACtE,iCAAiC,EAAE,mBAAS,CAAC,iCAAiC;4BAC9E,uBAAuB,EAAE,mBAAS,CAAC,uBAAuB;4BAC1D,2BAA2B,EAAE,mBAAS,CAAC,2BAA2B;yBACnE,CAAC;wBAEF,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAA;WAAC;QAEF;;;;mBAAuB,GAAqB,EAAE,CAAC,IAAI,CAAC,YAAY;WAAC;IA7C1C,CAAC;;AAN1B,kDAoDC;;AAlDgB;;;;WAA6B,OAAO,CAAC,OAAO,EAAE;GAAC;AAMhD;;;;WAAM,GAAuC,EAAE;QAC3D,MAAM,mBAAmB,CAAC,WAAW,CAAC;QAEtC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE;YACjC,mBAAmB,CAAC,QAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAC;YACzD,mBAAmB,CAAC,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEtE,MAAM,mBAAmB,CAAC,WAAW,CAAC;SACvC;QAED,OAAO,mBAAmB,CAAC,QAAQ,CAAC;IACtC,CAAC,CAAA;GAAC"}
@@ -0,0 +1,18 @@
1
+ export declare class MediaCapabilitiesService {
2
+ private static instance?;
3
+ private static initPromise;
4
+ private webRtcSupportInfo;
5
+ private devicesList;
6
+ private readonly environmentService;
7
+ private constructor();
8
+ static getInstance(): Promise<MediaCapabilitiesService>;
9
+ private init;
10
+ hasCamera(): boolean;
11
+ hasMicrophone(): boolean;
12
+ hasWebRTC(): boolean;
13
+ updateDevicesList(reverse?: boolean): Promise<void>;
14
+ get supportSwitchCamera(): boolean;
15
+ get backCameraDeviceId(): string;
16
+ get frontCameraDeviceId(): string;
17
+ }
18
+ //# sourceMappingURL=MediaCapabilitiesService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaCapabilitiesService.d.ts","sourceRoot":"","sources":["../src/Live3/MediaCapabilitiesService.ts"],"names":[],"mappings":"AAcA,qBAAa,wBAAwB;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAA2B;IACnD,OAAO,CAAC,MAAM,CAAC,WAAW,CAAoC;IAE9D,OAAO,CAAC,iBAAiB,CAAyC;IAElE,OAAO,CAAC,WAAW,CAGjB;IAEF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6B;IAEhE,OAAO;WAEa,WAAW,IAAI,OAAO,CAAC,wBAAwB,CAAC;YAatD,IAAI;IAWX,SAAS,IAAI,OAAO;IAIpB,aAAa,IAAI,OAAO;IAOxB,SAAS,IAAI,OAAO;IAId,iBAAiB,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAchE,IAAW,mBAAmB,IAAI,OAAO,CAExC;IAED,IAAW,kBAAkB,IAAI,MAAM,CAEtC;IAED,IAAW,mBAAmB,IAAI,MAAM,CAEvC;CACF"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MediaCapabilitiesService = void 0;
13
+ const ts_environment_detect_1 = require("@techsee/techsee-common/lib/helpers/ts-environment-detect");
14
+ const MediaTracer_1 = require("./MediaTracer");
15
+ const DetectWebRtcService_1 = require("./DetectWebRtcService");
16
+ //TODO not a same service like the client infra
17
+ const trace = (0, MediaTracer_1.getMediaTracer)('MediaCapabilitiesService');
18
+ class MediaCapabilitiesService {
19
+ constructor() {
20
+ Object.defineProperty(this, "webRtcSupportInfo", {
21
+ enumerable: true,
22
+ configurable: true,
23
+ writable: true,
24
+ value: DetectWebRtcService_1.defaultWebRtcResult
25
+ });
26
+ Object.defineProperty(this, "devicesList", {
27
+ enumerable: true,
28
+ configurable: true,
29
+ writable: true,
30
+ value: {
31
+ video: [],
32
+ audio: [],
33
+ }
34
+ });
35
+ Object.defineProperty(this, "environmentService", {
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true,
39
+ value: new ts_environment_detect_1.TsEnvironmentDetect()
40
+ });
41
+ }
42
+ static getInstance() {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ yield this.initPromise;
45
+ if (!this.instance) {
46
+ this.instance = new MediaCapabilitiesService();
47
+ this.initPromise = this.instance.init();
48
+ yield this.initPromise;
49
+ }
50
+ return this.instance;
51
+ });
52
+ }
53
+ init() {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ const detectWebRtcService = yield DetectWebRtcService_1.DetectWebRtcService.get();
56
+ this.webRtcSupportInfo = detectWebRtcService.getWebRtcInfo();
57
+ yield this.updateDevicesList();
58
+ //** @FIXME handle promise */
59
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
60
+ trace.info('initialize media capabilities helper successfully');
61
+ });
62
+ }
63
+ hasCamera() {
64
+ return this.devicesList.video.length > 0 && this.webRtcSupportInfo.isGetUserMediaSupported;
65
+ }
66
+ hasMicrophone() {
67
+ const userMediaSupported = this.webRtcSupportInfo.isGetUserMediaSupported;
68
+ return this.environmentService.isIOS()
69
+ ? userMediaSupported
70
+ : this.devicesList.audio.length > 0 && userMediaSupported;
71
+ }
72
+ hasWebRTC() {
73
+ return this.webRtcSupportInfo.isWebRTCSupported;
74
+ }
75
+ updateDevicesList(reverse) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const localDevicesList = this.webRtcSupportInfo.isWebRTCSupported
78
+ ? yield navigator.mediaDevices.enumerateDevices()
79
+ : [];
80
+ this.devicesList = {
81
+ video: localDevicesList.filter(device => device.kind.toLowerCase() === 'videoinput'),
82
+ audio: localDevicesList.filter(device => device.kind.toLowerCase() === 'audioinput'),
83
+ };
84
+ if (reverse) {
85
+ this.devicesList.video.reverse();
86
+ }
87
+ });
88
+ }
89
+ get supportSwitchCamera() {
90
+ return this.devicesList.video.length > 1;
91
+ }
92
+ get backCameraDeviceId() {
93
+ var _a;
94
+ return ((_a = this.devicesList.video[this.devicesList.video.length - 1]) === null || _a === void 0 ? void 0 : _a.deviceId) || '';
95
+ }
96
+ get frontCameraDeviceId() {
97
+ var _a;
98
+ return ((_a = this.devicesList.video[0]) === null || _a === void 0 ? void 0 : _a.deviceId) || '';
99
+ }
100
+ }
101
+ exports.MediaCapabilitiesService = MediaCapabilitiesService;
102
+ Object.defineProperty(MediaCapabilitiesService, "initPromise", {
103
+ enumerable: true,
104
+ configurable: true,
105
+ writable: true,
106
+ value: Promise.resolve()
107
+ });
108
+ //# sourceMappingURL=MediaCapabilitiesService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaCapabilitiesService.js","sourceRoot":"","sources":["../src/Live3/MediaCapabilitiesService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const checkIsMobile: () => boolean;
2
+ export declare const checkWebRtc: () => Promise<boolean>;
3
+ export declare function checkVideoCapabilities(): Promise<boolean>;
4
+ export declare function checkAudioCapabilities(): Promise<boolean>;
5
+ export declare function checkSupportSwitchCamera(): Promise<boolean>;
6
+ //# sourceMappingURL=MediaCapabilitiesUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaCapabilitiesUtils.d.ts","sourceRoot":"","sources":["../src/Live3/MediaCapabilitiesUtils.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa,QAAO,OAIhC,CAAC;AAEF,eAAO,MAAM,WAAW,QAAa,QAAQ,OAAO,CAYnD,CAAC;AAEF,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC,CAY/D;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC,CAY/D;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC,CAYjE"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.checkSupportSwitchCamera = exports.checkAudioCapabilities = exports.checkVideoCapabilities = exports.checkWebRtc = exports.checkIsMobile = void 0;
13
+ const ts_environment_detect_1 = require("@techsee/techsee-common/lib/helpers/ts-environment-detect");
14
+ const MediaTracer_1 = require("./MediaTracer");
15
+ const MediaCapabilitiesService_1 = require("./MediaCapabilitiesService");
16
+ const trace = (0, MediaTracer_1.getMediaTracer)('MediaCapabilitiesUtils');
17
+ const checkIsMobile = () => {
18
+ const environmentService = new ts_environment_detect_1.TsEnvironmentDetect();
19
+ return environmentService.isMobile();
20
+ };
21
+ exports.checkIsMobile = checkIsMobile;
22
+ const checkWebRtc = () => __awaiter(void 0, void 0, void 0, function* () {
23
+ try {
24
+ const mediaCapabilitiesService = yield MediaCapabilitiesService_1.MediaCapabilitiesService.getInstance();
25
+ const hasWebRTC = mediaCapabilitiesService.hasWebRTC();
26
+ return hasWebRTC;
27
+ }
28
+ catch (err) {
29
+ //** @FIXME handle promise */
30
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
31
+ trace.error(JSON.stringify(err));
32
+ }
33
+ return false;
34
+ });
35
+ exports.checkWebRtc = checkWebRtc;
36
+ function checkVideoCapabilities() {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ try {
39
+ const mediaCapabilitiesService = yield MediaCapabilitiesService_1.MediaCapabilitiesService.getInstance();
40
+ const hasCamera = mediaCapabilitiesService.hasCamera();
41
+ return hasCamera;
42
+ }
43
+ catch (err) {
44
+ //** @FIXME handle promise */
45
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
46
+ trace.error(JSON.stringify(err));
47
+ }
48
+ return false;
49
+ });
50
+ }
51
+ exports.checkVideoCapabilities = checkVideoCapabilities;
52
+ function checkAudioCapabilities() {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ try {
55
+ const mediaCapabilitiesService = yield MediaCapabilitiesService_1.MediaCapabilitiesService.getInstance();
56
+ const hasMicrophone = mediaCapabilitiesService.hasMicrophone();
57
+ return hasMicrophone;
58
+ }
59
+ catch (err) {
60
+ //** @FIXME handle promise */
61
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
62
+ trace.error(JSON.stringify(err));
63
+ }
64
+ return false;
65
+ });
66
+ }
67
+ exports.checkAudioCapabilities = checkAudioCapabilities;
68
+ function checkSupportSwitchCamera() {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ try {
71
+ const mediaCapabilitiesService = yield MediaCapabilitiesService_1.MediaCapabilitiesService.getInstance();
72
+ const supportSwitchCamera = mediaCapabilitiesService.supportSwitchCamera;
73
+ return supportSwitchCamera;
74
+ }
75
+ catch (err) {
76
+ //** @FIXME handle promise */
77
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
78
+ trace.error(JSON.stringify(err));
79
+ }
80
+ return false;
81
+ });
82
+ }
83
+ exports.checkSupportSwitchCamera = checkSupportSwitchCamera;
84
+ //# sourceMappingURL=MediaCapabilitiesUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaCapabilitiesUtils.js","sourceRoot":"","sources":["../src/Live3/MediaCapabilitiesUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qGAAgG;AAChG,+CAA+C;AAC/C,yEAAsE;AAEtE,MAAM,KAAK,GAAG,IAAA,4BAAc,EAAC,wBAAwB,CAAC,CAAC;AAEhD,MAAM,aAAa,GAAG,GAAY,EAAE;IACzC,MAAM,kBAAkB,GAAG,IAAI,2CAAmB,EAAE,CAAC;IAErD,OAAO,kBAAkB,CAAC,QAAQ,EAAE,CAAC;AACvC,CAAC,CAAC;AAJW,QAAA,aAAa,iBAIxB;AAEK,MAAM,WAAW,GAAG,GAA2B,EAAE;IACtD,IAAI;QACF,MAAM,wBAAwB,GAAG,MAAM,mDAAwB,CAAC,WAAW,EAAE,CAAC;QAC9E,MAAM,SAAS,GAAG,wBAAwB,CAAC,SAAS,EAAE,CAAC;QACvD,OAAO,SAAS,CAAC;KAClB;IAAC,OAAO,GAAG,EAAE;QACZ,6BAA6B;QAC7B,mEAAmE;QACnE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;KAClC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAA,CAAC;AAZW,QAAA,WAAW,eAYtB;AAEF,SAAsB,sBAAsB;;QAC1C,IAAI;YACF,MAAM,wBAAwB,GAAG,MAAM,mDAAwB,CAAC,WAAW,EAAE,CAAC;YAC9E,MAAM,SAAS,GAAG,wBAAwB,CAAC,SAAS,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC;SAClB;QAAC,OAAO,GAAG,EAAE;YACZ,6BAA6B;YAC7B,mEAAmE;YACnE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;SAClC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CAAA;AAZD,wDAYC;AAED,SAAsB,sBAAsB;;QAC1C,IAAI;YACF,MAAM,wBAAwB,GAAG,MAAM,mDAAwB,CAAC,WAAW,EAAE,CAAC;YAC9E,MAAM,aAAa,GAAG,wBAAwB,CAAC,aAAa,EAAE,CAAC;YAC/D,OAAO,aAAa,CAAC;SACtB;QAAC,OAAO,GAAG,EAAE;YACZ,6BAA6B;YAC7B,mEAAmE;YACnE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;SAClC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CAAA;AAZD,wDAYC;AAED,SAAsB,wBAAwB;;QAC5C,IAAI;YACF,MAAM,wBAAwB,GAAG,MAAM,mDAAwB,CAAC,WAAW,EAAE,CAAC;YAC9E,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,mBAAmB,CAAC;YACzE,OAAO,mBAAmB,CAAC;SAC5B;QAAC,OAAO,GAAG,EAAE;YACZ,6BAA6B;YAC7B,mEAAmE;YACnE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;SAClC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CAAA;AAZD,4DAYC"}
@@ -0,0 +1,4 @@
1
+ import type { ITechseeTracer } from '@techsee/techsee-common/lib/core/Tracer';
2
+ export declare const TECHSEE_MEDIA_TRACER = "MediaTracer";
3
+ export declare function getMediaTracer(postfixName: string): ITechseeTracer;
4
+ //# sourceMappingURL=MediaTracer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaTracer.d.ts","sourceRoot":"","sources":["../src/Live3/MediaTracer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAG9E,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAElD,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CAElE"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMediaTracer = exports.TECHSEE_MEDIA_TRACER = void 0;
4
+ const Tracer_1 = require("@techsee/techsee-common/lib/core/Tracer");
5
+ exports.TECHSEE_MEDIA_TRACER = 'MediaTracer';
6
+ function getMediaTracer(postfixName) {
7
+ return (0, Tracer_1.getTracer)(exports.TECHSEE_MEDIA_TRACER, postfixName);
8
+ }
9
+ exports.getMediaTracer = getMediaTracer;
10
+ //# sourceMappingURL=MediaTracer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaTracer.js","sourceRoot":"","sources":["../src/Live3/MediaTracer.ts"],"names":[],"mappings":";;;AACA,oEAAoE;AAEvD,QAAA,oBAAoB,GAAG,aAAa,CAAC;AAElD,SAAgB,cAAc,CAAC,WAAmB;IAChD,OAAO,IAAA,kBAAS,EAAC,4BAAoB,EAAE,WAAW,CAAC,CAAC;AACtD,CAAC;AAFD,wCAEC"}
@@ -0,0 +1,47 @@
1
+ import type { MultipartyServiceEventTypesMap } from './MultipartyServiceEventTypes';
2
+ import type { Credentials, SessionClientRole, SessionSettings } from './types';
3
+ import { TypedEventEmitter } from '@techsee/techsee-common/lib/helpers/TypedEventEmitter';
4
+ import type { VideoStats } from './opentok/OpentokMultiPartyService';
5
+ export declare const DEFAULT_AVATAR_URI = "data:image/png;base64,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";
6
+ export declare const maxParticipantsNumber = 2;
7
+ export declare type OTError = {
8
+ name: string;
9
+ message: string;
10
+ };
11
+ export declare type IncomingTrackStats = {
12
+ bytesReceived: number;
13
+ packetsLost: number;
14
+ packetsReceived: number;
15
+ };
16
+ export declare type SubscriberStats = {
17
+ audio: IncomingTrackStats;
18
+ video: IncomingTrackStats & {
19
+ frameRate: number;
20
+ };
21
+ timestamp: number;
22
+ };
23
+ declare type GetStatsCb = (callback: (error?: OTError, stats?: SubscriberStats) => void) => void;
24
+ export declare type MultipartySubscriber = {
25
+ getImgData: () => string | null;
26
+ getStats: GetStatsCb;
27
+ };
28
+ export declare type SubscriberInfo = {
29
+ subscriber: MultipartySubscriber;
30
+ connectionId: string;
31
+ clientRole: SessionClientRole | 'default';
32
+ };
33
+ export declare abstract class MultiPartyService extends TypedEventEmitter<MultipartyServiceEventTypesMap> {
34
+ abstract subscribers: Readonly<SubscriberInfo>[];
35
+ abstract ownConnectionId: string;
36
+ abstract connect(settings: SessionSettings, credentials: Credentials): void;
37
+ abstract disconnect(): void;
38
+ abstract reinitializeStreams(settings: SessionSettings): Promise<void>;
39
+ abstract switchCamera(): Promise<void>;
40
+ abstract publishAudio(shouldMute: boolean): Promise<void>;
41
+ abstract publishVideo(shouldPublishVideo: boolean): Promise<void>;
42
+ abstract takeSnapshot(connectionId: string): string | null;
43
+ abstract checkSupportSwitchCamera(): boolean;
44
+ abstract getRemoteVideoStats(): Promise<VideoStats>;
45
+ }
46
+ export {};
47
+ //# sourceMappingURL=MultiPartyService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiPartyService.d.ts","sourceRoot":"","sources":["../src/Live3/MultiPartyService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC1F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAGrE,eAAO,MAAM,kBAAkB,uqLACuoL,CAAC;AAEvqL,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAIvC,oBAAY,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC5B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,EAAE,kBAAkB,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,aAAK,UAAU,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,eAAe,KAAK,IAAI,KAAK,IAAI,CAAC;AACzF,oBAAY,oBAAoB,GAAG;IACjC,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,UAAU,CAAC;CACtB,CAAC;AAEF,oBAAY,cAAc,GAAG;IAC3B,UAAU,EAAE,oBAAoB,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF,8BAAsB,iBAAkB,SAAQ,iBAAiB,CAAC,8BAA8B,CAAC;IAE/F,SAAgB,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;IAExD,SAAgB,eAAe,EAAE,MAAM,CAAC;aAExB,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI;aAElE,UAAU,IAAI,IAAI;aAElB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;aAE7D,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;aAE7B,YAAY,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;aAEhD,YAAY,CAAC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;aAExD,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;aAEjD,wBAAwB,IAAI,OAAO;aAEnC,mBAAmB,IAAI,OAAO,CAAC,UAAU,CAAC;CAC3D"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultiPartyService = exports.maxParticipantsNumber = exports.DEFAULT_AVATAR_URI = void 0;
4
+ const TypedEventEmitter_1 = require("@techsee/techsee-common/lib/helpers/TypedEventEmitter");
5
+ // eslint-disable-next-line max-len
6
+ exports.DEFAULT_AVATAR_URI = 'data:image/png;base64,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';
7
+ exports.maxParticipantsNumber = 2;
8
+ class MultiPartyService extends TypedEventEmitter_1.TypedEventEmitter {
9
+ }
10
+ exports.MultiPartyService = MultiPartyService;
11
+ //# sourceMappingURL=MultiPartyService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiPartyService.js","sourceRoot":"","sources":["../src/Live3/MultiPartyService.ts"],"names":[],"mappings":";;;AAEA,6FAA0F;AAG1F,mCAAmC;AACtB,QAAA,kBAAkB,GAC7B,oqLAAoqL,CAAC;AAE1pL,QAAA,qBAAqB,GAAG,CAAC,CAAC;AAiCvC,MAAsB,iBAAkB,SAAQ,qCAAiD;CAuBhG;AAvBD,8CAuBC"}
@@ -0,0 +1,4 @@
1
+ import { MediaServiceType } from './types';
2
+ import type { MultiPartyService } from './MultiPartyService';
3
+ export declare const createMultiPartyService: (mediaServiceType: MediaServiceType, getParticipantDomId: (connectionId?: string) => string) => MultiPartyService;
4
+ //# sourceMappingURL=MultiPartyServiceFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiPartyServiceFactory.d.ts","sourceRoot":"","sources":["../src/Live3/MultiPartyServiceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,eAAO,MAAM,uBAAuB,qBAChB,gBAAgB,uCACG,MAAM,KAAK,MAAM,KACrD,iBAMF,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createMultiPartyService = void 0;
4
+ const types_1 = require("./types");
5
+ const OpentokMultiPartyService_1 = require("./opentok/OpentokMultiPartyService");
6
+ const createMultiPartyService = (mediaServiceType, getParticipantDomId) => {
7
+ if (mediaServiceType === types_1.MediaServiceType.OPENTOK) {
8
+ return new OpentokMultiPartyService_1.OpentokMultiPartyService(getParticipantDomId);
9
+ }
10
+ throw new Error('NOT_SUPPORTED');
11
+ };
12
+ exports.createMultiPartyService = createMultiPartyService;
13
+ //# sourceMappingURL=MultiPartyServiceFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiPartyServiceFactory.js","sourceRoot":"","sources":["../src/Live3/MultiPartyServiceFactory.ts"],"names":[],"mappings":";;;AAAA,mCAA2C;AAE3C,iFAA8E;AAEvE,MAAM,uBAAuB,GAAG,CACrC,gBAAkC,EAClC,mBAAsD,EACnC,EAAE;IACrB,IAAI,gBAAgB,KAAK,wBAAgB,CAAC,OAAO,EAAE;QACjD,OAAO,IAAI,mDAAwB,CAAC,mBAAmB,CAAC,CAAC;KAC1D;IAED,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;AACnC,CAAC,CAAC;AATW,QAAA,uBAAuB,2BASlC"}
@@ -0,0 +1,103 @@
1
+ import type { SessionClientRole } from './types';
2
+ import type { CameraTypes } from '@techsee/techsee-common/lib/constants/media.constants';
3
+ export declare enum MultiPartyServiceEventTypes {
4
+ connectFailed = "connectFailed",
5
+ streamDestroyed = "streamDestroyed",
6
+ connectionCreated = "connectionCreated",
7
+ connectionDestroyed = "connectionDestroyed",
8
+ streamCreated = "streamCreated",
9
+ videoElementCreated = "videoElementCreated",
10
+ streamPropertyChanged = "streamPropertyChanged",
11
+ mediaDeviceAccessAllowed = "mediaDeviceAccessAllowed",
12
+ mediaDeviceAccessDenied = "mediaDeviceAccessDenied",
13
+ mediaAccessDialogOpened = "mediaAccessDialogOpened",
14
+ mediaAccessDialogClosed = "mediaAccessDialogClosed",
15
+ cameraSourceChanged = "cameraSourceChanged",
16
+ failureException = "failureException"
17
+ }
18
+ export declare type MultipartyServiceConnectFailedEvent = {
19
+ meta: {
20
+ err: string;
21
+ };
22
+ };
23
+ export declare type MultipartyServiceConnectionCreatedEvent = {
24
+ isOwnConnection: boolean;
25
+ connectionId: string;
26
+ participantId: string;
27
+ clientRole: SessionClientRole;
28
+ };
29
+ export declare type MultipartyServiceConnectionDestroyedEvent = {
30
+ isOwnConnection: boolean;
31
+ connectionId: string;
32
+ participantId: string;
33
+ clientRole: SessionClientRole;
34
+ };
35
+ export declare type MultipartyServiceStreamCreatedEvent = {
36
+ isOwnConnection: boolean;
37
+ connectionId: string;
38
+ participantId: string;
39
+ clientRole: SessionClientRole;
40
+ hasVideo: boolean;
41
+ hasAudio: boolean;
42
+ mirror: boolean;
43
+ videoDimensions: {
44
+ width: number;
45
+ height: number;
46
+ };
47
+ };
48
+ export declare type MultipartyServiceStreamDestroyedEvent = {
49
+ isOwnConnection: boolean;
50
+ connectionId: string;
51
+ participantId: string;
52
+ clientRole: SessionClientRole;
53
+ };
54
+ export declare type MultipartyVideoElementCreatedEvent = {
55
+ type: 'videoElementCreated';
56
+ target: unknown;
57
+ cancelable: boolean;
58
+ element: HTMLObjectElement | HTMLVideoElement;
59
+ };
60
+ export declare type MultipartyServiceStreamPropertyChangedEvent = {
61
+ isOwnConnection: boolean;
62
+ connectionId: string;
63
+ participantId: string;
64
+ clientRole: SessionClientRole;
65
+ hasVideo: boolean;
66
+ hasAudio: boolean;
67
+ videoDimensions: {
68
+ width: number;
69
+ height: number;
70
+ };
71
+ };
72
+ export declare type MultipartyServiceCameraSourceChangedEvent = {
73
+ cameraSource: CameraTypes;
74
+ mirror: boolean;
75
+ connectionId: string;
76
+ videoDimensions: {
77
+ width: number;
78
+ height: number;
79
+ };
80
+ };
81
+ export declare type MultipartyServiceMediaAccessEvent = {
82
+ isOwnConnection: boolean;
83
+ };
84
+ export declare type MultipartyServiceFailureExceptionEvent = {
85
+ type: string;
86
+ };
87
+ export interface MultipartyServiceEventTypesMap {
88
+ connectionCreated: MultipartyServiceConnectionCreatedEvent;
89
+ connectionDestroyed: MultipartyServiceConnectionDestroyedEvent;
90
+ connectFailed: MultipartyServiceConnectFailedEvent;
91
+ streamDestroyed: MultipartyServiceStreamDestroyedEvent;
92
+ streamCreated: MultipartyServiceStreamCreatedEvent;
93
+ /** @TODO Introduce emitted event, refactor event emitter to require event type and simplify it a lot */
94
+ videoElementCreated: MultipartyVideoElementCreatedEvent;
95
+ streamPropertyChanged: MultipartyServiceStreamPropertyChangedEvent;
96
+ mediaDeviceAccessAllowed: MultipartyServiceMediaAccessEvent;
97
+ mediaDeviceAccessDenied: MultipartyServiceMediaAccessEvent;
98
+ mediaAccessDialogOpened: MultipartyServiceMediaAccessEvent;
99
+ mediaAccessDialogClosed: MultipartyServiceMediaAccessEvent;
100
+ cameraSourceChanged: MultipartyServiceCameraSourceChangedEvent;
101
+ failureException: MultipartyServiceFailureExceptionEvent;
102
+ }
103
+ //# sourceMappingURL=MultipartyServiceEventTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultipartyServiceEventTypes.d.ts","sourceRoot":"","sources":["../src/Live3/MultipartyServiceEventTypes.ts"],"names":[],"mappings":"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"}