@techsee/techsee-media-service 18.6.0 → 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
package/lib/MediaSubscriber.js
CHANGED
|
@@ -1,263 +1,207 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.TechseeMediaSubscriber = void 0;
|
|
7
|
-
|
|
8
4
|
var events_1 = require("events");
|
|
9
|
-
|
|
10
5
|
var MediaDomUtils_1 = require("./MediaUtils/MediaDomUtils");
|
|
11
|
-
|
|
12
6
|
var MediaConstants_1 = require("./MediaConstants");
|
|
13
|
-
|
|
14
7
|
var MediaTracer_1 = require("./MediaUtils/MediaTracer");
|
|
15
|
-
|
|
16
8
|
var Compatibility_1 = require("./MediaUtils/Compatibility");
|
|
17
|
-
|
|
18
|
-
var trace = MediaTracer_1.getMediaTracer('MediaSubscriber');
|
|
9
|
+
var trace = (0, MediaTracer_1.getMediaTracer)('MediaSubscriber');
|
|
19
10
|
var privateEvents;
|
|
20
|
-
|
|
21
11
|
(function (privateEvents) {
|
|
22
|
-
|
|
23
|
-
|
|
12
|
+
privateEvents["STREAM_STATE_CHANGE"] = "STREAM_STATE_CHANGE";
|
|
13
|
+
privateEvents["SUBSCRIBER_DISPOSE"] = "SUBSCRIBER_DISPOSE";
|
|
24
14
|
})(privateEvents || (privateEvents = {}));
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
this.videoResizeHandler = this.videoResizeHandler.bind(this);
|
|
37
|
-
this._emitter = new events_1.EventEmitter();
|
|
38
|
-
this._subscriberParams = subscriberParams;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
Object.defineProperty(TechseeMediaSubscriber.prototype, "streamType", {
|
|
42
|
-
//#region IMediaSubscriber
|
|
43
|
-
get: function get() {
|
|
44
|
-
return this._subscriberParams.streamType;
|
|
45
|
-
},
|
|
46
|
-
enumerable: false,
|
|
47
|
-
configurable: true
|
|
48
|
-
});
|
|
49
|
-
Object.defineProperty(TechseeMediaSubscriber.prototype, "container", {
|
|
50
|
-
get: function get() {
|
|
51
|
-
return this._subscriberParams.container;
|
|
52
|
-
},
|
|
53
|
-
enumerable: false,
|
|
54
|
-
configurable: true
|
|
55
|
-
});
|
|
56
|
-
Object.defineProperty(TechseeMediaSubscriber.prototype, "isPlaying", {
|
|
57
|
-
get: function get() {
|
|
58
|
-
return this._isPlaying;
|
|
59
|
-
},
|
|
60
|
-
enumerable: false,
|
|
61
|
-
configurable: true
|
|
62
|
-
});
|
|
63
|
-
Object.defineProperty(TechseeMediaSubscriber.prototype, "isSoundMuted", {
|
|
64
|
-
get: function get() {
|
|
65
|
-
if (!this._mediaElement) {
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
return this._mediaElement.muted;
|
|
70
|
-
},
|
|
71
|
-
enumerable: false,
|
|
72
|
-
configurable: true
|
|
73
|
-
});
|
|
74
|
-
Object.defineProperty(TechseeMediaSubscriber.prototype, "hasAudio", {
|
|
75
|
-
get: function get() {
|
|
76
|
-
return this._hasAudio;
|
|
77
|
-
},
|
|
78
|
-
enumerable: false,
|
|
79
|
-
configurable: true
|
|
80
|
-
});
|
|
81
|
-
Object.defineProperty(TechseeMediaSubscriber.prototype, "hasVideo", {
|
|
82
|
-
get: function get() {
|
|
83
|
-
return this._hasVideo;
|
|
84
|
-
},
|
|
85
|
-
enumerable: false,
|
|
86
|
-
configurable: true
|
|
87
|
-
});
|
|
88
|
-
Object.defineProperty(TechseeMediaSubscriber.prototype, "mediaElement", {
|
|
89
|
-
get: function get() {
|
|
90
|
-
return this._mediaElement;
|
|
91
|
-
},
|
|
92
|
-
enumerable: false,
|
|
93
|
-
configurable: true
|
|
94
|
-
});
|
|
95
|
-
Object.defineProperty(TechseeMediaSubscriber.prototype, "videoWidth", {
|
|
96
|
-
get: function get() {
|
|
97
|
-
return this.mediaElement ? this.mediaElement.videoWidth : 0;
|
|
98
|
-
},
|
|
99
|
-
enumerable: false,
|
|
100
|
-
configurable: true
|
|
101
|
-
});
|
|
102
|
-
Object.defineProperty(TechseeMediaSubscriber.prototype, "videoHeight", {
|
|
103
|
-
get: function get() {
|
|
104
|
-
return this.mediaElement ? this.mediaElement.videoHeight : 0;
|
|
105
|
-
},
|
|
106
|
-
enumerable: false,
|
|
107
|
-
configurable: true
|
|
108
|
-
});
|
|
109
|
-
Object.defineProperty(TechseeMediaSubscriber.prototype, "renderWidth", {
|
|
110
|
-
get: function get() {
|
|
111
|
-
return this.container.offsetWidth;
|
|
112
|
-
},
|
|
113
|
-
enumerable: false,
|
|
114
|
-
configurable: true
|
|
115
|
-
});
|
|
116
|
-
Object.defineProperty(TechseeMediaSubscriber.prototype, "renderHeight", {
|
|
117
|
-
get: function get() {
|
|
118
|
-
return this.container.offsetHeight;
|
|
119
|
-
},
|
|
120
|
-
enumerable: false,
|
|
121
|
-
configurable: true
|
|
122
|
-
});
|
|
123
|
-
|
|
124
|
-
TechseeMediaSubscriber.prototype.muteSound = function (isMuted) {
|
|
125
|
-
this.throwIfDisposed();
|
|
126
|
-
trace.info('Subscriber mute change - isMuted =', isMuted);
|
|
127
|
-
|
|
128
|
-
if (this._mediaElement && this._mediaElement.muted !== isMuted) {
|
|
129
|
-
this._mediaElement.muted = isMuted;
|
|
130
|
-
this.emitEvent(privateEvents.STREAM_STATE_CHANGE);
|
|
15
|
+
var TechseeMediaSubscriber = (function () {
|
|
16
|
+
function TechseeMediaSubscriber(subscriberParams) {
|
|
17
|
+
this._isDisposed = false;
|
|
18
|
+
this._isPlaying = false;
|
|
19
|
+
this._hasVideo = false;
|
|
20
|
+
this._hasAudio = false;
|
|
21
|
+
this._mediaElement = null;
|
|
22
|
+
trace.info('Subscriber created');
|
|
23
|
+
this.videoResizeHandler = this.videoResizeHandler.bind(this);
|
|
24
|
+
this._emitter = new events_1.EventEmitter();
|
|
25
|
+
this._subscriberParams = subscriberParams;
|
|
131
26
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
};
|
|
139
|
-
|
|
140
|
-
TechseeMediaSubscriber.prototype.onDispose = function (callback) {
|
|
141
|
-
this.throwIfDisposed();
|
|
142
|
-
|
|
143
|
-
this._emitter.on(privateEvents.SUBSCRIBER_DISPOSE, callback);
|
|
144
|
-
}; //#endregion
|
|
145
|
-
//#region Non Interface Methods
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
TechseeMediaSubscriber.prototype.renderStream = function (stream) {
|
|
149
|
-
var _this = this;
|
|
150
|
-
|
|
151
|
-
this.throwIfDisposed();
|
|
152
|
-
this.stopRenderInternal().then(function () {
|
|
153
|
-
return MediaDomUtils_1.renderMediaStreamToVideoEl(_this.container, stream.mediaStream, stream.streamType);
|
|
154
|
-
}).then(function (videoEl) {
|
|
155
|
-
_this._hasAudio = stream.mediaStream.getAudioTracks().length > 0;
|
|
156
|
-
_this._hasVideo = stream.mediaStream.getVideoTracks().length > 0;
|
|
157
|
-
|
|
158
|
-
_this.setPlayingState(videoEl, stream.streamKind);
|
|
159
|
-
|
|
160
|
-
if (_this._hasAudio) {
|
|
161
|
-
_this.muteSound(false);
|
|
162
|
-
}
|
|
163
|
-
})["catch"](function (error) {
|
|
164
|
-
trace.warn('Error while rendering stream on video element', error);
|
|
27
|
+
Object.defineProperty(TechseeMediaSubscriber.prototype, "streamType", {
|
|
28
|
+
get: function () {
|
|
29
|
+
return this._subscriberParams.streamType;
|
|
30
|
+
},
|
|
31
|
+
enumerable: false,
|
|
32
|
+
configurable: true
|
|
165
33
|
});
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
return _this.setPlayingState();
|
|
34
|
+
Object.defineProperty(TechseeMediaSubscriber.prototype, "container", {
|
|
35
|
+
get: function () {
|
|
36
|
+
return this._subscriberParams.container;
|
|
37
|
+
},
|
|
38
|
+
enumerable: false,
|
|
39
|
+
configurable: true
|
|
173
40
|
});
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
41
|
+
Object.defineProperty(TechseeMediaSubscriber.prototype, "isPlaying", {
|
|
42
|
+
get: function () {
|
|
43
|
+
return this._isPlaying;
|
|
44
|
+
},
|
|
45
|
+
enumerable: false,
|
|
46
|
+
configurable: true
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(TechseeMediaSubscriber.prototype, "isSoundMuted", {
|
|
49
|
+
get: function () {
|
|
50
|
+
if (!this._mediaElement) {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
return this._mediaElement.muted;
|
|
54
|
+
},
|
|
55
|
+
enumerable: false,
|
|
56
|
+
configurable: true
|
|
57
|
+
});
|
|
58
|
+
Object.defineProperty(TechseeMediaSubscriber.prototype, "hasAudio", {
|
|
59
|
+
get: function () {
|
|
60
|
+
return this._hasAudio;
|
|
61
|
+
},
|
|
62
|
+
enumerable: false,
|
|
63
|
+
configurable: true
|
|
64
|
+
});
|
|
65
|
+
Object.defineProperty(TechseeMediaSubscriber.prototype, "hasVideo", {
|
|
66
|
+
get: function () {
|
|
67
|
+
return this._hasVideo;
|
|
68
|
+
},
|
|
69
|
+
enumerable: false,
|
|
70
|
+
configurable: true
|
|
71
|
+
});
|
|
72
|
+
Object.defineProperty(TechseeMediaSubscriber.prototype, "mediaElement", {
|
|
73
|
+
get: function () {
|
|
74
|
+
return this._mediaElement;
|
|
75
|
+
},
|
|
76
|
+
enumerable: false,
|
|
77
|
+
configurable: true
|
|
78
|
+
});
|
|
79
|
+
Object.defineProperty(TechseeMediaSubscriber.prototype, "videoWidth", {
|
|
80
|
+
get: function () {
|
|
81
|
+
return this.mediaElement ? this.mediaElement.videoWidth : 0;
|
|
82
|
+
},
|
|
83
|
+
enumerable: false,
|
|
84
|
+
configurable: true
|
|
183
85
|
});
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
86
|
+
Object.defineProperty(TechseeMediaSubscriber.prototype, "videoHeight", {
|
|
87
|
+
get: function () {
|
|
88
|
+
return this.mediaElement ? this.mediaElement.videoHeight : 0;
|
|
89
|
+
},
|
|
90
|
+
enumerable: false,
|
|
91
|
+
configurable: true
|
|
92
|
+
});
|
|
93
|
+
Object.defineProperty(TechseeMediaSubscriber.prototype, "renderWidth", {
|
|
94
|
+
get: function () {
|
|
95
|
+
return this.container.offsetWidth;
|
|
96
|
+
},
|
|
97
|
+
enumerable: false,
|
|
98
|
+
configurable: true
|
|
99
|
+
});
|
|
100
|
+
Object.defineProperty(TechseeMediaSubscriber.prototype, "renderHeight", {
|
|
101
|
+
get: function () {
|
|
102
|
+
return this.container.offsetHeight;
|
|
103
|
+
},
|
|
104
|
+
enumerable: false,
|
|
105
|
+
configurable: true
|
|
106
|
+
});
|
|
107
|
+
TechseeMediaSubscriber.prototype.muteSound = function (isMuted) {
|
|
108
|
+
this.throwIfDisposed();
|
|
109
|
+
trace.info('Subscriber mute change - isMuted =', isMuted);
|
|
110
|
+
if (this._mediaElement && this._mediaElement.muted !== isMuted) {
|
|
111
|
+
this._mediaElement.muted = isMuted;
|
|
112
|
+
this.emitEvent(privateEvents.STREAM_STATE_CHANGE);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
TechseeMediaSubscriber.prototype.onStateChanged = function (callback) {
|
|
116
|
+
this.throwIfDisposed();
|
|
117
|
+
this._emitter.on(privateEvents.STREAM_STATE_CHANGE, callback);
|
|
118
|
+
};
|
|
119
|
+
TechseeMediaSubscriber.prototype.onDispose = function (callback) {
|
|
120
|
+
this.throwIfDisposed();
|
|
121
|
+
this._emitter.on(privateEvents.SUBSCRIBER_DISPOSE, callback);
|
|
122
|
+
};
|
|
123
|
+
TechseeMediaSubscriber.prototype.renderStream = function (stream) {
|
|
124
|
+
var _this = this;
|
|
125
|
+
this.throwIfDisposed();
|
|
126
|
+
this.stopRenderInternal()
|
|
127
|
+
.then(function () { return (0, MediaDomUtils_1.renderMediaStreamToVideoEl)(_this.container, stream.mediaStream, stream.streamType); })
|
|
128
|
+
.then(function (videoEl) {
|
|
129
|
+
_this._hasAudio = stream.mediaStream.getAudioTracks().length > 0;
|
|
130
|
+
_this._hasVideo = stream.mediaStream.getVideoTracks().length > 0;
|
|
131
|
+
_this.setPlayingState(videoEl, stream.streamKind);
|
|
132
|
+
if (_this._hasAudio) {
|
|
133
|
+
_this.muteSound(false);
|
|
134
|
+
}
|
|
135
|
+
})
|
|
136
|
+
.catch(function (error) {
|
|
137
|
+
trace.warn('Error while rendering stream on video element', error);
|
|
138
|
+
});
|
|
203
139
|
};
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
140
|
+
TechseeMediaSubscriber.prototype.stopRendering = function () {
|
|
141
|
+
var _this = this;
|
|
142
|
+
return this.stopRenderInternal().then(function () { return _this.setPlayingState(); });
|
|
143
|
+
};
|
|
144
|
+
TechseeMediaSubscriber.prototype.dispose = function () {
|
|
145
|
+
if (this._isDisposed) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
this.stopRendering().catch(function () { return undefined; });
|
|
149
|
+
this._isDisposed = true;
|
|
150
|
+
this._emitter.removeAllListeners();
|
|
151
|
+
trace.info('Subscriber disposed');
|
|
152
|
+
this.emitEvent(privateEvents.SUBSCRIBER_DISPOSE);
|
|
153
|
+
};
|
|
154
|
+
TechseeMediaSubscriber.prototype.setPlayingState = function (mediaElement, streamKind) {
|
|
155
|
+
var _this = this;
|
|
156
|
+
this._isPlaying = !!mediaElement;
|
|
157
|
+
this._mediaElement = mediaElement || null;
|
|
158
|
+
var finalize = function () {
|
|
159
|
+
_this.emitEvent(privateEvents.STREAM_STATE_CHANGE);
|
|
160
|
+
trace.info("Video element ".concat(streamKind || '', " ").concat(_this.isPlaying ? 'play' : 'stop', " success"));
|
|
213
161
|
};
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
162
|
+
if (this._mediaElement && streamKind === MediaConstants_1.KnownMediaStreamKind.Video) {
|
|
163
|
+
if (this._mediaElement.videoHeight === 0) {
|
|
164
|
+
var disposeResizeHandler_1 = null;
|
|
165
|
+
var resizeHandler = function () {
|
|
166
|
+
disposeResizeHandler_1 && disposeResizeHandler_1();
|
|
167
|
+
(0, Compatibility_1.onMediaElementResize)(_this._mediaElement, _this.videoResizeHandler);
|
|
168
|
+
finalize();
|
|
169
|
+
};
|
|
170
|
+
disposeResizeHandler_1 = (0, Compatibility_1.onMediaElementResize)(this._mediaElement, resizeHandler);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
(0, Compatibility_1.onMediaElementResize)(this._mediaElement, this.videoResizeHandler);
|
|
174
|
+
finalize();
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
finalize();
|
|
179
|
+
}
|
|
230
180
|
};
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
}
|
|
257
|
-
};
|
|
258
|
-
|
|
259
|
-
return TechseeMediaSubscriber;
|
|
260
|
-
}();
|
|
261
|
-
|
|
181
|
+
TechseeMediaSubscriber.prototype.videoResizeHandler = function () {
|
|
182
|
+
trace.info("Video resize, new size = w: ".concat(this.videoWidth, " h:").concat(this.videoHeight));
|
|
183
|
+
var resolution = { videoWidth: this.videoWidth, videoHeight: this.videoHeight };
|
|
184
|
+
var resolutionFormat = (0, MediaDomUtils_1.calculateResolution)(resolution);
|
|
185
|
+
this.emitEvent(privateEvents.STREAM_STATE_CHANGE, { resolutionFormat: resolutionFormat });
|
|
186
|
+
};
|
|
187
|
+
TechseeMediaSubscriber.prototype.stopRenderInternal = function () {
|
|
188
|
+
if (this._mediaElement && document.body.contains(this._mediaElement)) {
|
|
189
|
+
return (0, MediaDomUtils_1.removeVideoElementFromDom)(this._mediaElement);
|
|
190
|
+
}
|
|
191
|
+
return Promise.resolve();
|
|
192
|
+
};
|
|
193
|
+
TechseeMediaSubscriber.prototype.emitEvent = function (event, eventArgs) {
|
|
194
|
+
var _this = this;
|
|
195
|
+
setTimeout(function () {
|
|
196
|
+
_this._emitter.emit(event, eventArgs);
|
|
197
|
+
});
|
|
198
|
+
};
|
|
199
|
+
TechseeMediaSubscriber.prototype.throwIfDisposed = function () {
|
|
200
|
+
if (this._isDisposed) {
|
|
201
|
+
throw new Error('Subscriber is already disposed');
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
return TechseeMediaSubscriber;
|
|
205
|
+
}());
|
|
262
206
|
exports.TechseeMediaSubscriber = TechseeMediaSubscriber;
|
|
263
|
-
//# sourceMappingURL=MediaSubscriber.js.map
|
|
207
|
+
//# sourceMappingURL=MediaSubscriber.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MediaSubscriber.js","../src/MediaSubscriber.ts"],"names":["Object","defineProperty","exports","value","TechseeMediaSubscriber","events_1","require","MediaDomUtils_1","MediaConstants_1","MediaTracer_1","Compatibility_1","trace","getMediaTracer","privateEvents","subscriberParams","_isDisposed","_isPlaying","_hasVideo","_hasAudio","_mediaElement","info","videoResizeHandler","bind","_emitter","EventEmitter","_subscriberParams","prototype","get","streamType","enumerable","configurable","container","muted","mediaElement","videoWidth","videoHeight","offsetWidth","offsetHeight","muteSound","isMuted","throwIfDisposed","emitEvent","STREAM_STATE_CHANGE","onStateChanged","callback","on","onDispose","SUBSCRIBER_DISPOSE","renderStream","stream","_this","stopRenderInternal","then","renderMediaStreamToVideoEl","mediaStream","videoEl","getAudioTracks","length","getVideoTracks","setPlayingState","streamKind","error","warn","stopRendering","dispose","undefined","removeAllListeners","finalize","isPlaying","KnownMediaStreamKind","Video","disposeResizeHandler_1","resizeHandler","onMediaElementResize","resolution","resolutionFormat","calculateResolution","document","body","contains","removeVideoElementFromDom","Promise","resolve","event","eventArgs","setTimeout","emit","Error"],"mappings":"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","file":"MediaSubscriber.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TechseeMediaSubscriber = void 0;\nvar events_1 = require(\"events\");\nvar MediaDomUtils_1 = require(\"./MediaUtils/MediaDomUtils\");\nvar MediaConstants_1 = require(\"./MediaConstants\");\nvar MediaTracer_1 = require(\"./MediaUtils/MediaTracer\");\nvar Compatibility_1 = require(\"./MediaUtils/Compatibility\");\nvar trace = MediaTracer_1.getMediaTracer('MediaSubscriber');\nvar privateEvents;\n(function (privateEvents) {\n privateEvents[\"STREAM_STATE_CHANGE\"] = \"STREAM_STATE_CHANGE\";\n privateEvents[\"SUBSCRIBER_DISPOSE\"] = \"SUBSCRIBER_DISPOSE\";\n})(privateEvents || (privateEvents = {}));\nvar TechseeMediaSubscriber = /** @class */ (function () {\n function TechseeMediaSubscriber(subscriberParams) {\n this._isDisposed = false;\n this._isPlaying = false;\n this._hasVideo = false;\n this._hasAudio = false;\n this._mediaElement = null;\n trace.info('Subscriber created');\n this.videoResizeHandler = this.videoResizeHandler.bind(this);\n this._emitter = new events_1.EventEmitter();\n this._subscriberParams = subscriberParams;\n }\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"streamType\", {\n //#region IMediaSubscriber\n get: function () {\n return this._subscriberParams.streamType;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"container\", {\n get: function () {\n return this._subscriberParams.container;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"isPlaying\", {\n get: function () {\n return this._isPlaying;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"isSoundMuted\", {\n get: function () {\n if (!this._mediaElement) {\n return true;\n }\n return this._mediaElement.muted;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"hasAudio\", {\n get: function () {\n return this._hasAudio;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"hasVideo\", {\n get: function () {\n return this._hasVideo;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"mediaElement\", {\n get: function () {\n return this._mediaElement;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"videoWidth\", {\n get: function () {\n return this.mediaElement ? this.mediaElement.videoWidth : 0;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"videoHeight\", {\n get: function () {\n return this.mediaElement ? this.mediaElement.videoHeight : 0;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"renderWidth\", {\n get: function () {\n return this.container.offsetWidth;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"renderHeight\", {\n get: function () {\n return this.container.offsetHeight;\n },\n enumerable: false,\n configurable: true\n });\n TechseeMediaSubscriber.prototype.muteSound = function (isMuted) {\n this.throwIfDisposed();\n trace.info('Subscriber mute change - isMuted =', isMuted);\n if (this._mediaElement && this._mediaElement.muted !== isMuted) {\n this._mediaElement.muted = isMuted;\n this.emitEvent(privateEvents.STREAM_STATE_CHANGE);\n }\n };\n TechseeMediaSubscriber.prototype.onStateChanged = function (callback) {\n this.throwIfDisposed();\n this._emitter.on(privateEvents.STREAM_STATE_CHANGE, callback);\n };\n TechseeMediaSubscriber.prototype.onDispose = function (callback) {\n this.throwIfDisposed();\n this._emitter.on(privateEvents.SUBSCRIBER_DISPOSE, callback);\n };\n //#endregion\n //#region Non Interface Methods\n TechseeMediaSubscriber.prototype.renderStream = function (stream) {\n var _this = this;\n this.throwIfDisposed();\n this.stopRenderInternal()\n .then(function () { return MediaDomUtils_1.renderMediaStreamToVideoEl(_this.container, stream.mediaStream, stream.streamType); })\n .then(function (videoEl) {\n _this._hasAudio = stream.mediaStream.getAudioTracks().length > 0;\n _this._hasVideo = stream.mediaStream.getVideoTracks().length > 0;\n _this.setPlayingState(videoEl, stream.streamKind);\n if (_this._hasAudio) {\n _this.muteSound(false);\n }\n })\n .catch(function (error) {\n trace.warn('Error while rendering stream on video element', error);\n });\n };\n TechseeMediaSubscriber.prototype.stopRendering = function () {\n var _this = this;\n return this.stopRenderInternal().then(function () { return _this.setPlayingState(); });\n };\n TechseeMediaSubscriber.prototype.dispose = function () {\n if (this._isDisposed) {\n return;\n }\n this.stopRendering().catch(function () { return undefined; });\n this._isDisposed = true;\n this._emitter.removeAllListeners();\n trace.info('Subscriber disposed');\n this.emitEvent(privateEvents.SUBSCRIBER_DISPOSE);\n };\n //#endregion\n TechseeMediaSubscriber.prototype.setPlayingState = function (mediaElement, streamKind) {\n var _this = this;\n this._isPlaying = !!mediaElement;\n this._mediaElement = mediaElement || null;\n var finalize = function () {\n _this.emitEvent(privateEvents.STREAM_STATE_CHANGE);\n trace.info(\"Video element \" + (streamKind || '') + \" \" + (_this.isPlaying ? 'play' : 'stop') + \" success\");\n };\n if (this._mediaElement && streamKind === MediaConstants_1.KnownMediaStreamKind.Video) {\n if (this._mediaElement.videoHeight === 0) {\n var disposeResizeHandler_1 = null;\n var resizeHandler = function () {\n disposeResizeHandler_1 && disposeResizeHandler_1();\n Compatibility_1.onMediaElementResize(_this._mediaElement, _this.videoResizeHandler);\n finalize();\n };\n disposeResizeHandler_1 = Compatibility_1.onMediaElementResize(this._mediaElement, resizeHandler);\n }\n else {\n Compatibility_1.onMediaElementResize(this._mediaElement, this.videoResizeHandler);\n finalize();\n }\n }\n else {\n finalize();\n }\n };\n TechseeMediaSubscriber.prototype.videoResizeHandler = function () {\n trace.info(\"Video resize, new size = w: \" + this.videoWidth + \" h:\" + this.videoHeight);\n var resolution = { videoWidth: this.videoWidth, videoHeight: this.videoHeight };\n var resolutionFormat = MediaDomUtils_1.calculateResolution(resolution);\n this.emitEvent(privateEvents.STREAM_STATE_CHANGE, { resolutionFormat: resolutionFormat });\n };\n TechseeMediaSubscriber.prototype.stopRenderInternal = function () {\n if (this._mediaElement && document.body.contains(this._mediaElement)) {\n return MediaDomUtils_1.removeVideoElementFromDom(this._mediaElement);\n }\n return Promise.resolve();\n };\n TechseeMediaSubscriber.prototype.emitEvent = function (event, eventArgs) {\n var _this = this;\n setTimeout(function () {\n _this._emitter.emit(event, eventArgs);\n });\n };\n TechseeMediaSubscriber.prototype.throwIfDisposed = function () {\n if (this._isDisposed) {\n throw new Error('Subscriber is already disposed');\n }\n };\n return TechseeMediaSubscriber;\n}());\nexports.TechseeMediaSubscriber = TechseeMediaSubscriber;\n\n//# sourceMappingURL=MediaSubscriber.js.map\n","import {EventEmitter} from 'events';\nimport {Nullable} from '@techsee/techsee-common';\nimport {IMediaSubscriber, MediaSubscriberParams} from './MediaContracts';\nimport {TechseeMediaStream} from './TechseeMediaStream';\nimport {calculateResolution, removeVideoElementFromDom, renderMediaStreamToVideoEl} from './MediaUtils/MediaDomUtils';\nimport {KnownMediaStream, KnownMediaStreamKind} from './MediaConstants';\n\nimport {getMediaTracer} from './MediaUtils/MediaTracer';\nimport {onMediaElementResize} from './MediaUtils/Compatibility';\n\nconst trace = getMediaTracer('MediaSubscriber');\n\nenum privateEvents {\n STREAM_STATE_CHANGE = 'STREAM_STATE_CHANGE',\n SUBSCRIBER_DISPOSE = 'SUBSCRIBER_DISPOSE'\n}\n\nexport class TechseeMediaSubscriber implements IMediaSubscriber {\n private _emitter: EventEmitter;\n private _isDisposed = false;\n private _isPlaying = false;\n private _hasVideo = false;\n private _hasAudio = false;\n private _mediaElement: Nullable<HTMLVideoElement> = null;\n private readonly _subscriberParams: MediaSubscriberParams;\n\n constructor(subscriberParams: MediaSubscriberParams) {\n trace.info('Subscriber created');\n\n this.videoResizeHandler = this.videoResizeHandler.bind(this);\n\n this._emitter = new EventEmitter();\n this._subscriberParams = subscriberParams;\n }\n\n //#region IMediaSubscriber\n\n get streamType(): KnownMediaStream {\n return this._subscriberParams.streamType;\n }\n\n get container(): HTMLDivElement {\n return this._subscriberParams.container;\n }\n\n get isPlaying(): boolean {\n return this._isPlaying;\n }\n\n get isSoundMuted(): boolean {\n if (!this._mediaElement) {\n return true;\n }\n\n return this._mediaElement.muted;\n }\n\n get hasAudio(): boolean {\n return this._hasAudio;\n }\n\n get hasVideo(): boolean {\n return this._hasVideo;\n }\n\n get mediaElement(): Nullable<HTMLVideoElement> {\n return this._mediaElement;\n }\n\n get videoWidth(): number {\n return this.mediaElement ? this.mediaElement.videoWidth : 0;\n }\n\n get videoHeight(): number {\n return this.mediaElement ? this.mediaElement.videoHeight : 0;\n }\n\n get renderWidth(): number {\n return this.container.offsetWidth;\n }\n\n get renderHeight(): number {\n return this.container.offsetHeight;\n }\n\n muteSound(isMuted: boolean): void {\n this.throwIfDisposed();\n trace.info('Subscriber mute change - isMuted =', isMuted);\n if (this._mediaElement && this._mediaElement.muted !== isMuted) {\n this._mediaElement.muted = isMuted;\n this.emitEvent(privateEvents.STREAM_STATE_CHANGE);\n }\n }\n\n onStateChanged(callback: () => void): void {\n this.throwIfDisposed();\n this._emitter.on(privateEvents.STREAM_STATE_CHANGE, callback);\n }\n\n onDispose(callback: () => void): void {\n this.throwIfDisposed();\n this._emitter.on(privateEvents.SUBSCRIBER_DISPOSE, callback);\n }\n\n //#endregion\n\n //#region Non Interface Methods\n\n renderStream(stream: TechseeMediaStream): void {\n this.throwIfDisposed();\n this.stopRenderInternal()\n .then(() => renderMediaStreamToVideoEl(this.container, stream.mediaStream, stream.streamType))\n .then((videoEl) => {\n this._hasAudio = stream.mediaStream.getAudioTracks().length > 0;\n this._hasVideo = stream.mediaStream.getVideoTracks().length > 0;\n\n this.setPlayingState(videoEl, stream.streamKind);\n\n if (this._hasAudio) {\n this.muteSound(false);\n }\n })\n .catch((error) => {\n trace.warn('Error while rendering stream on video element', error);\n });\n }\n\n stopRendering(): Promise<void> {\n return this.stopRenderInternal().then(() => this.setPlayingState());\n }\n\n dispose(): void {\n if (this._isDisposed) {\n return;\n }\n\n this.stopRendering().catch(() => undefined);\n\n this._isDisposed = true;\n this._emitter.removeAllListeners();\n trace.info('Subscriber disposed');\n this.emitEvent(privateEvents.SUBSCRIBER_DISPOSE);\n }\n\n //#endregion\n\n private setPlayingState(mediaElement?: HTMLVideoElement, streamKind?: KnownMediaStreamKind): void {\n this._isPlaying = !!mediaElement;\n this._mediaElement = mediaElement || null;\n\n const finalize = (): void => {\n this.emitEvent(privateEvents.STREAM_STATE_CHANGE);\n trace.info(`Video element ${streamKind || ''} ${this.isPlaying ? 'play' : 'stop'} success`);\n };\n\n if (this._mediaElement && streamKind === KnownMediaStreamKind.Video) {\n if (this._mediaElement.videoHeight === 0) {\n let disposeResizeHandler: any = null;\n const resizeHandler = (): void => {\n disposeResizeHandler && disposeResizeHandler();\n onMediaElementResize(this._mediaElement, this.videoResizeHandler);\n finalize();\n };\n\n disposeResizeHandler = onMediaElementResize(this._mediaElement, resizeHandler);\n } else {\n onMediaElementResize(this._mediaElement, this.videoResizeHandler);\n finalize();\n }\n } else {\n finalize();\n }\n }\n\n private videoResizeHandler(): void {\n trace.info(`Video resize, new size = w: ${this.videoWidth} h:${this.videoHeight}`);\n const resolution = {videoWidth: this.videoWidth, videoHeight: this.videoHeight};\n const resolutionFormat = calculateResolution(resolution);\n\n this.emitEvent(privateEvents.STREAM_STATE_CHANGE, {resolutionFormat});\n }\n\n private stopRenderInternal() {\n if (this._mediaElement && document.body.contains(this._mediaElement)) {\n return removeVideoElementFromDom(this._mediaElement);\n }\n\n return Promise.resolve();\n }\n\n private emitEvent(event: string, eventArgs?: any): void {\n setTimeout(() => {\n this._emitter.emit(event, eventArgs);\n });\n }\n\n private throwIfDisposed(): void {\n if (this._isDisposed) {\n throw new Error('Subscriber is already disposed');\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"MediaSubscriber.js","sourceRoot":"","sources":["../src/MediaSubscriber.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AAIpC,4DAAsH;AACtH,mDAAwE;AAExE,wDAAwD;AACxD,4DAAgE;AAEhE,IAAM,KAAK,GAAG,IAAA,4BAAc,EAAC,iBAAiB,CAAC,CAAC;AAEhD,IAAK,aAGJ;AAHD,WAAK,aAAa;IACd,4DAA2C,CAAA;IAC3C,0DAAyC,CAAA;AAC7C,CAAC,EAHI,aAAa,KAAb,aAAa,QAGjB;AAED;IASI,gCAAY,gBAAuC;QAP3C,gBAAW,GAAG,KAAK,CAAC;QACpB,eAAU,GAAG,KAAK,CAAC;QACnB,cAAS,GAAG,KAAK,CAAC;QAClB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAA+B,IAAI,CAAC;QAIrD,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAEjC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7D,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAY,EAAE,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC9C,CAAC;IAID,sBAAI,8CAAU;aAAd;YACI,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;QAC7C,CAAC;;;OAAA;IAED,sBAAI,6CAAS;aAAb;YACI,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAC5C,CAAC;;;OAAA;IAED,sBAAI,6CAAS;aAAb;YACI,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;;;OAAA;IAED,sBAAI,gDAAY;aAAhB;YACI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACrB,OAAO,IAAI,CAAC;aACf;YAED,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACpC,CAAC;;;OAAA;IAED,sBAAI,4CAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;;;OAAA;IAED,sBAAI,4CAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;;;OAAA;IAED,sBAAI,gDAAY;aAAhB;YACI,OAAO,IAAI,CAAC,aAAa,CAAC;QAC9B,CAAC;;;OAAA;IAED,sBAAI,8CAAU;aAAd;YACI,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;;;OAAA;IAED,sBAAI,+CAAW;aAAf;YACI,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;;;OAAA;IAED,sBAAI,+CAAW;aAAf;YACI,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QACtC,CAAC;;;OAAA;IAED,sBAAI,gDAAY;aAAhB;YACI,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QACvC,CAAC;;;OAAA;IAED,0CAAS,GAAT,UAAU,OAAgB;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,OAAO,EAAE;YAC5D,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,OAAO,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;SACrD;IACL,CAAC;IAED,+CAAc,GAAd,UAAe,QAAoB;QAC/B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,0CAAS,GAAT,UAAU,QAAoB;QAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IAMD,6CAAY,GAAZ,UAAa,MAA0B;QAAvC,iBAiBC;QAhBG,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,EAAE;aACpB,IAAI,CAAC,cAAM,OAAA,IAAA,0CAA0B,EAAC,KAAI,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,EAAjF,CAAiF,CAAC;aAC7F,IAAI,CAAC,UAAC,OAAO;YACV,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAChE,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAEhE,KAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAEjD,IAAI,KAAI,CAAC,SAAS,EAAE;gBAChB,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aACzB;QACL,CAAC,CAAC;aACD,KAAK,CAAC,UAAC,KAAK;YACT,KAAK,CAAC,IAAI,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACX,CAAC;IAED,8CAAa,GAAb;QAAA,iBAEC;QADG,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,cAAM,OAAA,KAAI,CAAC,eAAe,EAAE,EAAtB,CAAsB,CAAC,CAAC;IACxE,CAAC;IAED,wCAAO,GAAP;QACI,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,OAAO;SACV;QAED,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,cAAM,OAAA,SAAS,EAAT,CAAS,CAAC,CAAC;QAE5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACrD,CAAC;IAIO,gDAAe,GAAvB,UAAwB,YAA+B,EAAE,UAAiC;QAA1F,iBA0BC;QAzBG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,YAAY,IAAI,IAAI,CAAC;QAE1C,IAAM,QAAQ,GAAG;YACb,KAAI,CAAC,SAAS,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,wBAAiB,UAAU,IAAI,EAAE,cAAI,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,aAAU,CAAC,CAAC;QAChG,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,aAAa,IAAI,UAAU,KAAK,qCAAoB,CAAC,KAAK,EAAE;YACjE,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,KAAK,CAAC,EAAE;gBACtC,IAAI,sBAAoB,GAAQ,IAAI,CAAC;gBACrC,IAAM,aAAa,GAAG;oBAClB,sBAAoB,IAAI,sBAAoB,EAAE,CAAC;oBAC/C,IAAA,oCAAoB,EAAC,KAAI,CAAC,aAAa,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC;oBAClE,QAAQ,EAAE,CAAC;gBACf,CAAC,CAAC;gBAEF,sBAAoB,GAAG,IAAA,oCAAoB,EAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;aAClF;iBAAM;gBACH,IAAA,oCAAoB,EAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAClE,QAAQ,EAAE,CAAC;aACd;SACJ;aAAM;YACH,QAAQ,EAAE,CAAC;SACd;IACL,CAAC;IAEO,mDAAkB,GAA1B;QACI,KAAK,CAAC,IAAI,CAAC,sCAA+B,IAAI,CAAC,UAAU,gBAAM,IAAI,CAAC,WAAW,CAAE,CAAC,CAAC;QACnF,IAAM,UAAU,GAAG,EAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAC,CAAC;QAChF,IAAM,gBAAgB,GAAG,IAAA,mCAAmB,EAAC,UAAU,CAAC,CAAC;QAEzD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,mBAAmB,EAAE,EAAC,gBAAgB,kBAAA,EAAC,CAAC,CAAC;IAC1E,CAAC;IAEO,mDAAkB,GAA1B;QACI,IAAI,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YAClE,OAAO,IAAA,yCAAyB,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACxD;QAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,0CAAS,GAAjB,UAAkB,KAAa,EAAE,SAAe;QAAhD,iBAIC;QAHG,UAAU,CAAC;YACP,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,gDAAe,GAAvB;QACI,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACrD;IACL,CAAC;IACL,6BAAC;AAAD,CAAC,AAxLD,IAwLC;AAxLY,wDAAsB"}
|
|
@@ -14,3 +14,4 @@ export declare function isVideoPlaySupportedOnDevice(mediaServiceType: MediaServ
|
|
|
14
14
|
export declare function onMediaElementResize(mediaElement: any, onResizeHandler: any): () => void;
|
|
15
15
|
export declare function registerWebRTCAdapters(): void;
|
|
16
16
|
export declare function waitAfterClearingFilter(): Promise<void>;
|
|
17
|
+
//# sourceMappingURL=Compatibility.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"file":"Compatibility.d.ts","sourceRoot":"","sources":["../../src/MediaUtils/Compatibility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAInD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,EAAE,EAAE,GAAG,CAAC;QACR,QAAQ,EAAE,GAAG,CAAC;KACjB;CACJ;AAgBD,eAAO,MAAM,4CAA4C,KAAK,CAAC;AAC/D,eAAO,MAAM,wCAAwC,MAAM,CAAC;AAI5D,eAAO,MAAM,+CAA+C,IAAI,CAAC;AAUjE,wBAAgB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAsBtD;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAUlE;AAED,wBAAgB,4BAA4B,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBjG;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,GAAG,MAAM,IAAI,CA0CxF;AAED,wBAAgB,sBAAsB,SAQrC;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE7D"}
|