rx-player 3.26.2 → 3.26.3-dev.2022021400
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/.github/workflows/perfs.yml +22 -0
- package/CHANGELOG.md +19 -1
- package/VERSION +1 -1
- package/dist/_esm5.processed/compat/eme/custom_media_keys/index.js +6 -2
- package/dist/_esm5.processed/core/abr/buffer_based_chooser.d.ts +28 -6
- package/dist/_esm5.processed/core/abr/buffer_based_chooser.js +63 -12
- package/dist/_esm5.processed/core/abr/network_analyzer.d.ts +1 -1
- package/dist/_esm5.processed/core/abr/pending_requests_store.js +3 -5
- package/dist/_esm5.processed/core/abr/representation_estimator.d.ts +1 -1
- package/dist/_esm5.processed/core/abr/representation_estimator.js +2 -2
- package/dist/_esm5.processed/core/api/media_element_track_choice_manager.d.ts +6 -0
- package/dist/_esm5.processed/core/api/media_element_track_choice_manager.js +20 -3
- package/dist/_esm5.processed/core/api/public_api.d.ts +3 -3
- package/dist/_esm5.processed/core/api/public_api.js +2 -2
- package/dist/_esm5.processed/core/api/track_choice_manager.d.ts +6 -6
- package/dist/_esm5.processed/core/eme/__tests__/__global__/utils.d.ts +0 -2
- package/dist/_esm5.processed/core/eme/__tests__/__global__/utils.js +5 -10
- package/dist/_esm5.processed/core/eme/find_key_system.js +15 -5
- package/dist/_esm5.processed/core/eme/types.d.ts +2 -2
- package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.d.ts +4 -4
- package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.js +1 -1
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.d.ts +2 -2
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.js +5 -1
- package/dist/_esm5.processed/core/fetchers/utils/try_urls_with_backoff.js +1 -1
- package/dist/_esm5.processed/core/init/initialize_directfile.d.ts +2 -2
- package/dist/_esm5.processed/core/init/initialize_media_source.d.ts +1 -1
- package/dist/_esm5.processed/core/init/manifest_update_scheduler.d.ts +4 -4
- package/dist/_esm5.processed/core/init/stream_events_emitter/are_same_stream_events.d.ts +4 -4
- package/dist/_esm5.processed/core/init/stream_events_emitter/types.d.ts +2 -2
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/html_text_segment_buffer.d.ts +3 -3
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/text_track_cues_store.js +32 -31
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.d.ts +4 -4
- package/dist/_esm5.processed/core/stream/representation/force_garbage_collection.js +3 -4
- package/dist/_esm5.processed/errors/request_error.js +3 -1
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/thumbnail_loader.d.ts +2 -2
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/thumbnail_loader.js +1 -3
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.d.ts +1 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.js +1 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/types.d.ts +3 -3
- package/dist/_esm5.processed/manifest/adaptation.d.ts +2 -2
- package/dist/_esm5.processed/manifest/adaptation.js +3 -1
- package/dist/_esm5.processed/manifest/manifest.d.ts +9 -9
- package/dist/_esm5.processed/manifest/period.d.ts +3 -3
- package/dist/_esm5.processed/manifest/representation.d.ts +2 -2
- package/dist/_esm5.processed/manifest/representation_index/types.d.ts +18 -18
- package/dist/_esm5.processed/manifest/types.d.ts +3 -3
- package/dist/_esm5.processed/parsers/manifest/dash/common/get_hdr_information.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/get_periods_time_infos.d.ts +3 -3
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.d.ts +6 -6
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_init_segment.d.ts +3 -3
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.d.ts +14 -14
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.d.ts +17 -17
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.js +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +28 -20
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +19 -4
- package/dist/_esm5.processed/parsers/manifest/dash/common/infer_adaptation_type.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/manifest_bounds_calculator.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.d.ts +17 -35
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.js +24 -23
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.d.ts +8 -8
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.d.ts +18 -27
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.js +25 -23
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.d.ts +21 -15
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.js +19 -19
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.d.ts +15 -38
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.js +8 -8
- package/dist/_esm5.processed/parsers/manifest/dash/node_parser_types.d.ts +30 -30
- package/dist/_esm5.processed/parsers/manifest/dash/parsers_types.d.ts +3 -3
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +1 -1
- package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.d.ts +7 -7
- package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.d.ts +8 -8
- package/dist/_esm5.processed/parsers/manifest/types.d.ts +28 -28
- package/dist/_esm5.processed/parsers/manifest/utils/clear_timeline_from_position.d.ts +3 -2
- package/dist/_esm5.processed/parsers/manifest/utils/clear_timeline_from_position.js +15 -5
- package/dist/_esm5.processed/parsers/manifest/utils/index_helpers.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/utils/update_segment_timeline.d.ts +11 -1
- package/dist/_esm5.processed/parsers/manifest/utils/update_segment_timeline.js +31 -19
- package/dist/_esm5.processed/parsers/texttracks/webvtt/html/to_html.d.ts +2 -2
- package/dist/_esm5.processed/parsers/texttracks/webvtt/parse_cue_block.d.ts +1 -1
- package/dist/_esm5.processed/transports/dash/add_segment_integrity_checks_to_loader.js +2 -1
- package/dist/_esm5.processed/transports/dash/image_pipelines.js +1 -1
- package/dist/_esm5.processed/transports/dash/init_segment_loader.js +1 -1
- package/dist/_esm5.processed/transports/dash/manifest_parser.js +1 -1
- package/dist/_esm5.processed/transports/dash/segment_loader.d.ts +2 -2
- package/dist/_esm5.processed/transports/dash/segment_loader.js +2 -2
- package/dist/_esm5.processed/transports/dash/segment_parser.d.ts +1 -1
- package/dist/_esm5.processed/transports/dash/text_loader.d.ts +1 -1
- package/dist/_esm5.processed/transports/dash/text_loader.js +1 -1
- package/dist/_esm5.processed/transports/dash/text_parser.d.ts +1 -1
- package/dist/_esm5.processed/transports/local/segment_loader.d.ts +1 -2
- package/dist/_esm5.processed/transports/local/segment_loader.js +1 -1
- package/dist/_esm5.processed/transports/metaplaylist/manifest_loader.d.ts +1 -1
- package/dist/_esm5.processed/transports/metaplaylist/pipelines.js +1 -1
- package/dist/_esm5.processed/transports/smooth/pipelines.js +1 -1
- package/dist/_esm5.processed/transports/smooth/segment_loader.d.ts +0 -1
- package/dist/_esm5.processed/transports/smooth/segment_loader.js +2 -2
- package/dist/_esm5.processed/transports/types.d.ts +36 -30
- package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.js +1 -1
- package/dist/_esm5.processed/transports/utils/generate_manifest_loader.d.ts +1 -1
- package/dist/_esm5.processed/utils/cancellable_sleep.js +1 -1
- package/dist/_esm5.processed/utils/cast_to_observable.d.ts +1 -2
- package/dist/_esm5.processed/utils/cast_to_observable.js +1 -1
- package/dist/_esm5.processed/utils/request/fetch.d.ts +4 -5
- package/dist/_esm5.processed/utils/request/fetch.js +7 -4
- package/dist/_esm5.processed/utils/request/xhr.d.ts +6 -6
- package/dist/_esm5.processed/utils/request/xhr.js +2 -1
- package/dist/_esm5.processed/utils/rx-from_cancellable_promise.d.ts +1 -2
- package/dist/rx-player.js +404 -321
- package/dist/rx-player.min.js +1 -1
- package/package.json +3 -4
- package/scripts/doc-generator/generate_header_html.js +6 -7
- package/scripts/doc-generator/generate_page_html.js +3 -4
- package/scripts/doc-generator/generate_page_list_html.js +4 -5
- package/scripts/doc-generator/generate_sidebar_html.js +4 -7
- package/scripts/doc-generator/utils.js +0 -11
- package/scripts/generate_demo_list.js +3 -3
- package/scripts/generate_documentation_list.js +3 -3
- package/scripts/launch_static_server.js +127 -67
- package/scripts/run_standalone_demo.js +1 -0
- package/scripts/start_demo_web_server.js +1 -0
- package/sonar-project.properties +1 -1
- package/src/compat/__tests__/fullscreen.test.ts +7 -7
- package/src/compat/__tests__/is_vtt_cue.test.ts +1 -1
- package/src/compat/eme/custom_media_keys/ie11_media_keys.ts +1 -1
- package/src/compat/eme/custom_media_keys/index.ts +7 -3
- package/src/core/abr/__tests__/{get_estimate_from_buffer_levels.test.ts → buffer_based_chooser.test.ts} +94 -123
- package/src/core/abr/buffer_based_chooser.ts +85 -20
- package/src/core/abr/network_analyzer.ts +1 -1
- package/src/core/abr/pending_requests_store.ts +3 -5
- package/src/core/abr/representation_estimator.ts +6 -3
- package/src/core/api/media_element_track_choice_manager.ts +22 -3
- package/src/core/api/public_api.ts +6 -6
- package/src/core/api/track_choice_manager.ts +10 -9
- package/src/core/eme/__tests__/__global__/utils.ts +5 -10
- package/src/core/eme/find_key_system.ts +14 -12
- package/src/core/eme/types.ts +2 -2
- package/src/core/fetchers/manifest/manifest_fetcher.ts +5 -5
- package/src/core/fetchers/segment/segment_fetcher.ts +6 -3
- package/src/core/fetchers/utils/try_urls_with_backoff.ts +1 -1
- package/src/core/init/initialize_directfile.ts +2 -2
- package/src/core/init/initialize_media_source.ts +2 -2
- package/src/core/init/manifest_update_scheduler.ts +7 -7
- package/src/core/init/stream_events_emitter/are_same_stream_events.ts +4 -4
- package/src/core/init/stream_events_emitter/types.ts +2 -2
- package/src/core/segment_buffers/implementations/text/html/html_text_segment_buffer.ts +3 -3
- package/src/core/segment_buffers/implementations/text/html/text_track_cues_store.ts +32 -31
- package/src/core/segment_buffers/implementations/text/native/native_text_segment_buffer.ts +4 -4
- package/src/core/stream/representation/force_garbage_collection.ts +3 -5
- package/src/errors/request_error.ts +4 -1
- package/src/experimental/tools/VideoThumbnailLoader/thumbnail_loader.ts +3 -6
- package/src/experimental/tools/mediaCapabilitiesProber/api/index.ts +1 -1
- package/src/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.ts +3 -3
- package/src/experimental/tools/mediaCapabilitiesProber/types.ts +3 -3
- package/src/manifest/adaptation.ts +6 -4
- package/src/manifest/manifest.ts +10 -10
- package/src/manifest/period.ts +3 -3
- package/src/manifest/representation.ts +2 -2
- package/src/manifest/representation_index/types.ts +18 -18
- package/src/manifest/types.ts +3 -3
- package/src/parsers/manifest/dash/common/__tests__/manifest_bounds_calculator.test.ts +1 -0
- package/src/parsers/manifest/dash/common/get_hdr_information.ts +1 -1
- package/src/parsers/manifest/dash/common/get_periods_time_infos.ts +3 -3
- package/src/parsers/manifest/dash/common/indexes/base.ts +6 -6
- package/src/parsers/manifest/dash/common/indexes/get_init_segment.ts +4 -2
- package/src/parsers/manifest/dash/common/indexes/get_segments_from_timeline.ts +2 -2
- package/src/parsers/manifest/dash/common/indexes/list.ts +14 -14
- package/src/parsers/manifest/dash/common/indexes/template.ts +17 -16
- package/src/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.ts +1 -1
- package/src/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.ts +50 -22
- package/src/parsers/manifest/dash/common/infer_adaptation_type.ts +2 -2
- package/src/parsers/manifest/dash/common/manifest_bounds_calculator.ts +1 -1
- package/src/parsers/manifest/dash/common/parse_adaptation_sets.ts +58 -70
- package/src/parsers/manifest/dash/common/parse_mpd.ts +8 -8
- package/src/parsers/manifest/dash/common/parse_periods.ts +80 -79
- package/src/parsers/manifest/dash/common/parse_representation_index.ts +83 -75
- package/src/parsers/manifest/dash/common/parse_representations.ts +44 -63
- package/src/parsers/manifest/dash/node_parser_types.ts +30 -30
- package/src/parsers/manifest/dash/parsers_types.ts +3 -3
- package/src/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.ts +1 -1
- package/src/parsers/manifest/metaplaylist/metaplaylist_parser.ts +4 -4
- package/src/parsers/manifest/smooth/create_parser.ts +23 -21
- package/src/parsers/manifest/smooth/representation_index.ts +14 -14
- package/src/parsers/manifest/types.ts +28 -28
- package/src/parsers/manifest/utils/__tests__/update_segment_timeline.test.ts +31 -33
- package/src/parsers/manifest/utils/clear_timeline_from_position.ts +15 -6
- package/src/parsers/manifest/utils/index_helpers.ts +2 -2
- package/src/parsers/manifest/utils/update_segment_timeline.ts +32 -21
- package/src/parsers/texttracks/webvtt/html/to_html.ts +2 -2
- package/src/parsers/texttracks/webvtt/parse_cue_block.ts +1 -1
- package/src/transports/dash/add_segment_integrity_checks_to_loader.ts +2 -2
- package/src/transports/dash/image_pipelines.ts +1 -1
- package/src/transports/dash/init_segment_loader.ts +1 -1
- package/src/transports/dash/manifest_parser.ts +1 -1
- package/src/transports/dash/segment_loader.ts +7 -7
- package/src/transports/dash/segment_parser.ts +3 -1
- package/src/transports/dash/text_loader.ts +2 -2
- package/src/transports/dash/text_parser.ts +3 -1
- package/src/transports/local/segment_loader.ts +4 -4
- package/src/transports/metaplaylist/manifest_loader.ts +1 -1
- package/src/transports/metaplaylist/pipelines.ts +1 -1
- package/src/transports/smooth/pipelines.ts +7 -7
- package/src/transports/smooth/segment_loader.ts +8 -8
- package/src/transports/types.ts +37 -30
- package/src/transports/utils/call_custom_manifest_loader.ts +6 -6
- package/src/transports/utils/generate_manifest_loader.ts +1 -1
- package/src/utils/__tests__/flat_map.test.ts +12 -7
- package/src/utils/cancellable_sleep.ts +1 -1
- package/src/utils/cast_to_observable.ts +1 -2
- package/src/utils/request/fetch.ts +16 -13
- package/src/utils/request/xhr.ts +9 -7
- package/src/utils/rx-from_cancellable_promise.ts +1 -2
- package/tsconfig.json +1 -2
- package/tsconfig.modules.json +1 -2
- package/dist/_esm5.processed/core/abr/get_estimate_from_buffer_levels.d.ts +0 -29
- package/dist/_esm5.processed/core/abr/get_estimate_from_buffer_levels.js +0 -67
- package/src/core/abr/get_estimate_from_buffer_levels.ts +0 -85
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import PPromise from "pinkie";
|
|
17
16
|
import { CancellationSignal } from "../../utils/task_canceller";
|
|
18
17
|
import { ICustomSegmentLoader, ISegmentContext, ISegmentLoaderCallbacks, ISegmentLoaderResultSegmentCreated, ISegmentLoaderResultSegmentLoaded } from "../types";
|
|
19
18
|
/**
|
|
@@ -24,9 +24,9 @@ var __assign = (this && this.__assign) || function () {
|
|
|
24
24
|
};
|
|
25
25
|
return __assign.apply(this, arguments);
|
|
26
26
|
};
|
|
27
|
-
import PPromise from "pinkie";
|
|
28
27
|
import { CustomLoaderError } from "../../errors";
|
|
29
28
|
import assert from "../../utils/assert";
|
|
29
|
+
import PPromise from "../../utils/promise";
|
|
30
30
|
import request from "../../utils/request";
|
|
31
31
|
import byteRange from "../utils/byte_range";
|
|
32
32
|
import checkISOBMFFIntegrity from "../utils/check_isobmff_integrity";
|
|
@@ -110,7 +110,7 @@ var generateSegmentLoader = function (_a) {
|
|
|
110
110
|
if (typeof customSegmentLoader !== "function") {
|
|
111
111
|
return regularSegmentLoader(url, content, callbacks, cancelSignal, checkMediaSegmentIntegrity);
|
|
112
112
|
}
|
|
113
|
-
return new
|
|
113
|
+
return new PPromise(function (res, rej) {
|
|
114
114
|
/** `true` when the custom segmentLoader should not be active anymore. */
|
|
115
115
|
var hasFinished = false;
|
|
116
116
|
/**
|
|
@@ -300,7 +300,7 @@ export interface IManifestParserResult {
|
|
|
300
300
|
* This property should only be set when a unique URL is sufficient to
|
|
301
301
|
* retrieve the whole data.
|
|
302
302
|
*/
|
|
303
|
-
url?: string;
|
|
303
|
+
url?: string | undefined;
|
|
304
304
|
}
|
|
305
305
|
/**
|
|
306
306
|
* Allow the parser to ask for loading supplementary ressources while still
|
|
@@ -340,11 +340,11 @@ export interface ITextTrackSegmentData {
|
|
|
340
340
|
* This is mostly needed for "sami" subtitles, to know which cues can / should
|
|
341
341
|
* be parsed.
|
|
342
342
|
*/
|
|
343
|
-
language?: string;
|
|
343
|
+
language?: string | undefined;
|
|
344
344
|
/** start time from which the segment apply, in seconds. */
|
|
345
|
-
start?: number;
|
|
345
|
+
start?: number | undefined;
|
|
346
346
|
/** end time until which the segment apply, in seconds. */
|
|
347
|
-
end?: number;
|
|
347
|
+
end?: number | undefined;
|
|
348
348
|
}
|
|
349
349
|
/** Format under which image data is decodable by the RxPlayer. */
|
|
350
350
|
export interface IImageTrackSegmentData {
|
|
@@ -393,18 +393,18 @@ interface IServerSyncInfos {
|
|
|
393
393
|
clientTime: number;
|
|
394
394
|
}
|
|
395
395
|
export interface ITransportOptions {
|
|
396
|
-
aggressiveMode?: boolean;
|
|
397
|
-
checkMediaSegmentIntegrity?: boolean;
|
|
396
|
+
aggressiveMode?: boolean | undefined;
|
|
397
|
+
checkMediaSegmentIntegrity?: boolean | undefined;
|
|
398
398
|
lowLatencyMode: boolean;
|
|
399
|
-
manifestLoader?: ICustomManifestLoader;
|
|
400
|
-
manifestUpdateUrl?: string;
|
|
401
|
-
referenceDateTime?: number;
|
|
402
|
-
representationFilter?: IRepresentationFilter;
|
|
403
|
-
segmentLoader?: ICustomSegmentLoader;
|
|
404
|
-
serverSyncInfos?: IServerSyncInfos;
|
|
405
|
-
supplementaryImageTracks?: ISupplementaryImageTrack[];
|
|
406
|
-
supplementaryTextTracks?: ISupplementaryTextTrack[];
|
|
407
|
-
__priv_patchLastSegmentInSidx?: boolean;
|
|
399
|
+
manifestLoader?: ICustomManifestLoader | undefined;
|
|
400
|
+
manifestUpdateUrl?: string | undefined;
|
|
401
|
+
referenceDateTime?: number | undefined;
|
|
402
|
+
representationFilter?: IRepresentationFilter | undefined;
|
|
403
|
+
segmentLoader?: ICustomSegmentLoader | undefined;
|
|
404
|
+
serverSyncInfos?: IServerSyncInfos | undefined;
|
|
405
|
+
supplementaryImageTracks?: ISupplementaryImageTrack[] | undefined;
|
|
406
|
+
supplementaryTextTracks?: ISupplementaryTextTrack[] | undefined;
|
|
407
|
+
__priv_patchLastSegmentInSidx?: boolean | undefined;
|
|
408
408
|
}
|
|
409
409
|
export declare type ICustomSegmentLoader = (infos: {
|
|
410
410
|
url: string;
|
|
@@ -422,18 +422,24 @@ export declare type ICustomSegmentLoader = (infos: {
|
|
|
422
422
|
duration?: number | undefined;
|
|
423
423
|
}) => void;
|
|
424
424
|
reject: (err?: unknown) => void;
|
|
425
|
-
fallback
|
|
425
|
+
fallback: () => void;
|
|
426
|
+
progress: (info: {
|
|
427
|
+
duration: number;
|
|
428
|
+
size: number;
|
|
429
|
+
totalSize?: number | undefined;
|
|
430
|
+
}) => void;
|
|
426
431
|
}) => (() => void) | void;
|
|
427
432
|
export declare type ICustomManifestLoader = (url: string | undefined, callbacks: {
|
|
428
433
|
resolve: (args: {
|
|
429
434
|
data: ILoadedManifestFormat;
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
435
|
+
url?: string | undefined;
|
|
436
|
+
sendingTime?: number | undefined;
|
|
437
|
+
receivingTime?: number | undefined;
|
|
438
|
+
size?: number | undefined;
|
|
439
|
+
duration?: number | undefined;
|
|
434
440
|
}) => void;
|
|
435
441
|
reject: (err?: Error) => void;
|
|
436
|
-
fallback
|
|
442
|
+
fallback: () => void;
|
|
437
443
|
}) => (() => void) | void;
|
|
438
444
|
export interface ISegmentContext {
|
|
439
445
|
/** Manifest object related to this segment. */
|
|
@@ -486,7 +492,7 @@ export interface ISegmentLoadingProgressInformation {
|
|
|
486
492
|
/** Size of the data already downloaded, in bytes. */
|
|
487
493
|
size: number;
|
|
488
494
|
/** Size of whole data to download (data already-loaded included), in bytes. */
|
|
489
|
-
totalSize?: number;
|
|
495
|
+
totalSize?: number | undefined;
|
|
490
496
|
}
|
|
491
497
|
/**
|
|
492
498
|
* Result returned by a segment loader when a segment has been loaded in a
|
|
@@ -531,19 +537,19 @@ export interface IChunkCompleteInformation {
|
|
|
531
537
|
* This property should only be set when a unique URL is sufficient to
|
|
532
538
|
* retrieve the whole data.
|
|
533
539
|
*/
|
|
534
|
-
url?: string;
|
|
540
|
+
url?: string | undefined;
|
|
535
541
|
/**
|
|
536
542
|
* Time at which the request began in terms of `performance.now`.
|
|
537
543
|
* If fetching the corresponding data necessitated to perform multiple
|
|
538
544
|
* requests, this time corresponds to the first request made.
|
|
539
545
|
*/
|
|
540
|
-
sendingTime?: number;
|
|
546
|
+
sendingTime?: number | undefined;
|
|
541
547
|
/**
|
|
542
548
|
* Time at which the request ended in terms of `performance.now`.
|
|
543
549
|
* If fetching the corresponding data necessitated to perform multiple
|
|
544
550
|
* requests, this time corresponds to the last request to end.
|
|
545
551
|
*/
|
|
546
|
-
receivedTime?: number;
|
|
552
|
+
receivedTime?: number | undefined;
|
|
547
553
|
/** Size in bytes of the loaded data. `undefined` if we don't know. */
|
|
548
554
|
size: number | undefined;
|
|
549
555
|
}
|
|
@@ -570,7 +576,7 @@ export interface ISegmentParserParsedInitChunk<DataType> {
|
|
|
570
576
|
* Timescale metadata found inside this initialization segment.
|
|
571
577
|
* That timescale might be useful when parsing further merdia segments.
|
|
572
578
|
*/
|
|
573
|
-
initTimescale?: number;
|
|
579
|
+
initTimescale?: number | undefined;
|
|
574
580
|
/**
|
|
575
581
|
* If set to `true`, some protection information has been found in this
|
|
576
582
|
* initialization segment and lead the corresponding `Representation`
|
|
@@ -626,7 +632,7 @@ export interface ISegmentParserParsedMediaChunk<DataType> {
|
|
|
626
632
|
* If set and not empty, then "events" have been encountered in this parsed
|
|
627
633
|
* chunks.
|
|
628
634
|
*/
|
|
629
|
-
inbandEvents?: IInbandEvent[];
|
|
635
|
+
inbandEvents?: IInbandEvent[] | undefined;
|
|
630
636
|
/**
|
|
631
637
|
* If set to `true`, then parsing this chunk revealed that the current
|
|
632
638
|
* Manifest instance needs to be refreshed.
|
|
@@ -659,19 +665,19 @@ export interface IRequestedData<T> {
|
|
|
659
665
|
* This property should only be set when a unique URL is sufficient to
|
|
660
666
|
* retrieve the whole data.
|
|
661
667
|
*/
|
|
662
|
-
url?: string;
|
|
668
|
+
url?: string | undefined;
|
|
663
669
|
/**
|
|
664
670
|
* Time at which the request began in terms of `performance.now`.
|
|
665
671
|
* If fetching the corresponding data necessitated to perform multiple
|
|
666
672
|
* requests, this time corresponds to the first request made.
|
|
667
673
|
*/
|
|
668
|
-
sendingTime?: number;
|
|
674
|
+
sendingTime?: number | undefined;
|
|
669
675
|
/**
|
|
670
676
|
* Time at which the request ended in terms of `performance.now`.
|
|
671
677
|
* If fetching the corresponding data necessitated to perform multiple
|
|
672
678
|
* requests, this time corresponds to the last request to end.
|
|
673
679
|
*/
|
|
674
|
-
receivedTime?: number;
|
|
680
|
+
receivedTime?: number | undefined;
|
|
675
681
|
/** Size in bytes of the loaded data. `undefined` if we don't know. */
|
|
676
682
|
size: number | undefined;
|
|
677
683
|
}
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import PPromise from "pinkie";
|
|
17
16
|
import { CustomLoaderError } from "../../errors";
|
|
17
|
+
import PPromise from "../../utils/promise";
|
|
18
18
|
export default function callCustomManifestLoader(customManifestLoader, fallbackManifestLoader) {
|
|
19
19
|
return function (url, cancelSignal) {
|
|
20
20
|
return new PPromise(function (res, rej) {
|
|
@@ -21,5 +21,5 @@ import { ICustomManifestLoader, ILoadedManifestFormat, IRequestedData } from "..
|
|
|
21
21
|
* @returns {Function}
|
|
22
22
|
*/
|
|
23
23
|
export default function generateManifestLoader({ customManifestLoader }: {
|
|
24
|
-
customManifestLoader?: ICustomManifestLoader;
|
|
24
|
+
customManifestLoader?: ICustomManifestLoader | undefined;
|
|
25
25
|
}, preferredType: "arraybuffer" | "text" | "document"): (url: string | undefined, cancelSignal: CancellationSignal) => Promise<IRequestedData<ILoadedManifestFormat>>;
|
|
@@ -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
|
-
import PPromise from "
|
|
16
|
+
import PPromise from "./promise";
|
|
17
17
|
/**
|
|
18
18
|
* Wait the given `delay`, resolving the Promise when finished.
|
|
19
19
|
*
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import PPromise from "pinkie";
|
|
17
16
|
import { Observable } from "rxjs";
|
|
18
17
|
/**
|
|
19
18
|
* Try to cast the given value into an observable.
|
|
@@ -21,5 +20,5 @@ import { Observable } from "rxjs";
|
|
|
21
20
|
* @param {Observable|Function|*}
|
|
22
21
|
* @returns {Observable}
|
|
23
22
|
*/
|
|
24
|
-
declare function castToObservable<T>(value: Observable<T> | Promise<T> |
|
|
23
|
+
declare function castToObservable<T>(value: Observable<T> | Promise<T> | Exclude<T, Observable<T>>): Observable<T>;
|
|
25
24
|
export default castToObservable;
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import PPromise from "pinkie";
|
|
17
16
|
import { from as observableFrom, Observable, of as observableOf, } from "rxjs";
|
|
18
17
|
import isNullOrUndefined from "./is_null_or_undefined";
|
|
18
|
+
import PPromise from "./promise";
|
|
19
19
|
/**
|
|
20
20
|
* Try to cast the given value into an observable.
|
|
21
21
|
* StraightForward - test first for an Observable then for a Promise.
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import PPromise from "pinkie";
|
|
2
1
|
import { CancellationSignal } from "../task_canceller";
|
|
3
2
|
/** Object returned by `fetchRequest` after the fetch operation succeeded. */
|
|
4
3
|
export interface IFetchedStreamComplete {
|
|
@@ -33,7 +32,7 @@ export interface IFetchedDataObject {
|
|
|
33
32
|
* Value of the "Content-Length" header, which should (yet also might not be)
|
|
34
33
|
* the size of the complete data that will be fetched.
|
|
35
34
|
*/
|
|
36
|
-
totalSize
|
|
35
|
+
totalSize: number | undefined;
|
|
37
36
|
/**
|
|
38
37
|
* Current available chunk, which might only be a sub-part of the whole
|
|
39
38
|
* data.
|
|
@@ -61,15 +60,15 @@ export interface IFetchOptions {
|
|
|
61
60
|
/** Optional headers for the HTTP GET request perfomed by `fetchRequest`. */
|
|
62
61
|
headers?: {
|
|
63
62
|
[header: string]: string;
|
|
64
|
-
} | null;
|
|
63
|
+
} | undefined | null;
|
|
65
64
|
/**
|
|
66
65
|
* Optional timeout for the HTTP GET request perfomed by `fetchRequest`.
|
|
67
66
|
* This timeout is just enabled until the HTTP response from the server, even
|
|
68
67
|
* if not all data has been received yet.
|
|
69
68
|
*/
|
|
70
|
-
timeout?: number;
|
|
69
|
+
timeout?: number | undefined;
|
|
71
70
|
}
|
|
72
|
-
export default function fetchRequest(options: IFetchOptions):
|
|
71
|
+
export default function fetchRequest(options: IFetchOptions): Promise<IFetchedStreamComplete>;
|
|
73
72
|
/**
|
|
74
73
|
* Returns true if fetch should be supported in the current browser.
|
|
75
74
|
* @return {boolean}
|
|
@@ -49,7 +49,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
49
49
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
50
50
|
}
|
|
51
51
|
};
|
|
52
|
-
import PPromise from "pinkie";
|
|
53
52
|
import config from "../../config";
|
|
54
53
|
import { NetworkErrorTypes, RequestError, } from "../../errors";
|
|
55
54
|
import log from "../../log";
|
|
@@ -104,9 +103,13 @@ export default function fetchRequest(options) {
|
|
|
104
103
|
cancellation = err;
|
|
105
104
|
abortFetch();
|
|
106
105
|
});
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
106
|
+
var fetchOpts = { method: "GET" };
|
|
107
|
+
if (headers !== undefined) {
|
|
108
|
+
fetchOpts.headers = headers;
|
|
109
|
+
}
|
|
110
|
+
fetchOpts.signal = !isNullOrUndefined(abortController) ? abortController.signal :
|
|
111
|
+
null;
|
|
112
|
+
return fetch(options.url, fetchOpts).then(function (response) {
|
|
110
113
|
if (!isNullOrUndefined(timeout)) {
|
|
111
114
|
clearTimeout(timeout);
|
|
112
115
|
}
|
|
@@ -107,25 +107,25 @@ export interface IRequestOptions<ResponseType> {
|
|
|
107
107
|
/** Dictionary of headers you want to set. `null` or `undefined` for no header. */
|
|
108
108
|
headers?: {
|
|
109
109
|
[header: string]: string;
|
|
110
|
-
} | null;
|
|
110
|
+
} | null | undefined;
|
|
111
111
|
/** Wanted format for the response */
|
|
112
|
-
responseType?: ResponseType;
|
|
112
|
+
responseType?: ResponseType | undefined;
|
|
113
113
|
/**
|
|
114
114
|
* Optional timeout, in milliseconds, after which we will cancel a request.
|
|
115
115
|
* Set to DEFAULT_REQUEST_TIMEOUT by default.
|
|
116
116
|
*/
|
|
117
|
-
timeout?: number;
|
|
117
|
+
timeout?: number | undefined;
|
|
118
118
|
/**
|
|
119
119
|
* "Cancelation token" used to be able to cancel the request.
|
|
120
120
|
* When this token is "cancelled", the request will be aborted and the Promise
|
|
121
121
|
* returned by `request` will be rejected.
|
|
122
122
|
*/
|
|
123
|
-
cancelSignal?: CancellationSignal;
|
|
123
|
+
cancelSignal?: CancellationSignal | undefined;
|
|
124
124
|
/**
|
|
125
125
|
* When defined, this callback will be called on each XHR "progress" event
|
|
126
126
|
* with data related to this request's progress.
|
|
127
127
|
*/
|
|
128
|
-
onProgress?: (info: IProgressInfo) => void;
|
|
128
|
+
onProgress?: ((info: IProgressInfo) => void) | undefined;
|
|
129
129
|
}
|
|
130
130
|
/** Data emitted by `request`'s Promise when the request succeeded. */
|
|
131
131
|
export interface IRequestResponse<T, U> {
|
|
@@ -156,5 +156,5 @@ export interface IProgressInfo {
|
|
|
156
156
|
size: number;
|
|
157
157
|
sendingTime: number;
|
|
158
158
|
url: string;
|
|
159
|
-
totalSize?: number;
|
|
159
|
+
totalSize?: number | undefined;
|
|
160
160
|
}
|
|
@@ -17,6 +17,7 @@ import config from "../../config";
|
|
|
17
17
|
import { RequestError } from "../../errors";
|
|
18
18
|
import isNonEmptyString from "../is_non_empty_string";
|
|
19
19
|
import isNullOrUndefined from "../is_null_or_undefined";
|
|
20
|
+
import PPromise from "../promise";
|
|
20
21
|
var DEFAULT_REQUEST_TIMEOUT = config.DEFAULT_REQUEST_TIMEOUT;
|
|
21
22
|
var DEFAULT_RESPONSE_TYPE = "json";
|
|
22
23
|
export default function request(options) {
|
|
@@ -28,7 +29,7 @@ export default function request(options) {
|
|
|
28
29
|
timeout: isNullOrUndefined(options.timeout) ? DEFAULT_REQUEST_TIMEOUT :
|
|
29
30
|
options.timeout,
|
|
30
31
|
};
|
|
31
|
-
return new
|
|
32
|
+
return new PPromise(function (resolve, reject) {
|
|
32
33
|
var onProgress = options.onProgress, cancelSignal = options.cancelSignal;
|
|
33
34
|
var url = requestOptions.url, headers = requestOptions.headers, responseType = requestOptions.responseType, timeout = requestOptions.timeout;
|
|
34
35
|
var xhr = new XMLHttpRequest();
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import PPromise from "pinkie";
|
|
17
16
|
import { Observable } from "rxjs";
|
|
18
17
|
import TaskCanceller from "./task_canceller";
|
|
19
18
|
/**
|
|
@@ -37,4 +36,4 @@ import TaskCanceller from "./task_canceller";
|
|
|
37
36
|
* @param {Function} fn
|
|
38
37
|
* @returns {Observable}
|
|
39
38
|
*/
|
|
40
|
-
export default function fromCancellablePromise<T>(canceller: TaskCanceller, fn: () =>
|
|
39
|
+
export default function fromCancellablePromise<T>(canceller: TaskCanceller, fn: () => Promise<T>): Observable<T>;
|