rx-player 4.0.0-dev.2023110700 → 4.0.0-dev.2023120600
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 +18 -226
- package/FILES.md +1 -1
- package/VERSION +1 -1
- package/dist/_esm5.processed/compat/add_text_track.d.ts +1 -3
- package/dist/_esm5.processed/compat/add_text_track.js +4 -7
- package/dist/_esm5.processed/compat/browser_compatibility_types.d.ts +0 -7
- package/dist/_esm5.processed/compat/event_listeners.d.ts +2 -15
- package/dist/_esm5.processed/compat/event_listeners.js +2 -37
- package/dist/_esm5.processed/compat/index.d.ts +1 -3
- package/dist/_esm5.processed/compat/index.js +1 -3
- package/dist/_esm5.processed/config.d.ts +9 -21
- package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.d.ts +0 -58
- package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.js +14 -54
- package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.d.ts +2 -8
- package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.js +2 -11
- package/dist/_esm5.processed/core/api/debug/buffer_graph.js +2 -6
- package/dist/_esm5.processed/core/api/debug/modules/general_info.js +13 -32
- package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_content.js +3 -3
- package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_size.js +1 -1
- package/dist/_esm5.processed/core/api/option_utils.d.ts +14 -35
- package/dist/_esm5.processed/core/api/option_utils.js +47 -230
- package/dist/_esm5.processed/core/api/public_api.d.ts +92 -266
- package/dist/_esm5.processed/core/api/public_api.js +451 -807
- package/dist/_esm5.processed/core/{segment_buffers/implementations/image → api/track_management}/index.d.ts +3 -2
- package/dist/_esm5.processed/core/{segment_buffers/implementations/image → api/track_management}/index.js +3 -2
- package/dist/_esm5.processed/core/api/{tracks_management/media_element_track_choice_manager.d.ts → track_management/media_element_tracks_store.d.ts} +15 -75
- package/dist/_esm5.processed/core/api/{tracks_management/media_element_track_choice_manager.js → track_management/media_element_tracks_store.js} +74 -193
- package/dist/_esm5.processed/core/api/track_management/track_dispatcher.d.ts +84 -0
- package/dist/_esm5.processed/core/api/track_management/track_dispatcher.js +158 -0
- package/dist/_esm5.processed/core/api/track_management/tracks_store.d.ts +406 -0
- package/dist/_esm5.processed/core/api/track_management/tracks_store.js +932 -0
- package/dist/_esm5.processed/core/api/utils.d.ts +1 -0
- package/dist/_esm5.processed/core/api/utils.js +28 -11
- package/dist/_esm5.processed/core/decrypt/content_decryptor.js +3 -3
- package/dist/_esm5.processed/core/decrypt/find_key_system.js +83 -71
- package/dist/_esm5.processed/core/decrypt/get_media_keys.js +6 -5
- package/dist/_esm5.processed/core/decrypt/session_events_listener.js +10 -72
- package/dist/_esm5.processed/core/decrypt/utils/persistent_sessions_store.d.ts +4 -4
- package/dist/_esm5.processed/core/decrypt/utils/persistent_sessions_store.js +6 -4
- package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.d.ts +1 -3
- package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.js +7 -26
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.d.ts +3 -9
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.js +16 -9
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.d.ts +1 -3
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.js +1 -1
- package/dist/_esm5.processed/core/fetchers/utils/schedule_request.d.ts +1 -6
- package/dist/_esm5.processed/core/fetchers/utils/schedule_request.js +4 -41
- package/dist/_esm5.processed/core/init/directfile_content_initializer.js +1 -1
- package/dist/_esm5.processed/core/init/media_source_content_initializer.d.ts +1 -8
- package/dist/_esm5.processed/core/init/media_source_content_initializer.js +5 -19
- package/dist/_esm5.processed/core/init/types.d.ts +5 -15
- package/dist/_esm5.processed/core/init/utils/rebuffering_controller.d.ts +2 -36
- package/dist/_esm5.processed/core/init/utils/rebuffering_controller.js +2 -82
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/text_track_cues_store.js +54 -6
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/utils.d.ts +2 -1
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/utils.js +19 -2
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.d.ts +1 -2
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.js +2 -3
- package/dist/_esm5.processed/core/segment_buffers/implementations/types.d.ts +2 -2
- package/dist/_esm5.processed/core/segment_buffers/index.d.ts +2 -2
- package/dist/_esm5.processed/core/segment_buffers/index.js +2 -1
- package/dist/_esm5.processed/core/segment_buffers/inventory/index.d.ts +1 -0
- package/dist/_esm5.processed/core/segment_buffers/inventory/index.js +1 -0
- package/dist/_esm5.processed/core/segment_buffers/inventory/utils.d.ts +33 -0
- package/dist/_esm5.processed/core/segment_buffers/inventory/utils.js +49 -0
- package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.d.ts +0 -1
- package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.js +2 -16
- package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.d.ts +0 -15
- package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.js +183 -93
- package/dist/_esm5.processed/core/stream/adaptation/get_representations_switch_strategy.d.ts +39 -0
- package/dist/_esm5.processed/core/stream/adaptation/get_representations_switch_strategy.js +133 -0
- package/dist/_esm5.processed/core/stream/adaptation/types.d.ts +27 -13
- package/dist/_esm5.processed/core/stream/index.d.ts +2 -3
- package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.d.ts +2 -0
- package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.js +5 -7
- package/dist/_esm5.processed/core/stream/period/period_stream.js +13 -12
- package/dist/_esm5.processed/core/stream/period/types.d.ts +5 -14
- package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.d.ts +2 -4
- package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.js +10 -46
- package/dist/_esm5.processed/core/stream/representation/representation_stream.js +29 -23
- package/dist/_esm5.processed/core/stream/representation/types.d.ts +11 -1
- package/dist/_esm5.processed/default_config.d.ts +35 -98
- package/dist/_esm5.processed/default_config.js +36 -113
- package/dist/_esm5.processed/errors/custom_loader_error.d.ts +1 -3
- package/dist/_esm5.processed/errors/custom_loader_error.js +1 -3
- package/dist/_esm5.processed/errors/media_error.js +2 -2
- package/dist/_esm5.processed/errors/network_error.d.ts +0 -1
- package/dist/_esm5.processed/errors/network_error.js +0 -1
- package/dist/_esm5.processed/errors/request_error.d.ts +2 -3
- package/dist/_esm5.processed/errors/request_error.js +2 -5
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +3 -3
- package/dist/_esm5.processed/features/features_object.js +0 -2
- package/dist/_esm5.processed/features/list/directfile.js +2 -5
- package/dist/_esm5.processed/features/list/index.d.ts +0 -2
- package/dist/_esm5.processed/features/list/index.js +0 -2
- package/dist/_esm5.processed/features/types.d.ts +3 -27
- package/dist/_esm5.processed/manifest/adaptation.d.ts +9 -11
- package/dist/_esm5.processed/manifest/adaptation.js +41 -30
- package/dist/_esm5.processed/manifest/index.d.ts +3 -4
- package/dist/_esm5.processed/manifest/manifest.d.ts +5 -54
- package/dist/_esm5.processed/manifest/manifest.js +5 -110
- package/dist/_esm5.processed/manifest/period.d.ts +4 -5
- package/dist/_esm5.processed/manifest/representation.d.ts +10 -5
- package/dist/_esm5.processed/manifest/representation.js +33 -10
- package/dist/_esm5.processed/manifest/representation_index/index.d.ts +2 -2
- package/dist/_esm5.processed/manifest/representation_index/static.d.ts +2 -0
- package/dist/_esm5.processed/manifest/representation_index/static.js +6 -0
- package/dist/_esm5.processed/manifest/representation_index/types.d.ts +42 -21
- package/dist/_esm5.processed/manifest/types.d.ts +0 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/convert_supplemental_codecs.d.ts +17 -0
- package/dist/_esm5.processed/parsers/manifest/dash/common/convert_supplemental_codecs.js +26 -0
- package/dist/_esm5.processed/parsers/manifest/dash/common/flatten_overlapping_periods.js +5 -0
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.d.ts +17 -31
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.js +26 -19
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.d.ts +2 -0
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.js +7 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.d.ts +2 -6
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.js +11 -8
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +2 -0
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +6 -0
- package/dist/_esm5.processed/parsers/manifest/dash/common/infer_adaptation_type.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/infer_adaptation_type.js +1 -6
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.js +3 -5
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.d.ts +0 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.js +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.js +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.d.ts +0 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.js +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.js +29 -17
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +13 -6
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Representation.js +7 -2
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.d.ts +10 -1
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.js +18 -2
- package/dist/_esm5.processed/parsers/manifest/dash/node_parser_types.d.ts +6 -4
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +7 -6
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +5 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/types.d.ts +2 -1
- package/dist/_esm5.processed/parsers/manifest/local/representation_index.d.ts +2 -0
- package/dist/_esm5.processed/parsers/manifest/local/representation_index.js +6 -0
- package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.js +6 -6
- package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.d.ts +12 -3
- package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.js +11 -2
- package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.d.ts +0 -1
- package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.js +11 -17
- package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.d.ts +21 -83
- package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.js +53 -125
- package/dist/_esm5.processed/parsers/manifest/smooth/shared_smooth_segment_timeline.d.ts +119 -0
- package/dist/_esm5.processed/parsers/manifest/smooth/shared_smooth_segment_timeline.js +159 -0
- package/dist/_esm5.processed/parsers/manifest/smooth/utils/add_segment_infos.d.ts +3 -6
- package/dist/_esm5.processed/parsers/manifest/smooth/utils/add_segment_infos.js +4 -4
- package/dist/_esm5.processed/parsers/manifest/types.d.ts +4 -3
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_extent.js +1 -8
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_origin.js +1 -9
- package/dist/_esm5.processed/public_types.d.ts +396 -308
- package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.d.ts +5 -4
- package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.js +5 -4
- package/dist/_esm5.processed/transports/dash/add_segment_integrity_checks_to_loader.js +4 -4
- package/dist/_esm5.processed/transports/dash/manifest_parser.js +2 -3
- package/dist/_esm5.processed/transports/dash/pipelines.js +1 -4
- package/dist/_esm5.processed/transports/dash/segment_loader.d.ts +2 -2
- package/dist/_esm5.processed/transports/dash/segment_loader.js +26 -20
- package/dist/_esm5.processed/transports/dash/segment_parser.js +19 -24
- package/dist/_esm5.processed/transports/dash/text_loader.js +5 -5
- package/dist/_esm5.processed/transports/dash/text_parser.js +28 -33
- package/dist/_esm5.processed/transports/local/pipelines.js +1 -10
- package/dist/_esm5.processed/transports/local/segment_loader.js +2 -2
- package/dist/_esm5.processed/transports/local/segment_parser.d.ts +1 -1
- package/dist/_esm5.processed/transports/local/segment_parser.js +10 -10
- package/dist/_esm5.processed/transports/local/text_parser.d.ts +2 -2
- package/dist/_esm5.processed/transports/local/text_parser.js +23 -23
- package/dist/_esm5.processed/transports/metaplaylist/pipelines.js +34 -52
- package/dist/_esm5.processed/{utils/list_to_map.d.ts → transports/smooth/is_mp4_embedded_track.d.ts} +5 -5
- package/dist/_esm5.processed/{features/list/image_buffer.d.ts → transports/smooth/is_mp4_embedded_track.js} +7 -6
- package/dist/_esm5.processed/transports/smooth/pipelines.js +33 -190
- package/dist/_esm5.processed/transports/smooth/segment_loader.d.ts +1 -1
- package/dist/_esm5.processed/transports/smooth/segment_loader.js +28 -22
- package/dist/_esm5.processed/transports/smooth/utils.d.ts +1 -26
- package/dist/_esm5.processed/transports/smooth/utils.js +1 -55
- package/dist/_esm5.processed/transports/types.d.ts +94 -89
- package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.js +3 -3
- package/dist/_esm5.processed/transports/utils/infer_segment_container.d.ts +3 -3
- package/dist/_esm5.processed/transports/utils/infer_segment_container.js +5 -7
- package/dist/_esm5.processed/transports/utils/parse_text_track.d.ts +8 -12
- package/dist/_esm5.processed/transports/utils/parse_text_track.js +19 -21
- package/dist/_esm5.processed/utils/array_includes.d.ts +2 -1
- package/dist/_esm5.processed/utils/array_includes.js +30 -28
- package/dist/_esm5.processed/utils/request/xhr.js +5 -5
- package/dist/commonjs/compat/is_codec_supported.js +22 -1
- package/dist/commonjs/compat/patch_webkit_source_buffer.js +2 -2
- package/dist/commonjs/config.d.ts +1 -0
- package/dist/commonjs/core/api/debug/buffer_graph.js +2 -6
- package/dist/commonjs/core/api/debug/modules/general_info.js +17 -10
- package/dist/commonjs/core/api/option_utils.d.ts +4 -0
- package/dist/commonjs/core/api/option_utils.js +8 -3
- package/dist/commonjs/core/api/public_api.d.ts +11 -1
- package/dist/commonjs/core/api/public_api.js +46 -11
- package/dist/commonjs/core/fetchers/manifest/manifest_fetcher.d.ts +6 -0
- package/dist/commonjs/core/fetchers/manifest/manifest_fetcher.js +11 -3
- package/dist/commonjs/core/fetchers/segment/segment_fetcher.d.ts +8 -1
- package/dist/commonjs/core/fetchers/segment/segment_fetcher.js +8 -4
- package/dist/commonjs/core/fetchers/segment/segment_fetcher_creator.d.ts +1 -0
- package/dist/commonjs/core/fetchers/utils/schedule_request.js +1 -1
- package/dist/commonjs/core/init/directfile_content_initializer.js +24 -7
- package/dist/commonjs/core/init/media_source_content_initializer.d.ts +6 -0
- package/dist/commonjs/core/init/media_source_content_initializer.js +4 -6
- package/dist/commonjs/core/init/utils/content_time_boundaries_observer.d.ts +13 -12
- package/dist/commonjs/core/init/utils/content_time_boundaries_observer.js +16 -17
- package/dist/commonjs/core/init/utils/get_initial_time.d.ts +17 -3
- package/dist/commonjs/core/init/utils/get_initial_time.js +9 -7
- package/dist/commonjs/core/segment_buffers/implementations/text/html/text_track_cues_store.js +54 -6
- package/dist/commonjs/core/segment_buffers/implementations/text/html/utils.d.ts +2 -1
- package/dist/commonjs/core/segment_buffers/implementations/text/html/utils.js +19 -2
- package/dist/commonjs/core/stream/adaptation/adaptation_stream.js +2 -2
- package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.js +3 -3
- package/dist/commonjs/core/stream/period/period_stream.js +2 -2
- package/dist/commonjs/core/stream/representation/utils/get_buffer_status.js +3 -3
- 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.js +5 -0
- package/dist/commonjs/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +3 -1
- package/dist/commonjs/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +2 -0
- package/dist/commonjs/manifest/representation.js +18 -5
- package/dist/commonjs/manifest/representation_index/static.d.ts +1 -1
- package/dist/commonjs/manifest/representation_index/static.js +2 -2
- package/dist/commonjs/manifest/representation_index/types.d.ts +4 -4
- package/dist/commonjs/parsers/manifest/dash/common/convert_supplemental_codecs.d.ts +17 -0
- package/dist/commonjs/parsers/manifest/dash/common/convert_supplemental_codecs.js +30 -0
- package/dist/commonjs/parsers/manifest/dash/common/flatten_overlapping_periods.js +5 -0
- package/dist/commonjs/parsers/manifest/dash/common/indexes/base.d.ts +6 -1
- package/dist/commonjs/parsers/manifest/dash/common/indexes/base.js +4 -3
- package/dist/commonjs/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +5 -2
- package/dist/commonjs/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +15 -4
- package/dist/commonjs/parsers/manifest/dash/common/indexes/index.d.ts +5 -5
- package/dist/commonjs/parsers/manifest/dash/common/indexes/list.d.ts +1 -1
- package/dist/commonjs/parsers/manifest/dash/common/indexes/list.js +2 -2
- package/dist/commonjs/parsers/manifest/dash/common/indexes/template.d.ts +12 -5
- package/dist/commonjs/parsers/manifest/dash/common/indexes/template.js +42 -29
- package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/index.d.ts +2 -1
- package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +99 -6
- package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +250 -51
- package/dist/commonjs/parsers/manifest/dash/common/manifest_bounds_calculator.d.ts +40 -17
- package/dist/commonjs/parsers/manifest/dash/common/manifest_bounds_calculator.js +38 -18
- package/dist/commonjs/parsers/manifest/dash/common/parse_adaptation_sets.js +13 -10
- package/dist/commonjs/parsers/manifest/dash/common/parse_mpd.js +27 -14
- package/dist/commonjs/parsers/manifest/dash/common/parse_periods.d.ts +1 -1
- package/dist/commonjs/parsers/manifest/dash/common/parse_periods.js +17 -18
- package/dist/commonjs/parsers/manifest/dash/common/parse_representation_index.d.ts +19 -6
- package/dist/commonjs/parsers/manifest/dash/common/parse_representation_index.js +21 -8
- package/dist/commonjs/parsers/manifest/dash/common/parse_representations.js +36 -20
- package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +3 -0
- package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/Representation.js +3 -0
- package/dist/commonjs/parsers/manifest/dash/node_parser_types.d.ts +2 -0
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +4 -0
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +4 -0
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/types.d.ts +2 -1
- package/dist/commonjs/parsers/manifest/local/representation_index.d.ts +1 -1
- package/dist/commonjs/parsers/manifest/local/representation_index.js +3 -3
- package/dist/commonjs/parsers/manifest/metaplaylist/representation_index.d.ts +1 -1
- package/dist/commonjs/parsers/manifest/metaplaylist/representation_index.js +2 -2
- package/dist/commonjs/parsers/manifest/smooth/representation_index.d.ts +5 -5
- package/dist/commonjs/parsers/manifest/smooth/representation_index.js +25 -9
- package/dist/commonjs/parsers/manifest/types.d.ts +1 -0
- package/dist/commonjs/parsers/manifest/utils/index_helpers.js +1 -1
- package/dist/commonjs/public_types.d.ts +78 -34
- package/dist/commonjs/transports/dash/init_segment_loader.js +10 -5
- package/dist/commonjs/transports/dash/manifest_parser.js +5 -2
- package/dist/commonjs/transports/dash/segment_loader.js +2 -1
- package/dist/commonjs/transports/dash/text_loader.js +2 -0
- package/dist/commonjs/transports/metaplaylist/manifest_loader.js +2 -1
- package/dist/commonjs/transports/metaplaylist/pipelines.js +4 -1
- package/dist/commonjs/transports/smooth/pipelines.js +4 -2
- package/dist/commonjs/transports/smooth/segment_loader.js +2 -1
- package/dist/commonjs/transports/types.d.ts +12 -0
- package/dist/commonjs/transports/utils/generate_manifest_loader.js +6 -3
- package/dist/commonjs/utils/queue_microtask.d.ts +2 -0
- package/dist/commonjs/utils/queue_microtask.js +7 -0
- package/dist/commonjs/utils/request/fetch.d.ts +6 -0
- package/dist/commonjs/utils/request/fetch.js +29 -8
- package/dist/commonjs/utils/request/xhr.d.ts +11 -5
- package/dist/commonjs/utils/request/xhr.js +29 -8
- package/dist/es2017/compat/is_codec_supported.js +22 -1
- package/dist/es2017/compat/patch_webkit_source_buffer.js +2 -2
- package/dist/es2017/config.d.ts +1 -0
- package/dist/es2017/core/api/debug/buffer_graph.js +2 -6
- package/dist/es2017/core/api/debug/modules/general_info.js +17 -10
- package/dist/es2017/core/api/option_utils.d.ts +4 -0
- package/dist/es2017/core/api/option_utils.js +8 -3
- package/dist/es2017/core/api/public_api.d.ts +11 -1
- package/dist/es2017/core/api/public_api.js +44 -9
- package/dist/es2017/core/fetchers/manifest/manifest_fetcher.d.ts +6 -0
- package/dist/es2017/core/fetchers/manifest/manifest_fetcher.js +11 -3
- package/dist/es2017/core/fetchers/segment/segment_fetcher.d.ts +8 -1
- package/dist/es2017/core/fetchers/segment/segment_fetcher.js +8 -4
- package/dist/es2017/core/fetchers/segment/segment_fetcher_creator.d.ts +1 -0
- package/dist/es2017/core/fetchers/utils/schedule_request.js +1 -1
- package/dist/es2017/core/init/directfile_content_initializer.js +24 -7
- package/dist/es2017/core/init/media_source_content_initializer.d.ts +6 -0
- package/dist/es2017/core/init/media_source_content_initializer.js +4 -6
- package/dist/es2017/core/init/utils/content_time_boundaries_observer.d.ts +13 -12
- package/dist/es2017/core/init/utils/content_time_boundaries_observer.js +16 -15
- package/dist/es2017/core/init/utils/get_initial_time.d.ts +17 -3
- package/dist/es2017/core/init/utils/get_initial_time.js +9 -7
- package/dist/es2017/core/segment_buffers/implementations/text/html/text_track_cues_store.js +54 -6
- package/dist/es2017/core/segment_buffers/implementations/text/html/utils.d.ts +2 -1
- package/dist/es2017/core/segment_buffers/implementations/text/html/utils.js +18 -2
- package/dist/es2017/core/stream/adaptation/adaptation_stream.js +2 -2
- package/dist/es2017/core/stream/orchestrator/stream_orchestrator.js +3 -3
- package/dist/es2017/core/stream/period/period_stream.js +2 -2
- package/dist/es2017/core/stream/representation/utils/get_buffer_status.js +3 -3
- 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.js +5 -0
- package/dist/es2017/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +3 -1
- package/dist/es2017/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +2 -0
- package/dist/es2017/manifest/representation.js +18 -5
- package/dist/es2017/manifest/representation_index/static.d.ts +1 -1
- package/dist/es2017/manifest/representation_index/static.js +2 -2
- package/dist/es2017/manifest/representation_index/types.d.ts +4 -4
- package/dist/es2017/parsers/manifest/dash/common/convert_supplemental_codecs.d.ts +17 -0
- package/dist/es2017/parsers/manifest/dash/common/convert_supplemental_codecs.js +26 -0
- package/dist/es2017/parsers/manifest/dash/common/flatten_overlapping_periods.js +5 -0
- package/dist/es2017/parsers/manifest/dash/common/indexes/base.d.ts +6 -1
- package/dist/es2017/parsers/manifest/dash/common/indexes/base.js +4 -3
- package/dist/es2017/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +5 -2
- package/dist/es2017/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +15 -4
- package/dist/es2017/parsers/manifest/dash/common/indexes/index.d.ts +5 -5
- package/dist/es2017/parsers/manifest/dash/common/indexes/list.d.ts +1 -1
- package/dist/es2017/parsers/manifest/dash/common/indexes/list.js +2 -2
- package/dist/es2017/parsers/manifest/dash/common/indexes/template.d.ts +12 -5
- package/dist/es2017/parsers/manifest/dash/common/indexes/template.js +40 -27
- package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/index.d.ts +2 -1
- package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +99 -6
- package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +246 -51
- package/dist/es2017/parsers/manifest/dash/common/manifest_bounds_calculator.d.ts +40 -17
- package/dist/es2017/parsers/manifest/dash/common/manifest_bounds_calculator.js +38 -18
- package/dist/es2017/parsers/manifest/dash/common/parse_adaptation_sets.js +11 -8
- package/dist/es2017/parsers/manifest/dash/common/parse_mpd.js +27 -13
- package/dist/es2017/parsers/manifest/dash/common/parse_periods.d.ts +1 -1
- package/dist/es2017/parsers/manifest/dash/common/parse_periods.js +13 -16
- package/dist/es2017/parsers/manifest/dash/common/parse_representation_index.d.ts +19 -6
- package/dist/es2017/parsers/manifest/dash/common/parse_representation_index.js +10 -8
- package/dist/es2017/parsers/manifest/dash/common/parse_representations.js +36 -20
- package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +3 -0
- package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/Representation.js +3 -0
- package/dist/es2017/parsers/manifest/dash/node_parser_types.d.ts +2 -0
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +4 -0
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +4 -0
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/types.d.ts +2 -1
- package/dist/es2017/parsers/manifest/local/representation_index.d.ts +1 -1
- package/dist/es2017/parsers/manifest/local/representation_index.js +3 -3
- package/dist/es2017/parsers/manifest/metaplaylist/representation_index.d.ts +1 -1
- package/dist/es2017/parsers/manifest/metaplaylist/representation_index.js +2 -2
- package/dist/es2017/parsers/manifest/smooth/representation_index.d.ts +5 -5
- package/dist/es2017/parsers/manifest/smooth/representation_index.js +25 -9
- package/dist/es2017/parsers/manifest/types.d.ts +1 -0
- package/dist/es2017/parsers/manifest/utils/index_helpers.js +1 -1
- package/dist/es2017/public_types.d.ts +78 -34
- package/dist/es2017/transports/dash/init_segment_loader.js +5 -0
- package/dist/es2017/transports/dash/manifest_parser.js +3 -0
- package/dist/es2017/transports/dash/segment_loader.js +1 -0
- package/dist/es2017/transports/dash/text_loader.js +2 -0
- package/dist/es2017/transports/metaplaylist/manifest_loader.js +1 -0
- package/dist/es2017/transports/metaplaylist/pipelines.js +4 -1
- package/dist/es2017/transports/smooth/pipelines.js +2 -0
- package/dist/es2017/transports/smooth/segment_loader.js +1 -0
- package/dist/es2017/transports/types.d.ts +12 -0
- package/dist/es2017/transports/utils/generate_manifest_loader.js +3 -0
- package/dist/es2017/utils/queue_microtask.d.ts +2 -0
- package/dist/es2017/utils/queue_microtask.js +5 -0
- package/dist/es2017/utils/request/fetch.d.ts +6 -0
- package/dist/es2017/utils/request/fetch.js +29 -8
- package/dist/es2017/utils/request/xhr.d.ts +11 -5
- package/dist/es2017/utils/request/xhr.js +30 -9
- package/dist/mpd-parser.wasm +0 -0
- package/dist/rx-player.js +900 -492
- package/dist/rx-player.min.js +1 -1
- package/package.json +3 -7
- package/scripts/update-version +2 -0
- package/sonar-project.properties +1 -1
- package/src/compat/is_codec_supported.ts +23 -1
- package/src/compat/patch_webkit_source_buffer.ts +2 -2
- package/src/core/api/debug/buffer_graph.ts +2 -5
- package/src/core/api/debug/modules/general_info.ts +15 -10
- package/src/core/api/option_utils.ts +11 -3
- package/src/core/api/public_api.ts +48 -8
- package/src/core/fetchers/manifest/manifest_fetcher.ts +21 -3
- package/src/core/fetchers/segment/segment_fetcher.ts +19 -5
- package/src/core/fetchers/segment/segment_fetcher_creator.ts +1 -0
- package/src/core/fetchers/utils/schedule_request.ts +1 -1
- package/src/core/init/directfile_content_initializer.ts +23 -7
- package/src/core/init/media_source_content_initializer.ts +13 -7
- package/src/core/init/utils/content_time_boundaries_observer.ts +23 -22
- package/src/core/init/utils/get_initial_time.ts +25 -12
- package/src/core/segment_buffers/implementations/text/html/__tests__/utils.test.ts +15 -0
- package/src/core/segment_buffers/implementations/text/html/text_track_cues_store.ts +57 -6
- package/src/core/segment_buffers/implementations/text/html/utils.ts +19 -2
- package/src/core/stream/adaptation/adaptation_stream.ts +2 -2
- package/src/core/stream/orchestrator/stream_orchestrator.ts +3 -3
- package/src/core/stream/period/period_stream.ts +2 -2
- package/src/core/stream/representation/utils/get_buffer_status.ts +3 -3
- package/src/core/stream/representation/utils/get_needed_segments.ts +2 -2
- package/src/default_config.ts +5 -0
- package/src/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.ts +3 -1
- package/src/experimental/tools/createMetaplaylist/get_duration_from_manifest.ts +2 -0
- package/src/manifest/representation.ts +19 -6
- package/src/manifest/representation_index/static.ts +2 -2
- package/src/manifest/representation_index/types.ts +4 -4
- package/src/parsers/manifest/dash/common/__tests__/convert_supplemental_codecs.test.ts +37 -0
- package/src/parsers/manifest/dash/common/__tests__/flatten_overlapping_period.test.ts +20 -0
- package/src/parsers/manifest/dash/common/__tests__/manifest_bounds_calculator.test.ts +182 -36
- package/src/parsers/manifest/dash/common/convert_supplemental_codecs.ts +32 -0
- package/src/parsers/manifest/dash/common/flatten_overlapping_periods.ts +5 -0
- package/src/parsers/manifest/dash/common/indexes/base.ts +12 -4
- package/src/parsers/manifest/dash/common/indexes/get_segments_from_timeline.ts +19 -5
- package/src/parsers/manifest/dash/common/indexes/index.ts +16 -4
- package/src/parsers/manifest/dash/common/indexes/list.ts +2 -2
- package/src/parsers/manifest/dash/common/indexes/template.ts +52 -31
- package/src/parsers/manifest/dash/common/indexes/timeline/index.ts +4 -1
- package/src/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.ts +366 -60
- package/src/parsers/manifest/dash/common/manifest_bounds_calculator.ts +63 -25
- package/src/parsers/manifest/dash/common/parse_adaptation_sets.ts +10 -4
- package/src/parsers/manifest/dash/common/parse_mpd.ts +28 -15
- package/src/parsers/manifest/dash/common/parse_periods.ts +12 -17
- package/src/parsers/manifest/dash/common/parse_representation_index.ts +50 -26
- package/src/parsers/manifest/dash/common/parse_representations.ts +39 -20
- package/src/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.ts +4 -0
- package/src/parsers/manifest/dash/js-parser/node_parsers/Representation.ts +4 -0
- package/src/parsers/manifest/dash/node_parser_types.ts +2 -0
- package/src/parsers/manifest/dash/wasm-parser/rs/events.rs +2 -0
- package/src/parsers/manifest/dash/wasm-parser/rs/processor/attributes.rs +2 -0
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.ts +4 -0
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/Representation.ts +4 -0
- package/src/parsers/manifest/dash/wasm-parser/ts/types.ts +2 -0
- package/src/parsers/manifest/local/representation_index.ts +3 -3
- package/src/parsers/manifest/metaplaylist/representation_index.ts +2 -2
- package/src/parsers/manifest/smooth/representation_index.ts +23 -9
- package/src/parsers/manifest/types.ts +2 -0
- package/src/parsers/manifest/utils/__tests__/get_first_time_from_adaptations.test.ts +1 -1
- package/src/parsers/manifest/utils/__tests__/get_last_time_from_adaptation.test.ts +1 -1
- package/src/parsers/manifest/utils/index_helpers.ts +1 -1
- package/src/public_types.ts +79 -34
- package/src/transports/dash/init_segment_loader.ts +5 -0
- package/src/transports/dash/manifest_parser.ts +6 -0
- package/src/transports/dash/segment_loader.ts +1 -0
- package/src/transports/dash/text_loader.ts +2 -0
- package/src/transports/metaplaylist/manifest_loader.ts +1 -0
- package/src/transports/metaplaylist/pipelines.ts +4 -1
- package/src/transports/smooth/pipelines.ts +2 -0
- package/src/transports/smooth/segment_loader.ts +1 -0
- package/src/transports/types.ts +12 -0
- package/src/transports/utils/generate_manifest_loader.ts +3 -0
- package/src/utils/queue_microtask.ts +7 -0
- package/src/utils/request/fetch.ts +35 -8
- package/src/utils/request/xhr.ts +45 -14
- package/dist/_esm5.processed/compat/fullscreen.d.ts +0 -32
- package/dist/_esm5.processed/compat/fullscreen.js +0 -78
- package/dist/_esm5.processed/compat/is_offline.d.ts +0 -39
- package/dist/_esm5.processed/compat/is_offline.js +0 -43
- package/dist/_esm5.processed/core/api/tracks_management/track_choice_manager.d.ts +0 -258
- package/dist/_esm5.processed/core/api/tracks_management/track_choice_manager.js +0 -989
- package/dist/_esm5.processed/core/segment_buffers/implementations/image/image_segment_buffer.d.ts +0 -75
- package/dist/_esm5.processed/core/segment_buffers/implementations/image/image_segment_buffer.js +0 -133
- package/dist/_esm5.processed/features/list/bif_parser.d.ts +0 -23
- package/dist/_esm5.processed/features/list/bif_parser.js +0 -27
- package/dist/_esm5.processed/features/list/image_buffer.js +0 -25
- package/dist/_esm5.processed/transports/dash/image_pipelines.d.ts +0 -38
- package/dist/_esm5.processed/transports/dash/image_pipelines.js +0 -129
- package/dist/_esm5.processed/utils/list_to_map.js +0 -28
- package/dist/_esm5.processed/utils/simple_set.d.ts +0 -51
- package/dist/_esm5.processed/utils/simple_set.js +0 -57
- package/dist/_esm5.processed/utils/uniq.d.ts +0 -36
- package/dist/_esm5.processed/utils/uniq.js +0 -43
- package/dist/commonjs/parsers/manifest/utils/is_segment_still_available.d.ts +0 -29
- package/dist/commonjs/parsers/manifest/utils/is_segment_still_available.js +0 -54
- package/dist/es2017/parsers/manifest/utils/is_segment_still_available.d.ts +0 -29
- package/dist/es2017/parsers/manifest/utils/is_segment_still_available.js +0 -51
- package/src/parsers/manifest/utils/is_segment_still_available.ts +0 -58
- package/src/typings/next-tick.d.ts +0 -23
- package/src/typings/object-assign.d.ts +0 -48
package/src/utils/request/xhr.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { RequestError } from "../../errors";
|
|
17
|
+
import { NetworkErrorTypes, RequestError } from "../../errors";
|
|
18
18
|
import isNonEmptyString from "../is_non_empty_string";
|
|
19
19
|
import isNullOrUndefined from "../is_null_or_undefined";
|
|
20
20
|
import getMonotonicTimeStamp from "../monotonic_timestamp";
|
|
@@ -30,14 +30,14 @@ const DEFAULT_RESPONSE_TYPE : XMLHttpRequestResponseType = "json";
|
|
|
30
30
|
* Perform an HTTP request, according to the options given.
|
|
31
31
|
*
|
|
32
32
|
* Several errors can be rejected. Namely:
|
|
33
|
-
* -
|
|
34
|
-
*
|
|
35
|
-
* -
|
|
33
|
+
* - NetworkErrorTypes.TIMEOUT: the request timed out (took too long)
|
|
34
|
+
*
|
|
35
|
+
* - NetworkErrorTypes.PARSE_ERROR: the browser APIs used to parse the
|
|
36
36
|
* data failed.
|
|
37
|
-
* -
|
|
37
|
+
* - NetworkErrorTypes.ERROR_HTTP_CODE: the HTTP code at the time of reception
|
|
38
38
|
* was not in the 200-299 (included)
|
|
39
39
|
* range.
|
|
40
|
-
* -
|
|
40
|
+
* - NetworkErrorTypes.ERROR_EVENT: The XHR had an error event before the
|
|
41
41
|
* response could be fetched.
|
|
42
42
|
* @param {Object} options
|
|
43
43
|
* @returns {Promise.<Object>}
|
|
@@ -70,6 +70,7 @@ export default function request<T>(
|
|
|
70
70
|
responseType: isNullOrUndefined(options.responseType) ? DEFAULT_RESPONSE_TYPE :
|
|
71
71
|
options.responseType,
|
|
72
72
|
timeout: options.timeout,
|
|
73
|
+
connectionTimeout: options.connectionTimeout,
|
|
73
74
|
};
|
|
74
75
|
|
|
75
76
|
return new Promise((resolve, reject) => {
|
|
@@ -77,7 +78,8 @@ export default function request<T>(
|
|
|
77
78
|
const { url,
|
|
78
79
|
headers,
|
|
79
80
|
responseType,
|
|
80
|
-
timeout
|
|
81
|
+
timeout,
|
|
82
|
+
connectionTimeout } = requestOptions;
|
|
81
83
|
const xhr = new XMLHttpRequest();
|
|
82
84
|
xhr.open("GET", url, true);
|
|
83
85
|
|
|
@@ -93,9 +95,19 @@ export default function request<T>(
|
|
|
93
95
|
// is more precise, it might also be more efficient.
|
|
94
96
|
timeoutId = setTimeout(() => {
|
|
95
97
|
clearCancellingProcess();
|
|
96
|
-
reject(new RequestError(url, xhr.status,
|
|
98
|
+
reject(new RequestError(url, xhr.status, NetworkErrorTypes.TIMEOUT));
|
|
97
99
|
}, timeout + 3000);
|
|
98
100
|
}
|
|
101
|
+
let connectionTimeoutId: undefined | number;
|
|
102
|
+
if (connectionTimeout !== undefined) {
|
|
103
|
+
connectionTimeoutId = setTimeout(() => {
|
|
104
|
+
clearCancellingProcess();
|
|
105
|
+
if (xhr.readyState !== XMLHttpRequest.DONE) {
|
|
106
|
+
xhr.abort();
|
|
107
|
+
}
|
|
108
|
+
reject(new RequestError(url, xhr.status, NetworkErrorTypes.TIMEOUT));
|
|
109
|
+
}, connectionTimeout);
|
|
110
|
+
}
|
|
99
111
|
|
|
100
112
|
xhr.responseType = responseType;
|
|
101
113
|
|
|
@@ -120,7 +132,7 @@ export default function request<T>(
|
|
|
120
132
|
deregisterCancellationListener = cancelSignal
|
|
121
133
|
.register(function abortRequest(err : CancellationError) {
|
|
122
134
|
clearCancellingProcess();
|
|
123
|
-
if (
|
|
135
|
+
if (xhr.readyState !== XMLHttpRequest.DONE) {
|
|
124
136
|
xhr.abort();
|
|
125
137
|
}
|
|
126
138
|
reject(err);
|
|
@@ -133,14 +145,23 @@ export default function request<T>(
|
|
|
133
145
|
|
|
134
146
|
xhr.onerror = function onXHRError() {
|
|
135
147
|
clearCancellingProcess();
|
|
136
|
-
reject(new RequestError(url, xhr.status,
|
|
148
|
+
reject(new RequestError(url, xhr.status, NetworkErrorTypes.ERROR_EVENT));
|
|
137
149
|
};
|
|
138
150
|
|
|
139
151
|
xhr.ontimeout = function onXHRTimeout() {
|
|
140
152
|
clearCancellingProcess();
|
|
141
|
-
reject(new RequestError(url, xhr.status,
|
|
153
|
+
reject(new RequestError(url, xhr.status, NetworkErrorTypes.TIMEOUT));
|
|
142
154
|
};
|
|
143
155
|
|
|
156
|
+
|
|
157
|
+
if (connectionTimeout !== undefined) {
|
|
158
|
+
xhr.onreadystatechange = function clearConnectionTimeout() {
|
|
159
|
+
if (xhr.readyState >= XMLHttpRequest.HEADERS_RECEIVED) {
|
|
160
|
+
clearTimeout(connectionTimeoutId);
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
|
|
144
165
|
if (onProgress !== undefined) {
|
|
145
166
|
xhr.onprogress = function onXHRProgress(event) {
|
|
146
167
|
const currentTime = getMonotonicTimeStamp();
|
|
@@ -154,7 +175,7 @@ export default function request<T>(
|
|
|
154
175
|
}
|
|
155
176
|
|
|
156
177
|
xhr.onload = function onXHRLoad(event : ProgressEvent) {
|
|
157
|
-
if (xhr.readyState ===
|
|
178
|
+
if (xhr.readyState === XMLHttpRequest.DONE) {
|
|
158
179
|
clearCancellingProcess();
|
|
159
180
|
if (xhr.status >= 200 && xhr.status < 300) {
|
|
160
181
|
const receivedTime = getMonotonicTimeStamp();
|
|
@@ -179,7 +200,7 @@ export default function request<T>(
|
|
|
179
200
|
}
|
|
180
201
|
|
|
181
202
|
if (isNullOrUndefined(responseData)) {
|
|
182
|
-
reject(new RequestError(url, xhr.status,
|
|
203
|
+
reject(new RequestError(url, xhr.status, NetworkErrorTypes.PARSE_ERROR));
|
|
183
204
|
return;
|
|
184
205
|
}
|
|
185
206
|
|
|
@@ -193,7 +214,7 @@ export default function request<T>(
|
|
|
193
214
|
responseData });
|
|
194
215
|
|
|
195
216
|
} else {
|
|
196
|
-
reject(new RequestError(url, xhr.status,
|
|
217
|
+
reject(new RequestError(url, xhr.status, NetworkErrorTypes.ERROR_HTTP_CODE));
|
|
197
218
|
}
|
|
198
219
|
}
|
|
199
220
|
};
|
|
@@ -207,6 +228,10 @@ export default function request<T>(
|
|
|
207
228
|
if (timeoutId !== undefined) {
|
|
208
229
|
clearTimeout(timeoutId);
|
|
209
230
|
}
|
|
231
|
+
|
|
232
|
+
if (connectionTimeoutId !== undefined) {
|
|
233
|
+
clearTimeout(connectionTimeoutId);
|
|
234
|
+
}
|
|
210
235
|
if (deregisterCancellationListener !== null) {
|
|
211
236
|
deregisterCancellationListener();
|
|
212
237
|
}
|
|
@@ -241,6 +266,12 @@ export interface IRequestOptions<ResponseType> {
|
|
|
241
266
|
* To not set or to set to `undefined` for disable.
|
|
242
267
|
*/
|
|
243
268
|
timeout? : number | undefined;
|
|
269
|
+
/**
|
|
270
|
+
* Optional connection timeout, in milliseconds, after which the request is canceled
|
|
271
|
+
* if the responses headers has not being received.
|
|
272
|
+
* Do not set or set to "undefined" to disable it.
|
|
273
|
+
*/
|
|
274
|
+
connectionTimeout? : number | undefined;
|
|
244
275
|
/**
|
|
245
276
|
* "Cancelation token" used to be able to cancel the request.
|
|
246
277
|
* When this token is "cancelled", the request will be aborted and the Promise
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2015 CANAL+ Group
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
/**
|
|
17
|
-
* Request fullScreen action on a given element.
|
|
18
|
-
* @param {HTMLElement} elt
|
|
19
|
-
*/
|
|
20
|
-
declare function requestFullscreen(element: HTMLMediaElement): void;
|
|
21
|
-
/**
|
|
22
|
-
* Exit fullscreen if an element is currently in fullscreen.
|
|
23
|
-
*/
|
|
24
|
-
declare function exitFullscreen(): void;
|
|
25
|
-
/**
|
|
26
|
-
* Returns true if an element in the document is being displayed in fullscreen
|
|
27
|
-
* mode;
|
|
28
|
-
* otherwise it's false.
|
|
29
|
-
* @returns {boolean}
|
|
30
|
-
*/
|
|
31
|
-
declare function isFullscreen(): boolean;
|
|
32
|
-
export { requestFullscreen, exitFullscreen, isFullscreen, };
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2015 CANAL+ Group
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
/**
|
|
17
|
-
* Request fullScreen action on a given element.
|
|
18
|
-
* @param {HTMLElement} elt
|
|
19
|
-
*/
|
|
20
|
-
function requestFullscreen(element) {
|
|
21
|
-
if (!isFullscreen()) {
|
|
22
|
-
var elt = element;
|
|
23
|
-
/* eslint-disable @typescript-eslint/unbound-method */
|
|
24
|
-
if (typeof elt.requestFullscreen === "function") {
|
|
25
|
-
/* eslint-enable @typescript-eslint/unbound-method */
|
|
26
|
-
/* eslint-disable @typescript-eslint/no-floating-promises */
|
|
27
|
-
elt.requestFullscreen();
|
|
28
|
-
/* eslint-enable @typescript-eslint/no-floating-promises */
|
|
29
|
-
}
|
|
30
|
-
else if (typeof elt.msRequestFullscreen === "function") {
|
|
31
|
-
elt.msRequestFullscreen();
|
|
32
|
-
}
|
|
33
|
-
else if (typeof elt.mozRequestFullScreen === "function") {
|
|
34
|
-
elt.mozRequestFullScreen();
|
|
35
|
-
}
|
|
36
|
-
else if (typeof elt.webkitRequestFullscreen === "function") {
|
|
37
|
-
elt.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Exit fullscreen if an element is currently in fullscreen.
|
|
43
|
-
*/
|
|
44
|
-
function exitFullscreen() {
|
|
45
|
-
if (isFullscreen()) {
|
|
46
|
-
var doc = document;
|
|
47
|
-
/* eslint-disable @typescript-eslint/unbound-method */
|
|
48
|
-
if (typeof doc.exitFullscreen === "function") {
|
|
49
|
-
/* eslint-enable @typescript-eslint/unbound-method */
|
|
50
|
-
/* eslint-disable @typescript-eslint/no-floating-promises */
|
|
51
|
-
doc.exitFullscreen();
|
|
52
|
-
/* eslint-enable @typescript-eslint/no-floating-promises */
|
|
53
|
-
}
|
|
54
|
-
else if (typeof doc.msExitFullscreen === "function") {
|
|
55
|
-
doc.msExitFullscreen();
|
|
56
|
-
}
|
|
57
|
-
else if (typeof doc.mozCancelFullScreen === "function") {
|
|
58
|
-
doc.mozCancelFullScreen();
|
|
59
|
-
}
|
|
60
|
-
else if (typeof doc.webkitExitFullscreen === "function") {
|
|
61
|
-
doc.webkitExitFullscreen();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Returns true if an element in the document is being displayed in fullscreen
|
|
67
|
-
* mode;
|
|
68
|
-
* otherwise it's false.
|
|
69
|
-
* @returns {boolean}
|
|
70
|
-
*/
|
|
71
|
-
function isFullscreen() {
|
|
72
|
-
var doc = document;
|
|
73
|
-
return (doc.fullscreenElement != null ||
|
|
74
|
-
doc.mozFullScreenElement != null ||
|
|
75
|
-
doc.webkitFullscreenElement != null ||
|
|
76
|
-
doc.msFullscreenElement != null);
|
|
77
|
-
}
|
|
78
|
-
export { requestFullscreen, exitFullscreen, isFullscreen, };
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2015 CANAL+ Group
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
/**
|
|
17
|
-
* Some browsers have a builtin API to know if it's connected at least to a
|
|
18
|
-
* LAN network, at most to the internet.
|
|
19
|
-
*
|
|
20
|
-
* /!\ This feature can be dangerous as you can both have false positives and
|
|
21
|
-
* false negatives.
|
|
22
|
-
*
|
|
23
|
-
* False positives:
|
|
24
|
-
* - you can still play local contents (on localhost) if isOffline == true
|
|
25
|
-
* - on some browsers isOffline might be true even if we're connected to a LAN
|
|
26
|
-
* or a router (it would mean we're just not able to connect to the
|
|
27
|
-
* Internet). So we can eventually play LAN contents if isOffline == true
|
|
28
|
-
*
|
|
29
|
-
* False negatives:
|
|
30
|
-
* - in some cases, we even might have isOffline at false when we do not have
|
|
31
|
-
* any connection:
|
|
32
|
-
* - in browsers that do not support the feature
|
|
33
|
-
* - in browsers running in some virtualization softwares where the
|
|
34
|
-
* network adapters are always connected.
|
|
35
|
-
*
|
|
36
|
-
* Use with these cases in mind.
|
|
37
|
-
* @returns {Boolean}
|
|
38
|
-
*/
|
|
39
|
-
export default function isOffline(): boolean;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2015 CANAL+ Group
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
/**
|
|
17
|
-
* Some browsers have a builtin API to know if it's connected at least to a
|
|
18
|
-
* LAN network, at most to the internet.
|
|
19
|
-
*
|
|
20
|
-
* /!\ This feature can be dangerous as you can both have false positives and
|
|
21
|
-
* false negatives.
|
|
22
|
-
*
|
|
23
|
-
* False positives:
|
|
24
|
-
* - you can still play local contents (on localhost) if isOffline == true
|
|
25
|
-
* - on some browsers isOffline might be true even if we're connected to a LAN
|
|
26
|
-
* or a router (it would mean we're just not able to connect to the
|
|
27
|
-
* Internet). So we can eventually play LAN contents if isOffline == true
|
|
28
|
-
*
|
|
29
|
-
* False negatives:
|
|
30
|
-
* - in some cases, we even might have isOffline at false when we do not have
|
|
31
|
-
* any connection:
|
|
32
|
-
* - in browsers that do not support the feature
|
|
33
|
-
* - in browsers running in some virtualization softwares where the
|
|
34
|
-
* network adapters are always connected.
|
|
35
|
-
*
|
|
36
|
-
* Use with these cases in mind.
|
|
37
|
-
* @returns {Boolean}
|
|
38
|
-
*/
|
|
39
|
-
export default function isOffline() {
|
|
40
|
-
/* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
|
|
41
|
-
return navigator.onLine === false;
|
|
42
|
-
/* eslint-enable @typescript-eslint/no-unnecessary-boolean-literal-compare */
|
|
43
|
-
}
|
|
@@ -1,258 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2015 CANAL+ Group
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Adaptation, Period } from "../../../manifest";
|
|
17
|
-
import { IAudioTrack, IAudioTrackPreference, IAvailableAudioTrack, IAvailableTextTrack, IAvailableVideoTrack, ITextTrack, ITextTrackPreference, IVideoTrack, IVideoTrackPreference } from "../../../public_types";
|
|
18
|
-
import SharedReference from "../../../utils/reference";
|
|
19
|
-
/**
|
|
20
|
-
* Manage audio and text tracks for all active periods.
|
|
21
|
-
* Choose the audio and text tracks for each period and record this choice.
|
|
22
|
-
* @class TrackChoiceManager
|
|
23
|
-
*/
|
|
24
|
-
export default class TrackChoiceManager {
|
|
25
|
-
/**
|
|
26
|
-
* Current Periods considered by the TrackChoiceManager.
|
|
27
|
-
* Sorted by start time ascending
|
|
28
|
-
*/
|
|
29
|
-
private _periods;
|
|
30
|
-
/**
|
|
31
|
-
* Array of preferred settings for audio tracks.
|
|
32
|
-
* Sorted by order of preference descending.
|
|
33
|
-
*/
|
|
34
|
-
private _preferredAudioTracks;
|
|
35
|
-
/**
|
|
36
|
-
* Array of preferred languages for text tracks.
|
|
37
|
-
* Sorted by order of preference descending.
|
|
38
|
-
*/
|
|
39
|
-
private _preferredTextTracks;
|
|
40
|
-
/**
|
|
41
|
-
* Array of preferred settings for video tracks.
|
|
42
|
-
* Sorted by order of preference descending.
|
|
43
|
-
*/
|
|
44
|
-
private _preferredVideoTracks;
|
|
45
|
-
/** Memorization of the previously-chosen audio Adaptation for each Period. */
|
|
46
|
-
private _audioChoiceMemory;
|
|
47
|
-
/** Memorization of the previously-chosen text Adaptation for each Period. */
|
|
48
|
-
private _textChoiceMemory;
|
|
49
|
-
/** Memorization of the previously-chosen video Adaptation for each Period. */
|
|
50
|
-
private _videoChoiceMemory;
|
|
51
|
-
/** Tells if trick mode has been enabled by the RxPlayer user */
|
|
52
|
-
trickModeTrackEnabled: boolean;
|
|
53
|
-
constructor(args: {
|
|
54
|
-
preferTrickModeTracks: boolean;
|
|
55
|
-
});
|
|
56
|
-
/**
|
|
57
|
-
* Set the list of preferred audio tracks, in preference order.
|
|
58
|
-
* @param {Array.<Object>} preferredAudioTracks
|
|
59
|
-
* @param {boolean} shouldApply - `true` if those preferences should be
|
|
60
|
-
* applied on the currently loaded Period. `false` if it should only
|
|
61
|
-
* be applied to new content.
|
|
62
|
-
*/
|
|
63
|
-
setPreferredAudioTracks(preferredAudioTracks: IAudioTrackPreference[], shouldApply: boolean): void;
|
|
64
|
-
/**
|
|
65
|
-
* Set the list of preferred text tracks, in preference order.
|
|
66
|
-
* @param {Array.<Object>} preferredTextTracks
|
|
67
|
-
* @param {boolean} shouldApply - `true` if those preferences should be
|
|
68
|
-
* applied on the currently loaded Periods. `false` if it should only
|
|
69
|
-
* be applied to new content.
|
|
70
|
-
*/
|
|
71
|
-
setPreferredTextTracks(preferredTextTracks: ITextTrackPreference[], shouldApply: boolean): void;
|
|
72
|
-
/**
|
|
73
|
-
* Set the list of preferred text tracks, in preference order.
|
|
74
|
-
* @param {Array.<Object>} preferredVideoTracks
|
|
75
|
-
* @param {boolean} shouldApply - `true` if those preferences should be
|
|
76
|
-
* applied on the currently loaded Period. `false` if it should only
|
|
77
|
-
* be applied to new content.
|
|
78
|
-
*/
|
|
79
|
-
setPreferredVideoTracks(preferredVideoTracks: IVideoTrackPreference[], shouldApply: boolean): void;
|
|
80
|
-
/**
|
|
81
|
-
* Add shared reference to choose Adaptation for new "audio" or "text" Period.
|
|
82
|
-
* @param {string} bufferType - The concerned buffer type
|
|
83
|
-
* @param {Period} period - The concerned Period.
|
|
84
|
-
* @param {Object} adaptationRef
|
|
85
|
-
*/
|
|
86
|
-
addPeriod(bufferType: "audio" | "text" | "video", period: Period, adaptationRef: SharedReference<Adaptation | null | undefined>): void;
|
|
87
|
-
/**
|
|
88
|
-
* Remove shared reference to choose an "audio", "video" or "text" Adaptation
|
|
89
|
-
* for a Period.
|
|
90
|
-
* @param {string} bufferType - The concerned buffer type
|
|
91
|
-
* @param {Period} period - The concerned Period.
|
|
92
|
-
*/
|
|
93
|
-
removePeriod(bufferType: "audio" | "text" | "video", period: Period): void;
|
|
94
|
-
resetPeriods(): void;
|
|
95
|
-
/**
|
|
96
|
-
* Update the choice of all added Periods based on:
|
|
97
|
-
* 1. What was the last chosen adaptation
|
|
98
|
-
* 2. If not found, the preferences
|
|
99
|
-
*/
|
|
100
|
-
update(): void;
|
|
101
|
-
/**
|
|
102
|
-
* Emit initial audio Adaptation through the given shared reference based on:
|
|
103
|
-
* - the preferred audio tracks
|
|
104
|
-
* - the last choice for this period, if one
|
|
105
|
-
* @param {Period} period - The concerned Period.
|
|
106
|
-
*/
|
|
107
|
-
setInitialAudioTrack(period: Period): void;
|
|
108
|
-
/**
|
|
109
|
-
* Emit initial text Adaptation through the given shared reference based on:
|
|
110
|
-
* - the preferred text tracks
|
|
111
|
-
* - the last choice for this period, if one
|
|
112
|
-
* @param {Period} period - The concerned Period.
|
|
113
|
-
*/
|
|
114
|
-
setInitialTextTrack(period: Period): void;
|
|
115
|
-
/**
|
|
116
|
-
* Emit initial video Adaptation through the given shared reference based on:
|
|
117
|
-
* - the preferred video tracks
|
|
118
|
-
* - the last choice for this period, if one
|
|
119
|
-
* @param {Period} period - The concerned Period.
|
|
120
|
-
*/
|
|
121
|
-
setInitialVideoTrack(period: Period): void;
|
|
122
|
-
/**
|
|
123
|
-
* Set audio track based on the ID of its adaptation for a given added Period.
|
|
124
|
-
* @param {Period} period - The concerned Period.
|
|
125
|
-
* @param {string} wantedId - adaptation id of the wanted track
|
|
126
|
-
*/
|
|
127
|
-
setAudioTrackByID(period: Period, wantedId: string): void;
|
|
128
|
-
/**
|
|
129
|
-
* Set text track based on the ID of its adaptation for a given added Period.
|
|
130
|
-
* @param {Period} period - The concerned Period.
|
|
131
|
-
* @param {string} wantedId - adaptation id of the wanted track
|
|
132
|
-
*/
|
|
133
|
-
setTextTrackByID(period: Period, wantedId: string): void;
|
|
134
|
-
/**
|
|
135
|
-
* Set video track based on the ID of its adaptation for a given added Period.
|
|
136
|
-
* @param {Period} period - The concerned Period.
|
|
137
|
-
* @param {string} wantedId - adaptation id of the wanted track
|
|
138
|
-
*
|
|
139
|
-
* @throws Error - Throws if the period given has not been added
|
|
140
|
-
* @throws Error - Throws if the given id is not found in any video adaptation
|
|
141
|
-
* of the given Period.
|
|
142
|
-
*/
|
|
143
|
-
setVideoTrackByID(period: Period, wantedId: string): void;
|
|
144
|
-
/**
|
|
145
|
-
* Disable the current text track for a given period.
|
|
146
|
-
*
|
|
147
|
-
* @param {Period} period - The concerned Period.
|
|
148
|
-
*
|
|
149
|
-
* @throws Error - Throws if the period given has not been added
|
|
150
|
-
*/
|
|
151
|
-
disableTextTrack(period: Period): void;
|
|
152
|
-
/**
|
|
153
|
-
* Disable the current video track for a given period.
|
|
154
|
-
* @param {Object} period
|
|
155
|
-
* @throws Error - Throws if the period given has not been added
|
|
156
|
-
*/
|
|
157
|
-
disableVideoTrack(period: Period): void;
|
|
158
|
-
disableVideoTrickModeTracks(): void;
|
|
159
|
-
enableVideoTrickModeTracks(): void;
|
|
160
|
-
/**
|
|
161
|
-
* @returns {boolean}
|
|
162
|
-
*/
|
|
163
|
-
isTrickModeEnabled(): boolean;
|
|
164
|
-
/**
|
|
165
|
-
* Returns an object describing the chosen audio track for the given audio
|
|
166
|
-
* Period.
|
|
167
|
-
*
|
|
168
|
-
* Returns null is the the current audio track is disabled or not
|
|
169
|
-
* set yet.
|
|
170
|
-
*
|
|
171
|
-
* @param {Period} period - The concerned Period.
|
|
172
|
-
* @returns {Object|null} - The audio track chosen for this Period
|
|
173
|
-
*/
|
|
174
|
-
getChosenAudioTrack(period: Period): IAudioTrack | null;
|
|
175
|
-
/**
|
|
176
|
-
* Returns an object describing the chosen text track for the given text
|
|
177
|
-
* Period.
|
|
178
|
-
*
|
|
179
|
-
* Returns null is the the current text track is disabled or not
|
|
180
|
-
* set yet.
|
|
181
|
-
*
|
|
182
|
-
* @param {Period} period - The concerned Period.
|
|
183
|
-
* @returns {Object|null} - The text track chosen for this Period
|
|
184
|
-
*/
|
|
185
|
-
getChosenTextTrack(period: Period): ITextTrack | null;
|
|
186
|
-
/**
|
|
187
|
-
* Returns an object describing the chosen video track for the given video
|
|
188
|
-
* Period.
|
|
189
|
-
*
|
|
190
|
-
* Returns null is the the current video track is disabled or not
|
|
191
|
-
* set yet.
|
|
192
|
-
*
|
|
193
|
-
* @param {Period} period - The concerned Period.
|
|
194
|
-
* @returns {Object|null} - The video track chosen for this Period
|
|
195
|
-
*/
|
|
196
|
-
getChosenVideoTrack(period: Period): IVideoTrack | null;
|
|
197
|
-
/**
|
|
198
|
-
* Returns all available audio tracks for a given Period, as an array of
|
|
199
|
-
* objects.
|
|
200
|
-
*
|
|
201
|
-
* @returns {Array.<Object>}
|
|
202
|
-
*/
|
|
203
|
-
getAvailableAudioTracks(period: Period): IAvailableAudioTrack[];
|
|
204
|
-
/**
|
|
205
|
-
* Returns all available text tracks for a given Period, as an array of
|
|
206
|
-
* objects.
|
|
207
|
-
*
|
|
208
|
-
* @param {Period} period
|
|
209
|
-
* @returns {Array.<Object>}
|
|
210
|
-
*/
|
|
211
|
-
getAvailableTextTracks(period: Period): IAvailableTextTrack[];
|
|
212
|
-
/**
|
|
213
|
-
* Returns all available video tracks for a given Period, as an array of
|
|
214
|
-
* objects.
|
|
215
|
-
*
|
|
216
|
-
* @returns {Array.<Object>}
|
|
217
|
-
*/
|
|
218
|
-
getAvailableVideoTracks(period: Period): IAvailableVideoTrack[];
|
|
219
|
-
/**
|
|
220
|
-
* Reset all audio tracks choices to corresponds to the current preferences.
|
|
221
|
-
*/
|
|
222
|
-
private _applyAudioPreferences;
|
|
223
|
-
/**
|
|
224
|
-
* Reset all text tracks choices to corresponds to the current preferences.
|
|
225
|
-
*/
|
|
226
|
-
private _applyTextPreferences;
|
|
227
|
-
/**
|
|
228
|
-
* Reset all video tracks choices to corresponds to the current preferences.
|
|
229
|
-
*/
|
|
230
|
-
private _applyVideoPreferences;
|
|
231
|
-
/**
|
|
232
|
-
* Choose again the best audio tracks for all current Periods.
|
|
233
|
-
* This is based on two things:
|
|
234
|
-
* 1. what was the track previously chosen for that Period (by checking
|
|
235
|
-
* `this._audioChoiceMemory`).
|
|
236
|
-
* 2. If no track were previously chosen or if it is not available anymore
|
|
237
|
-
* we check the audio preferences.
|
|
238
|
-
*/
|
|
239
|
-
private _resetChosenAudioTracks;
|
|
240
|
-
/**
|
|
241
|
-
* Choose again the best text tracks for all current Periods.
|
|
242
|
-
* This is based on two things:
|
|
243
|
-
* 1. what was the track previously chosen for that Period (by checking
|
|
244
|
-
* `this._textChoiceMemory`).
|
|
245
|
-
* 2. If no track were previously chosen or if it is not available anymore
|
|
246
|
-
* we check the text preferences.
|
|
247
|
-
*/
|
|
248
|
-
private _resetChosenTextTracks;
|
|
249
|
-
/**
|
|
250
|
-
* Choose again the best video tracks for all current Periods.
|
|
251
|
-
* This is based on two things:
|
|
252
|
-
* 1. what was the track previously chosen for that Period (by checking
|
|
253
|
-
* `this._videoChoiceMemory`).
|
|
254
|
-
* 2. If no track were previously chosen or if it is not available anymore
|
|
255
|
-
* we check the video preferences.
|
|
256
|
-
*/
|
|
257
|
-
private _resetChosenVideoTracks;
|
|
258
|
-
}
|