@techsee/techsee-media-service 999.17.22-alphasa01 → 999.17.44-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/dist/Live2/src/LocalStreamManager.d.ts +40 -0
- package/dist/Live2/src/LocalStreamManager.d.ts.map +1 -0
- package/dist/Live2/src/LocalStreamManager.js +349 -0
- package/dist/Live2/src/LocalStreamManager.js.map +1 -0
- package/dist/Live2/src/MediaConstants.d.ts +83 -0
- package/dist/Live2/src/MediaConstants.d.ts.map +1 -0
- package/dist/Live2/src/MediaConstants.js +104 -0
- package/dist/Live2/src/MediaConstants.js.map +1 -0
- package/dist/Live2/src/MediaContracts.d.ts +139 -0
- package/dist/Live2/src/MediaContracts.d.ts.map +1 -0
- package/dist/Live2/src/MediaContracts.js +2 -0
- package/dist/Live2/src/MediaContracts.js.map +1 -0
- package/dist/Live2/src/MediaPublisher.d.ts +15 -0
- package/dist/Live2/src/MediaPublisher.d.ts.map +1 -0
- package/dist/Live2/src/MediaPublisher.js +27 -0
- package/dist/Live2/src/MediaPublisher.js.map +1 -0
- package/dist/Live2/src/MediaServiceBase.d.ts +83 -0
- package/dist/Live2/src/MediaServiceBase.d.ts.map +1 -0
- package/dist/Live2/src/MediaServiceBase.js +719 -0
- package/dist/Live2/src/MediaServiceBase.js.map +1 -0
- package/dist/Live2/src/MediaSession/MediaServer.d.ts +46 -0
- package/dist/Live2/src/MediaSession/MediaServer.d.ts.map +1 -0
- package/dist/Live2/src/MediaSession/MediaServer.js +368 -0
- package/dist/Live2/src/MediaSession/MediaServer.js.map +1 -0
- package/dist/Live2/src/MediaSession/MediaSessionBase.d.ts +35 -0
- package/dist/Live2/src/MediaSession/MediaSessionBase.d.ts.map +1 -0
- package/dist/Live2/src/MediaSession/MediaSessionBase.js +97 -0
- package/dist/Live2/src/MediaSession/MediaSessionBase.js.map +1 -0
- package/dist/Live2/src/MediaSession/SessionOpentok.d.ts +52 -0
- package/dist/Live2/src/MediaSession/SessionOpentok.d.ts.map +1 -0
- package/dist/Live2/src/MediaSession/SessionOpentok.js +365 -0
- package/dist/Live2/src/MediaSession/SessionOpentok.js.map +1 -0
- package/dist/Live2/src/MediaSession/SessionTurn.d.ts +38 -0
- package/dist/Live2/src/MediaSession/SessionTurn.d.ts.map +1 -0
- package/dist/Live2/src/MediaSession/SessionTurn.js +424 -0
- package/dist/Live2/src/MediaSession/SessionTurn.js.map +1 -0
- package/dist/Live2/src/MediaSession/TurnConstants.d.ts +19 -0
- package/dist/Live2/src/MediaSession/TurnConstants.d.ts.map +1 -0
- package/dist/Live2/src/MediaSession/TurnConstants.js +31 -0
- package/dist/Live2/src/MediaSession/TurnConstants.js.map +1 -0
- package/dist/Live2/src/MediaSubscriber.d.ts +37 -0
- package/dist/Live2/src/MediaSubscriber.d.ts.map +1 -0
- package/dist/Live2/src/MediaSubscriber.js +160 -0
- package/dist/Live2/src/MediaSubscriber.js.map +1 -0
- package/dist/Live2/src/MediaUtils/Compatibility.d.ts +17 -0
- package/dist/Live2/src/MediaUtils/Compatibility.d.ts.map +1 -0
- package/dist/Live2/src/MediaUtils/Compatibility.js +125 -0
- package/dist/Live2/src/MediaUtils/Compatibility.js.map +1 -0
- package/dist/Live2/src/MediaUtils/MediaDomUtils.d.ts +7 -0
- package/dist/Live2/src/MediaUtils/MediaDomUtils.d.ts.map +1 -0
- package/dist/Live2/src/MediaUtils/MediaDomUtils.js +204 -0
- package/dist/Live2/src/MediaUtils/MediaDomUtils.js.map +1 -0
- package/dist/Live2/src/MediaUtils/MediaTracer.d.ts +4 -0
- package/dist/Live2/src/MediaUtils/MediaTracer.d.ts.map +1 -0
- package/dist/Live2/src/MediaUtils/MediaTracer.js +6 -0
- package/dist/Live2/src/MediaUtils/MediaTracer.js.map +1 -0
- package/dist/Live2/src/MediaUtils/index.d.ts +2 -0
- package/dist/Live2/src/MediaUtils/index.d.ts.map +1 -0
- package/dist/Live2/src/MediaUtils/index.js +2 -0
- package/dist/Live2/src/MediaUtils/index.js.map +1 -0
- package/dist/Live2/src/MultiParty/DetectWebRtcService.d.ts +19 -0
- package/dist/Live2/src/MultiParty/DetectWebRtcService.d.ts.map +1 -0
- package/dist/Live2/src/MultiParty/DetectWebRtcService.js +50 -0
- package/dist/Live2/src/MultiParty/DetectWebRtcService.js.map +1 -0
- package/dist/Live2/src/MultiParty/MediaCapabilitiesService.d.ts +18 -0
- package/dist/Live2/src/MultiParty/MediaCapabilitiesService.d.ts.map +1 -0
- package/dist/Live2/src/MultiParty/MediaCapabilitiesService.js +65 -0
- package/dist/Live2/src/MultiParty/MediaCapabilitiesService.js.map +1 -0
- package/dist/Live2/src/MultiParty/MediaCapabilitiesUtils.d.ts +6 -0
- package/dist/Live2/src/MultiParty/MediaCapabilitiesUtils.d.ts.map +1 -0
- package/dist/Live2/src/MultiParty/MediaCapabilitiesUtils.js +45 -0
- package/dist/Live2/src/MultiParty/MediaCapabilitiesUtils.js.map +1 -0
- package/dist/Live2/src/MultiParty/MediaTracer.d.ts +4 -0
- package/dist/Live2/src/MultiParty/MediaTracer.d.ts.map +1 -0
- package/dist/Live2/src/MultiParty/MediaTracer.js +6 -0
- package/dist/Live2/src/MultiParty/MediaTracer.js.map +1 -0
- package/dist/Live2/src/MultiParty/MultiPartyService.d.ts +49 -0
- package/dist/Live2/src/MultiParty/MultiPartyService.d.ts.map +1 -0
- package/dist/Live2/src/MultiParty/MultiPartyService.js +7 -0
- package/dist/Live2/src/MultiParty/MultiPartyService.js.map +1 -0
- package/dist/Live2/src/MultiParty/MultiPartyServiceFactory.d.ts +4 -0
- package/dist/Live2/src/MultiParty/MultiPartyServiceFactory.d.ts.map +1 -0
- package/dist/Live2/src/MultiParty/MultiPartyServiceFactory.js +9 -0
- package/dist/Live2/src/MultiParty/MultiPartyServiceFactory.js.map +1 -0
- package/dist/Live2/src/MultiParty/MultipartyServiceEventTypes.d.ts +89 -0
- package/dist/Live2/src/MultiParty/MultipartyServiceEventTypes.d.ts.map +1 -0
- package/dist/Live2/src/MultiParty/MultipartyServiceEventTypes.js +13 -0
- package/dist/Live2/src/MultiParty/MultipartyServiceEventTypes.js.map +1 -0
- package/dist/Live2/src/MultiParty/index.d.ts +7 -0
- package/dist/Live2/src/MultiParty/index.d.ts.map +1 -0
- package/dist/Live2/src/MultiParty/index.js +7 -0
- package/dist/Live2/src/MultiParty/index.js.map +1 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokMultiPartyService.d.ts +38 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokMultiPartyService.d.ts.map +1 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokMultiPartyService.js +339 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokMultiPartyService.js.map +1 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokPublisher.d.ts +34 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokPublisher.d.ts.map +1 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokPublisher.js +58 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokPublisher.js.map +1 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokPublisherEventMapper.d.ts +20 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokPublisherEventMapper.d.ts.map +1 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokPublisherEventMapper.js +42 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokPublisherEventMapper.js.map +1 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokScreenPublisher.d.ts +6 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokScreenPublisher.d.ts.map +1 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokScreenPublisher.js +18 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokScreenPublisher.js.map +1 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokSubscriber.d.ts +2 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokSubscriber.d.ts.map +1 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokSubscriber.js +22 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokSubscriber.js.map +1 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokVideoPublisher.d.ts +19 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokVideoPublisher.d.ts.map +1 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokVideoPublisher.js +113 -0
- package/dist/Live2/src/MultiParty/opentok/OpentokVideoPublisher.js.map +1 -0
- package/dist/Live2/src/MultiParty/opentok/trace.d.ts +3 -0
- package/dist/Live2/src/MultiParty/opentok/trace.d.ts.map +1 -0
- package/dist/Live2/src/MultiParty/opentok/trace.js +9 -0
- package/dist/Live2/src/MultiParty/opentok/trace.js.map +1 -0
- package/dist/Live2/src/MultiParty/types.d.ts +32 -0
- package/dist/Live2/src/MultiParty/types.d.ts.map +1 -0
- package/dist/Live2/src/MultiParty/types.js +2 -0
- package/dist/Live2/src/MultiParty/types.js.map +1 -0
- package/dist/Live2/src/MultiParty/utils.d.ts +10 -0
- package/dist/Live2/src/MultiParty/utils.d.ts.map +1 -0
- package/dist/Live2/src/MultiParty/utils.js +11 -0
- package/dist/Live2/src/MultiParty/utils.js.map +1 -0
- package/dist/Live2/src/TechseeMediaStream.d.ts +15 -0
- package/dist/Live2/src/TechseeMediaStream.d.ts.map +1 -0
- package/dist/Live2/src/TechseeMediaStream.js +31 -0
- package/dist/Live2/src/TechseeMediaStream.js.map +1 -0
- package/dist/Live3/DetectWebRtcService.d.ts +19 -0
- package/dist/Live3/DetectWebRtcService.d.ts.map +1 -0
- package/dist/Live3/DetectWebRtcService.js +49 -0
- package/dist/Live3/DetectWebRtcService.js.map +1 -0
- package/dist/Live3/MediaCapabilitiesService.d.ts +18 -0
- package/dist/Live3/MediaCapabilitiesService.d.ts.map +1 -0
- package/dist/Live3/MediaCapabilitiesService.js +67 -0
- package/dist/Live3/MediaCapabilitiesService.js.map +1 -0
- package/dist/Live3/MediaCapabilitiesUtils.d.ts +6 -0
- package/dist/Live3/MediaCapabilitiesUtils.d.ts.map +1 -0
- package/dist/Live3/MediaCapabilitiesUtils.js +61 -0
- package/dist/Live3/MediaCapabilitiesUtils.js.map +1 -0
- package/dist/Live3/MediaTracer.d.ts +4 -0
- package/dist/Live3/MediaTracer.d.ts.map +1 -0
- package/dist/Live3/MediaTracer.js +6 -0
- package/dist/Live3/MediaTracer.js.map +1 -0
- package/dist/Live3/MultiPartyService.d.ts +47 -0
- package/dist/Live3/MultiPartyService.d.ts.map +1 -0
- package/dist/Live3/MultiPartyService.js +7 -0
- package/dist/Live3/MultiPartyService.js.map +1 -0
- package/dist/Live3/MultiPartyServiceFactory.d.ts +4 -0
- package/dist/Live3/MultiPartyServiceFactory.d.ts.map +1 -0
- package/dist/Live3/MultiPartyServiceFactory.js +9 -0
- package/dist/Live3/MultiPartyServiceFactory.js.map +1 -0
- package/dist/Live3/MultipartyServiceEventTypes.d.ts +101 -0
- package/dist/Live3/MultipartyServiceEventTypes.d.ts.map +1 -0
- package/dist/Live3/MultipartyServiceEventTypes.js +16 -0
- package/dist/Live3/MultipartyServiceEventTypes.js.map +1 -0
- package/dist/Live3/index.d.ts +7 -0
- package/dist/Live3/index.d.ts.map +1 -0
- package/dist/Live3/index.js +7 -0
- package/dist/Live3/index.js.map +1 -0
- package/dist/Live3/opentok/OpentokMultiPartyService.d.ts +43 -0
- package/dist/Live3/opentok/OpentokMultiPartyService.d.ts.map +1 -0
- package/dist/Live3/opentok/OpentokMultiPartyService.js +345 -0
- package/dist/Live3/opentok/OpentokMultiPartyService.js.map +1 -0
- package/dist/Live3/opentok/OpentokPublisher.d.ts +38 -0
- package/dist/Live3/opentok/OpentokPublisher.d.ts.map +1 -0
- package/dist/Live3/opentok/OpentokPublisher.js +143 -0
- package/dist/Live3/opentok/OpentokPublisher.js.map +1 -0
- package/dist/Live3/opentok/OpentokPublisherEventMapper.d.ts +19 -0
- package/dist/Live3/opentok/OpentokPublisherEventMapper.d.ts.map +1 -0
- package/dist/Live3/opentok/OpentokPublisherEventMapper.js +42 -0
- package/dist/Live3/opentok/OpentokPublisherEventMapper.js.map +1 -0
- package/dist/Live3/opentok/OpentokSubscriber.d.ts +5 -0
- package/dist/Live3/opentok/OpentokSubscriber.d.ts.map +1 -0
- package/dist/Live3/opentok/OpentokSubscriber.js +27 -0
- package/dist/Live3/opentok/OpentokSubscriber.js.map +1 -0
- package/dist/Live3/opentok/trace.d.ts +3 -0
- package/dist/Live3/opentok/trace.d.ts.map +1 -0
- package/dist/Live3/opentok/trace.js +15 -0
- package/dist/Live3/opentok/trace.js.map +1 -0
- package/dist/Live3/types.d.ts +54 -0
- package/dist/Live3/types.d.ts.map +1 -0
- package/dist/Live3/types.js +29 -0
- package/dist/Live3/types.js.map +1 -0
- package/dist/Live3/utils.d.ts +5 -0
- package/dist/Live3/utils.d.ts.map +1 -0
- package/dist/Live3/utils.js +11 -0
- package/dist/Live3/utils.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Nullable } from '@techsee/techsee-common';
|
|
2
|
+
import { IMediaEnvironment, LocalMediaConstraints, LocalVideoStreamConstraints, MediaRequestSuccessResult } from './MediaContracts';
|
|
3
|
+
declare global {
|
|
4
|
+
interface Window {
|
|
5
|
+
latestUserMediaStream: Nullable<MediaRequestSuccessResult>;
|
|
6
|
+
latestDesktopMediaStream: Nullable<MediaRequestSuccessResult>;
|
|
7
|
+
latestLocalMediaConstraints: Nullable<LocalMediaConstraints>;
|
|
8
|
+
mediaStreamAlreadyReplaced: boolean;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
interface IGroupedDevices {
|
|
12
|
+
video: Nullable<{
|
|
13
|
+
back?: MediaDeviceInfo;
|
|
14
|
+
front?: MediaDeviceInfo;
|
|
15
|
+
}>;
|
|
16
|
+
audio: Nullable<MediaDeviceInfo>;
|
|
17
|
+
camerasCount: number;
|
|
18
|
+
}
|
|
19
|
+
export declare class LocalStreamManager {
|
|
20
|
+
private environment;
|
|
21
|
+
private _groupedDevices;
|
|
22
|
+
constructor(environment: IMediaEnvironment);
|
|
23
|
+
get groupedDevices(): IGroupedDevices;
|
|
24
|
+
getUserMediaStream(constraints: LocalMediaConstraints): Promise<MediaRequestSuccessResult>;
|
|
25
|
+
getDesktopMediaStream(constraints: LocalVideoStreamConstraints): Promise<MediaRequestSuccessResult>;
|
|
26
|
+
destroyUserMediaStream(): Promise<void>;
|
|
27
|
+
destroyDesktopMediaStream(): Promise<void>;
|
|
28
|
+
clearAllStreams(): Promise<void>;
|
|
29
|
+
private getHighestResolutionStream;
|
|
30
|
+
private getUserMediaStreamMediaDevice;
|
|
31
|
+
private getStreamPromiseByParsedConstraints;
|
|
32
|
+
setGroupedDevices(groupedDevices: {
|
|
33
|
+
video: MediaDeviceInfo[];
|
|
34
|
+
audio: MediaDeviceInfo[];
|
|
35
|
+
}): void;
|
|
36
|
+
private getParsedConstraints;
|
|
37
|
+
private parseMediaErrorThenThrow;
|
|
38
|
+
}
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=LocalStreamManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalStreamManager.d.ts","sourceRoot":"","sources":["../../../src/Live2/src/LocalStreamManager.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EACH,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAE3B,yBAAyB,EAE5B,MAAM,kBAAkB,CAAC;AAY1B,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,qBAAqB,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QAC3D,wBAAwB,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QAC9D,2BAA2B,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAC7D,0BAA0B,EAAE,OAAO,CAAC;KACvC;CACJ;AAeD,UAAU,eAAe;IACrB,KAAK,EAAE,QAAQ,CAAC;QAAC,IAAI,CAAC,EAAE,eAAe,CAAC;QAAC,KAAK,CAAC,EAAE,eAAe,CAAA;KAAC,CAAC,CAAC;IACnE,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,WAAW,CAAoB;IAEvC,OAAO,CAAC,eAAe,CAAgE;gBAE3E,WAAW,EAAE,iBAAiB;IAO1C,IAAI,cAAc,oBAEjB;IAED,kBAAkB,CAAC,WAAW,EAAE,qBAAqB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA4C1F,qBAAqB,CAAC,WAAW,EAAE,2BAA2B,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA4CnG,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBvC,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB1C,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAMhC,OAAO,CAAC,0BAA0B;IAkElC,OAAO,CAAC,6BAA6B;IAoBrC,OAAO,CAAC,mCAAmC;IA0E3C,iBAAiB,CAAC,cAAc,EAAE;QAAC,KAAK,EAAE,eAAe,EAAE,CAAC;QAAC,KAAK,EAAE,eAAe,EAAE,CAAA;KAAC;IAWtF,OAAO,CAAC,oBAAoB;IA6E5B,OAAO,CAAC,wBAAwB;CA+BnC"}
|
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
// eslint-disable-next-line eslint-comments/disable-enable-pair
|
|
2
|
+
/*eslint-disable operator-linebreak */
|
|
3
|
+
import assign from 'lodash/assign';
|
|
4
|
+
import get from 'lodash/get';
|
|
5
|
+
import last from 'lodash/last';
|
|
6
|
+
import first from 'lodash/first';
|
|
7
|
+
import cloneDeep from 'lodash/cloneDeep';
|
|
8
|
+
import { Promise } from 'bluebird';
|
|
9
|
+
import { CameraTypes, ConstraintType, DEFAULT_VIDEO_CONSTRAINT_TYPE, DEFAULT_VIDEO_RESOLUTION, LocalVideoSourceType, MediaRequestErrorCode } from './MediaConstants';
|
|
10
|
+
import { getMediaTracer } from './MediaUtils/MediaTracer';
|
|
11
|
+
window.latestUserMediaStream = null;
|
|
12
|
+
let userMediaPromise = null;
|
|
13
|
+
window.latestDesktopMediaStream = null;
|
|
14
|
+
let desktopMediaPromise = null;
|
|
15
|
+
window.mediaStreamAlreadyReplaced = false;
|
|
16
|
+
window.latestLocalMediaConstraints = null;
|
|
17
|
+
const trace = getMediaTracer('LocalStreamManager');
|
|
18
|
+
export class LocalStreamManager {
|
|
19
|
+
environment;
|
|
20
|
+
_groupedDevices = { video: null, audio: null, camerasCount: 0 };
|
|
21
|
+
constructor(environment) {
|
|
22
|
+
this.environment = environment;
|
|
23
|
+
this.parseMediaErrorThenThrow = this.parseMediaErrorThenThrow.bind(this);
|
|
24
|
+
this.clearAllStreams = this.clearAllStreams.bind(this);
|
|
25
|
+
}
|
|
26
|
+
get groupedDevices() {
|
|
27
|
+
return this._groupedDevices;
|
|
28
|
+
}
|
|
29
|
+
getUserMediaStream(constraints) {
|
|
30
|
+
trace.info('getUserMediaStream', constraints);
|
|
31
|
+
if (userMediaPromise) {
|
|
32
|
+
return userMediaPromise;
|
|
33
|
+
}
|
|
34
|
+
if (window.latestUserMediaStream) {
|
|
35
|
+
const videoTrack = window.latestUserMediaStream.mediaStream.getVideoTracks();
|
|
36
|
+
if (videoTrack.length > 0 && videoTrack[0].readyState === 'live') {
|
|
37
|
+
return Promise.resolve({ ...window.latestUserMediaStream, isNew: false });
|
|
38
|
+
}
|
|
39
|
+
this.destroyUserMediaStream();
|
|
40
|
+
}
|
|
41
|
+
userMediaPromise = new Promise((resolve, reject) => {
|
|
42
|
+
const catchHandler = (err) => {
|
|
43
|
+
userMediaPromise = null;
|
|
44
|
+
window.latestUserMediaStream = null;
|
|
45
|
+
trace.error('getUserMedia error', err);
|
|
46
|
+
reject(err);
|
|
47
|
+
};
|
|
48
|
+
try {
|
|
49
|
+
this.getHighestResolutionStream(false, constraints)
|
|
50
|
+
.then((streamResult) => {
|
|
51
|
+
userMediaPromise = null;
|
|
52
|
+
window.latestUserMediaStream = streamResult;
|
|
53
|
+
window.latestLocalMediaConstraints = cloneDeep(constraints);
|
|
54
|
+
window.latestLocalMediaConstraints.audio = (streamResult.constraint &&
|
|
55
|
+
streamResult.constraint.audio);
|
|
56
|
+
resolve({ ...window.latestUserMediaStream, isNew: true });
|
|
57
|
+
})
|
|
58
|
+
.catch(catchHandler);
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
catchHandler(err);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
return userMediaPromise;
|
|
65
|
+
}
|
|
66
|
+
getDesktopMediaStream(constraints) {
|
|
67
|
+
if (desktopMediaPromise) {
|
|
68
|
+
return desktopMediaPromise;
|
|
69
|
+
}
|
|
70
|
+
trace.info('getDesktopMediaStream', constraints);
|
|
71
|
+
if (window.latestDesktopMediaStream) {
|
|
72
|
+
const track = window.latestDesktopMediaStream.mediaStream.getVideoTracks();
|
|
73
|
+
if (track.length > 0 && track[0].readyState === 'live') {
|
|
74
|
+
//return Promise.resolve();
|
|
75
|
+
return Promise.resolve({ ...window.latestDesktopMediaStream, isNew: false });
|
|
76
|
+
}
|
|
77
|
+
this.destroyDesktopMediaStream().catch((error) => {
|
|
78
|
+
trace.error('Error destroying desktop media stream', error);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
desktopMediaPromise = new Promise((resolve, reject) => {
|
|
82
|
+
const mediaCatchHandler = (err) => {
|
|
83
|
+
desktopMediaPromise = null;
|
|
84
|
+
window.latestDesktopMediaStream = null;
|
|
85
|
+
trace.error('getDisplayMedia error', err);
|
|
86
|
+
reject(err);
|
|
87
|
+
};
|
|
88
|
+
try {
|
|
89
|
+
this.getHighestResolutionStream(true, { video: constraints, audio: false })
|
|
90
|
+
.then((streamResult) => {
|
|
91
|
+
desktopMediaPromise = null;
|
|
92
|
+
window.latestDesktopMediaStream = streamResult;
|
|
93
|
+
resolve({ ...window.latestDesktopMediaStream, isNew: true });
|
|
94
|
+
})
|
|
95
|
+
.catch(mediaCatchHandler);
|
|
96
|
+
}
|
|
97
|
+
catch (err) {
|
|
98
|
+
mediaCatchHandler(err);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
return desktopMediaPromise;
|
|
102
|
+
}
|
|
103
|
+
destroyUserMediaStream() {
|
|
104
|
+
const streamResult = window.latestUserMediaStream;
|
|
105
|
+
userMediaPromise = null;
|
|
106
|
+
window.latestUserMediaStream = null;
|
|
107
|
+
window.latestLocalMediaConstraints = null;
|
|
108
|
+
window.mediaStreamAlreadyReplaced = false;
|
|
109
|
+
if (streamResult && streamResult.mediaStream) {
|
|
110
|
+
try {
|
|
111
|
+
streamResult.mediaStream.getTracks().forEach((track) => {
|
|
112
|
+
track.stop();
|
|
113
|
+
});
|
|
114
|
+
trace.info('destroyUserMediaStream - stop all tracks');
|
|
115
|
+
}
|
|
116
|
+
catch (e) {
|
|
117
|
+
trace.info('destroyUserMediaStream - Failed to stop all tracks', e);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return Promise.resolve();
|
|
121
|
+
}
|
|
122
|
+
destroyDesktopMediaStream() {
|
|
123
|
+
const streamResult = window.latestDesktopMediaStream;
|
|
124
|
+
window.latestDesktopMediaStream = null;
|
|
125
|
+
desktopMediaPromise = null;
|
|
126
|
+
if (streamResult && streamResult.mediaStream) {
|
|
127
|
+
try {
|
|
128
|
+
streamResult.mediaStream.getTracks().forEach((track) => {
|
|
129
|
+
track.stop();
|
|
130
|
+
});
|
|
131
|
+
trace.info('destroyDesktopMediaStream - stop all tracks');
|
|
132
|
+
}
|
|
133
|
+
catch (e) {
|
|
134
|
+
trace.info('destroyDesktopMediaStream - Failed to stop all tracks', e);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return Promise.resolve();
|
|
138
|
+
}
|
|
139
|
+
clearAllStreams() {
|
|
140
|
+
trace.info('LocalStreamManager Clearing all streams');
|
|
141
|
+
return Promise.all([this.destroyDesktopMediaStream(), this.destroyUserMediaStream()]).then(() => undefined);
|
|
142
|
+
}
|
|
143
|
+
getHighestResolutionStream(isDesktopMedia, constraints) {
|
|
144
|
+
const constraintsCandidates = this.getParsedConstraints(isDesktopMedia, constraints);
|
|
145
|
+
trace.info('getHighestResolutionStream - constraintsCandidates:', constraintsCandidates);
|
|
146
|
+
if (constraintsCandidates.length === 0) {
|
|
147
|
+
return Promise.reject(new Error('No constraints to retrieve the stream'));
|
|
148
|
+
}
|
|
149
|
+
return new Promise((resolve, reject) => {
|
|
150
|
+
let lastSuccessfulResult = null;
|
|
151
|
+
let lastFailedResult = null;
|
|
152
|
+
let isStreamRequestFulfilled = false;
|
|
153
|
+
Promise
|
|
154
|
+
.reduce(constraintsCandidates, (total, candidate) => {
|
|
155
|
+
if (isStreamRequestFulfilled) {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
const constraintType = get(constraints, 'video.videoResolution.constraintType') ||
|
|
159
|
+
get(constraints, 'video.videoResolution[0].constraintType');
|
|
160
|
+
return this.getStreamPromiseByParsedConstraints(candidate, isDesktopMedia)
|
|
161
|
+
.then((stream) => {
|
|
162
|
+
lastSuccessfulResult = {
|
|
163
|
+
mediaStream: stream,
|
|
164
|
+
constraint: candidate,
|
|
165
|
+
constraintType,
|
|
166
|
+
isNew: true
|
|
167
|
+
};
|
|
168
|
+
trace.info('getHighestResolutionStream Success', lastSuccessfulResult);
|
|
169
|
+
isStreamRequestFulfilled = true;
|
|
170
|
+
resolve(lastSuccessfulResult);
|
|
171
|
+
})
|
|
172
|
+
.catch((failResult) => {
|
|
173
|
+
lastFailedResult = failResult;
|
|
174
|
+
if (lastFailedResult.errorCode === MediaRequestErrorCode.PermissionDenied) {
|
|
175
|
+
isStreamRequestFulfilled = true;
|
|
176
|
+
reject(lastFailedResult);
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
}, 0)
|
|
180
|
+
.then(() => {
|
|
181
|
+
if (!isStreamRequestFulfilled) {
|
|
182
|
+
if (!lastFailedResult) {
|
|
183
|
+
lastFailedResult = {
|
|
184
|
+
errorCode: MediaRequestErrorCode.GeneralError,
|
|
185
|
+
message: 'Suitable stream cannot be created'
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
reject(lastFailedResult);
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
getUserMediaStreamMediaDevice(constraints, isDesktopMedia) {
|
|
194
|
+
let streamPromise = null;
|
|
195
|
+
if (!isDesktopMedia) {
|
|
196
|
+
streamPromise = navigator.mediaDevices.getUserMedia(constraints);
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
200
|
+
//@ts-ignore
|
|
201
|
+
streamPromise = navigator.mediaDevices.getDisplayMedia
|
|
202
|
+
? // eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
203
|
+
//@ts-ignore
|
|
204
|
+
navigator.mediaDevices.getDisplayMedia(constraints)
|
|
205
|
+
: // eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
206
|
+
//@ts-ignore
|
|
207
|
+
navigator.getDisplayMedia(constraints);
|
|
208
|
+
}
|
|
209
|
+
return streamPromise;
|
|
210
|
+
}
|
|
211
|
+
getStreamPromiseByParsedConstraints(constraints, isDesktopMedia) {
|
|
212
|
+
trace.info('getStreamPromiseByParsedConstraints', constraints);
|
|
213
|
+
try {
|
|
214
|
+
return this.getUserMediaStreamMediaDevice(constraints, isDesktopMedia).catch((err) => {
|
|
215
|
+
let streamPromise = null;
|
|
216
|
+
trace.info('getStreamPromiseByParsedConstraints - get user stream error', err.name);
|
|
217
|
+
// Android (Galaxy esp.) have a bug that when using facingMode it might cause NotReadableError. So
|
|
218
|
+
// we should try again but without facingMode. The exception to the rule is when we don't have specific
|
|
219
|
+
// device to use (like in IOS13 bug, as can be seen in MediaServiceBase.ts), in that case, we might end
|
|
220
|
+
// up using the front camera, which is a privacy concern and the preference is to fallback from video
|
|
221
|
+
if (err &&
|
|
222
|
+
err.name === 'NotReadableError' &&
|
|
223
|
+
get(constraints, 'video.facingMode') &&
|
|
224
|
+
get(constraints, 'video.deviceId')) {
|
|
225
|
+
const newConstraints = constraints;
|
|
226
|
+
trace.info(`getStreamPromiseByParsedConstraints - NotReadableError - Failed to get video user media stream with facingMode=${get(constraints, 'video.facingMode')}`, err.name);
|
|
227
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
228
|
+
// @ts-ignore
|
|
229
|
+
delete newConstraints.video.facingMode;
|
|
230
|
+
newConstraints.video.deviceId = {
|
|
231
|
+
exact: constraints.video.deviceId
|
|
232
|
+
};
|
|
233
|
+
streamPromise = this.getStreamPromiseByParsedConstraints(newConstraints, isDesktopMedia);
|
|
234
|
+
}
|
|
235
|
+
else if (err && err.name && constraints.audio && !constraints.video) {
|
|
236
|
+
trace.info('getStreamPromiseByParsedConstraints - audioStreamFailed - Failed to get audio user media stream', err.name);
|
|
237
|
+
return this.parseMediaErrorThenThrow({ name: 'audioStreamFailed' });
|
|
238
|
+
}
|
|
239
|
+
else if (err && err.name && constraints.audio) {
|
|
240
|
+
const newConstraints = constraints;
|
|
241
|
+
trace.info('getStreamPromiseByParsedConstraints - Failed to get video and audio user media stream, try to get video media stream only', err.name);
|
|
242
|
+
newConstraints.audio = false;
|
|
243
|
+
streamPromise = this.getStreamPromiseByParsedConstraints(newConstraints, isDesktopMedia);
|
|
244
|
+
}
|
|
245
|
+
else if (err && !streamPromise) {
|
|
246
|
+
trace.info('getStreamPromiseByParsedConstraints - Failed to get video user media stream', err && err.name);
|
|
247
|
+
streamPromise = Promise.reject(err);
|
|
248
|
+
}
|
|
249
|
+
return streamPromise && streamPromise.catch(this.parseMediaErrorThenThrow);
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
catch (e) {
|
|
253
|
+
// @ts-ignore
|
|
254
|
+
return this.parseMediaErrorThenThrow(e);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
setGroupedDevices(groupedDevices) {
|
|
258
|
+
trace.info('setGroupedDevices', groupedDevices);
|
|
259
|
+
this._groupedDevices = {
|
|
260
|
+
video: groupedDevices.video
|
|
261
|
+
? { [CameraTypes.BACK]: last(groupedDevices.video), [CameraTypes.FRONT]: first(groupedDevices.video) }
|
|
262
|
+
: null,
|
|
263
|
+
audio: last(groupedDevices.audio) || null,
|
|
264
|
+
camerasCount: groupedDevices.video.length
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
getParsedConstraints(isDesktopMedia, streamConstraints) {
|
|
268
|
+
const constraintCandidates = [];
|
|
269
|
+
//TODO - Alex: need to understand which constraints not compatible with screen share
|
|
270
|
+
if (isDesktopMedia) {
|
|
271
|
+
return [{ video: true }];
|
|
272
|
+
}
|
|
273
|
+
if (!streamConstraints) {
|
|
274
|
+
return constraintCandidates;
|
|
275
|
+
}
|
|
276
|
+
const baseConstraints = {};
|
|
277
|
+
baseConstraints.audio = typeof streamConstraints.audio === 'boolean' ? streamConstraints.audio : undefined;
|
|
278
|
+
if (!streamConstraints.video) {
|
|
279
|
+
return [baseConstraints];
|
|
280
|
+
}
|
|
281
|
+
const cameraType = streamConstraints.video !== 'boolean' &&
|
|
282
|
+
streamConstraints.video.videoSourceType;
|
|
283
|
+
baseConstraints.video = {
|
|
284
|
+
facingMode: cameraType && cameraType === LocalVideoSourceType.CAMERA_FRONT ? 'user' : 'environment',
|
|
285
|
+
frameRate: { ideal: 15, max: 30 }
|
|
286
|
+
};
|
|
287
|
+
const deviceId = get(this._groupedDevices, `video.${cameraType === LocalVideoSourceType.CAMERA_FRONT ? CameraTypes.FRONT : CameraTypes.BACK}.deviceId`);
|
|
288
|
+
if (deviceId) {
|
|
289
|
+
baseConstraints.video.deviceId = deviceId;
|
|
290
|
+
if (this._groupedDevices.camerasCount > 1) {
|
|
291
|
+
baseConstraints.video.facingMode = {
|
|
292
|
+
exact: baseConstraints.video.facingMode
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
const assignConstraint = (videoResolution) => {
|
|
297
|
+
const [width, height] = videoResolution.resolution.split('x');
|
|
298
|
+
const constraintCandidate = assign({}, baseConstraints);
|
|
299
|
+
constraintCandidate.video = assign({}, baseConstraints.video, {
|
|
300
|
+
width: _constraintByType(width, videoResolution.constraintType),
|
|
301
|
+
height: _constraintByType(height, videoResolution.constraintType)
|
|
302
|
+
});
|
|
303
|
+
constraintCandidates.push(constraintCandidate);
|
|
304
|
+
};
|
|
305
|
+
if ((baseConstraints.video && typeof streamConstraints.video === 'boolean') ||
|
|
306
|
+
!(streamConstraints.video.videoResolution instanceof Array)) {
|
|
307
|
+
const defaultResolution = {
|
|
308
|
+
resolution: DEFAULT_VIDEO_RESOLUTION,
|
|
309
|
+
constraintType: DEFAULT_VIDEO_CONSTRAINT_TYPE
|
|
310
|
+
};
|
|
311
|
+
assignConstraint(defaultResolution);
|
|
312
|
+
return constraintCandidates;
|
|
313
|
+
}
|
|
314
|
+
streamConstraints.video.videoResolution.forEach(assignConstraint);
|
|
315
|
+
return constraintCandidates;
|
|
316
|
+
}
|
|
317
|
+
parseMediaErrorThenThrow(error) {
|
|
318
|
+
if (error && error.errorCode) {
|
|
319
|
+
throw error;
|
|
320
|
+
}
|
|
321
|
+
trace.error('Get media stream error.', error);
|
|
322
|
+
const errorName = error && error.name ? error.name : '';
|
|
323
|
+
const permissionErrorNames = ['NotAllowedError', 'PermissionDismissedError', 'PermissionDeniedError'];
|
|
324
|
+
// const generalError = [
|
|
325
|
+
// 'NotFoundError',
|
|
326
|
+
// 'DevicesNotFoundError',
|
|
327
|
+
// 'NotReadableError',
|
|
328
|
+
// 'TrackStartError'
|
|
329
|
+
// ];
|
|
330
|
+
const constraintsErrors = ['OverconstrainedError', 'ConstraintNotSatisfiedError'];
|
|
331
|
+
const isErrorOfType = (errorsArr) => errorsArr.filter((err) => err === errorName).length > 0;
|
|
332
|
+
if (isErrorOfType(permissionErrorNames)) {
|
|
333
|
+
throw { errorCode: MediaRequestErrorCode.PermissionDenied, message: errorName };
|
|
334
|
+
}
|
|
335
|
+
if (isErrorOfType(constraintsErrors)) {
|
|
336
|
+
throw { errorCode: MediaRequestErrorCode.Overconstrained, message: errorName };
|
|
337
|
+
}
|
|
338
|
+
throw { errorCode: MediaRequestErrorCode.GeneralError, message: errorName };
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
function _constraintByType(value, type) {
|
|
342
|
+
switch (type) {
|
|
343
|
+
case ConstraintType.MIN:
|
|
344
|
+
return { min: value };
|
|
345
|
+
default:
|
|
346
|
+
return { ideal: value };
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
//# sourceMappingURL=LocalStreamManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalStreamManager.js","sourceRoot":"","sources":["../../../src/Live2/src/LocalStreamManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { VideoStreamResolution } from './MediaContracts';
|
|
2
|
+
import { CameraTypes } from '@techsee/techsee-common/lib/constants/media.constants';
|
|
3
|
+
export declare enum LocalVideoSourceType {
|
|
4
|
+
CAMERA = "CAMERA",
|
|
5
|
+
CAMERA_FRONT = "CAMERA_FRONT",
|
|
6
|
+
DESKTOP_SHARE = "DESKTOP_SHARE"
|
|
7
|
+
}
|
|
8
|
+
export declare enum ConstraintType {
|
|
9
|
+
MIN = "min",
|
|
10
|
+
IDEAL = "ideal"
|
|
11
|
+
}
|
|
12
|
+
export declare enum VideoTypesEnum {
|
|
13
|
+
CAMERA = "camera",
|
|
14
|
+
SCREEN = "screen",
|
|
15
|
+
NOTHING = ""
|
|
16
|
+
}
|
|
17
|
+
export declare enum MultiPartyCameraTypes {
|
|
18
|
+
FRONT = "front",
|
|
19
|
+
BACK = "back"
|
|
20
|
+
}
|
|
21
|
+
export declare enum MediaServiceType {
|
|
22
|
+
OPENTOK = "OPENTOK",
|
|
23
|
+
TURNSERVER = "TURN_SERVER",
|
|
24
|
+
MEDIASERVER = "MEDIA_SERVER"
|
|
25
|
+
}
|
|
26
|
+
export declare enum SessionClientRole {
|
|
27
|
+
AGENT = "AGENT",
|
|
28
|
+
OBSERVER = "OBSERVER",
|
|
29
|
+
USER = "USER"
|
|
30
|
+
}
|
|
31
|
+
export declare enum SessionClientType {
|
|
32
|
+
INITIATOR = "publisher",
|
|
33
|
+
GUEST = "subscriber"
|
|
34
|
+
}
|
|
35
|
+
export declare enum MediaRequestErrorCode {
|
|
36
|
+
Overconstrained = "Overconstrained",
|
|
37
|
+
PermissionDenied = "PermissionDenied",
|
|
38
|
+
GeneralError = "GeneralError"
|
|
39
|
+
}
|
|
40
|
+
export declare enum KnownMediaStreamKind {
|
|
41
|
+
Audio = "audio",
|
|
42
|
+
Video = "video"
|
|
43
|
+
}
|
|
44
|
+
export declare enum KnownMediaStream {
|
|
45
|
+
AGENT_AUDIO_STREAM = "DASHBOARD_AUDIO_STREAM",
|
|
46
|
+
OBSERVER_AUDIO_STREAM = "OBSERVER_AUDIO_STREAM",
|
|
47
|
+
USER_AUDIO_STREAM = "MOBILE_CLIENT_AUDIO_STREAM",
|
|
48
|
+
USER_VIDEO_STREAM = "MOBILE_CLIENT_VIDEO_STREAM",
|
|
49
|
+
USER_SCREEN_SHARE_STREAM = "USER_SCREEN_SHARE_STREAM"
|
|
50
|
+
}
|
|
51
|
+
export declare enum MediaSessionDisconnectReason {
|
|
52
|
+
PeerDisconnected = "PeerDisconnected",
|
|
53
|
+
PeerConnectionInterrupted = "PeerConnectionInterrupted",
|
|
54
|
+
PeerConnectionStateChangeTimeout = "PeerConnectionStateChangeTimeout",
|
|
55
|
+
InitiatorPeerReconnected = "InitiatorPeerReconnected",
|
|
56
|
+
PublishedStreamDestroyed = "PublishedStreamDestroyed",
|
|
57
|
+
ForcedByConsumer = "ForcedByConsumer",
|
|
58
|
+
SignalingChannelDisconnect = "SignalingChannelDisconnect"
|
|
59
|
+
}
|
|
60
|
+
export declare enum MediaStreamUnregisterReason {
|
|
61
|
+
NativeEvent = "NativeEvent",
|
|
62
|
+
ReplacingStream = "ReplacingStream",
|
|
63
|
+
ClosedRemotely = "ClosedRemotely",
|
|
64
|
+
ServiceCleanUp = "ServiceCleanUp"
|
|
65
|
+
}
|
|
66
|
+
export declare enum VideoResolutionMultiplication {
|
|
67
|
+
HD = 829440,
|
|
68
|
+
SD = 230400
|
|
69
|
+
}
|
|
70
|
+
export declare enum VideoResolutionFormat {
|
|
71
|
+
HD = "HD",
|
|
72
|
+
SD = "SD",
|
|
73
|
+
NONE = "none"
|
|
74
|
+
}
|
|
75
|
+
export declare const DEFAULT_VIDEO_RESOLUTION = "640x480";
|
|
76
|
+
export declare const DEFAULT_VIDEO_CONSTRAINT_TYPE = ConstraintType.IDEAL;
|
|
77
|
+
export declare const DEFAULT_PEER_CONNECTIVITY_TIMEOUT_SECONDS = 10;
|
|
78
|
+
export declare const DEFAULT_VIDEO_WAIT_TIMEOUT_SECONDS = 30;
|
|
79
|
+
export declare const DEFAULT_VIDEO_CONSTRAINTS: VideoStreamResolution;
|
|
80
|
+
export declare const POSSIBLE_LOOPBACK_RESOLUTIONS: VideoStreamResolution[];
|
|
81
|
+
export declare const HD_RESOLUTION = "1280x720";
|
|
82
|
+
export { CameraTypes };
|
|
83
|
+
//# sourceMappingURL=MediaConstants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaConstants.d.ts","sourceRoot":"","sources":["../../../src/Live2/src/MediaConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAC,WAAW,EAAC,MAAM,uDAAuD,CAAC;AAElF,oBAAY,oBAAoB;IAC5B,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;CAClC;AAED,oBAAY,cAAc;IACtB,GAAG,QAAQ;IACX,KAAK,UAAU;CAClB;AAED,oBAAY,cAAc;IACtB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,KAAK;CACf;AAED,oBAAY,qBAAqB;IAC7B,KAAK,UAAoB;IACzB,IAAI,SAAmB;CAC1B;AAED,oBAAY,gBAAgB;IACxB,OAAO,YAAY;IACnB,UAAU,gBAAgB;IAC1B,WAAW,iBAAiB;CAC/B;AAED,oBAAY,iBAAiB;IACzB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,IAAI,SAAS;CAChB;AAED,oBAAY,iBAAiB;IACzB,SAAS,cAAc;IACvB,KAAK,eAAe;CACvB;AAED,oBAAY,qBAAqB;IAC7B,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;CAChC;AAED,oBAAY,oBAAoB;IAC5B,KAAK,UAAU;IACf,KAAK,UAAU;CAClB;AAED,oBAAY,gBAAgB;IACxB,kBAAkB,2BAA2B;IAC7C,qBAAqB,0BAA0B;IAC/C,iBAAiB,+BAA+B;IAChD,iBAAiB,+BAA+B;IAChD,wBAAwB,6BAA6B;CACxD;AAED,oBAAY,4BAA4B;IAEpC,gBAAgB,qBAAqB;IACrC,yBAAyB,8BAA8B;IACvD,gCAAgC,qCAAqC;IACrE,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IACrD,gBAAgB,qBAAqB;IACrC,0BAA0B,+BAA+B;CAC5D;AAED,oBAAY,2BAA2B;IACnC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;CACpC;AAED,oBAAY,6BAA6B;IACrC,EAAE,SAAS;IACX,EAAE,SAAS;CACd;AAED,oBAAY,qBAAqB;IAC7B,EAAE,OAAO;IACT,EAAE,OAAO;IACT,IAAI,SAAS;CAChB;AAED,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAClD,eAAO,MAAM,6BAA6B,uBAAuB,CAAC;AAClE,eAAO,MAAM,yCAAyC,KAAK,CAAC;AAC5D,eAAO,MAAM,kCAAkC,KAAK,CAAC;AAErD,eAAO,MAAM,yBAAyB,EAAE,qBAGvC,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,qBAAqB,EAIhE,CAAC;AAEF,eAAO,MAAM,aAAa,aAAa,CAAC;AAExC,OAAO,EAAC,WAAW,EAAC,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { CameraTypes } from '@techsee/techsee-common/lib/constants/media.constants';
|
|
2
|
+
export var LocalVideoSourceType;
|
|
3
|
+
(function (LocalVideoSourceType) {
|
|
4
|
+
LocalVideoSourceType["CAMERA"] = "CAMERA";
|
|
5
|
+
LocalVideoSourceType["CAMERA_FRONT"] = "CAMERA_FRONT";
|
|
6
|
+
LocalVideoSourceType["DESKTOP_SHARE"] = "DESKTOP_SHARE";
|
|
7
|
+
})(LocalVideoSourceType || (LocalVideoSourceType = {}));
|
|
8
|
+
export var ConstraintType;
|
|
9
|
+
(function (ConstraintType) {
|
|
10
|
+
ConstraintType["MIN"] = "min";
|
|
11
|
+
ConstraintType["IDEAL"] = "ideal";
|
|
12
|
+
})(ConstraintType || (ConstraintType = {}));
|
|
13
|
+
export var VideoTypesEnum;
|
|
14
|
+
(function (VideoTypesEnum) {
|
|
15
|
+
VideoTypesEnum["CAMERA"] = "camera";
|
|
16
|
+
VideoTypesEnum["SCREEN"] = "screen";
|
|
17
|
+
VideoTypesEnum["NOTHING"] = "";
|
|
18
|
+
})(VideoTypesEnum || (VideoTypesEnum = {}));
|
|
19
|
+
export var MultiPartyCameraTypes;
|
|
20
|
+
(function (MultiPartyCameraTypes) {
|
|
21
|
+
MultiPartyCameraTypes["FRONT"] = "front";
|
|
22
|
+
MultiPartyCameraTypes["BACK"] = "back";
|
|
23
|
+
})(MultiPartyCameraTypes || (MultiPartyCameraTypes = {}));
|
|
24
|
+
export var MediaServiceType;
|
|
25
|
+
(function (MediaServiceType) {
|
|
26
|
+
MediaServiceType["OPENTOK"] = "OPENTOK";
|
|
27
|
+
MediaServiceType["TURNSERVER"] = "TURN_SERVER";
|
|
28
|
+
MediaServiceType["MEDIASERVER"] = "MEDIA_SERVER";
|
|
29
|
+
})(MediaServiceType || (MediaServiceType = {}));
|
|
30
|
+
export var SessionClientRole;
|
|
31
|
+
(function (SessionClientRole) {
|
|
32
|
+
SessionClientRole["AGENT"] = "AGENT";
|
|
33
|
+
SessionClientRole["OBSERVER"] = "OBSERVER";
|
|
34
|
+
SessionClientRole["USER"] = "USER";
|
|
35
|
+
})(SessionClientRole || (SessionClientRole = {}));
|
|
36
|
+
export var SessionClientType;
|
|
37
|
+
(function (SessionClientType) {
|
|
38
|
+
SessionClientType["INITIATOR"] = "publisher";
|
|
39
|
+
SessionClientType["GUEST"] = "subscriber";
|
|
40
|
+
})(SessionClientType || (SessionClientType = {}));
|
|
41
|
+
export var MediaRequestErrorCode;
|
|
42
|
+
(function (MediaRequestErrorCode) {
|
|
43
|
+
MediaRequestErrorCode["Overconstrained"] = "Overconstrained";
|
|
44
|
+
MediaRequestErrorCode["PermissionDenied"] = "PermissionDenied";
|
|
45
|
+
MediaRequestErrorCode["GeneralError"] = "GeneralError";
|
|
46
|
+
})(MediaRequestErrorCode || (MediaRequestErrorCode = {}));
|
|
47
|
+
export var KnownMediaStreamKind;
|
|
48
|
+
(function (KnownMediaStreamKind) {
|
|
49
|
+
KnownMediaStreamKind["Audio"] = "audio";
|
|
50
|
+
KnownMediaStreamKind["Video"] = "video";
|
|
51
|
+
})(KnownMediaStreamKind || (KnownMediaStreamKind = {}));
|
|
52
|
+
export var KnownMediaStream;
|
|
53
|
+
(function (KnownMediaStream) {
|
|
54
|
+
KnownMediaStream["AGENT_AUDIO_STREAM"] = "DASHBOARD_AUDIO_STREAM";
|
|
55
|
+
KnownMediaStream["OBSERVER_AUDIO_STREAM"] = "OBSERVER_AUDIO_STREAM";
|
|
56
|
+
KnownMediaStream["USER_AUDIO_STREAM"] = "MOBILE_CLIENT_AUDIO_STREAM";
|
|
57
|
+
KnownMediaStream["USER_VIDEO_STREAM"] = "MOBILE_CLIENT_VIDEO_STREAM";
|
|
58
|
+
KnownMediaStream["USER_SCREEN_SHARE_STREAM"] = "USER_SCREEN_SHARE_STREAM";
|
|
59
|
+
})(KnownMediaStream || (KnownMediaStream = {}));
|
|
60
|
+
export var MediaSessionDisconnectReason;
|
|
61
|
+
(function (MediaSessionDisconnectReason) {
|
|
62
|
+
//Raised on initiator peer when guest peer was disconnected from signaling
|
|
63
|
+
MediaSessionDisconnectReason["PeerDisconnected"] = "PeerDisconnected";
|
|
64
|
+
MediaSessionDisconnectReason["PeerConnectionInterrupted"] = "PeerConnectionInterrupted";
|
|
65
|
+
MediaSessionDisconnectReason["PeerConnectionStateChangeTimeout"] = "PeerConnectionStateChangeTimeout";
|
|
66
|
+
MediaSessionDisconnectReason["InitiatorPeerReconnected"] = "InitiatorPeerReconnected";
|
|
67
|
+
MediaSessionDisconnectReason["PublishedStreamDestroyed"] = "PublishedStreamDestroyed";
|
|
68
|
+
MediaSessionDisconnectReason["ForcedByConsumer"] = "ForcedByConsumer";
|
|
69
|
+
MediaSessionDisconnectReason["SignalingChannelDisconnect"] = "SignalingChannelDisconnect";
|
|
70
|
+
})(MediaSessionDisconnectReason || (MediaSessionDisconnectReason = {}));
|
|
71
|
+
export var MediaStreamUnregisterReason;
|
|
72
|
+
(function (MediaStreamUnregisterReason) {
|
|
73
|
+
MediaStreamUnregisterReason["NativeEvent"] = "NativeEvent";
|
|
74
|
+
MediaStreamUnregisterReason["ReplacingStream"] = "ReplacingStream";
|
|
75
|
+
MediaStreamUnregisterReason["ClosedRemotely"] = "ClosedRemotely";
|
|
76
|
+
MediaStreamUnregisterReason["ServiceCleanUp"] = "ServiceCleanUp";
|
|
77
|
+
})(MediaStreamUnregisterReason || (MediaStreamUnregisterReason = {}));
|
|
78
|
+
export var VideoResolutionMultiplication;
|
|
79
|
+
(function (VideoResolutionMultiplication) {
|
|
80
|
+
VideoResolutionMultiplication[VideoResolutionMultiplication["HD"] = 829440] = "HD";
|
|
81
|
+
VideoResolutionMultiplication[VideoResolutionMultiplication["SD"] = 230400] = "SD"; //640*360*0.9
|
|
82
|
+
})(VideoResolutionMultiplication || (VideoResolutionMultiplication = {}));
|
|
83
|
+
export var VideoResolutionFormat;
|
|
84
|
+
(function (VideoResolutionFormat) {
|
|
85
|
+
VideoResolutionFormat["HD"] = "HD";
|
|
86
|
+
VideoResolutionFormat["SD"] = "SD";
|
|
87
|
+
VideoResolutionFormat["NONE"] = "none";
|
|
88
|
+
})(VideoResolutionFormat || (VideoResolutionFormat = {}));
|
|
89
|
+
export const DEFAULT_VIDEO_RESOLUTION = '640x480';
|
|
90
|
+
export const DEFAULT_VIDEO_CONSTRAINT_TYPE = ConstraintType.IDEAL;
|
|
91
|
+
export const DEFAULT_PEER_CONNECTIVITY_TIMEOUT_SECONDS = 10;
|
|
92
|
+
export const DEFAULT_VIDEO_WAIT_TIMEOUT_SECONDS = 30;
|
|
93
|
+
export const DEFAULT_VIDEO_CONSTRAINTS = {
|
|
94
|
+
resolution: DEFAULT_VIDEO_RESOLUTION,
|
|
95
|
+
constraintType: DEFAULT_VIDEO_CONSTRAINT_TYPE
|
|
96
|
+
};
|
|
97
|
+
export const POSSIBLE_LOOPBACK_RESOLUTIONS = [
|
|
98
|
+
{ resolution: '1920x1080', constraintType: ConstraintType.MIN },
|
|
99
|
+
{ resolution: '1280x720', constraintType: ConstraintType.MIN },
|
|
100
|
+
DEFAULT_VIDEO_CONSTRAINTS // fallback
|
|
101
|
+
];
|
|
102
|
+
export const HD_RESOLUTION = '1280x720';
|
|
103
|
+
export { CameraTypes };
|
|
104
|
+
//# sourceMappingURL=MediaConstants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaConstants.js","sourceRoot":"","sources":["../../../src/Live2/src/MediaConstants.ts"],"names":[],"mappings":"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"}
|