@techsee/techsee-media-service 18.6.1 → 19.0.0
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/LocalStreamManager.d.ts +1 -0
- package/lib/LocalStreamManager.d.ts.map +1 -1
- package/lib/LocalStreamManager.js +320 -441
- package/lib/LocalStreamManager.js.map +1 -1
- package/lib/MediaConstants.d.ts +1 -0
- package/lib/MediaConstants.d.ts.map +1 -1
- package/lib/MediaConstants.js +53 -95
- package/lib/MediaConstants.js.map +1 -1
- package/lib/MediaContracts.d.ts +1 -0
- package/lib/MediaContracts.d.ts.map +1 -1
- package/lib/MediaContracts.js +2 -5
- package/lib/MediaContracts.js.map +1 -1
- package/lib/MediaPublisher.d.ts +1 -0
- package/lib/MediaPublisher.d.ts.map +1 -1
- package/lib/MediaPublisher.js +36 -49
- package/lib/MediaPublisher.js.map +1 -1
- package/lib/MediaServiceBase.d.ts +1 -0
- package/lib/MediaServiceBase.d.ts.map +1 -1
- package/lib/MediaServiceBase.js +687 -937
- package/lib/MediaServiceBase.js.map +1 -1
- package/lib/MediaSession/MediaServer.d.ts +1 -0
- package/lib/MediaSession/MediaServer.d.ts.map +1 -1
- package/lib/MediaSession/MediaServer.js +372 -517
- package/lib/MediaSession/MediaServer.js.map +1 -1
- package/lib/MediaSession/MediaSessionBase.d.ts +1 -0
- package/lib/MediaSession/MediaSessionBase.d.ts.map +1 -1
- package/lib/MediaSession/MediaSessionBase.js +88 -127
- package/lib/MediaSession/MediaSessionBase.js.map +1 -1
- package/lib/MediaSession/SessionOpentok.d.ts +1 -0
- package/lib/MediaSession/SessionOpentok.d.ts.map +1 -1
- package/lib/MediaSession/SessionOpentok.js +357 -503
- package/lib/MediaSession/SessionOpentok.js.map +1 -1
- package/lib/MediaSession/SessionTurn.d.ts +1 -0
- package/lib/MediaSession/SessionTurn.d.ts.map +1 -1
- package/lib/MediaSession/SessionTurn.js +431 -613
- package/lib/MediaSession/SessionTurn.js.map +1 -1
- package/lib/MediaSession/TurnConstants.d.ts +1 -0
- package/lib/MediaSession/TurnConstants.d.ts.map +1 -1
- package/lib/MediaSession/TurnConstants.js +17 -32
- package/lib/MediaSession/TurnConstants.js.map +1 -1
- package/lib/MediaSubscriber.d.ts +1 -0
- package/lib/MediaSubscriber.d.ts.map +1 -1
- package/lib/MediaSubscriber.js +189 -245
- package/lib/MediaSubscriber.js.map +1 -1
- package/lib/MediaUtils/Compatibility.d.ts +1 -0
- package/lib/MediaUtils/Compatibility.d.ts.map +1 -1
- package/lib/MediaUtils/Compatibility.js +129 -283
- package/lib/MediaUtils/Compatibility.js.map +1 -1
- package/lib/MediaUtils/MediaDomUtils.d.ts +1 -0
- package/lib/MediaUtils/MediaDomUtils.d.ts.map +1 -1
- package/lib/MediaUtils/MediaDomUtils.js +184 -252
- package/lib/MediaUtils/MediaDomUtils.js.map +1 -1
- package/lib/MediaUtils/MediaTracer.d.ts +1 -0
- package/lib/MediaUtils/MediaTracer.d.ts.map +1 -1
- package/lib/MediaUtils/MediaTracer.js +3 -10
- package/lib/MediaUtils/MediaTracer.js.map +1 -1
- package/lib/MediaUtils/index.d.ts +1 -0
- package/lib/MediaUtils/index.d.ts.map +1 -1
- package/lib/MediaUtils/index.js +3 -13
- package/lib/MediaUtils/index.js.map +1 -1
- package/lib/MultiParty/DetectWebRtcService.d.ts +1 -0
- package/lib/MultiParty/DetectWebRtcService.d.ts.map +1 -1
- package/lib/MultiParty/DetectWebRtcService.js +92 -241
- package/lib/MultiParty/DetectWebRtcService.js.map +1 -1
- package/lib/MultiParty/MediaCapabilitiesService.d.ts +1 -0
- package/lib/MultiParty/MediaCapabilitiesService.d.ts.map +1 -1
- package/lib/MultiParty/MediaCapabilitiesService.js +143 -312
- package/lib/MultiParty/MediaCapabilitiesService.js.map +1 -1
- package/lib/MultiParty/MediaCapabilitiesUtils.d.ts +1 -0
- package/lib/MultiParty/MediaCapabilitiesUtils.d.ts.map +1 -1
- package/lib/MultiParty/MediaCapabilitiesUtils.js +95 -277
- package/lib/MultiParty/MediaCapabilitiesUtils.js.map +1 -1
- package/lib/MultiParty/MediaTracer.d.ts +1 -0
- package/lib/MultiParty/MediaTracer.d.ts.map +1 -1
- package/lib/MultiParty/MediaTracer.js +3 -10
- package/lib/MultiParty/MediaTracer.js.map +1 -1
- package/lib/MultiParty/MultiPartyService.d.ts +1 -0
- package/lib/MultiParty/MultiPartyService.d.ts.map +1 -1
- package/lib/MultiParty/MultiPartyService.js +24 -47
- package/lib/MultiParty/MultiPartyService.js.map +1 -1
- package/lib/MultiParty/MultiPartyServiceFactory.d.ts +2 -1
- package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +1 -1
- package/lib/MultiParty/MultiPartyServiceFactory.js +7 -15
- package/lib/MultiParty/MultiPartyServiceFactory.js.map +1 -1
- package/lib/MultiParty/MultipartyServiceEventTypes.d.ts +1 -0
- package/lib/MultiParty/MultipartyServiceEventTypes.d.ts.map +1 -1
- package/lib/MultiParty/MultipartyServiceEventTypes.js +11 -15
- package/lib/MultiParty/MultipartyServiceEventTypes.js.map +1 -1
- package/lib/MultiParty/index.d.ts +1 -0
- package/lib/MultiParty/index.d.ts.map +1 -1
- package/lib/MultiParty/index.js +15 -35
- package/lib/MultiParty/index.js.map +1 -1
- package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts +2 -1
- package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts.map +1 -1
- package/lib/MultiParty/opentok/OpentokMultiPartyService.js +457 -839
- package/lib/MultiParty/opentok/OpentokMultiPartyService.js.map +1 -1
- package/lib/MultiParty/opentok/OpentokPublisher.d.ts +1 -0
- package/lib/MultiParty/opentok/OpentokPublisher.d.ts.map +1 -1
- package/lib/MultiParty/opentok/OpentokPublisher.js +107 -269
- package/lib/MultiParty/opentok/OpentokPublisher.js.map +1 -1
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts +1 -0
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts.map +1 -1
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js +34 -54
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js.map +1 -1
- package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts +1 -0
- package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts.map +1 -1
- package/lib/MultiParty/opentok/OpentokScreenPublisher.js +40 -77
- package/lib/MultiParty/opentok/OpentokScreenPublisher.js.map +1 -1
- package/lib/MultiParty/opentok/OpentokSubscriber.d.ts +1 -0
- package/lib/MultiParty/opentok/OpentokSubscriber.d.ts.map +1 -1
- package/lib/MultiParty/opentok/OpentokSubscriber.js +20 -28
- package/lib/MultiParty/opentok/OpentokSubscriber.js.map +1 -1
- package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts +1 -0
- package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts.map +1 -1
- package/lib/MultiParty/opentok/OpentokVideoPublisher.js +150 -355
- package/lib/MultiParty/opentok/OpentokVideoPublisher.js.map +1 -1
- package/lib/MultiParty/opentok/trace.d.ts +1 -0
- package/lib/MultiParty/opentok/trace.d.ts.map +1 -1
- package/lib/MultiParty/opentok/trace.js +11 -24
- package/lib/MultiParty/opentok/trace.js.map +1 -1
- package/lib/MultiParty/types.d.ts +1 -0
- package/lib/MultiParty/types.d.ts.map +1 -1
- package/lib/MultiParty/types.js +2 -5
- package/lib/MultiParty/types.js.map +1 -1
- package/lib/MultiParty/utils.d.ts +1 -0
- package/lib/MultiParty/utils.d.ts.map +1 -1
- package/lib/MultiParty/utils.js +5 -15
- package/lib/MultiParty/utils.js.map +1 -1
- package/lib/TechseeMediaStream.d.ts +1 -0
- package/lib/TechseeMediaStream.d.ts.map +1 -1
- package/lib/TechseeMediaStream.js +53 -61
- package/lib/TechseeMediaStream.js.map +1 -1
- package/lib/qos/raw-qos.d.ts +29 -0
- package/lib/qos/raw-qos.d.ts.map +1 -0
- package/lib/qos/raw-qos.js +247 -382
- package/lib/qos/raw-qos.js.map +1 -1
- package/lib/webrtc-ie-shim.d.ts +4 -0
- package/lib/webrtc-ie-shim.d.ts.map +1 -0
- package/lib/webrtc-ie-shim.js +1999 -3454
- package/lib/webrtc-ie-shim.js.map +1 -1
- package/package.json +42 -45
|
@@ -1,280 +1,212 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
return mod && mod.__esModule ? mod : {
|
|
5
|
-
"default": mod
|
|
6
|
-
};
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
4
|
};
|
|
8
|
-
|
|
9
|
-
Object.defineProperty(exports, "__esModule", {
|
|
10
|
-
value: true
|
|
11
|
-
});
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
6
|
exports.getSnapshotFromMediaStream = exports.removeVideoElementFromDom = exports.renderMediaStreamToVideoEl = exports.calculateResolution = void 0;
|
|
13
|
-
|
|
14
|
-
var isUndefined_1 = __importDefault(require("lodash/isUndefined")); // eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
15
|
-
//@ts-ignore
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
var isUndefined_1 = __importDefault(require("lodash/isUndefined"));
|
|
18
8
|
var ts_environment_detect_1 = require("@techsee/techsee-common/lib/helpers/ts-environment-detect");
|
|
19
|
-
|
|
20
9
|
var retry_with_timeout_1 = require("@techsee/techsee-common/lib/core/retry-with-timeout");
|
|
21
|
-
|
|
22
10
|
var MediaTracer_1 = require("./MediaTracer");
|
|
23
|
-
|
|
24
11
|
var MediaConstants_1 = require("../MediaConstants");
|
|
25
|
-
|
|
26
|
-
var trace = MediaTracer_1.getMediaTracer('DomUtils');
|
|
12
|
+
var trace = (0, MediaTracer_1.getMediaTracer)('DomUtils');
|
|
27
13
|
var isIE11 = new ts_environment_detect_1.TsEnvironmentDetect().isIE11();
|
|
28
|
-
|
|
29
14
|
function calculateResolution(_a) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
videoResolutionFormat
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return videoResolutionFormat;
|
|
15
|
+
var videoWidth = _a.videoWidth, videoHeight = _a.videoHeight;
|
|
16
|
+
var multiplyResolution = videoWidth * videoHeight;
|
|
17
|
+
var videoResolutionFormat = MediaConstants_1.VideoResolutionFormat.NONE;
|
|
18
|
+
if (multiplyResolution >= MediaConstants_1.VideoResolutionMultiplication.HD) {
|
|
19
|
+
videoResolutionFormat = MediaConstants_1.VideoResolutionFormat.HD;
|
|
20
|
+
}
|
|
21
|
+
if (multiplyResolution >= MediaConstants_1.VideoResolutionMultiplication.SD &&
|
|
22
|
+
multiplyResolution < MediaConstants_1.VideoResolutionMultiplication.HD) {
|
|
23
|
+
videoResolutionFormat = MediaConstants_1.VideoResolutionFormat.SD;
|
|
24
|
+
}
|
|
25
|
+
return videoResolutionFormat;
|
|
44
26
|
}
|
|
45
|
-
|
|
46
27
|
exports.calculateResolution = calculateResolution;
|
|
47
|
-
|
|
48
28
|
function renderMediaStreamToVideoEl(container, mediaStream, streamType) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
videoEl: videoEl
|
|
58
|
-
});
|
|
59
|
-
resolve(videoEl);
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
var videoEl = document.createElement('video');
|
|
63
|
-
videoEl.muted = true;
|
|
64
|
-
videoEl.playsInline = true;
|
|
65
|
-
|
|
66
|
-
if (isIE11 && window.WebRTCAdapter) {
|
|
67
|
-
container.appendChild(videoEl);
|
|
68
|
-
window.WebRTCAdapter.bindVideoElement(videoEl);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
videoEl.srcObject = mediaStream; // When unplugged the headphones in ios the video element got paused.
|
|
72
|
-
|
|
73
|
-
videoEl.addEventListener('pause', function () {
|
|
74
|
-
if ([MediaConstants_1.KnownMediaStream.USER_AUDIO_STREAM, MediaConstants_1.KnownMediaStream.AGENT_AUDIO_STREAM, MediaConstants_1.KnownMediaStream.OBSERVER_AUDIO_STREAM].indexOf(streamType) > -1) {
|
|
75
|
-
trace.info('Video element got paused. IOS headphones disconnected');
|
|
76
|
-
videoEl.play();
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
if (!isIE11) {
|
|
81
|
-
// Hack to override behavior introduced by Chrome/FF that unmuted video elements can't auto play
|
|
82
|
-
videoEl.setAttribute('muted', '');
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
try {
|
|
86
|
-
var playRes = videoEl.play();
|
|
87
|
-
|
|
88
|
-
if (playRes && playRes.then) {
|
|
89
|
-
playRes.then(function () {
|
|
90
|
-
trace.info('Video element play success');
|
|
91
|
-
|
|
92
|
-
if (!isIE11) {
|
|
93
|
-
doResolve(videoEl);
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
} else if (!isIE11) {
|
|
97
|
-
doResolve(videoEl);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
if (playRes && playRes["catch"]) {
|
|
101
|
-
playRes["catch"](function (error) {
|
|
102
|
-
trace.error('Reject while executing play method on video element', error);
|
|
103
|
-
reject(error);
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
} catch (error) {
|
|
107
|
-
reject(error);
|
|
108
|
-
trace.error('Error while executing play method on video element', error);
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
if (isIE11) {
|
|
113
|
-
var handleComplete = function handleComplete() {
|
|
114
|
-
return videoEl.parentElement.tagName !== 'OBJECT';
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
var waitForObjectSettings = {
|
|
118
|
-
intervalInMs: 30,
|
|
119
|
-
timeoutInMs: 200
|
|
120
|
-
};
|
|
121
|
-
retry_with_timeout_1.repeatWithTimeout(handleComplete, waitForObjectSettings).then(function () {
|
|
122
|
-
//We will wait, until video is played, then we resolve
|
|
123
|
-
var isVideoPlaying = function isVideoPlaying() {
|
|
124
|
-
return videoEl.videoHeight <= 0 || videoEl.videoWidth <= 0;
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
var waitForVideoSettings = {
|
|
128
|
-
intervalInMs: 50,
|
|
129
|
-
timeoutInMs: 10000
|
|
29
|
+
return new Promise(function (resolve, reject) {
|
|
30
|
+
if (!document.body.contains(container)) {
|
|
31
|
+
reject(new Error('Cannot render to container that is not attached to dom'));
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
var doResolve = function (videoEl) {
|
|
35
|
+
trace.info('Video element created successfully', { videoEl: videoEl });
|
|
36
|
+
resolve(videoEl);
|
|
130
37
|
};
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
38
|
+
var videoEl = document.createElement('video');
|
|
39
|
+
videoEl.muted = true;
|
|
40
|
+
videoEl.playsInline = true;
|
|
41
|
+
if (isIE11 && window.WebRTCAdapter) {
|
|
42
|
+
container.appendChild(videoEl);
|
|
43
|
+
window.WebRTCAdapter.bindVideoElement(videoEl);
|
|
44
|
+
}
|
|
45
|
+
videoEl.srcObject = mediaStream;
|
|
46
|
+
videoEl.addEventListener('pause', function () {
|
|
47
|
+
if ([
|
|
48
|
+
MediaConstants_1.KnownMediaStream.USER_AUDIO_STREAM,
|
|
49
|
+
MediaConstants_1.KnownMediaStream.AGENT_AUDIO_STREAM,
|
|
50
|
+
MediaConstants_1.KnownMediaStream.OBSERVER_AUDIO_STREAM
|
|
51
|
+
].indexOf(streamType) > -1) {
|
|
52
|
+
trace.info('Video element got paused. IOS headphones disconnected');
|
|
53
|
+
videoEl.play();
|
|
54
|
+
}
|
|
135
55
|
});
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
56
|
+
if (!isIE11) {
|
|
57
|
+
videoEl.setAttribute('muted', '');
|
|
58
|
+
}
|
|
59
|
+
try {
|
|
60
|
+
var playRes = videoEl.play();
|
|
61
|
+
if (playRes && playRes.then) {
|
|
62
|
+
playRes.then(function () {
|
|
63
|
+
trace.info('Video element play success');
|
|
64
|
+
if (!isIE11) {
|
|
65
|
+
doResolve(videoEl);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
else if (!isIE11) {
|
|
70
|
+
doResolve(videoEl);
|
|
71
|
+
}
|
|
72
|
+
if (playRes && playRes.catch) {
|
|
73
|
+
playRes.catch(function (error) {
|
|
74
|
+
trace.error('Reject while executing play method on video element', error);
|
|
75
|
+
reject(error);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
reject(error);
|
|
81
|
+
trace.error('Error while executing play method on video element', error);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
if (isIE11) {
|
|
85
|
+
var handleComplete = function () { return videoEl.parentElement.tagName !== 'OBJECT'; };
|
|
86
|
+
var waitForObjectSettings = { intervalInMs: 30, timeoutInMs: 200 };
|
|
87
|
+
(0, retry_with_timeout_1.repeatWithTimeout)(handleComplete, waitForObjectSettings).then(function () {
|
|
88
|
+
var isVideoPlaying = function () { return videoEl.videoHeight <= 0 || videoEl.videoWidth <= 0; };
|
|
89
|
+
var waitForVideoSettings = { intervalInMs: 50, timeoutInMs: 10000 };
|
|
90
|
+
(0, retry_with_timeout_1.repeatWithTimeout)(isVideoPlaying, waitForVideoSettings)
|
|
91
|
+
.then(function () { return doResolve(videoEl.parentElement); })
|
|
92
|
+
.catch(function () { return reject(new Error('Timeout while waiting for video to play')); });
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
container.appendChild(videoEl);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
141
99
|
}
|
|
142
|
-
|
|
143
100
|
exports.renderMediaStreamToVideoEl = renderMediaStreamToVideoEl;
|
|
144
|
-
|
|
145
101
|
function removeVideoElementFromDom(videoEl) {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
102
|
+
return new Promise(function (resolve) {
|
|
103
|
+
if (isIE11 && window.WebRTCAdapter) {
|
|
104
|
+
window.WebRTCAdapter.unBindVideoElement(videoEl);
|
|
105
|
+
if (videoEl && videoEl.parentNode && videoEl.parentNode.removeChild) {
|
|
106
|
+
videoEl.parentNode.removeChild(videoEl);
|
|
107
|
+
trace.info('Video element removed successfully');
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
trace.warn('Video element not removed', videoEl, videoEl.parentNode);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
videoEl.remove();
|
|
115
|
+
}
|
|
116
|
+
resolve();
|
|
117
|
+
});
|
|
162
118
|
}
|
|
163
|
-
|
|
164
119
|
exports.removeVideoElementFromDom = removeVideoElementFromDom;
|
|
165
120
|
var defaultSnapshot = {
|
|
166
|
-
|
|
167
|
-
|
|
121
|
+
format: 'image/png',
|
|
122
|
+
quality: 0.92
|
|
168
123
|
};
|
|
169
|
-
|
|
170
124
|
function getSnapshotFromMediaStream(mediaStream, sourceStream, snapshotOptions) {
|
|
171
|
-
|
|
172
|
-
snapshotOptions =
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
renderMediaStreamToVideoEl(tempContainer, mediaStream, sourceStream).then(function (videoElement) {
|
|
204
|
-
return Promise.resolve(isIE11 ? getImgDataIE11(videoElement) : getImgData(videoElement)).then(function (imgData) {
|
|
205
|
-
if (!imgData || imgData.length < 10) {
|
|
206
|
-
throw new Error('Failed to create a snapshot - imgData is null or empty');
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
doneFn(null, imgData);
|
|
210
|
-
});
|
|
211
|
-
})["catch"](function (error) {
|
|
212
|
-
return doneFn(error || new Error('Failed to create a snapshot - cannot render MediaStream To VideoEl'));
|
|
125
|
+
if (snapshotOptions === void 0) { snapshotOptions = defaultSnapshot; }
|
|
126
|
+
var format = snapshotOptions.format, quality = snapshotOptions.quality, x = snapshotOptions.x, y = snapshotOptions.y, w = snapshotOptions.w, h = snapshotOptions.h;
|
|
127
|
+
var crop = !(0, isUndefined_1.default)(x) && !(0, isUndefined_1.default)(y) && !(0, isUndefined_1.default)(w) && !(0, isUndefined_1.default)(h);
|
|
128
|
+
var resize = !crop && (!(0, isUndefined_1.default)(w) || !(0, isUndefined_1.default)(h));
|
|
129
|
+
return new Promise(function (resolve, reject) {
|
|
130
|
+
var tempContainer = document.createElement('div');
|
|
131
|
+
tempContainer.style.cssText = 'position:absolute;left: -10000px;';
|
|
132
|
+
document.body.appendChild(tempContainer);
|
|
133
|
+
var doneFn = function (err, image) {
|
|
134
|
+
if (err) {
|
|
135
|
+
reject(err);
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
setTimeout(function () {
|
|
139
|
+
document.body.removeChild(tempContainer);
|
|
140
|
+
if (!err) {
|
|
141
|
+
resolve(image);
|
|
142
|
+
}
|
|
143
|
+
}, 50);
|
|
144
|
+
};
|
|
145
|
+
renderMediaStreamToVideoEl(tempContainer, mediaStream, sourceStream)
|
|
146
|
+
.then(function (videoElement) {
|
|
147
|
+
return Promise.resolve(isIE11 ? getImgDataIE11(videoElement) : getImgData(videoElement)).then(function (imgData) {
|
|
148
|
+
if (!imgData || imgData.length < 10) {
|
|
149
|
+
throw new Error('Failed to create a snapshot - imgData is null or empty');
|
|
150
|
+
}
|
|
151
|
+
doneFn(null, imgData);
|
|
152
|
+
});
|
|
153
|
+
})
|
|
154
|
+
.catch(function (error) {
|
|
155
|
+
return doneFn(error || new Error('Failed to create a snapshot - cannot render MediaStream To VideoEl'));
|
|
156
|
+
});
|
|
213
157
|
});
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
videoHeight = videoElement.videoHeight;
|
|
219
|
-
var canvas = document.createElement('canvas');
|
|
220
|
-
var ctx = canvas.getContext('2d');
|
|
221
|
-
|
|
222
|
-
if (crop) {
|
|
223
|
-
canvas.width = w;
|
|
224
|
-
canvas.height = h;
|
|
225
|
-
ctx.drawImage(videoElement, x, y, w, h, 0, 0, w, h);
|
|
226
|
-
} else if (resize) {
|
|
227
|
-
canvas.width = w;
|
|
228
|
-
canvas.height = h;
|
|
229
|
-
ctx.drawImage(videoElement, 0, 0, w, h);
|
|
230
|
-
} else {
|
|
231
|
-
canvas.height = videoHeight;
|
|
232
|
-
canvas.width = videoWidth;
|
|
233
|
-
ctx.drawImage(videoElement, 0, 0);
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
return canvas.toDataURL(format, quality);
|
|
237
|
-
} //Gets image in IE browser. There should be TechSee IE11 plugin or OpenTok plugin installed.
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
function getImgDataIE11(videoElement) {
|
|
241
|
-
return new Promise(function (resolve) {
|
|
242
|
-
var videoWidth = videoElement.videoWidth,
|
|
243
|
-
videoHeight = videoElement.videoHeight;
|
|
244
|
-
var canvas = document.createElement('canvas');
|
|
245
|
-
var ctx = canvas.getContext('2d');
|
|
246
|
-
|
|
247
|
-
if (crop || resize) {
|
|
248
|
-
canvas.width = w;
|
|
249
|
-
canvas.height = h;
|
|
250
|
-
} else {
|
|
251
|
-
canvas.height = videoHeight;
|
|
252
|
-
canvas.width = videoWidth;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
function _drawAndRemove(image) {
|
|
158
|
+
function getImgData(videoElement) {
|
|
159
|
+
var videoWidth = videoElement.videoWidth, videoHeight = videoElement.videoHeight;
|
|
160
|
+
var canvas = document.createElement('canvas');
|
|
161
|
+
var ctx = canvas.getContext('2d');
|
|
256
162
|
if (crop) {
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
}
|
|
261
|
-
|
|
163
|
+
canvas.width = w;
|
|
164
|
+
canvas.height = h;
|
|
165
|
+
ctx.drawImage(videoElement, x, y, w, h, 0, 0, w, h);
|
|
166
|
+
}
|
|
167
|
+
else if (resize) {
|
|
168
|
+
canvas.width = w;
|
|
169
|
+
canvas.height = h;
|
|
170
|
+
ctx.drawImage(videoElement, 0, 0, w, h);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
canvas.height = videoHeight;
|
|
174
|
+
canvas.width = videoWidth;
|
|
175
|
+
ctx.drawImage(videoElement, 0, 0);
|
|
262
176
|
}
|
|
263
|
-
|
|
264
177
|
return canvas.toDataURL(format, quality);
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
178
|
+
}
|
|
179
|
+
function getImgDataIE11(videoElement) {
|
|
180
|
+
return new Promise(function (resolve) {
|
|
181
|
+
var videoWidth = videoElement.videoWidth, videoHeight = videoElement.videoHeight;
|
|
182
|
+
var canvas = document.createElement('canvas');
|
|
183
|
+
var ctx = canvas.getContext('2d');
|
|
184
|
+
if (crop || resize) {
|
|
185
|
+
canvas.width = w;
|
|
186
|
+
canvas.height = h;
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
canvas.height = videoHeight;
|
|
190
|
+
canvas.width = videoWidth;
|
|
191
|
+
}
|
|
192
|
+
function _drawAndRemove(image) {
|
|
193
|
+
if (crop) {
|
|
194
|
+
ctx.drawImage(image, x, y, w, h, 0, 0, w, h);
|
|
195
|
+
}
|
|
196
|
+
else if (resize) {
|
|
197
|
+
ctx.drawImage(image, 0, 0, w, h);
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
ctx.drawImage(image, 0, 0, videoWidth, videoHeight);
|
|
201
|
+
}
|
|
202
|
+
return canvas.toDataURL(format, quality);
|
|
203
|
+
}
|
|
204
|
+
var base64 = videoElement.getFrame();
|
|
205
|
+
var image = new Image();
|
|
206
|
+
image.onload = function () { return resolve(_drawAndRemove(image)); };
|
|
207
|
+
image.setAttribute('src', 'data:image/bmp;base64,' + base64);
|
|
208
|
+
});
|
|
209
|
+
}
|
|
277
210
|
}
|
|
278
|
-
|
|
279
211
|
exports.getSnapshotFromMediaStream = getSnapshotFromMediaStream;
|
|
280
|
-
//# sourceMappingURL=MediaDomUtils.js.map
|
|
212
|
+
//# sourceMappingURL=MediaDomUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MediaUtils/MediaDomUtils.js"],"names":["__importDefault","mod","__esModule","Object","defineProperty","exports","value","getSnapshotFromMediaStream","removeVideoElementFromDom","renderMediaStreamToVideoEl","calculateResolution","isUndefined_1","require","ts_environment_detect_1","retry_with_timeout_1","MediaTracer_1","MediaConstants_1","trace","getMediaTracer","isIE11","TsEnvironmentDetect","_a","videoWidth","videoHeight","multiplyResolution","videoResolutionFormat","VideoResolutionFormat","NONE","VideoResolutionMultiplication","HD","SD","container","mediaStream","streamType","Promise","resolve","reject","document","body","contains","Error","doResolve","videoEl","info","createElement","muted","playsInline","window","WebRTCAdapter","appendChild","bindVideoElement","srcObject","addEventListener","KnownMediaStream","USER_AUDIO_STREAM","AGENT_AUDIO_STREAM","OBSERVER_AUDIO_STREAM","indexOf","play","setAttribute","playRes","then","error","handleComplete","parentElement","tagName","waitForObjectSettings","intervalInMs","timeoutInMs","repeatWithTimeout","isVideoPlaying","waitForVideoSettings","unBindVideoElement","parentNode","removeChild","warn","remove","defaultSnapshot","format","quality","sourceStream","snapshotOptions","x","y","w","h","crop","resize","tempContainer","style","cssText","doneFn","err","image","setTimeout","videoElement","getImgDataIE11","getImgData","imgData","length","canvas","ctx","getContext","width","height","drawImage","toDataURL","_drawAndRemove","base64","getFrame","Image","onload"],"mappings":"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","file":"MediaDomUtils.js","sourcesContent":["\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSnapshotFromMediaStream = exports.removeVideoElementFromDom = exports.renderMediaStreamToVideoEl = exports.calculateResolution = void 0;\nvar isUndefined_1 = __importDefault(require(\"lodash/isUndefined\"));\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n//@ts-ignore\nvar ts_environment_detect_1 = require(\"@techsee/techsee-common/lib/helpers/ts-environment-detect\");\nvar retry_with_timeout_1 = require(\"@techsee/techsee-common/lib/core/retry-with-timeout\");\nvar MediaTracer_1 = require(\"./MediaTracer\");\nvar MediaConstants_1 = require(\"../MediaConstants\");\nvar trace = MediaTracer_1.getMediaTracer('DomUtils');\nvar isIE11 = new ts_environment_detect_1.TsEnvironmentDetect().isIE11();\nfunction calculateResolution(_a) {\n var videoWidth = _a.videoWidth, videoHeight = _a.videoHeight;\n var multiplyResolution = videoWidth * videoHeight;\n var videoResolutionFormat = MediaConstants_1.VideoResolutionFormat.NONE;\n if (multiplyResolution >= MediaConstants_1.VideoResolutionMultiplication.HD) {\n videoResolutionFormat = MediaConstants_1.VideoResolutionFormat.HD;\n }\n if (multiplyResolution >= MediaConstants_1.VideoResolutionMultiplication.SD &&\n multiplyResolution < MediaConstants_1.VideoResolutionMultiplication.HD) {\n videoResolutionFormat = MediaConstants_1.VideoResolutionFormat.SD;\n }\n return videoResolutionFormat;\n}\nexports.calculateResolution = calculateResolution;\nfunction renderMediaStreamToVideoEl(container, mediaStream, streamType) {\n return new Promise(function (resolve, reject) {\n if (!document.body.contains(container)) {\n reject(new Error('Cannot render to container that is not attached to dom'));\n return;\n }\n var doResolve = function (videoEl) {\n trace.info('Video element created successfully', { videoEl: videoEl });\n resolve(videoEl);\n };\n var videoEl = document.createElement('video');\n videoEl.muted = true;\n videoEl.playsInline = true;\n if (isIE11 && window.WebRTCAdapter) {\n container.appendChild(videoEl);\n window.WebRTCAdapter.bindVideoElement(videoEl);\n }\n videoEl.srcObject = mediaStream;\n // When unplugged the headphones in ios the video element got paused.\n videoEl.addEventListener('pause', function () {\n if ([\n MediaConstants_1.KnownMediaStream.USER_AUDIO_STREAM,\n MediaConstants_1.KnownMediaStream.AGENT_AUDIO_STREAM,\n MediaConstants_1.KnownMediaStream.OBSERVER_AUDIO_STREAM\n ].indexOf(streamType) > -1) {\n trace.info('Video element got paused. IOS headphones disconnected');\n videoEl.play();\n }\n });\n if (!isIE11) {\n // Hack to override behavior introduced by Chrome/FF that unmuted video elements can't auto play\n videoEl.setAttribute('muted', '');\n }\n try {\n var playRes = videoEl.play();\n if (playRes && playRes.then) {\n playRes.then(function () {\n trace.info('Video element play success');\n if (!isIE11) {\n doResolve(videoEl);\n }\n });\n }\n else if (!isIE11) {\n doResolve(videoEl);\n }\n if (playRes && playRes.catch) {\n playRes.catch(function (error) {\n trace.error('Reject while executing play method on video element', error);\n reject(error);\n });\n }\n }\n catch (error) {\n reject(error);\n trace.error('Error while executing play method on video element', error);\n return;\n }\n if (isIE11) {\n var handleComplete = function () { return videoEl.parentElement.tagName !== 'OBJECT'; };\n var waitForObjectSettings = { intervalInMs: 30, timeoutInMs: 200 };\n retry_with_timeout_1.repeatWithTimeout(handleComplete, waitForObjectSettings).then(function () {\n //We will wait, until video is played, then we resolve\n var isVideoPlaying = function () { return videoEl.videoHeight <= 0 || videoEl.videoWidth <= 0; };\n var waitForVideoSettings = { intervalInMs: 50, timeoutInMs: 10000 };\n retry_with_timeout_1.repeatWithTimeout(isVideoPlaying, waitForVideoSettings)\n .then(function () { return doResolve(videoEl.parentElement); })\n .catch(function () { return reject(new Error('Timeout while waiting for video to play')); });\n });\n }\n else {\n container.appendChild(videoEl);\n //doResolve(videoEl);\n }\n });\n}\nexports.renderMediaStreamToVideoEl = renderMediaStreamToVideoEl;\nfunction removeVideoElementFromDom(videoEl) {\n return new Promise(function (resolve) {\n if (isIE11 && window.WebRTCAdapter) {\n window.WebRTCAdapter.unBindVideoElement(videoEl);\n if (videoEl && videoEl.parentNode && videoEl.parentNode.removeChild) {\n videoEl.parentNode.removeChild(videoEl);\n trace.info('Video element removed successfully');\n }\n else {\n trace.warn('Video element not removed', videoEl, videoEl.parentNode);\n }\n }\n else {\n videoEl.remove();\n }\n resolve();\n });\n}\nexports.removeVideoElementFromDom = removeVideoElementFromDom;\nvar defaultSnapshot = {\n format: 'image/png',\n quality: 0.92\n};\nfunction getSnapshotFromMediaStream(mediaStream, sourceStream, snapshotOptions) {\n if (snapshotOptions === void 0) { snapshotOptions = defaultSnapshot; }\n var format = snapshotOptions.format, quality = snapshotOptions.quality, x = snapshotOptions.x, y = snapshotOptions.y, w = snapshotOptions.w, h = snapshotOptions.h;\n var crop = !isUndefined_1.default(x) && !isUndefined_1.default(y) && !isUndefined_1.default(w) && !isUndefined_1.default(h);\n var resize = !crop && (!isUndefined_1.default(w) || !isUndefined_1.default(h));\n return new Promise(function (resolve, reject) {\n var tempContainer = document.createElement('div');\n tempContainer.style.cssText = 'position:absolute;left: -10000px;';\n document.body.appendChild(tempContainer);\n var doneFn = function (err, image) {\n if (err) {\n reject(err);\n return;\n }\n setTimeout(function () {\n document.body.removeChild(tempContainer);\n if (!err) {\n resolve(image);\n }\n }, 50);\n };\n renderMediaStreamToVideoEl(tempContainer, mediaStream, sourceStream)\n .then(function (videoElement) {\n return Promise.resolve(isIE11 ? getImgDataIE11(videoElement) : getImgData(videoElement)).then(function (imgData) {\n if (!imgData || imgData.length < 10) {\n throw new Error('Failed to create a snapshot - imgData is null or empty');\n }\n doneFn(null, imgData);\n });\n })\n .catch(function (error) {\n return doneFn(error || new Error('Failed to create a snapshot - cannot render MediaStream To VideoEl'));\n });\n });\n //Gets image in all browsers except of IE\n function getImgData(videoElement) {\n var videoWidth = videoElement.videoWidth, videoHeight = videoElement.videoHeight;\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (crop) {\n canvas.width = w;\n canvas.height = h;\n ctx.drawImage(videoElement, x, y, w, h, 0, 0, w, h);\n }\n else if (resize) {\n canvas.width = w;\n canvas.height = h;\n ctx.drawImage(videoElement, 0, 0, w, h);\n }\n else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n ctx.drawImage(videoElement, 0, 0);\n }\n return canvas.toDataURL(format, quality);\n }\n //Gets image in IE browser. There should be TechSee IE11 plugin or OpenTok plugin installed.\n function getImgDataIE11(videoElement) {\n return new Promise(function (resolve) {\n var videoWidth = videoElement.videoWidth, videoHeight = videoElement.videoHeight;\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (crop || resize) {\n canvas.width = w;\n canvas.height = h;\n }\n else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n }\n function _drawAndRemove(image) {\n if (crop) {\n ctx.drawImage(image, x, y, w, h, 0, 0, w, h);\n }\n else if (resize) {\n ctx.drawImage(image, 0, 0, w, h);\n }\n else {\n ctx.drawImage(image, 0, 0, videoWidth, videoHeight);\n }\n return canvas.toDataURL(format, quality);\n }\n var base64 = videoElement.getFrame();\n var image = new Image();\n image.onload = function () { return resolve(_drawAndRemove(image)); };\n image.setAttribute('src', 'data:image/bmp;base64,' + base64);\n });\n }\n}\nexports.getSnapshotFromMediaStream = getSnapshotFromMediaStream;\n\n//# sourceMappingURL=MediaDomUtils.js.map\n"]}
|
|
1
|
+
{"version":3,"file":"MediaDomUtils.js","sourceRoot":"","sources":["../../src/MediaUtils/MediaDomUtils.ts"],"names":[],"mappings":";;;;;;AAAA,mEAA6C;AAI7C,mGAA8F;AAC9F,0FAAsF;AAEtF,6CAA6C;AAC7C,oDAAyG;AAEzG,IAAM,KAAK,GAAG,IAAA,4BAAc,EAAC,UAAU,CAAC,CAAC;AAEzC,IAAM,MAAM,GAAG,IAAI,2CAAmB,EAAE,CAAC,MAAM,EAAE,CAAC;AAElD,SAAgB,mBAAmB,CAAC,EAA0C;QAAzC,UAAU,gBAAA,EAAE,WAAW,iBAAA;IACxD,IAAM,kBAAkB,GAAG,UAAU,GAAG,WAAW,CAAC;IACpD,IAAI,qBAAqB,GAAG,sCAAqB,CAAC,IAAI,CAAC;IAEvD,IAAI,kBAAkB,IAAI,8CAA6B,CAAC,EAAE,EAAE;QACxD,qBAAqB,GAAG,sCAAqB,CAAC,EAAE,CAAC;KACpD;IAED,IACI,kBAAkB,IAAI,8CAA6B,CAAC,EAAE;QACtD,kBAAkB,GAAG,8CAA6B,CAAC,EAAE,EACvD;QACE,qBAAqB,GAAG,sCAAqB,CAAC,EAAE,CAAC;KACpD;IAED,OAAO,qBAAqB,CAAC;AACjC,CAAC;AAhBD,kDAgBC;AAED,SAAgB,0BAA0B,CACtC,SAAyB,EACzB,WAAwB,EACxB,UAA4B;IAE5B,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YACpC,MAAM,CAAC,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC,CAAC;YAE5E,OAAO;SACV;QAED,IAAM,SAAS,GAAG,UAAC,OAAyB;YACxC,KAAK,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAC,OAAO,SAAA,EAAC,CAAC,CAAC;YAC5D,OAAO,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC,CAAC;QAEF,IAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAQ,CAAC;QAEvD,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAE3B,IAAI,MAAM,IAAK,MAAc,CAAC,aAAa,EAAE;YACzC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAc,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;SAC3D;QAED,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC;QAGhC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAC9B,IACI;gBACI,iCAAgB,CAAC,iBAAiB;gBAClC,iCAAgB,CAAC,kBAAkB;gBACnC,iCAAgB,CAAC,qBAAqB;aACzC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAC5B;gBACE,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;gBACpE,OAAO,CAAC,IAAI,EAAE,CAAC;aAClB;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE;YAET,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SACrC;QAED,IAAI;YACA,IAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAE/B,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE;gBACzB,OAAO,CAAC,IAAI,CAAC;oBACT,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;oBACzC,IAAI,CAAC,MAAM,EAAE;wBACT,SAAS,CAAC,OAAO,CAAC,CAAC;qBACtB;gBACL,CAAC,CAAC,CAAC;aACN;iBAAM,IAAI,CAAC,MAAM,EAAE;gBAChB,SAAS,CAAC,OAAO,CAAC,CAAC;aACtB;YAED,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;gBAC1B,OAAO,CAAC,KAAK,CAAC,UAAC,KAAU;oBACrB,KAAK,CAAC,KAAK,CAAC,qDAAqD,EAAE,KAAK,CAAC,CAAC;oBAC1E,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;aACN;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,CAAC,KAAK,CAAC,CAAC;YACd,KAAK,CAAC,KAAK,CAAC,oDAAoD,EAAE,KAAK,CAAC,CAAC;YAEzE,OAAO;SACV;QAED,IAAI,MAAM,EAAE;YACR,IAAM,cAAc,GAAG,cAAe,OAAA,OAAO,CAAC,aAAa,CAAC,OAAO,KAAK,QAAQ,EAA1C,CAA0C,CAAC;YAEjF,IAAM,qBAAqB,GAAG,EAAC,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAC,CAAC;YAEnE,IAAA,sCAAiB,EAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC,IAAI,CAAC;gBAE1D,IAAM,cAAc,GAAG,cAAe,OAAA,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,EAAnD,CAAmD,CAAC;gBAC1F,IAAM,oBAAoB,GAAG,EAAC,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAC,CAAC;gBAEpE,IAAA,sCAAiB,EAAC,cAAc,EAAE,oBAAoB,CAAC;qBAClD,IAAI,CAAC,cAAM,OAAA,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,EAAhC,CAAgC,CAAC;qBAC5C,KAAK,CAAC,cAAM,OAAA,MAAM,CAAC,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC,EAA5D,CAA4D,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC;SACN;aAAM;YACH,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SAElC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AA9FD,gEA8FC;AAED,SAAgB,yBAAyB,CAAC,OAAyB;IAC/D,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;QACvB,IAAI,MAAM,IAAK,MAAc,CAAC,aAAa,EAAE;YACxC,MAAc,CAAC,aAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC1D,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE;gBACjE,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;aACpD;iBAAM;gBACH,KAAK,CAAC,IAAI,CAAC,2BAA2B,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;aACxE;SACJ;aAAM;YACH,OAAO,CAAC,MAAM,EAAE,CAAC;SACpB;QAED,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;AACP,CAAC;AAhBD,8DAgBC;AAED,IAAM,eAAe,GAAoB;IACrC,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,IAAI;CAChB,CAAC;AAEF,SAAgB,0BAA0B,CACtC,WAAwB,EACxB,YAA8B,EAC9B,eAAkD;IAAlD,gCAAA,EAAA,iCAAkD;IAE3C,IAAA,MAAM,GAAyB,eAAe,OAAxC,EAAE,OAAO,GAAgB,eAAe,QAA/B,EAAE,CAAC,GAAa,eAAe,EAA5B,EAAE,CAAC,GAAU,eAAe,EAAzB,EAAE,CAAC,GAAO,eAAe,EAAtB,EAAE,CAAC,GAAI,eAAe,EAAnB,CAAoB;IACtD,IAAM,IAAI,GAAG,CAAC,IAAA,qBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,IAAA,qBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,IAAA,qBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,IAAA,qBAAW,EAAC,CAAC,CAAC,CAAC;IACtF,IAAM,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,IAAA,qBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,IAAA,qBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QAC/B,IAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEpD,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,mCAAmC,CAAC;QAClE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAEzC,IAAM,MAAM,GAAG,UAAC,GAAQ,EAAE,KAAW;YACjC,IAAI,GAAG,EAAE;gBACL,MAAM,CAAC,GAAG,CAAC,CAAC;gBAEZ,OAAO;aACV;YAED,UAAU,CAAC;gBACP,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBACzC,IAAI,CAAC,GAAG,EAAE;oBACN,OAAO,CAAC,KAAK,CAAC,CAAC;iBAClB;YACL,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,CAAC,CAAC;QAEF,0BAA0B,CAAC,aAAa,EAAE,WAAW,EAAE,YAAY,CAAC;aAC/D,IAAI,CAAC,UAAC,YAAY;YACf,OAAA,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAClF,UAAC,OAAY;gBACT,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE;oBACjC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;iBAC7E;gBAED,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1B,CAAC,CACJ;QARD,CAQC,CACJ;aACA,KAAK,CAAC,UAAC,KAAK;YACT,OAAA,MAAM,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QAAhG,CAAgG,CACnG,CAAC;IACV,CAAC,CAAC,CAAC;IAGH,SAAS,UAAU,CAAC,YAA8B;QACvC,IAAA,UAAU,GAAiB,YAAY,WAA7B,EAAE,WAAW,GAAI,YAAY,YAAhB,CAAiB;QAC/C,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;QAErC,IAAI,IAAI,EAAE;YACN,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAElB,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACvD;aAAM,IAAI,MAAM,EAAE;YACf,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAElB,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC3C;aAAM;YACH,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC;YAC5B,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;YAE1B,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACrC;QAED,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAGD,SAAS,cAAc,CAAC,YAAiB;QACrC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;YAChB,IAAA,UAAU,GAAiB,YAAY,WAA7B,EAAE,WAAW,GAAI,YAAY,YAAhB,CAAiB;YAC/C,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;YAErC,IAAI,IAAI,IAAI,MAAM,EAAE;gBAChB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;gBACjB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;aACrB;iBAAM;gBACH,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC;gBAC5B,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;aAC7B;YAED,SAAS,cAAc,CAAC,KAAU;gBAC9B,IAAI,IAAI,EAAE;oBACN,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;iBAChD;qBAAM,IAAI,MAAM,EAAE;oBACf,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;iBACpC;qBAAM;oBACH,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;iBACvD;gBAED,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC;YAED,IAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;YAE1B,KAAK,CAAC,MAAM,GAAG,cAAM,OAAA,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAA9B,CAA8B,CAAC;YACpD,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AA3GD,gEA2GC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"file":"MediaTracer.d.ts","sourceRoot":"","sources":["../../src/MediaUtils/MediaTracer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,cAAc,EAAC,MAAM,yCAAyC,CAAC;AAElF,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAElD,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CAElE"}
|
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.getMediaTracer = exports.TECHSEE_MEDIA_TRACER = void 0;
|
|
7
|
-
|
|
8
4
|
var Tracer_1 = require("@techsee/techsee-common/lib/core/Tracer");
|
|
9
|
-
|
|
10
5
|
exports.TECHSEE_MEDIA_TRACER = 'MediaTracer';
|
|
11
|
-
|
|
12
6
|
function getMediaTracer(postfixName) {
|
|
13
|
-
|
|
7
|
+
return (0, Tracer_1.getTracer)(exports.TECHSEE_MEDIA_TRACER, postfixName);
|
|
14
8
|
}
|
|
15
|
-
|
|
16
9
|
exports.getMediaTracer = getMediaTracer;
|
|
17
|
-
//# sourceMappingURL=MediaTracer.js.map
|
|
10
|
+
//# sourceMappingURL=MediaTracer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"MediaTracer.js","sourceRoot":"","sources":["../../src/MediaUtils/MediaTracer.ts"],"names":[],"mappings":";;;AAAA,kEAAkF;AAErE,QAAA,oBAAoB,GAAG,aAAa,CAAC;AAElD,SAAgB,cAAc,CAAC,WAAmB;IAC9C,OAAO,IAAA,kBAAS,EAAC,4BAAoB,EAAE,WAAW,CAAC,CAAC;AACxD,CAAC;AAFD,wCAEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/MediaUtils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC"}
|
package/lib/MediaUtils/index.js
CHANGED
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.getMediaTracer = void 0;
|
|
7
|
-
|
|
8
4
|
var MediaTracer_1 = require("./MediaTracer");
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function get() {
|
|
13
|
-
return MediaTracer_1.getMediaTracer;
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
//# sourceMappingURL=index.js.map
|
|
5
|
+
Object.defineProperty(exports, "getMediaTracer", { enumerable: true, get: function () { return MediaTracer_1.getMediaTracer; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/MediaUtils/index.ts"],"names":[],"mappings":";;;AAAA,6CAA6C;AAArC,6GAAA,cAAc,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"file":"DetectWebRtcService.d.ts","sourceRoot":"","sources":["../../src/MultiParty/DetectWebRtcService.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,gBAAgB,EAAC,MAAM,uDAAuD,CAAC;AAEvF,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAEhD,eAAO,MAAM,mBAAmB;;;;;;CAM/B,CAAC;AAEF,qBAAa,mBAAmB;IAE5B,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,IAAI,CAyBL;IAEA,aAAa,QAAO,gBAAgB,CAAsB;CACpE"}
|