rx-player 3.29.0-dev.2022111000 → 3.29.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/CHANGELOG.md +2 -2
- package/VERSION +1 -1
- package/dist/_esm5.processed/compat/browser_compatibility_types.d.ts +1 -1
- package/dist/_esm5.processed/compat/browser_detection.js +10 -5
- package/dist/_esm5.processed/compat/eme/close_session.js +1 -1
- package/dist/_esm5.processed/compat/eme/custom_media_keys/index.d.ts +1 -1
- package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts +1 -1
- package/dist/_esm5.processed/compat/eme/load_session.js +1 -1
- package/dist/_esm5.processed/compat/event_listeners.d.ts +1 -1
- package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.d.ts +3 -3
- package/dist/_esm5.processed/core/adaptive/network_analyzer.d.ts +1 -1
- package/dist/_esm5.processed/core/api/option_utils.d.ts +2 -2
- package/dist/_esm5.processed/core/api/playback_observer.d.ts +1 -1
- package/dist/_esm5.processed/core/api/public_api.js +2 -2
- package/dist/_esm5.processed/core/decrypt/attach_media_keys.js +1 -1
- package/dist/_esm5.processed/core/decrypt/content_decryptor.js +21 -18
- package/dist/_esm5.processed/core/decrypt/create_or_load_session.d.ts +1 -1
- package/dist/_esm5.processed/core/decrypt/create_or_load_session.js +1 -1
- package/dist/_esm5.processed/core/decrypt/create_session.d.ts +1 -1
- package/dist/_esm5.processed/core/decrypt/create_session.js +1 -1
- package/dist/_esm5.processed/core/decrypt/dispose_decryption_resources.js +1 -1
- package/dist/_esm5.processed/core/decrypt/find_key_system.d.ts +1 -1
- package/dist/_esm5.processed/core/decrypt/find_key_system.js +1 -1
- package/dist/_esm5.processed/core/decrypt/get_media_keys.js +1 -1
- package/dist/_esm5.processed/core/decrypt/init_media_keys.js +1 -1
- package/dist/_esm5.processed/core/decrypt/set_server_certificate.js +1 -1
- package/dist/_esm5.processed/core/decrypt/types.d.ts +1 -1
- package/dist/_esm5.processed/core/decrypt/utils/check_key_statuses.d.ts +1 -1
- package/dist/_esm5.processed/core/decrypt/utils/clean_old_loaded_sessions.js +1 -1
- package/dist/_esm5.processed/core/decrypt/utils/loaded_sessions_store.js +1 -1
- package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.js +1 -1
- package/dist/_esm5.processed/core/fetchers/segment/prioritized_segment_fetcher.d.ts +1 -1
- package/dist/_esm5.processed/core/fetchers/segment/prioritized_segment_fetcher.js +2 -1
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.d.ts +1 -1
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.js +1 -1
- package/dist/_esm5.processed/core/fetchers/segment/task_prioritizer.d.ts +1 -1
- package/dist/_esm5.processed/core/fetchers/utils/schedule_request.js +1 -1
- package/dist/_esm5.processed/core/init/content_time_boundaries_observer.d.ts +1 -1
- package/dist/_esm5.processed/core/init/initial_seek_and_play.d.ts +1 -1
- package/dist/_esm5.processed/core/init/link_drm_and_content.d.ts +1 -1
- package/dist/_esm5.processed/core/init/load_on_media_source.js +5 -7
- package/dist/_esm5.processed/core/init/manifest_update_scheduler.d.ts +2 -2
- package/dist/_esm5.processed/core/init/stream_events_emitter/types.d.ts +1 -1
- package/dist/_esm5.processed/core/init/types.d.ts +4 -4
- package/dist/_esm5.processed/core/segment_buffers/garbage_collector.js +1 -1
- package/dist/_esm5.processed/core/segment_buffers/implementations/types.d.ts +2 -2
- package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.d.ts +3 -3
- package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.d.ts +2 -2
- package/dist/_esm5.processed/core/stream/period/get_adaptation_switch_strategy.d.ts +1 -1
- package/dist/_esm5.processed/core/stream/period/period_stream.d.ts +1 -1
- package/dist/_esm5.processed/core/stream/representation/append_segment_to_buffer.js +1 -1
- package/dist/_esm5.processed/core/stream/representation/downloading_queue.d.ts +3 -3
- package/dist/_esm5.processed/core/stream/representation/force_garbage_collection.js +2 -5
- package/dist/_esm5.processed/core/stream/types.d.ts +5 -5
- package/dist/_esm5.processed/default_config.d.ts +1 -1
- package/dist/_esm5.processed/errors/error_codes.d.ts +7 -7
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.js +5 -5
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/types.d.ts +2 -2
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +1 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.d.ts +1 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/capabilities.d.ts +1 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.d.ts +1 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/index.d.ts +1 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.d.ts +1 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/types.d.ts +1 -1
- package/dist/_esm5.processed/features/types.d.ts +10 -10
- package/dist/_esm5.processed/manifest/period.d.ts +1 -1
- package/dist/_esm5.processed/manifest/types.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/infer_adaptation_type.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/node_parser_types.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/parsers_types.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.js +2 -4
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/parsers_stack.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/local/types.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/types.d.ts +2 -2
- package/dist/_esm5.processed/parsers/texttracks/ttml/get_styling.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/types.d.ts +2 -2
- package/dist/_esm5.processed/public_types.d.ts +14 -14
- package/dist/_esm5.processed/transports/dash/image_pipelines.js +1 -1
- package/dist/_esm5.processed/transports/smooth/isobmff/create_init_segment.d.ts +1 -1
- package/dist/_esm5.processed/transports/smooth/pipelines.js +1 -1
- package/dist/_esm5.processed/transports/types.d.ts +11 -11
- package/dist/_esm5.processed/utils/assert.d.ts +1 -1
- package/dist/_esm5.processed/utils/deep_merge.d.ts +2 -2
- package/dist/_esm5.processed/utils/event_emitter.d.ts +2 -2
- package/dist/_esm5.processed/utils/logger.d.ts +2 -2
- package/dist/_esm5.processed/utils/request/fetch.js +1 -1
- package/dist/_esm5.processed/utils/task_canceller.d.ts +1 -1
- package/dist/rx-player.js +63 -64
- package/dist/rx-player.min.js +1 -1
- package/package.json +11 -11
- package/sonar-project.properties +1 -1
- package/src/compat/browser_detection.ts +15 -5
- package/src/core/api/public_api.ts +2 -2
- package/src/core/decrypt/content_decryptor.ts +13 -15
- package/src/core/fetchers/segment/prioritized_segment_fetcher.ts +3 -1
- package/src/core/init/load_on_media_source.ts +5 -7
- package/src/core/stream/representation/force_garbage_collection.ts +1 -4
- package/src/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.ts +6 -5
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.ts +2 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## v3.29.0 (
|
|
3
|
+
## v3.29.0 (2022-11-16)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
6
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
### Deprecated
|
|
14
14
|
|
|
15
|
-
- DRM: Deprecate `keySystems[].throwOnLicenseExpiration` `loadVideo` option as this boolean can be replaced with more
|
|
15
|
+
- DRM: Deprecate `keySystems[].throwOnLicenseExpiration` `loadVideo` option as this boolean can be replaced with more customizability by the new `keySystems[].onKeyExpiration` `loadVideo` option [#1157]
|
|
16
16
|
|
|
17
17
|
### Bug fixes
|
|
18
18
|
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.29.0
|
|
1
|
+
3.29.0
|
|
@@ -22,7 +22,7 @@ interface ICompatMediaKeysConstructor {
|
|
|
22
22
|
* Browser implementation of a VTTCue constructor.
|
|
23
23
|
* TODO open TypeScript issue about it?
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
type ICompatVTTCueConstructor = new (start: number, end: number, cueText: string) => ICompatVTTCue;
|
|
26
26
|
/** Browser implementation for a single VTTCue. */
|
|
27
27
|
interface ICompatVTTCue {
|
|
28
28
|
align: string;
|
|
@@ -35,11 +35,16 @@ var isSamsungBrowser = !isNode &&
|
|
|
35
35
|
var isTizen = !isNode &&
|
|
36
36
|
/Tizen/.test(navigator.userAgent);
|
|
37
37
|
var isWebOs = !isNode &&
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
navigator.userAgent.indexOf("Web0S") >= 0;
|
|
39
|
+
// Inspired form: http://webostv.developer.lge.com/discover/specifications/web-engine/
|
|
40
|
+
// Note: even that page doesn't correspond to what we've actually seen in the
|
|
41
|
+
// wild
|
|
42
|
+
var isWebOs2021 = isWebOs &&
|
|
43
|
+
(/[Ww]eb[O0]S.TV-2021/.test(navigator.userAgent) ||
|
|
44
|
+
/[Cc]hr[o0]me\/79/.test(navigator.userAgent));
|
|
45
|
+
var isWebOs2022 = isWebOs &&
|
|
46
|
+
(/[Ww]eb[O0]S.TV-2022/.test(navigator.userAgent) ||
|
|
47
|
+
/[Cc]hr[o0]me\/87/.test(navigator.userAgent));
|
|
43
48
|
/** `true` on Safari on a PC platform (i.e. not iPhone / iPad etc.) */
|
|
44
49
|
var isSafariDesktop = !isNode && (Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor") >= 0 ||
|
|
45
50
|
((_b = (_a = window.safari) === null || _a === void 0 ? void 0 : _a.pushNotification) === null || _b === void 0 ? void 0 : _b.toString()) ===
|
|
@@ -28,7 +28,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
28
28
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
29
|
function step(op) {
|
|
30
30
|
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
-
while (_) try {
|
|
31
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
32
32
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
33
33
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
34
|
switch (op[0]) {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import CustomMediaKeySystemAccess from "./../custom_key_system_access";
|
|
17
17
|
import { ICustomMediaKeys, ICustomMediaKeySession } from "./types";
|
|
18
18
|
/** Generic implementation of the navigator.requestMediaKeySystemAccess API. */
|
|
19
|
-
|
|
19
|
+
type ICompatRequestMediaKeySystemAccessFn = (keyType: string, config: MediaKeySystemConfiguration[]) => Promise<MediaKeySystemAccess | CustomMediaKeySystemAccess>;
|
|
20
20
|
declare let requestMediaKeySystemAccess: ICompatRequestMediaKeySystemAccessFn | null;
|
|
21
21
|
/**
|
|
22
22
|
* Set the given MediaKeys on the given HTMLMediaElement.
|
package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
type IWebKitMediaKeys = unknown;
|
|
17
17
|
interface IWebKitMediaKeysConstructor {
|
|
18
18
|
new (keySystem: string): IWebKitMediaKeys;
|
|
19
19
|
isTypeSupported: (keyType: string) => boolean;
|
|
@@ -28,7 +28,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
28
28
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
29
|
function step(op) {
|
|
30
30
|
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
-
while (_) try {
|
|
31
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
32
32
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
33
33
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
34
|
switch (op[0]) {
|
|
@@ -26,7 +26,7 @@ export interface IEventEmitterLike {
|
|
|
26
26
|
addEventListener: (eventName: string, handler: () => void) => void;
|
|
27
27
|
removeEventListener: (eventName: string, handler: () => void) => void;
|
|
28
28
|
}
|
|
29
|
-
export
|
|
29
|
+
export type IEventTargetLike = HTMLElement | IEventEmitterLike | IEventEmitter<unknown>;
|
|
30
30
|
/**
|
|
31
31
|
* Returns a reference:
|
|
32
32
|
* - Set to `true` when the current page is considered visible and active.
|
|
@@ -146,8 +146,8 @@ export interface IMetricsCallbackPayload {
|
|
|
146
146
|
segment: ISegment;
|
|
147
147
|
};
|
|
148
148
|
}
|
|
149
|
-
export
|
|
150
|
-
export
|
|
149
|
+
export type IRequestBeginCallbackPayload = IPendingRequestStoreBegin;
|
|
150
|
+
export type IRequestProgressCallbackPayload = IPendingRequestStoreProgress;
|
|
151
151
|
export interface IRequestEndCallbackPayload {
|
|
152
152
|
/**
|
|
153
153
|
* Same `id` value used to identify that request at the time the corresponding
|
|
@@ -301,7 +301,7 @@ export interface IRepresentationEstimatorArguments {
|
|
|
301
301
|
* Type of the function returned by `createAdaptiveRepresentationSelector`,
|
|
302
302
|
* allowing to estimate the most adapted `Representation`.
|
|
303
303
|
*/
|
|
304
|
-
export
|
|
304
|
+
export type IRepresentationEstimator = (
|
|
305
305
|
/** Information on the content for which a Representation will be chosen */
|
|
306
306
|
context: {
|
|
307
307
|
manifest: Manifest;
|
|
@@ -18,7 +18,7 @@ import { IRepresentationEstimatorPlaybackObservation } from "./adaptive_represen
|
|
|
18
18
|
import BandwidthEstimator from "./utils/bandwidth_estimator";
|
|
19
19
|
import { IRequestInfo } from "./utils/pending_requests_store";
|
|
20
20
|
/** Object describing the current playback conditions. */
|
|
21
|
-
|
|
21
|
+
type IPlaybackConditionsInfo = Pick<IRepresentationEstimatorPlaybackObservation, "bufferGap" | "position" | "speed" | "duration">;
|
|
22
22
|
/**
|
|
23
23
|
* Estimate the __VERY__ recent bandwidth based on a single unfinished request.
|
|
24
24
|
* Useful when the current bandwidth seemed to have fallen quickly.
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import { ISupplementaryImageTrack, ISupplementaryTextTrack } from "../../manifest";
|
|
17
17
|
import { IAudioTrackPreference, IAudioTrackSwitchingMode, IConstructorOptions, IKeySystemOption, ILoadedManifestFormat, ILoadVideoOptions, IManifestLoader, INetworkConfigOption, IRepresentationFilter, ISegmentLoader, IServerSyncInfos, ITextTrackPreference, IVideoTrackPreference } from "../../public_types";
|
|
18
18
|
/** Value once parsed for the `startAt` option of the `loadVideo` method. */
|
|
19
|
-
export
|
|
19
|
+
export type IParsedStartAtOption = {
|
|
20
20
|
position: number;
|
|
21
21
|
} | {
|
|
22
22
|
wallClockTime: number;
|
|
@@ -104,7 +104,7 @@ interface IParsedLoadVideoOptionsHTML extends IParsedLoadVideoOptionsBase {
|
|
|
104
104
|
* Type enumerating all possible forms for the parsed options of the RxPlayer's
|
|
105
105
|
* `loadVideo` method.
|
|
106
106
|
*/
|
|
107
|
-
export
|
|
107
|
+
export type IParsedLoadVideoOptions = IParsedLoadVideoOptionsNative | IParsedLoadVideoOptionsHTML;
|
|
108
108
|
/**
|
|
109
109
|
* Parse options given to the API constructor and set default options as found
|
|
110
110
|
* in the config.
|
|
@@ -174,7 +174,7 @@ export default class PlaybackObserver {
|
|
|
174
174
|
private _generateInitialObservation;
|
|
175
175
|
}
|
|
176
176
|
/** "Event" that triggered the playback observation. */
|
|
177
|
-
export
|
|
177
|
+
export type IPlaybackObserverEventType =
|
|
178
178
|
/** First playback observation automatically emitted. */
|
|
179
179
|
"init" | // set once on first emit
|
|
180
180
|
/** Regularly emitted playback observation when no event happened in a long time. */
|
|
@@ -87,7 +87,7 @@ var Player = /** @class */ (function (_super) {
|
|
|
87
87
|
// Workaround to support Firefox autoplay on FF 42.
|
|
88
88
|
// See: https://bugzilla.mozilla.org/show_bug.cgi?id=1194624
|
|
89
89
|
videoElement.preload = "auto";
|
|
90
|
-
_this.version = /* PLAYER_VERSION */ "3.29.0
|
|
90
|
+
_this.version = /* PLAYER_VERSION */ "3.29.0";
|
|
91
91
|
_this.log = log;
|
|
92
92
|
_this.state = "STOPPED";
|
|
93
93
|
_this.videoElement = videoElement;
|
|
@@ -2312,5 +2312,5 @@ var Player = /** @class */ (function (_super) {
|
|
|
2312
2312
|
};
|
|
2313
2313
|
return Player;
|
|
2314
2314
|
}(EventEmitter));
|
|
2315
|
-
Player.version = /* PLAYER_VERSION */ "3.29.0
|
|
2315
|
+
Player.version = /* PLAYER_VERSION */ "3.29.0";
|
|
2316
2316
|
export default Player;
|
|
@@ -28,7 +28,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
28
28
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
29
|
function step(op) {
|
|
30
30
|
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
-
while (_) try {
|
|
31
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
32
32
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
33
33
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
34
|
switch (op[0]) {
|
|
@@ -54,7 +54,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
54
54
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
55
55
|
function step(op) {
|
|
56
56
|
if (f) throw new TypeError("Generator is already executing.");
|
|
57
|
-
while (_) try {
|
|
57
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
58
58
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
59
59
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
60
60
|
switch (op[0]) {
|
|
@@ -424,10 +424,9 @@ var ContentDecryptor = /** @class */ (function (_super) {
|
|
|
424
424
|
sub = SessionEventsListener(mediaKeySession, options, mediaKeySystemAccess.keySystem)
|
|
425
425
|
.subscribe({
|
|
426
426
|
next: function (evt) {
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
return;
|
|
427
|
+
if (evt.type === "warning") {
|
|
428
|
+
_this.trigger("warning", evt.value);
|
|
429
|
+
return;
|
|
431
430
|
}
|
|
432
431
|
var linkedKeys = getKeyIdsLinkedToSession(initializationData, sessionInfo.record, options.singleLicensePer, sessionInfo.source === "created-session" /* MediaKeySessionLoadingType.Created */, evt.value.whitelistedKeyIds, evt.value.blacklistedKeyIds);
|
|
433
432
|
sessionInfo.record.associateKeyIds(linkedKeys.whitelisted);
|
|
@@ -728,20 +727,23 @@ function updateDecipherability(manifest, whitelistedKeyIds, blacklistedKeyIds, d
|
|
|
728
727
|
}
|
|
729
728
|
var contentKIDs = representation.contentProtections.keyIds;
|
|
730
729
|
if (contentKIDs !== undefined) {
|
|
731
|
-
for (var
|
|
732
|
-
var elt =
|
|
733
|
-
for (var
|
|
734
|
-
|
|
730
|
+
for (var _i = 0, contentKIDs_1 = contentKIDs; _i < contentKIDs_1.length; _i++) {
|
|
731
|
+
var elt = contentKIDs_1[_i];
|
|
732
|
+
for (var _a = 0, blacklistedKeyIds_1 = blacklistedKeyIds; _a < blacklistedKeyIds_1.length; _a++) {
|
|
733
|
+
var blacklistedKeyId = blacklistedKeyIds_1[_a];
|
|
734
|
+
if (areKeyIdsEqual(blacklistedKeyId, elt.keyId)) {
|
|
735
735
|
return false;
|
|
736
736
|
}
|
|
737
737
|
}
|
|
738
|
-
for (var
|
|
739
|
-
|
|
738
|
+
for (var _b = 0, whitelistedKeyIds_1 = whitelistedKeyIds; _b < whitelistedKeyIds_1.length; _b++) {
|
|
739
|
+
var whitelistedKeyId = whitelistedKeyIds_1[_b];
|
|
740
|
+
if (areKeyIdsEqual(whitelistedKeyId, elt.keyId)) {
|
|
740
741
|
return true;
|
|
741
742
|
}
|
|
742
743
|
}
|
|
743
|
-
for (var
|
|
744
|
-
|
|
744
|
+
for (var _c = 0, delistedKeyIds_1 = delistedKeyIds; _c < delistedKeyIds_1.length; _c++) {
|
|
745
|
+
var delistedKeyId = delistedKeyIds_1[_c];
|
|
746
|
+
if (areKeyIdsEqual(delistedKeyId, elt.keyId)) {
|
|
745
747
|
return undefined;
|
|
746
748
|
}
|
|
747
749
|
}
|
|
@@ -763,12 +765,12 @@ function blackListProtectionData(manifest, initData) {
|
|
|
763
765
|
return false;
|
|
764
766
|
}
|
|
765
767
|
var segmentProtections = (_b = (_a = representation.contentProtections) === null || _a === void 0 ? void 0 : _a.initData) !== null && _b !== void 0 ? _b : [];
|
|
766
|
-
var _loop_1 = function (
|
|
768
|
+
var _loop_1 = function (protection) {
|
|
767
769
|
if (initData.type === undefined ||
|
|
768
|
-
|
|
770
|
+
protection.type === initData.type) {
|
|
769
771
|
var containedInitData = initData.values.getFormattedValues()
|
|
770
772
|
.every(function (undecipherableVal) {
|
|
771
|
-
return
|
|
773
|
+
return protection.values.some(function (currVal) {
|
|
772
774
|
return (undecipherableVal.systemId === undefined ||
|
|
773
775
|
currVal.systemId === undecipherableVal.systemId) &&
|
|
774
776
|
areArraysOfNumbersEqual(currVal.data, undecipherableVal.data);
|
|
@@ -779,8 +781,9 @@ function blackListProtectionData(manifest, initData) {
|
|
|
779
781
|
}
|
|
780
782
|
}
|
|
781
783
|
};
|
|
782
|
-
for (var
|
|
783
|
-
var
|
|
784
|
+
for (var _i = 0, segmentProtections_1 = segmentProtections; _i < segmentProtections_1.length; _i++) {
|
|
785
|
+
var protection = segmentProtections_1[_i];
|
|
786
|
+
var state_1 = _loop_1(protection);
|
|
784
787
|
if (typeof state_1 === "object")
|
|
785
788
|
return state_1.value;
|
|
786
789
|
}
|
|
@@ -60,4 +60,4 @@ export interface ILoadedPersistentSessionEvent {
|
|
|
60
60
|
value: IMediaKeySessionContext;
|
|
61
61
|
}
|
|
62
62
|
/** Every possible result returned by `createOrLoadSession`. */
|
|
63
|
-
export
|
|
63
|
+
export type ICreateOrLoadSessionResult = ICreatedSession | ILoadedOpenSession | ILoadedPersistentSessionEvent;
|
|
@@ -28,7 +28,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
28
28
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
29
|
function step(op) {
|
|
30
30
|
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
-
while (_) try {
|
|
31
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
32
32
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
33
33
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
34
|
switch (op[0]) {
|
|
@@ -50,4 +50,4 @@ export interface IPersistentSessionRecoveryEvent {
|
|
|
50
50
|
keySessionRecord: KeySessionRecord;
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
|
-
export
|
|
53
|
+
export type ICreateSessionEvent = INewSessionCreatedEvent | IPersistentSessionRecoveryEvent;
|
|
@@ -28,7 +28,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
28
28
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
29
|
function step(op) {
|
|
30
30
|
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
-
while (_) try {
|
|
31
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
32
32
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
33
33
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
34
|
switch (op[0]) {
|
|
@@ -28,7 +28,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
28
28
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
29
|
function step(op) {
|
|
30
30
|
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
-
while (_) try {
|
|
31
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
32
32
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
33
33
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
34
|
switch (op[0]) {
|
|
@@ -28,7 +28,7 @@ export interface ICreateMediaKeySystemAccessEvent {
|
|
|
28
28
|
type: "create-media-key-system-access";
|
|
29
29
|
value: IMediaKeySystemAccessInfos;
|
|
30
30
|
}
|
|
31
|
-
export
|
|
31
|
+
export type IFoundMediaKeySystemAccessEvent = IReuseMediaKeySystemAccessEvent | ICreateMediaKeySystemAccessEvent;
|
|
32
32
|
/**
|
|
33
33
|
* Try to find a compatible key system from the keySystems array given.
|
|
34
34
|
*
|
|
@@ -28,7 +28,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
28
28
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
29
|
function step(op) {
|
|
30
30
|
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
-
while (_) try {
|
|
31
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
32
32
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
33
33
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
34
|
switch (op[0]) {
|
|
@@ -28,7 +28,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
28
28
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
29
|
function step(op) {
|
|
30
30
|
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
-
while (_) try {
|
|
31
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
32
32
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
33
33
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
34
|
switch (op[0]) {
|
|
@@ -28,7 +28,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
28
28
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
29
|
function step(op) {
|
|
30
30
|
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
-
while (_) try {
|
|
31
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
32
32
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
33
33
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
34
|
switch (op[0]) {
|
|
@@ -28,7 +28,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
28
28
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
29
|
function step(op) {
|
|
30
30
|
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
-
while (_) try {
|
|
31
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
32
32
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
33
33
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
34
|
switch (op[0]) {
|
|
@@ -70,7 +70,7 @@ export interface IEMEWarningEvent {
|
|
|
70
70
|
type: "warning";
|
|
71
71
|
value: IPlayerError;
|
|
72
72
|
}
|
|
73
|
-
export
|
|
73
|
+
export type ILicense = BufferSource | ArrayBuffer;
|
|
74
74
|
/** Segment protection sent by the RxPlayer to the `ContentDecryptor`. */
|
|
75
75
|
export interface IContentProtection {
|
|
76
76
|
/** The content linked to that segment protection data. */
|
|
@@ -33,7 +33,7 @@ export declare class DecommissionedSessionError extends Error {
|
|
|
33
33
|
*/
|
|
34
34
|
constructor(reason: IPlayerError);
|
|
35
35
|
}
|
|
36
|
-
export
|
|
36
|
+
export type IKeyStatusesCheckingOptions = Pick<IKeySystemOption, "throwOnLicenseExpiration" | "fallbackOn" | "onKeyExpiration">;
|
|
37
37
|
/**
|
|
38
38
|
* Look at the current key statuses in the sessions and construct the
|
|
39
39
|
* appropriate warnings, whitelisted and blacklisted key ids.
|
|
@@ -28,7 +28,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
28
28
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
29
|
function step(op) {
|
|
30
30
|
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
-
while (_) try {
|
|
31
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
32
32
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
33
33
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
34
|
switch (op[0]) {
|
|
@@ -39,7 +39,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
39
39
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
40
40
|
function step(op) {
|
|
41
41
|
if (f) throw new TypeError("Generator is already executing.");
|
|
42
|
-
while (_) try {
|
|
42
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
43
43
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
44
44
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
45
45
|
switch (op[0]) {
|
|
@@ -28,7 +28,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
28
28
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
29
|
function step(op) {
|
|
30
30
|
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
-
while (_) try {
|
|
31
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
32
32
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
33
33
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
34
|
switch (op[0]) {
|
|
@@ -35,4 +35,4 @@ export interface IPrioritizedSegmentFetcher<TSegmentDataType> {
|
|
|
35
35
|
updatePriority: (task: Promise<void>, priority: number) => void;
|
|
36
36
|
}
|
|
37
37
|
/** Callbacks awaited by `applyPrioritizerToSegmentFetcher`. */
|
|
38
|
-
export
|
|
38
|
+
export type IPrioritizedSegmentFetcherCallbacks<TSegmentDataType> = ISegmentFetcherCallbacks<TSegmentDataType> & ITaskPrioritizerCallbacks;
|
|
@@ -37,10 +37,11 @@ export default function applyPrioritizerToSegmentFetcher(prioritizer, fetcher) {
|
|
|
37
37
|
* @param {Object} content - content to request
|
|
38
38
|
* @param {Number} priority - priority at which the content should be requested.
|
|
39
39
|
* Lower number == higher priority.
|
|
40
|
+
* @param {Object} callbacks
|
|
41
|
+
* @param {Object} cancelSignal
|
|
40
42
|
* @returns {Promise}
|
|
41
43
|
*/
|
|
42
44
|
createRequest: function (content, priority, callbacks, cancelSignal) {
|
|
43
|
-
if (priority === void 0) { priority = 0; }
|
|
44
45
|
var givenTask = function (innerCancelSignal) {
|
|
45
46
|
return fetcher(content, callbacks, innerCancelSignal);
|
|
46
47
|
};
|
|
@@ -42,7 +42,7 @@ export default function createSegmentFetcher<TLoadedFormat, TSegmentDataType>(bu
|
|
|
42
42
|
* The returned Promise only gives an indication of if the request ended with
|
|
43
43
|
* success or on error.
|
|
44
44
|
*/
|
|
45
|
-
export
|
|
45
|
+
export type ISegmentFetcher<TSegmentDataType> = (
|
|
46
46
|
/** Information on the segment wanted. */
|
|
47
47
|
content: ISegmentLoaderContent,
|
|
48
48
|
/** Callbacks the `ISegmentFetcher` will call as it loads the data. */
|
|
@@ -28,7 +28,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
28
28
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
29
|
function step(op) {
|
|
30
30
|
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
-
while (_) try {
|
|
31
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
32
32
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
33
33
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
34
|
switch (op[0]) {
|
|
@@ -92,7 +92,7 @@ export default class TaskPrioritizer<T> {
|
|
|
92
92
|
*
|
|
93
93
|
* A same task might be re-run multiple times.
|
|
94
94
|
*/
|
|
95
|
-
export
|
|
95
|
+
export type ITaskFn<T> = (cancellationSignal: CancellationSignal) => Promise<T>;
|
|
96
96
|
/** Options to give to the `TaskPrioritizer`. */
|
|
97
97
|
export interface IPrioritizerOptions {
|
|
98
98
|
/** @see IPrioritizerPrioritySteps */
|
|
@@ -28,7 +28,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
28
28
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
29
|
function step(op) {
|
|
30
30
|
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
-
while (_) try {
|
|
31
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
32
32
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
33
33
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
34
|
switch (op[0]) {
|
|
@@ -42,4 +42,4 @@ export interface IContentDurationUpdateEvent {
|
|
|
42
42
|
/** The new theoretical duration, `undefined` if unknown, */
|
|
43
43
|
value: number | undefined;
|
|
44
44
|
}
|
|
45
|
-
export
|
|
45
|
+
export type IContentTimeObserverPlaybackObservation = Pick<IStreamOrchestratorPlaybackObservation, "position">;
|
|
@@ -18,7 +18,7 @@ import { IReadOnlySharedReference } from "../../utils/reference";
|
|
|
18
18
|
import { IPlaybackObservation, PlaybackObserver } from "../api";
|
|
19
19
|
import { IWarningEvent } from "./types";
|
|
20
20
|
/** Event emitted when trying to perform the initial `play`. */
|
|
21
|
-
export
|
|
21
|
+
export type IInitialPlayEvent =
|
|
22
22
|
/** Autoplay is not enabled, but all required steps to do so are there. */
|
|
23
23
|
{
|
|
24
24
|
type: "skipped";
|
|
@@ -25,7 +25,7 @@ import { IWarningEvent } from "./types";
|
|
|
25
25
|
* @returns {Observable}
|
|
26
26
|
*/
|
|
27
27
|
export default function linkDrmAndContent<T>(mediaElement: HTMLMediaElement, keySystems: IKeySystemOption[], contentProtections$: Observable<IContentProtection>, linkingMedia$: Observable<T>): Observable<IContentDecryptorInitEvent<T>>;
|
|
28
|
-
export
|
|
28
|
+
export type IContentDecryptorInitEvent<T> = IDecryptionDisabledEvent<T> | IDecryptionReadyEvent<T> | IWarningEvent;
|
|
29
29
|
/**
|
|
30
30
|
* Event emitted after deciding that no decryption logic will be launched for
|
|
31
31
|
* the current content.
|
|
@@ -91,14 +91,12 @@ export default function createMediaSourceLoader(_a) {
|
|
|
91
91
|
}));
|
|
92
92
|
var contentTimeObserver = ContentTimeBoundariesObserver(manifest, lastAdaptationChange, streamObserver)
|
|
93
93
|
.pipe(mergeMap(function (evt) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
return EMPTY;
|
|
99
|
-
default:
|
|
100
|
-
return observableOf(evt);
|
|
94
|
+
if (evt.type === "contentDurationUpdate") {
|
|
95
|
+
log.debug("Init: Duration has to be updated.", evt.value);
|
|
96
|
+
mediaDurationUpdater.updateKnownDuration(evt.value);
|
|
97
|
+
return EMPTY;
|
|
101
98
|
}
|
|
99
|
+
return observableOf(evt);
|
|
102
100
|
}));
|
|
103
101
|
/**
|
|
104
102
|
* Observable trying to avoid various stalling situations, emitting "stalled"
|
|
@@ -34,7 +34,7 @@ export interface IManifestUpdateSchedulerArguments {
|
|
|
34
34
|
scheduleRefresh$: IManifestRefreshScheduler;
|
|
35
35
|
}
|
|
36
36
|
/** Function defined to refresh the Manifest */
|
|
37
|
-
export
|
|
37
|
+
export type IManifestFetcher = (manifestURL: string | undefined, options: IManifestFetcherParserOptions) => Observable<IManifestFetcherParsedResult | IWarningEvent>;
|
|
38
38
|
/** Events sent by the `IManifestRefreshScheduler` Observable */
|
|
39
39
|
export interface IManifestRefreshSchedulerEvent {
|
|
40
40
|
/**
|
|
@@ -56,7 +56,7 @@ export interface IManifestRefreshSchedulerEvent {
|
|
|
56
56
|
canUseUnsafeMode: boolean;
|
|
57
57
|
}
|
|
58
58
|
/** Observable to send events related to refresh requests coming from the Player. */
|
|
59
|
-
export
|
|
59
|
+
export type IManifestRefreshScheduler = Observable<IManifestRefreshSchedulerEvent>;
|
|
60
60
|
/**
|
|
61
61
|
* Refresh the Manifest at the right time.
|
|
62
62
|
* @param {Object} manifestUpdateSchedulerArguments
|
|
@@ -50,4 +50,4 @@ export interface IStreamEventSkipEvent {
|
|
|
50
50
|
value: IPublicStreamEvent | IPublicNonFiniteStreamEvent;
|
|
51
51
|
}
|
|
52
52
|
/** Events sent by the `streamEventsEmitter`. */
|
|
53
|
-
export
|
|
53
|
+
export type IStreamEvent = IStreamEventEvent | IStreamEventSkipEvent;
|
|
@@ -65,7 +65,7 @@ export interface IStalledEvent {
|
|
|
65
65
|
/** The reason behind the stall */
|
|
66
66
|
value: IStallingSituation;
|
|
67
67
|
}
|
|
68
|
-
export
|
|
68
|
+
export type IStallingSituation = "seeking" | // Rebuffering after seeking
|
|
69
69
|
"not-ready" | // Rebuffering after low ready state
|
|
70
70
|
"internal-seek" | // Rebuffering after a seek happened inside the player
|
|
71
71
|
"buffering" | // Other rebuffering cases
|
|
@@ -87,8 +87,8 @@ export interface ILoadedEvent {
|
|
|
87
87
|
}
|
|
88
88
|
export { IRepresentationChangeEvent };
|
|
89
89
|
/** Events emitted by a `MediaSourceLoader`. */
|
|
90
|
-
export
|
|
90
|
+
export type IMediaSourceLoaderEvent = IStalledEvent | IUnstalledEvent | ILoadedEvent | IWarningEvent | IStreamEventEvent | IStreamEventSkipEvent | IActivePeriodChangedEvent | IPeriodStreamClearedEvent | ICompletedStreamEvent | IPeriodStreamReadyEvent | INeedsMediaSourceReload | INeedsBufferFlushEvent | IAdaptationChangeEvent | IBitrateEstimationChangeEvent | INeedsDecipherabilityFlush | IRepresentationChangeEvent | IStreamEventAddedSegment<unknown> | IEncryptionDataEncounteredEvent | IStreamManifestMightBeOutOfSync | IStreamNeedsManifestRefresh | IInbandEventsEvent;
|
|
91
91
|
/** Every events emitted by the `Init` module. */
|
|
92
|
-
export
|
|
92
|
+
export type IInitEvent = IManifestReadyEvent | IManifestUpdateEvent | IReloadingMediaSourceEvent | IDecipherabilityUpdateEvent | IWarningEvent | IStalledEvent | IUnstalledEvent | ILoadedEvent | IStreamEventEvent | IStreamEventSkipEvent | IActivePeriodChangedEvent | IPeriodStreamClearedEvent | ICompletedStreamEvent | IPeriodStreamReadyEvent | IAdaptationChangeEvent | IBitrateEstimationChangeEvent | IRepresentationChangeEvent | IStreamEventAddedSegment<unknown> | IInbandEventsEvent;
|
|
93
93
|
/** Events emitted by the `Init` module for directfile contents. */
|
|
94
|
-
export
|
|
94
|
+
export type IDirectfileEvent = IStalledEvent | IUnstalledEvent | ILoadedEvent | IWarningEvent;
|
|
@@ -28,7 +28,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
28
28
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
29
|
function step(op) {
|
|
30
30
|
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
-
while (_) try {
|
|
31
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
32
32
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
33
33
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
34
|
switch (op[0]) {
|