rx-player 4.5.0-dev.2026012302 → 4.5.0-dev.2026031700
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 +21 -3
- package/VERSION +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +1 -1
- package/dist/commonjs/compat/should_seek_at_zero.d.ts +12 -0
- package/dist/commonjs/compat/should_seek_at_zero.d.ts.map +1 -0
- package/dist/commonjs/compat/should_seek_at_zero.js +23 -0
- package/dist/commonjs/core/cmcd/cmcd_data_builder.js +2 -2
- package/dist/commonjs/core/entry/FreezeResolver.js +2 -2
- package/dist/commonjs/core/entry/content_preparer.d.ts +1 -6
- package/dist/commonjs/core/entry/content_preparer.d.ts.map +1 -1
- package/dist/commonjs/core/entry/content_preparer.js +2 -125
- package/dist/commonjs/core/entry/content_time_boundaries_observer.d.ts.map +1 -1
- package/dist/commonjs/core/entry/content_time_boundaries_observer.js +8 -0
- package/dist/commonjs/core/entry/core_entry.d.ts +1 -1
- package/dist/commonjs/core/entry/core_entry.d.ts.map +1 -1
- package/dist/commonjs/core/entry/core_entry.js +2 -7
- package/dist/commonjs/core/entry/core_text_displayer_interface.d.ts.map +1 -1
- package/dist/commonjs/core/entry/core_text_displayer_interface.js +3 -1
- package/dist/commonjs/core/entry/index.d.ts +1 -1
- package/dist/commonjs/core/entry/index.d.ts.map +1 -1
- package/dist/commonjs/core/entry/utils.d.ts +64 -0
- package/dist/commonjs/core/entry/utils.d.ts.map +1 -1
- package/dist/commonjs/core/entry/utils.js +165 -0
- package/dist/commonjs/core/fetchers/segment/segment_queue.d.ts +5 -6
- package/dist/commonjs/core/fetchers/segment/segment_queue.d.ts.map +1 -1
- package/dist/commonjs/core/fetchers/thumbnails/thumbnail_fetcher.d.ts.map +1 -1
- package/dist/commonjs/core/fetchers/thumbnails/thumbnail_fetcher.js +34 -30
- package/dist/commonjs/core/stream/representation/encryption_data_notifier.d.ts +70 -0
- package/dist/commonjs/core/stream/representation/encryption_data_notifier.d.ts.map +1 -0
- package/dist/commonjs/core/stream/representation/encryption_data_notifier.js +107 -0
- package/dist/commonjs/core/stream/representation/representation_stream.d.ts.map +1 -1
- package/dist/commonjs/core/stream/representation/representation_stream.js +12 -60
- package/dist/commonjs/core/stream/representation/utils/get_needed_segments.js +1 -1
- package/dist/commonjs/default_config.d.ts +5 -0
- package/dist/commonjs/default_config.d.ts.map +1 -1
- package/dist/commonjs/default_config.js +5 -0
- package/dist/commonjs/experimental/features/worker/index.d.ts +2 -1
- package/dist/commonjs/experimental/features/worker/index.d.ts.map +1 -1
- package/dist/commonjs/experimental/features/worker/index.js +4 -3
- package/dist/commonjs/main_thread/api/public_api.d.ts.map +1 -1
- package/dist/commonjs/main_thread/api/public_api.js +28 -4
- package/dist/commonjs/main_thread/init/directfile_content_initializer.d.ts.map +1 -1
- package/dist/commonjs/main_thread/init/directfile_content_initializer.js +23 -1
- package/dist/commonjs/main_thread/init/utils/initial_seek_and_play.d.ts.map +1 -1
- package/dist/commonjs/main_thread/init/utils/initial_seek_and_play.js +3 -1
- package/dist/commonjs/manifest/classes/index.d.ts +2 -1
- package/dist/commonjs/manifest/classes/index.d.ts.map +1 -1
- package/dist/commonjs/manifest/classes/representation.d.ts +1 -1
- package/dist/commonjs/manifest/classes/representation.d.ts.map +1 -1
- package/dist/commonjs/manifest/classes/representation.js +2 -2
- package/dist/commonjs/manifest/classes/representation_index/types.d.ts +2 -2
- package/dist/commonjs/parsers/texttracks/ttml/html/apply_line_height.d.ts.map +1 -1
- package/dist/commonjs/parsers/texttracks/ttml/html/apply_line_height.js +16 -1
- package/dist/commonjs/utils/base64.d.ts +15 -1
- package/dist/commonjs/utils/base64.d.ts.map +1 -1
- package/dist/commonjs/utils/base64.js +6 -0
- package/dist/commonjs/utils/ranges.d.ts +1 -1
- package/dist/commonjs/utils/ranges.js +1 -1
- package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
- package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
- package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
- package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
- package/dist/es2017/compat/should_seek_at_zero.d.ts +12 -0
- package/dist/es2017/compat/should_seek_at_zero.d.ts.map +1 -0
- package/dist/es2017/compat/should_seek_at_zero.js +20 -0
- package/dist/es2017/core/cmcd/cmcd_data_builder.js +2 -2
- package/dist/es2017/core/entry/FreezeResolver.js +1 -1
- package/dist/es2017/core/entry/content_preparer.d.ts +1 -6
- package/dist/es2017/core/entry/content_preparer.d.ts.map +1 -1
- package/dist/es2017/core/entry/content_preparer.js +1 -76
- package/dist/es2017/core/entry/content_time_boundaries_observer.d.ts.map +1 -1
- package/dist/es2017/core/entry/content_time_boundaries_observer.js +8 -0
- package/dist/es2017/core/entry/core_entry.d.ts +1 -1
- package/dist/es2017/core/entry/core_entry.d.ts.map +1 -1
- package/dist/es2017/core/entry/core_entry.js +2 -7
- package/dist/es2017/core/entry/core_text_displayer_interface.d.ts.map +1 -1
- package/dist/es2017/core/entry/core_text_displayer_interface.js +3 -1
- package/dist/es2017/core/entry/index.d.ts +1 -1
- package/dist/es2017/core/entry/index.d.ts.map +1 -1
- package/dist/es2017/core/entry/utils.d.ts +64 -0
- package/dist/es2017/core/entry/utils.d.ts.map +1 -1
- package/dist/es2017/core/entry/utils.js +98 -0
- package/dist/es2017/core/fetchers/segment/segment_queue.d.ts +5 -6
- package/dist/es2017/core/fetchers/segment/segment_queue.d.ts.map +1 -1
- package/dist/es2017/core/fetchers/thumbnails/thumbnail_fetcher.d.ts.map +1 -1
- package/dist/es2017/core/fetchers/thumbnails/thumbnail_fetcher.js +21 -16
- package/dist/es2017/core/stream/representation/encryption_data_notifier.d.ts +70 -0
- package/dist/es2017/core/stream/representation/encryption_data_notifier.d.ts.map +1 -0
- package/dist/es2017/core/stream/representation/encryption_data_notifier.js +80 -0
- package/dist/es2017/core/stream/representation/representation_stream.d.ts.map +1 -1
- package/dist/es2017/core/stream/representation/representation_stream.js +10 -38
- package/dist/es2017/core/stream/representation/utils/get_needed_segments.js +1 -1
- package/dist/es2017/default_config.d.ts +5 -0
- package/dist/es2017/default_config.d.ts.map +1 -1
- package/dist/es2017/default_config.js +5 -0
- package/dist/es2017/experimental/features/worker/index.d.ts +2 -1
- package/dist/es2017/experimental/features/worker/index.d.ts.map +1 -1
- package/dist/es2017/experimental/features/worker/index.js +2 -3
- package/dist/es2017/main_thread/api/public_api.d.ts.map +1 -1
- package/dist/es2017/main_thread/api/public_api.js +28 -4
- package/dist/es2017/main_thread/init/directfile_content_initializer.d.ts.map +1 -1
- package/dist/es2017/main_thread/init/directfile_content_initializer.js +23 -1
- package/dist/es2017/main_thread/init/utils/initial_seek_and_play.d.ts.map +1 -1
- package/dist/es2017/main_thread/init/utils/initial_seek_and_play.js +3 -1
- package/dist/es2017/manifest/classes/index.d.ts +2 -1
- package/dist/es2017/manifest/classes/index.d.ts.map +1 -1
- package/dist/es2017/manifest/classes/representation.d.ts +1 -1
- package/dist/es2017/manifest/classes/representation.d.ts.map +1 -1
- package/dist/es2017/manifest/classes/representation.js +1 -1
- package/dist/es2017/manifest/classes/representation_index/types.d.ts +2 -2
- package/dist/es2017/parsers/texttracks/ttml/html/apply_line_height.d.ts.map +1 -1
- package/dist/es2017/parsers/texttracks/ttml/html/apply_line_height.js +16 -1
- package/dist/es2017/utils/base64.d.ts +15 -1
- package/dist/es2017/utils/base64.d.ts.map +1 -1
- package/dist/es2017/utils/base64.js +6 -0
- package/dist/es2017/utils/ranges.d.ts +1 -1
- package/dist/es2017/utils/ranges.js +1 -1
- package/dist/mpd-parser.wasm +0 -0
- package/dist/worker.js +8 -8
- package/package.json +26 -23
- package/src/__GENERATED_CODE/embedded_dash_wasm.ts +1 -1
- package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
- package/src/compat/should_seek_at_zero.ts +23 -0
- package/src/core/adaptive/__tests__/adaptive_representation_selector.test.ts +734 -0
- package/src/core/adaptive/__tests__/guess_based_chooser.test.ts +793 -0
- package/src/core/adaptive/__tests__/network_analyzer.test.ts +514 -0
- package/src/core/adaptive/utils/__tests__/bandwidth_estimator.test.ts +117 -0
- package/src/core/adaptive/utils/__tests__/last_estimate_storage.test.ts +76 -0
- package/src/core/adaptive/utils/__tests__/pending_requests_store.test.ts +288 -0
- package/src/core/adaptive/utils/__tests__/representation_score_calculator.test.ts +249 -0
- package/src/core/cmcd/__tests__/cmcd_data_builder.test.ts +464 -0
- package/src/core/cmcd/cmcd_data_builder.ts +2 -2
- package/src/core/entry/FreezeResolver.ts +1 -1
- package/src/core/entry/__tests__/FreezeResolver.test.ts +542 -0
- package/src/core/entry/__tests__/content_time_boundaries_observer.test.ts +867 -0
- package/src/core/entry/__tests__/core_text_displayer_interface.test.ts +205 -0
- package/src/core/entry/__tests__/get_buffered_data_per_media_buffer.test.ts +95 -0
- package/src/core/entry/__tests__/track_choice_setter.test.ts +288 -0
- package/src/core/entry/__tests__/utils.test.ts +309 -0
- package/src/core/entry/content_preparer.ts +7 -118
- package/src/core/entry/content_time_boundaries_observer.ts +10 -0
- package/src/core/entry/core_entry.ts +7 -14
- package/src/core/entry/core_text_displayer_interface.ts +3 -1
- package/src/core/entry/index.ts +1 -1
- package/src/core/entry/utils.ts +151 -0
- package/src/core/fetchers/__tests__/cdn_prioritizer.test.ts +166 -0
- package/src/core/fetchers/manifest/__tests__/manifest_fetcher.test.ts +803 -0
- package/src/core/fetchers/segment/__tests__/segment_fetcher.test.ts +872 -0
- package/src/core/fetchers/segment/__tests__/segment_queue.test.ts +557 -0
- package/src/core/fetchers/segment/segment_queue.ts +5 -6
- package/src/core/fetchers/thumbnails/__tests__/thumbnail_fetcher.test.ts +435 -0
- package/src/core/fetchers/thumbnails/thumbnail_fetcher.ts +28 -20
- package/src/core/fetchers/utils/__tests__/schedule_request.test.ts +331 -0
- package/src/core/stream/adaptation/__tests__/get_representations_switch_strategy.test.ts +593 -0
- package/src/core/stream/period/utils/__tests__/get_adaptation_switch_strategy.test.ts +646 -0
- package/src/core/stream/representation/__tests__/encryption_data_notifier.test.ts +531 -0
- package/src/core/stream/representation/encryption_data_notifier.ts +122 -0
- package/src/core/stream/representation/representation_stream.ts +11 -49
- package/src/core/stream/representation/utils/__tests__/append_segment_to_buffer.test.ts +321 -0
- package/src/core/stream/representation/utils/__tests__/check_for_discontinuity.test.ts +513 -0
- package/src/core/stream/representation/utils/__tests__/get_segment_priority.test.ts +132 -0
- package/src/core/stream/representation/utils/__tests__/push_init_segment.test.ts +209 -0
- package/src/core/stream/representation/utils/__tests__/push_media_segment.test.ts +343 -0
- package/src/core/stream/representation/utils/get_needed_segments.ts +1 -1
- package/src/default_config.ts +6 -0
- package/src/experimental/features/worker/index.ts +2 -4
- package/src/main_thread/api/public_api.ts +33 -4
- package/src/main_thread/init/directfile_content_initializer.ts +26 -1
- package/src/main_thread/init/utils/initial_seek_and_play.ts +5 -1
- package/src/manifest/classes/index.ts +2 -0
- package/src/manifest/classes/representation.ts +2 -1
- package/src/manifest/classes/representation_index/types.ts +2 -2
- package/src/mse/__tests__/main_media_source_interface.test.ts +846 -0
- package/src/parsers/texttracks/ttml/html/apply_line_height.ts +16 -1
- package/src/utils/__tests__/base64.test.ts +159 -191
- package/src/utils/base64.ts +30 -1
- package/src/utils/ranges.ts +1 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determines whether the player should perform an explicit initial seek to 0.
|
|
3
|
+
*
|
|
4
|
+
* In most cases, a media element starts at position 0 and no initial seek is
|
|
5
|
+
* needed. The exception is Safari when playing HLS streams: the native player
|
|
6
|
+
* may start at the live position instead of 0, so performing an explicit seek
|
|
7
|
+
* ensures the player starts from the intended initial position.
|
|
8
|
+
*
|
|
9
|
+
* @returns {boolean} `true` if an explicit initial seek to 0 should be performed.
|
|
10
|
+
*/
|
|
11
|
+
export default function shouldPerformInitialSeekToZero(): boolean;
|
|
12
|
+
//# sourceMappingURL=should_seek_at_zero.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"should_seek_at_zero.d.ts","sourceRoot":"","sources":["../../../src/compat/should_seek_at_zero.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,8BAA8B,IAAI,OAAO,CAShE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = shouldPerformInitialSeekToZero;
|
|
4
|
+
var config_1 = require("../config");
|
|
5
|
+
var env_detector_1 = require("./env_detector");
|
|
6
|
+
/**
|
|
7
|
+
* Determines whether the player should perform an explicit initial seek to 0.
|
|
8
|
+
*
|
|
9
|
+
* In most cases, a media element starts at position 0 and no initial seek is
|
|
10
|
+
* needed. The exception is Safari when playing HLS streams: the native player
|
|
11
|
+
* may start at the live position instead of 0, so performing an explicit seek
|
|
12
|
+
* ensures the player starts from the intended initial position.
|
|
13
|
+
*
|
|
14
|
+
* @returns {boolean} `true` if an explicit initial seek to 0 should be performed.
|
|
15
|
+
*/
|
|
16
|
+
function shouldPerformInitialSeekToZero() {
|
|
17
|
+
var FORCE_INITIAL_SEEK_TO_ZERO = config_1.default.getCurrent().FORCE_INITIAL_SEEK_TO_ZERO;
|
|
18
|
+
if (FORCE_INITIAL_SEEK_TO_ZERO) {
|
|
19
|
+
return FORCE_INITIAL_SEEK_TO_ZERO;
|
|
20
|
+
}
|
|
21
|
+
return (env_detector_1.default.browser === env_detector_1.default.BROWSERS.SafariDesktop ||
|
|
22
|
+
env_detector_1.default.browser === env_detector_1.default.BROWSERS.SafariMobile);
|
|
23
|
+
}
|
|
@@ -297,14 +297,14 @@ var CmcdDataBuilder = /** @class */ (function () {
|
|
|
297
297
|
var val = props[prop];
|
|
298
298
|
if (val !== undefined) {
|
|
299
299
|
var formatted = "\"".concat(val.replace("\\", "\\\\").replace('"', '\\"'), "\"");
|
|
300
|
-
var toAdd = "prop=".concat(formatted, ",");
|
|
300
|
+
var toAdd = "".concat(prop, "=").concat(formatted, ",");
|
|
301
301
|
addPayload(toAdd, headerName);
|
|
302
302
|
}
|
|
303
303
|
};
|
|
304
304
|
var addTokenProperty = function (prop, headerName) {
|
|
305
305
|
var val = props[prop];
|
|
306
306
|
if (val !== undefined) {
|
|
307
|
-
var toAdd = "prop=".concat(val, ",");
|
|
307
|
+
var toAdd = "".concat(prop, "=").concat(val, ",");
|
|
308
308
|
addPayload(toAdd, headerName);
|
|
309
309
|
}
|
|
310
310
|
};
|
|
@@ -11,7 +11,7 @@ var __values = (this && this.__values) || function(o) {
|
|
|
11
11
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
var
|
|
14
|
+
var config_1 = require("../../config");
|
|
15
15
|
var log_1 = require("../../log");
|
|
16
16
|
var monotonic_timestamp_1 = require("../../utils/monotonic_timestamp");
|
|
17
17
|
/**
|
|
@@ -104,7 +104,7 @@ var FreezeResolver = /** @class */ (function () {
|
|
|
104
104
|
return null;
|
|
105
105
|
}
|
|
106
106
|
this._ignoreFreezeUntil = null;
|
|
107
|
-
var _c =
|
|
107
|
+
var _c = config_1.default.getCurrent(), UNFREEZING_SEEK_DELAY = _c.UNFREEZING_SEEK_DELAY, UNFREEZING_DELTA_POSITION = _c.UNFREEZING_DELTA_POSITION, FREEZING_FLUSH_FAILURE_DELAY = _c.FREEZING_FLUSH_FAILURE_DELAY;
|
|
108
108
|
var readyState = observation.readyState, rebuffering = observation.rebuffering, freezing = observation.freezing, fullyLoaded = observation.fullyLoaded;
|
|
109
109
|
var freezingPosition = observation.position.getPolled();
|
|
110
110
|
var bufferGap = normalizeBufferGap(observation.bufferGap);
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { IContentInitializationData } from "../../main_thread/types";
|
|
2
2
|
import type { IManifest } from "../../manifest";
|
|
3
3
|
import type { IMediaSourceInterface } from "../../mse";
|
|
4
|
-
import type { IRepresentationFilter, ISegmentLoader, IManifestLoader } from "../../public_types";
|
|
5
4
|
import type { IRepresentationEstimator } from "../adaptive";
|
|
6
5
|
import type { IRepresentationEstimatorThrottlers } from "../adaptive/adaptive_representation_selector";
|
|
7
6
|
import CmcdDataBuilder from "../cmcd";
|
|
@@ -13,6 +12,7 @@ import type { ICoreMessage } from "../types";
|
|
|
13
12
|
import CoreTextDisplayerInterface from "./core_text_displayer_interface";
|
|
14
13
|
import FreezeResolver from "./FreezeResolver";
|
|
15
14
|
import TrackChoiceSetter from "./track_choice_setter";
|
|
15
|
+
import type { ICorePlugins } from "./utils";
|
|
16
16
|
/**
|
|
17
17
|
* Class facilitating the workflows behind loading a new content for the
|
|
18
18
|
* RxPlayer Core:
|
|
@@ -186,9 +186,4 @@ export interface IPreparedContentData {
|
|
|
186
186
|
*/
|
|
187
187
|
useMseInWorker: boolean;
|
|
188
188
|
}
|
|
189
|
-
export interface ICorePlugins {
|
|
190
|
-
representationFilters: Map<string, IRepresentationFilter>;
|
|
191
|
-
segmentLoaders: Map<string, ISegmentLoader>;
|
|
192
|
-
manifestLoaders: Map<string, IManifestLoader>;
|
|
193
|
-
}
|
|
194
189
|
//# sourceMappingURL=content_preparer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content_preparer.d.ts","sourceRoot":"","sources":["../../../../src/core/entry/content_preparer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"content_preparer.d.ts","sourceRoot":"","sources":["../../../../src/core/entry/content_preparer.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,35 +26,12 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
26
26
|
}
|
|
27
27
|
return ar;
|
|
28
28
|
};
|
|
29
|
-
var __values = (this && this.__values) || function(o) {
|
|
30
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
31
|
-
if (m) return m.call(o);
|
|
32
|
-
if (o && typeof o.length === "number") return {
|
|
33
|
-
next: function () {
|
|
34
|
-
if (o && i >= o.length) o = void 0;
|
|
35
|
-
return { value: o && o[i++], done: !o };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
39
|
-
};
|
|
40
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
41
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
42
|
-
if (ar || !(i in from)) {
|
|
43
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
44
|
-
ar[i] = from[i];
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
48
|
-
};
|
|
49
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
var browser_compatibility_types_1 = require("../../compat/browser_compatibility_types");
|
|
51
30
|
var features_1 = require("../../features");
|
|
52
31
|
var log_1 = require("../../log");
|
|
53
|
-
var manifest_1 = require("../../manifest");
|
|
54
32
|
var main_media_source_interface_1 = require("../../mse/main_media_source_interface");
|
|
55
33
|
var worker_media_source_interface_1 = require("../../mse/worker_media_source_interface");
|
|
56
34
|
var id_generator_1 = require("../../utils/id_generator");
|
|
57
|
-
var is_null_or_undefined_1 = require("../../utils/is_null_or_undefined");
|
|
58
35
|
var task_canceller_1 = require("../../utils/task_canceller");
|
|
59
36
|
var adaptive_1 = require("../adaptive");
|
|
60
37
|
var cmcd_1 = require("../cmcd");
|
|
@@ -138,7 +115,7 @@ var ContentPreparer = /** @class */ (function () {
|
|
|
138
115
|
"Did you add the corresponding feature?"));
|
|
139
116
|
return;
|
|
140
117
|
}
|
|
141
|
-
var transportPipelines = transportFn(__assign(__assign({}, transportOptions), extractExternalPlugins(transportOptions, corePlugins)));
|
|
118
|
+
var transportPipelines = transportFn(__assign(__assign({}, transportOptions), (0, utils_1.extractExternalPlugins)(transportOptions, corePlugins)));
|
|
142
119
|
var cmcdDataBuilder = context.cmcd === undefined ? null : new cmcd_1.default(context.cmcd);
|
|
143
120
|
var manifestFetcher = new fetchers_1.ManifestFetcher(url === undefined ? undefined : [url], transportPipelines, __assign({ cmcdDataBuilder: cmcdDataBuilder }, context.manifestRetryOptions));
|
|
144
121
|
var representationEstimator = (0, adaptive_1.default)({
|
|
@@ -217,7 +194,7 @@ var ContentPreparer = /** @class */ (function () {
|
|
|
217
194
|
currentMediaSourceCanceller.isUsed()) {
|
|
218
195
|
return;
|
|
219
196
|
}
|
|
220
|
-
updateCodecSupportInWorkerMode(manifest);
|
|
197
|
+
(0, utils_1.updateCodecSupportInWorkerMode)(manifest);
|
|
221
198
|
manifest.addEventListener("manifestUpdate", function (updates) {
|
|
222
199
|
if (manifest === null) {
|
|
223
200
|
// TODO log warn?
|
|
@@ -355,103 +332,3 @@ function createMediaSourceInterfaceAndSegmentSinksStore(sendMessage, contentId,
|
|
|
355
332
|
});
|
|
356
333
|
return [mediaSourceInterface, segmentSinksStore, textSender];
|
|
357
334
|
}
|
|
358
|
-
/**
|
|
359
|
-
* Set Representation.isCodecSupportedInWebWorker to true or false
|
|
360
|
-
* If the codec is supported in the current context.
|
|
361
|
-
* If MSE in worker is not available, the attribute is not set.
|
|
362
|
-
*/
|
|
363
|
-
function updateCodecSupportInWorkerMode(manifestToUpdate) {
|
|
364
|
-
var e_1, _a, e_2, _b, e_3, _c;
|
|
365
|
-
var _d, _e;
|
|
366
|
-
if ((0, is_null_or_undefined_1.default)(browser_compatibility_types_1.MediaSource_)) {
|
|
367
|
-
return;
|
|
368
|
-
}
|
|
369
|
-
var codecsMap = new Map();
|
|
370
|
-
try {
|
|
371
|
-
for (var _f = __values(manifestToUpdate.periods), _g = _f.next(); !_g.done; _g = _f.next()) {
|
|
372
|
-
var period = _g.value;
|
|
373
|
-
var checkedAdaptations = __spreadArray(__spreadArray([], __read(((_d = period.adaptations.video) !== null && _d !== void 0 ? _d : [])), false), __read(((_e = period.adaptations.audio) !== null && _e !== void 0 ? _e : [])), false);
|
|
374
|
-
try {
|
|
375
|
-
for (var checkedAdaptations_1 = (e_2 = void 0, __values(checkedAdaptations)), checkedAdaptations_1_1 = checkedAdaptations_1.next(); !checkedAdaptations_1_1.done; checkedAdaptations_1_1 = checkedAdaptations_1.next()) {
|
|
376
|
-
var adaptation = checkedAdaptations_1_1.value;
|
|
377
|
-
try {
|
|
378
|
-
for (var _h = (e_3 = void 0, __values(adaptation.representations)), _j = _h.next(); !_j.done; _j = _h.next()) {
|
|
379
|
-
var representation = _j.value;
|
|
380
|
-
var codec = "".concat(representation.mimeType, ";codecs=\"").concat(representation.codecs[0], "\"");
|
|
381
|
-
if (codecsMap.has(codec)) {
|
|
382
|
-
representation.isCodecSupportedInWebWorker = codecsMap.get(codec);
|
|
383
|
-
}
|
|
384
|
-
else {
|
|
385
|
-
var supported = browser_compatibility_types_1.MediaSource_.isTypeSupported(codec);
|
|
386
|
-
representation.isCodecSupportedInWebWorker = supported;
|
|
387
|
-
codecsMap.set(codec, supported);
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
392
|
-
finally {
|
|
393
|
-
try {
|
|
394
|
-
if (_j && !_j.done && (_c = _h.return)) _c.call(_h);
|
|
395
|
-
}
|
|
396
|
-
finally { if (e_3) throw e_3.error; }
|
|
397
|
-
}
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
401
|
-
finally {
|
|
402
|
-
try {
|
|
403
|
-
if (checkedAdaptations_1_1 && !checkedAdaptations_1_1.done && (_b = checkedAdaptations_1.return)) _b.call(checkedAdaptations_1);
|
|
404
|
-
}
|
|
405
|
-
finally { if (e_2) throw e_2.error; }
|
|
406
|
-
}
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
410
|
-
finally {
|
|
411
|
-
try {
|
|
412
|
-
if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
|
|
413
|
-
}
|
|
414
|
-
finally { if (e_1) throw e_1.error; }
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
/**
|
|
418
|
-
* Some functions may be defined by the API, we call those "plugins".
|
|
419
|
-
* This function parses and extract the actual function from the different
|
|
420
|
-
* ways an application can provide it to us.
|
|
421
|
-
* @param {Object} input - The API input
|
|
422
|
-
* @param {Object} corePlugins - Context on what identified functions are
|
|
423
|
-
* defined right now.
|
|
424
|
-
* @returns {Function}
|
|
425
|
-
*/
|
|
426
|
-
function extractExternalPlugins(input, corePlugins) {
|
|
427
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
428
|
-
var manifestLoader;
|
|
429
|
-
var segmentLoader;
|
|
430
|
-
var representationFilter;
|
|
431
|
-
if (typeof ((_a = input.representationFilter) === null || _a === void 0 ? void 0 : _a.fn) === "function") {
|
|
432
|
-
representationFilter = input.representationFilter.fn;
|
|
433
|
-
}
|
|
434
|
-
else if (typeof ((_b = input.representationFilter) === null || _b === void 0 ? void 0 : _b.eval) === "string") {
|
|
435
|
-
representationFilter = (0, manifest_1.createRepresentationFilterFromFnString)(input.representationFilter.eval);
|
|
436
|
-
}
|
|
437
|
-
else if (typeof ((_c = input.representationFilter) === null || _c === void 0 ? void 0 : _c.workerId) === "string") {
|
|
438
|
-
representationFilter = corePlugins.representationFilters.get(input.representationFilter.workerId);
|
|
439
|
-
}
|
|
440
|
-
if (typeof ((_d = input.manifestLoader) === null || _d === void 0 ? void 0 : _d.fn) === "function") {
|
|
441
|
-
manifestLoader = input.manifestLoader.fn;
|
|
442
|
-
}
|
|
443
|
-
else if (typeof ((_e = input.manifestLoader) === null || _e === void 0 ? void 0 : _e.workerId) === "string") {
|
|
444
|
-
manifestLoader = corePlugins.manifestLoaders.get(input.manifestLoader.workerId);
|
|
445
|
-
}
|
|
446
|
-
if (typeof ((_f = input.segmentLoader) === null || _f === void 0 ? void 0 : _f.fn) === "function") {
|
|
447
|
-
segmentLoader = input.segmentLoader.fn;
|
|
448
|
-
}
|
|
449
|
-
else if (typeof ((_g = input.segmentLoader) === null || _g === void 0 ? void 0 : _g.workerId) === "string") {
|
|
450
|
-
segmentLoader = corePlugins.segmentLoaders.get(input.segmentLoader.workerId);
|
|
451
|
-
}
|
|
452
|
-
return {
|
|
453
|
-
manifestLoader: manifestLoader,
|
|
454
|
-
segmentLoader: segmentLoader,
|
|
455
|
-
representationFilter: representationFilter,
|
|
456
|
-
};
|
|
457
|
-
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content_time_boundaries_observer.d.ts","sourceRoot":"","sources":["../../../../src/core/entry/content_time_boundaries_observer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,sCAAsC,EACtC,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EAEX,OAAO,EACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"content_time_boundaries_observer.d.ts","sourceRoot":"","sources":["../../../../src/core/entry/content_time_boundaries_observer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,sCAAsC,EACtC,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EAEX,OAAO,EACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAMrD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,YAAY,CAAC,mCAAmC,CAAC;IAC1G,mFAAmF;IACnF,OAAO,CAAC,UAAU,CAAgB;IAElC,oDAAoD;IACpD,OAAO,CAAC,cAAc,CAAuC;IAE7D,2DAA2D;IAC3D,OAAO,CAAC,SAAS,CAAY;IAE7B,uEAAuE;IACvE,OAAO,CAAC,0BAA0B,CAA4B;IAE9D,kEAAkE;IAClE,OAAO,CAAC,eAAe,CAAgB;IAEvC;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB,CAAgB;IAE5C;;;OAGG;gBAED,QAAQ,EAAE,SAAS,EACnB,gBAAgB,EAAE,yBAAyB,CAAC,sCAAsC,CAAC,EACnF,WAAW,EAAE,WAAW,EAAE;IAsE5B;;;;OAIG;IACI,oBAAoB,IAAI,0BAA0B;IAIzD;;;;;;;;;;;;OAYG;IACI,kBAAkB,CACvB,UAAU,EAAE,WAAW,EACvB,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,WAAW,GAAG,IAAI,GAC7B,IAAI;IA+BP;;;;;;;;;OASG;IACI,sBAAsB,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAI7E;;;;;;;;;OASG;IACI,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAItE;;;;;;;;OAQG;IACI,4BAA4B,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAQlE;;;;;;;;;;OAUG;IACI,0BAA0B,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAQhE;;;;;;OAMG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAKzC,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,mBAAmB;IAkC3B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,6BAA6B;IAYrC,OAAO,CAAC,iBAAiB;CAc1B;AAED,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;OAUG;IACH,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,mCAAmC;IAClD,mDAAmD;IACnD,OAAO,EAAE,YAAY,CAAC;IACtB,0DAA0D;IAC1D,YAAY,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,oBAAoB,EAAE,0BAA0B,CAAC;IACjD;;;;;;;;;OASG;IACH,WAAW,EAAE,IAAI,CAAC;IAClB;;;;;;;;;OASG;IACH,YAAY,EAAE,IAAI,CAAC;CACpB;AAgPD,MAAM,MAAM,uCAAuC,GAAG,IAAI,CACxD,sCAAsC,EACtC,UAAU,CACX,CAAC"}
|
|
@@ -42,6 +42,7 @@ var __values = (this && this.__values) || function(o) {
|
|
|
42
42
|
};
|
|
43
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
44
|
var errors_1 = require("../../errors");
|
|
45
|
+
var array_includes_1 = require("../../utils/array_includes");
|
|
45
46
|
var event_emitter_1 = require("../../utils/event_emitter");
|
|
46
47
|
var is_null_or_undefined_1 = require("../../utils/is_null_or_undefined");
|
|
47
48
|
var queue_microtask_1 = require("../../utils/queue_microtask");
|
|
@@ -78,6 +79,13 @@ var ContentTimeBoundariesObserver = /** @class */ (function (_super) {
|
|
|
78
79
|
* whole content.
|
|
79
80
|
*/
|
|
80
81
|
var maximumPositionCalculator = new MaximumPositionCalculator(manifest);
|
|
82
|
+
// Indicate directly that no Adaptation of a particular type will be set
|
|
83
|
+
if (!(0, array_includes_1.default)(_this._allBufferTypes, "video")) {
|
|
84
|
+
maximumPositionCalculator.updateLastVideoAdaptation(null);
|
|
85
|
+
}
|
|
86
|
+
if (!(0, array_includes_1.default)(_this._allBufferTypes, "audio")) {
|
|
87
|
+
maximumPositionCalculator.updateLastAudioAdaptation(null);
|
|
88
|
+
}
|
|
81
89
|
_this._maximumPositionCalculator = maximumPositionCalculator;
|
|
82
90
|
var cancelSignal = _this._canceller.signal;
|
|
83
91
|
// As the following code may send events synchronously, which would not be
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { IMainThreadMessage } from "../../main_thread/types";
|
|
2
2
|
import SharedReference from "../../utils/reference";
|
|
3
3
|
import type { ICoreMessage, IResolutionInfo } from "../types";
|
|
4
|
-
import type { ICorePlugins } from "./
|
|
4
|
+
import type { ICorePlugins } from "./utils";
|
|
5
5
|
export type IMessageReceiverCallback = (evt: {
|
|
6
6
|
data: IMainThreadMessage;
|
|
7
7
|
}) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core_entry.d.ts","sourceRoot":"","sources":["../../../../src/core/entry/core_entry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,kBAAkB,EAGnB,MAAM,yBAAyB,CAAC;AAcjC,OAAO,eAAe,MAAM,uBAAuB,CAAC;AAQpD,OAAO,KAAK,EACV,YAAY,EAEZ,eAAe,EAChB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"core_entry.d.ts","sourceRoot":"","sources":["../../../../src/core/entry/core_entry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,kBAAkB,EAGnB,MAAM,yBAAyB,CAAC;AAcjC,OAAO,eAAe,MAAM,uBAAuB,CAAC;AAQpD,OAAO,KAAK,EACV,YAAY,EAEZ,eAAe,EAChB,MAAM,UAAU,CAAC;AAOlB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,MAAM,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,KAAK,IAAI,CAAC;AAEnF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,kBAAkB,EAAE,CAAC,EAAE,EAAE,wBAAwB,KAAK,IAAI,EAC1D,WAAW,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,YAAY,EAAE,KAAK,IAAI,EACxE,WAAW,EAAE,YAAY,GACxB,IAAI,CA2ZN;AA8vBD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IACvD,iFAAiF;IACjF,cAAc,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACxC,oFAAoF;IACpF,eAAe,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACzC,oEAAoE;IACpE,kBAAkB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC5C,oBAAoB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9C,+DAA+D;IAC/D,iBAAiB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CAC5C"}
|
|
@@ -67,7 +67,6 @@ var content_preparer_1 = require("./content_preparer");
|
|
|
67
67
|
var create_content_time_boundaries_observer_1 = require("./create_content_time_boundaries_observer");
|
|
68
68
|
var get_buffered_data_per_media_buffer_1 = require("./get_buffered_data_per_media_buffer");
|
|
69
69
|
var get_thumbnail_data_1 = require("./get_thumbnail_data");
|
|
70
|
-
var synchronize_sinks_on_observation_1 = require("./synchronize_sinks_on_observation");
|
|
71
70
|
var utils_1 = require("./utils");
|
|
72
71
|
/**
|
|
73
72
|
* Initialize a `CoreEntry`, which is the part of the RxPlayer acting as an
|
|
@@ -517,7 +516,7 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
|
|
|
517
516
|
var contentId = preparedContent.contentId, cmcdDataBuilder = preparedContent.cmcdDataBuilder, enableRepresentationAvoidance = preparedContent.enableRepresentationAvoidance, manifest = preparedContent.manifest, mediaSource = preparedContent.mediaSource, representationEstimator = preparedContent.representationEstimator, segmentSinksStore = preparedContent.segmentSinksStore, segmentQueueCreator = preparedContent.segmentQueueCreator;
|
|
518
517
|
var drmSystemId = val.drmSystemId, enableFastSwitching = val.enableFastSwitching, onCodecSwitch = val.onCodecSwitch;
|
|
519
518
|
playbackObservationRef.onUpdate(function (observation) {
|
|
520
|
-
(0,
|
|
519
|
+
(0, utils_1.synchronizeSegmentSinksOnObservation)(observation, segmentSinksStore);
|
|
521
520
|
var freezeResolution = preparedContent.freezeResolver.onNewObservation(observation);
|
|
522
521
|
if (freezeResolution !== null) {
|
|
523
522
|
handleFreezeResolution(sendMessage, freezeResolution, {
|
|
@@ -624,11 +623,6 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
|
|
|
624
623
|
},
|
|
625
624
|
adaptationChange: function (value) {
|
|
626
625
|
var _a, _b;
|
|
627
|
-
contentTimeBoundariesObserver.onAdaptationChange(value.type, value.period, value.adaptation);
|
|
628
|
-
if (currentLoadCanceller === null ||
|
|
629
|
-
currentLoadCanceller.signal.isCancelled()) {
|
|
630
|
-
return;
|
|
631
|
-
}
|
|
632
626
|
sendMessage({
|
|
633
627
|
type: "adaptation-changed" /* CoreMessageType.AdaptationChanged */,
|
|
634
628
|
contentId: contentId,
|
|
@@ -638,6 +632,7 @@ function loadPreparedContent(sendMessage, val, contentPreparer, playbackObservat
|
|
|
638
632
|
type: value.type,
|
|
639
633
|
},
|
|
640
634
|
});
|
|
635
|
+
contentTimeBoundariesObserver.onAdaptationChange(value.type, value.period, value.adaptation);
|
|
641
636
|
},
|
|
642
637
|
representationChange: function (value) {
|
|
643
638
|
var _a, _b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core_text_displayer_interface.d.ts","sourceRoot":"","sources":["../../../../src/core/entry/core_text_displayer_interface.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,UAAU,CAAC;AAGlB;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,0BAA2B,YAAW,uBAAuB;IAChF,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAoD;IACnE,OAAO,EAAE;QACd,YAAY,EAAE,KAAK,CAAC;YAClB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;YACpC,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;SAChC,CAAC,CAAC;QACH,MAAM,EAAE,KAAK,CAAC;YACZ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;YACpC,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;SAChC,CAAC,CAAC;KACJ,CAAC;IAEF;;;OAGG;gBAED,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,CAAC,GAAG,EAAE,kCAAkC,KAAK,IAAI;IAOlE;;OAEG;IACI,YAAY,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAWjE;;OAEG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAW5D;;OAEG;IACI,KAAK,IAAI,IAAI;IASpB;;OAEG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAS7C,OAAO,CAAC,kBAAkB;
|
|
1
|
+
{"version":3,"file":"core_text_displayer_interface.d.ts","sourceRoot":"","sources":["../../../../src/core/entry/core_text_displayer_interface.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,UAAU,CAAC;AAGlB;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,0BAA2B,YAAW,uBAAuB;IAChF,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAoD;IACnE,OAAO,EAAE;QACd,YAAY,EAAE,KAAK,CAAC;YAClB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;YACpC,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;SAChC,CAAC,CAAC;QACH,MAAM,EAAE,KAAK,CAAC;YACZ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;YACpC,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;SAChC,CAAC,CAAC;KACJ,CAAC;IAEF;;;OAGG;gBAED,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,CAAC,GAAG,EAAE,kCAAkC,KAAK,IAAI;IAOlE;;OAEG;IACI,YAAY,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAWjE;;OAEG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAW5D;;OAEG;IACI,KAAK,IAAI,IAAI;IASpB;;OAEG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAS7C,OAAO,CAAC,kBAAkB;IAe1B;;OAEG;IACI,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IASnD;;OAEG;IACI,kBAAkB,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAS3C;;OAEG;IACI,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAS9C;;OAEG;IACI,aAAa,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;CAQvC;AAED,KAAK,kCAAkC,GACnC,wBAAwB,GACxB,0BAA0B,GAC1B,6BAA6B,GAC7B,8BAA8B,CAAC"}
|
|
@@ -73,9 +73,11 @@ var CoreTextDisplayerInterface = /** @class */ (function () {
|
|
|
73
73
|
this._queues.pushTextData.forEach(function (elt) {
|
|
74
74
|
elt.reject(error);
|
|
75
75
|
});
|
|
76
|
+
this._queues.pushTextData.length = 0;
|
|
76
77
|
this._queues.remove.forEach(function (elt) {
|
|
77
78
|
elt.reject(error);
|
|
78
79
|
});
|
|
80
|
+
this._queues.remove.length = 0;
|
|
79
81
|
};
|
|
80
82
|
/**
|
|
81
83
|
* @param {Array.<Object>} ranges
|
|
@@ -114,7 +116,7 @@ var CoreTextDisplayerInterface = /** @class */ (function () {
|
|
|
114
116
|
* @param {unknown} err
|
|
115
117
|
*/
|
|
116
118
|
CoreTextDisplayerInterface.prototype.onRemoveError = function (err) {
|
|
117
|
-
var element = this._queues.
|
|
119
|
+
var element = this._queues.remove.shift();
|
|
118
120
|
if (element === undefined) {
|
|
119
121
|
log_1.default.error("text", "pushTextData error for inexistant operation");
|
|
120
122
|
return;
|
|
@@ -2,5 +2,5 @@ import type { IMessageReceiverCallback } from "./core_entry";
|
|
|
2
2
|
import initializeCoreEntry from "./core_entry";
|
|
3
3
|
export default initializeCoreEntry;
|
|
4
4
|
export type { IMessageReceiverCallback };
|
|
5
|
-
export type { ICorePlugins } from "./
|
|
5
|
+
export type { ICorePlugins } from "./utils";
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/entry/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,mBAAmB,MAAM,cAAc,CAAC;AAC/C,eAAe,mBAAmB,CAAC;AACnC,YAAY,EAAE,wBAAwB,EAAE,CAAC;AACzC,YAAY,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/entry/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,mBAAmB,MAAM,cAAc,CAAC;AAC/C,eAAe,mBAAmB,CAAC;AACnC,YAAY,EAAE,wBAAwB,EAAE,CAAC;AACzC,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1,3 +1,67 @@
|
|
|
1
|
+
import type { ICorePlaybackObservation } from "../../main_thread/init/utils/create_core_playback_observer";
|
|
2
|
+
import type Manifest from "../../manifest/classes";
|
|
3
|
+
import type { IManifestLoader, IRepresentationFilter, ISegmentLoader } from "../../public_types";
|
|
4
|
+
import type SegmentSinksStore from "../segment_sinks";
|
|
1
5
|
import type { ISentError } from "../types";
|
|
6
|
+
/**
|
|
7
|
+
* "Plugins" are a specific kind of API where an application can define complex
|
|
8
|
+
* functions that the RxPlayer will call in some normally-core aspects of media
|
|
9
|
+
* playback: e.g. loading segments.
|
|
10
|
+
*
|
|
11
|
+
* This interface lists them.
|
|
12
|
+
*/
|
|
13
|
+
export interface ICorePlugins {
|
|
14
|
+
representationFilters: Map<string, IRepresentationFilter>;
|
|
15
|
+
segmentLoaders: Map<string, ISegmentLoader>;
|
|
16
|
+
manifestLoaders: Map<string, IManifestLoader>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Format an error, which may be of any form, into an Object than can easily be
|
|
20
|
+
* serialized - e.g. to be communicated through a postMessage-like API.
|
|
21
|
+
* @param {*} error - The error to serialized
|
|
22
|
+
* @returns {Object} - A serialization-safe error format
|
|
23
|
+
*/
|
|
2
24
|
export declare function formatErrorForSender(error: unknown): ISentError;
|
|
25
|
+
/**
|
|
26
|
+
* Synchronize SegmentSinks with what has been buffered.
|
|
27
|
+
* @param {Object} observation - The just-received playback observation,
|
|
28
|
+
* including what has been buffered on lower-level buffers
|
|
29
|
+
* @param {Object} segmentSinksStore - Interface allowing to interact
|
|
30
|
+
* with `SegmentSink`s, so their inventory can be updated accordingly.
|
|
31
|
+
*/
|
|
32
|
+
export declare function synchronizeSegmentSinksOnObservation(observation: ICorePlaybackObservation, segmentSinksStore: SegmentSinksStore): void;
|
|
33
|
+
/**
|
|
34
|
+
* Set Representation.isCodecSupportedInWebWorker to true or false
|
|
35
|
+
* If the codec is supported in the current context.
|
|
36
|
+
* If MSE in worker is not available, the attribute is not set.
|
|
37
|
+
*/
|
|
38
|
+
export declare function updateCodecSupportInWorkerMode(manifestToUpdate: Manifest): void;
|
|
39
|
+
/**
|
|
40
|
+
* Some functions may be defined by the API, we call those "plugins".
|
|
41
|
+
* This function parses and extract the actual function from the different
|
|
42
|
+
* ways an application can provide it to us.
|
|
43
|
+
* @param {Object} input - The API input
|
|
44
|
+
* @param {Object} corePlugins - Context on what identified functions are
|
|
45
|
+
* defined right now.
|
|
46
|
+
* @returns {Function}
|
|
47
|
+
*/
|
|
48
|
+
export declare function extractExternalPlugins(input: {
|
|
49
|
+
manifestLoader: {
|
|
50
|
+
fn?: IManifestLoader | undefined;
|
|
51
|
+
workerId?: string | undefined;
|
|
52
|
+
} | undefined;
|
|
53
|
+
segmentLoader: {
|
|
54
|
+
fn?: ISegmentLoader | undefined;
|
|
55
|
+
workerId?: string | undefined;
|
|
56
|
+
} | undefined;
|
|
57
|
+
representationFilter: undefined | {
|
|
58
|
+
fn?: IRepresentationFilter | undefined;
|
|
59
|
+
eval?: string | undefined;
|
|
60
|
+
workerId?: string | undefined;
|
|
61
|
+
};
|
|
62
|
+
}, corePlugins: ICorePlugins): {
|
|
63
|
+
manifestLoader: IManifestLoader | undefined;
|
|
64
|
+
segmentLoader: ISegmentLoader | undefined;
|
|
65
|
+
representationFilter: IRepresentationFilter | undefined;
|
|
66
|
+
};
|
|
3
67
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/core/entry/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/core/entry/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4DAA4D,CAAC;AAE3G,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACrB,cAAc,EACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,iBAAiB,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC1D,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC/C;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAO/D;AAED;;;;;;GAMG;AACH,wBAAgB,oCAAoC,CAClD,WAAW,EAAE,wBAAwB,EACrC,iBAAiB,EAAE,iBAAiB,GACnC,IAAI,CAQN;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,gBAAgB,EAAE,QAAQ,QAwBxE;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE;IACL,cAAc,EACV;QACE,EAAE,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;QACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC/B,GACD,SAAS,CAAC;IACd,aAAa,EACT;QACE,EAAE,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC/B,GACD,SAAS,CAAC;IACd,oBAAoB,EAChB,SAAS,GACT;QACE,EAAE,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC/B,CAAC;CACP,EACD,WAAW,EAAE,YAAY,GACxB;IACD,cAAc,EAAE,eAAe,GAAG,SAAS,CAAC;IAC5C,aAAa,EAAE,cAAc,GAAG,SAAS,CAAC;IAC1C,oBAAoB,EAAE,qBAAqB,GAAG,SAAS,CAAC;CACzD,CAgCA"}
|