@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.
- package/lib/DetectWebRtcService.d.ts +19 -0
- package/lib/DetectWebRtcService.d.ts.map +1 -0
- package/lib/DetectWebRtcService.js +94 -0
- package/lib/DetectWebRtcService.js.map +1 -0
- package/lib/MediaCapabilitiesService.d.ts +18 -0
- package/lib/MediaCapabilitiesService.d.ts.map +1 -0
- package/lib/MediaCapabilitiesService.js +108 -0
- package/lib/MediaCapabilitiesService.js.map +1 -0
- package/lib/MediaCapabilitiesUtils.d.ts +6 -0
- package/lib/MediaCapabilitiesUtils.d.ts.map +1 -0
- package/lib/MediaCapabilitiesUtils.js +84 -0
- package/lib/MediaCapabilitiesUtils.js.map +1 -0
- package/lib/MediaTracer.d.ts +4 -0
- package/lib/MediaTracer.d.ts.map +1 -0
- package/lib/MediaTracer.js +10 -0
- package/lib/MediaTracer.js.map +1 -0
- package/lib/MultiPartyService.d.ts +47 -0
- package/lib/MultiPartyService.d.ts.map +1 -0
- package/lib/MultiPartyService.js +11 -0
- package/lib/MultiPartyService.js.map +1 -0
- package/lib/MultiPartyServiceFactory.d.ts +4 -0
- package/lib/MultiPartyServiceFactory.d.ts.map +1 -0
- package/lib/MultiPartyServiceFactory.js +13 -0
- package/lib/MultiPartyServiceFactory.js.map +1 -0
- package/lib/MultipartyServiceEventTypes.d.ts +103 -0
- package/lib/MultipartyServiceEventTypes.d.ts.map +1 -0
- package/lib/MultipartyServiceEventTypes.js +20 -0
- package/lib/MultipartyServiceEventTypes.js.map +1 -0
- package/lib/index.d.ts +7 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +25 -0
- package/lib/index.js.map +1 -0
- package/lib/opentok/OpentokMultiPartyService.d.ts +43 -0
- package/lib/opentok/OpentokMultiPartyService.d.ts.map +1 -0
- package/lib/opentok/OpentokMultiPartyService.js +497 -0
- package/lib/opentok/OpentokMultiPartyService.js.map +1 -0
- package/lib/opentok/OpentokPublisher.d.ts +38 -0
- package/lib/opentok/OpentokPublisher.d.ts.map +1 -0
- package/lib/opentok/OpentokPublisher.js +235 -0
- package/lib/opentok/OpentokPublisher.js.map +1 -0
- package/lib/opentok/OpentokPublisherEventMapper.d.ts +19 -0
- package/lib/opentok/OpentokPublisherEventMapper.d.ts.map +1 -0
- package/lib/opentok/OpentokPublisherEventMapper.js +50 -0
- package/lib/opentok/OpentokPublisherEventMapper.js.map +1 -0
- package/lib/opentok/OpentokSubscriber.d.ts +5 -0
- package/lib/opentok/OpentokSubscriber.d.ts.map +1 -0
- package/lib/opentok/OpentokSubscriber.js +33 -0
- package/lib/opentok/OpentokSubscriber.js.map +1 -0
- package/lib/opentok/mocks/OpentokPublisher.d.ts +32 -0
- package/lib/opentok/mocks/OpentokPublisher.d.ts.map +1 -0
- package/lib/opentok/mocks/OpentokPublisher.js +143 -0
- package/lib/opentok/mocks/OpentokPublisher.js.map +1 -0
- package/lib/opentok/mocks/OpentokSession.d.ts +25 -0
- package/lib/opentok/mocks/OpentokSession.d.ts.map +1 -0
- package/lib/opentok/mocks/OpentokSession.js +76 -0
- package/lib/opentok/mocks/OpentokSession.js.map +1 -0
- package/lib/opentok/mocks/objects.d.ts +26 -0
- package/lib/opentok/mocks/objects.d.ts.map +1 -0
- package/lib/opentok/mocks/objects.js +35 -0
- package/lib/opentok/mocks/objects.js.map +1 -0
- package/lib/opentok/trace.d.ts +3 -0
- package/lib/opentok/trace.d.ts.map +1 -0
- package/lib/opentok/trace.js +20 -0
- package/lib/opentok/trace.js.map +1 -0
- package/lib/types.d.ts +55 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +32 -0
- package/lib/types.js.map +1 -0
- package/lib/utils.d.ts +5 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js +17 -0
- package/lib/utils.js.map +1 -0
- 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 @@
|
|
|
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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"}
|