rx-player 4.0.0-dev.2023120600 → 4.0.0-dev.2023121900
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 +178 -2
- package/README.md +2 -33
- package/VERSION +1 -1
- package/dist/_esm5.processed/compat/add_text_track.d.ts +3 -1
- package/dist/_esm5.processed/compat/add_text_track.js +7 -4
- package/dist/_esm5.processed/compat/browser_compatibility_types.d.ts +7 -0
- package/dist/_esm5.processed/compat/event_listeners.d.ts +15 -2
- package/dist/_esm5.processed/compat/event_listeners.js +37 -2
- package/dist/_esm5.processed/compat/fullscreen.d.ts +32 -0
- package/dist/_esm5.processed/compat/fullscreen.js +78 -0
- package/dist/_esm5.processed/compat/index.d.ts +3 -1
- package/dist/_esm5.processed/compat/index.js +3 -1
- package/dist/_esm5.processed/compat/is_offline.d.ts +39 -0
- package/dist/_esm5.processed/compat/is_offline.js +43 -0
- package/dist/_esm5.processed/config.d.ts +21 -9
- package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.d.ts +58 -0
- package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.js +54 -14
- package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.d.ts +8 -2
- package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.js +11 -2
- package/dist/_esm5.processed/core/api/debug/modules/general_info.js +46 -17
- 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 +35 -14
- package/dist/_esm5.processed/core/api/option_utils.js +230 -47
- package/dist/_esm5.processed/core/api/public_api.d.ts +266 -92
- package/dist/_esm5.processed/core/api/public_api.js +802 -444
- package/dist/_esm5.processed/core/api/{track_management/media_element_tracks_store.d.ts → tracks_management/media_element_track_choice_manager.d.ts} +75 -15
- package/dist/_esm5.processed/core/api/{track_management/media_element_tracks_store.js → tracks_management/media_element_track_choice_manager.js} +193 -74
- package/dist/_esm5.processed/core/api/tracks_management/track_choice_manager.d.ts +258 -0
- package/dist/_esm5.processed/core/api/tracks_management/track_choice_manager.js +989 -0
- package/dist/_esm5.processed/core/api/utils.d.ts +0 -1
- package/dist/_esm5.processed/core/api/utils.js +11 -28
- package/dist/_esm5.processed/core/decrypt/content_decryptor.js +3 -3
- package/dist/_esm5.processed/core/decrypt/find_key_system.js +71 -83
- package/dist/_esm5.processed/core/decrypt/get_media_keys.js +5 -6
- package/dist/_esm5.processed/core/decrypt/session_events_listener.js +72 -10
- 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 +4 -6
- package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.d.ts +3 -1
- package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.js +26 -7
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.d.ts +9 -3
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.js +9 -16
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.d.ts +3 -1
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.js +1 -1
- package/dist/_esm5.processed/core/fetchers/utils/schedule_request.d.ts +6 -1
- package/dist/_esm5.processed/core/fetchers/utils/schedule_request.js +41 -4
- package/dist/_esm5.processed/core/init/media_source_content_initializer.d.ts +8 -1
- package/dist/_esm5.processed/core/init/media_source_content_initializer.js +5 -2
- package/dist/_esm5.processed/core/init/types.d.ts +15 -5
- package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.js +9 -2
- package/dist/_esm5.processed/core/segment_buffers/implementations/image/image_segment_buffer.d.ts +75 -0
- package/dist/_esm5.processed/core/segment_buffers/implementations/image/image_segment_buffer.js +133 -0
- package/dist/_esm5.processed/core/{api/track_management → segment_buffers/implementations/image}/index.d.ts +2 -3
- package/dist/_esm5.processed/core/{api/track_management → segment_buffers/implementations/image}/index.js +2 -3
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/html_text_segment_buffer.js +1 -1
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.d.ts +2 -1
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.js +4 -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 +1 -2
- package/dist/_esm5.processed/core/segment_buffers/inventory/index.d.ts +2 -3
- package/dist/_esm5.processed/core/segment_buffers/inventory/index.js +0 -1
- package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.d.ts +25 -8
- package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.js +19 -10
- package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.d.ts +1 -0
- package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.js +16 -2
- package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.d.ts +15 -0
- package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.js +93 -183
- package/dist/_esm5.processed/core/stream/adaptation/types.d.ts +13 -27
- package/dist/_esm5.processed/core/stream/index.d.ts +3 -2
- package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.d.ts +0 -2
- package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.js +7 -5
- package/dist/_esm5.processed/core/stream/period/period_stream.js +12 -13
- package/dist/_esm5.processed/core/stream/period/types.d.ts +14 -5
- package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.d.ts +4 -2
- package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.js +46 -10
- package/dist/_esm5.processed/core/stream/representation/representation_stream.js +23 -29
- package/dist/_esm5.processed/core/stream/representation/types.d.ts +1 -11
- package/dist/_esm5.processed/core/stream/representation/utils/get_buffer_status.js +1 -1
- package/dist/_esm5.processed/core/stream/representation/utils/get_needed_segments.js +1 -1
- package/dist/_esm5.processed/default_config.d.ts +98 -35
- package/dist/_esm5.processed/default_config.js +113 -36
- package/dist/_esm5.processed/errors/custom_loader_error.d.ts +3 -1
- package/dist/_esm5.processed/errors/custom_loader_error.js +3 -1
- package/dist/_esm5.processed/errors/media_error.js +2 -2
- package/dist/_esm5.processed/errors/network_error.d.ts +1 -0
- package/dist/_esm5.processed/errors/network_error.js +1 -0
- package/dist/_esm5.processed/errors/request_error.d.ts +3 -2
- package/dist/_esm5.processed/errors/request_error.js +5 -2
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +3 -3
- package/dist/_esm5.processed/features/features_object.js +2 -0
- package/dist/_esm5.processed/{transports/smooth/is_mp4_embedded_track.js → features/list/bif_parser.d.ts} +6 -7
- package/dist/_esm5.processed/features/list/bif_parser.js +27 -0
- package/dist/_esm5.processed/features/list/directfile.js +5 -2
- package/dist/_esm5.processed/features/list/image_buffer.d.ts +23 -0
- package/dist/_esm5.processed/features/list/image_buffer.js +25 -0
- package/dist/_esm5.processed/features/list/index.d.ts +2 -0
- package/dist/_esm5.processed/features/list/index.js +2 -0
- package/dist/_esm5.processed/features/types.d.ts +27 -3
- package/dist/_esm5.processed/manifest/adaptation.d.ts +11 -9
- package/dist/_esm5.processed/manifest/adaptation.js +30 -41
- package/dist/_esm5.processed/manifest/index.d.ts +4 -3
- package/dist/_esm5.processed/manifest/manifest.d.ts +54 -5
- package/dist/_esm5.processed/manifest/manifest.js +110 -5
- package/dist/_esm5.processed/manifest/period.d.ts +5 -4
- package/dist/_esm5.processed/manifest/representation.d.ts +5 -10
- package/dist/_esm5.processed/manifest/representation.js +5 -15
- package/dist/_esm5.processed/manifest/representation_index/index.d.ts +2 -2
- package/dist/_esm5.processed/manifest/representation_index/static.d.ts +0 -2
- package/dist/_esm5.processed/manifest/representation_index/static.js +0 -6
- package/dist/_esm5.processed/manifest/representation_index/types.d.ts +21 -42
- package/dist/_esm5.processed/manifest/types.d.ts +2 -0
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.d.ts +31 -17
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.js +19 -26
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.d.ts +0 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.js +1 -7
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.d.ts +6 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.js +8 -11
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +0 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +0 -6
- 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 +6 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.js +5 -3
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.d.ts +2 -0
- 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 +2 -0
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.js +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +6 -10
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Representation.js +2 -4
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.d.ts +1 -10
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.js +2 -18
- package/dist/_esm5.processed/parsers/manifest/dash/node_parser_types.d.ts +4 -4
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +6 -3
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +2 -1
- package/dist/_esm5.processed/parsers/manifest/local/representation_index.d.ts +0 -2
- package/dist/_esm5.processed/parsers/manifest/local/representation_index.js +0 -6
- package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.js +6 -6
- package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.d.ts +3 -12
- package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.js +2 -11
- package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.d.ts +1 -0
- package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.js +17 -11
- package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.d.ts +83 -21
- package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.js +125 -53
- package/dist/_esm5.processed/parsers/manifest/smooth/utils/add_segment_infos.d.ts +6 -3
- package/dist/_esm5.processed/parsers/manifest/smooth/utils/add_segment_infos.js +4 -4
- package/dist/_esm5.processed/parsers/manifest/types.d.ts +3 -3
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_line_height.js +2 -1
- package/dist/_esm5.processed/public_types.d.ts +310 -396
- package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.d.ts +4 -5
- package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.js +4 -5
- package/dist/_esm5.processed/transports/dash/add_segment_integrity_checks_to_loader.js +4 -4
- package/dist/_esm5.processed/transports/dash/image_pipelines.d.ts +38 -0
- package/dist/_esm5.processed/transports/dash/image_pipelines.js +129 -0
- package/dist/_esm5.processed/transports/dash/manifest_parser.js +3 -2
- package/dist/_esm5.processed/transports/dash/pipelines.js +4 -1
- package/dist/_esm5.processed/transports/dash/segment_loader.d.ts +2 -2
- package/dist/_esm5.processed/transports/dash/segment_loader.js +20 -26
- package/dist/_esm5.processed/transports/dash/segment_parser.js +24 -19
- package/dist/_esm5.processed/transports/dash/text_loader.js +5 -5
- package/dist/_esm5.processed/transports/dash/text_parser.js +33 -28
- package/dist/_esm5.processed/transports/local/pipelines.js +10 -1
- 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 +52 -34
- package/dist/_esm5.processed/transports/smooth/pipelines.js +190 -33
- package/dist/_esm5.processed/transports/smooth/segment_loader.d.ts +1 -1
- package/dist/_esm5.processed/transports/smooth/segment_loader.js +22 -28
- package/dist/_esm5.processed/transports/smooth/utils.d.ts +26 -1
- package/dist/_esm5.processed/transports/smooth/utils.js +55 -1
- package/dist/_esm5.processed/transports/types.d.ts +89 -94
- 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 +7 -5
- package/dist/_esm5.processed/transports/utils/parse_text_track.d.ts +12 -8
- package/dist/_esm5.processed/transports/utils/parse_text_track.js +21 -19
- package/dist/_esm5.processed/utils/array_includes.d.ts +1 -2
- package/dist/_esm5.processed/utils/array_includes.js +28 -30
- package/dist/_esm5.processed/{transports/smooth/is_mp4_embedded_track.d.ts → utils/list_to_map.d.ts} +5 -5
- package/dist/_esm5.processed/utils/list_to_map.js +28 -0
- package/dist/_esm5.processed/utils/request/xhr.js +5 -5
- package/dist/_esm5.processed/utils/simple_set.d.ts +51 -0
- package/dist/_esm5.processed/utils/simple_set.js +57 -0
- package/dist/_esm5.processed/utils/uniq.d.ts +36 -0
- package/dist/_esm5.processed/utils/uniq.js +43 -0
- package/dist/commonjs/config.d.ts +1 -1
- package/dist/commonjs/core/adaptive/adaptive_representation_selector.d.ts +2 -19
- package/dist/commonjs/core/adaptive/adaptive_representation_selector.js +2 -2
- package/dist/commonjs/core/adaptive/network_analyzer.js +3 -3
- package/dist/commonjs/core/api/index.d.ts +1 -1
- package/dist/commonjs/core/api/playback_observer.d.ts +128 -8
- package/dist/commonjs/core/api/playback_observer.js +217 -64
- package/dist/commonjs/core/api/public_api.js +9 -9
- package/dist/commonjs/core/api/utils.js +1 -1
- package/dist/commonjs/core/decrypt/get_media_keys.js +2 -6
- package/dist/commonjs/core/init/directfile_content_initializer.js +5 -1
- package/dist/commonjs/core/init/media_source_content_initializer.js +28 -14
- package/dist/commonjs/core/init/utils/content_time_boundaries_observer.js +1 -2
- package/dist/commonjs/core/init/utils/create_stream_playback_observer.d.ts +1 -5
- package/dist/commonjs/core/init/utils/create_stream_playback_observer.js +16 -14
- package/dist/commonjs/core/init/utils/initial_seek_and_play.d.ts +9 -11
- package/dist/commonjs/core/init/utils/initial_seek_and_play.js +121 -91
- package/dist/commonjs/core/init/utils/rebuffering_controller.js +27 -70
- package/dist/commonjs/core/init/utils/stream_events_emitter/stream_events_emitter.js +4 -2
- package/dist/commonjs/core/segment_buffers/garbage_collector.js +1 -2
- package/dist/commonjs/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.js +9 -2
- package/dist/commonjs/core/segment_buffers/implementations/text/html/html_text_segment_buffer.js +1 -1
- package/dist/commonjs/core/segment_buffers/implementations/text/native/native_text_segment_buffer.js +1 -1
- package/dist/commonjs/core/segment_buffers/index.d.ts +2 -2
- package/dist/commonjs/core/segment_buffers/inventory/index.d.ts +2 -2
- package/dist/commonjs/core/segment_buffers/inventory/segment_inventory.d.ts +25 -8
- package/dist/commonjs/core/segment_buffers/inventory/segment_inventory.js +19 -10
- package/dist/commonjs/core/stream/adaptation/get_representations_switch_strategy.d.ts +2 -2
- package/dist/commonjs/core/stream/adaptation/get_representations_switch_strategy.js +16 -9
- package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.js +14 -18
- package/dist/commonjs/core/stream/period/period_stream.js +5 -8
- package/dist/commonjs/core/stream/period/types.d.ts +2 -3
- package/dist/commonjs/core/stream/period/utils/get_adaptation_switch_strategy.d.ts +4 -5
- package/dist/commonjs/core/stream/period/utils/get_adaptation_switch_strategy.js +17 -13
- package/dist/commonjs/core/stream/representation/representation_stream.js +3 -4
- package/dist/commonjs/core/stream/representation/types.d.ts +2 -2
- package/dist/commonjs/core/stream/representation/utils/append_segment_to_buffer.js +11 -12
- package/dist/commonjs/core/stream/representation/utils/get_buffer_status.js +1 -1
- package/dist/commonjs/default_config.d.ts +7 -16
- package/dist/commonjs/default_config.js +16 -16
- package/dist/commonjs/manifest/adaptation.js +2 -1
- package/dist/commonjs/parsers/texttracks/ttml/html/apply_line_height.js +2 -1
- package/dist/commonjs/public_types.d.ts +29 -2
- package/dist/es2017/config.d.ts +1 -1
- package/dist/es2017/core/adaptive/adaptive_representation_selector.d.ts +2 -19
- package/dist/es2017/core/adaptive/adaptive_representation_selector.js +2 -2
- package/dist/es2017/core/adaptive/network_analyzer.js +3 -3
- package/dist/es2017/core/api/index.d.ts +1 -1
- package/dist/es2017/core/api/playback_observer.d.ts +128 -8
- package/dist/es2017/core/api/playback_observer.js +217 -66
- package/dist/es2017/core/api/public_api.js +9 -9
- package/dist/es2017/core/api/utils.js +1 -1
- package/dist/es2017/core/decrypt/get_media_keys.js +2 -6
- package/dist/es2017/core/init/directfile_content_initializer.js +7 -1
- package/dist/es2017/core/init/media_source_content_initializer.js +30 -16
- package/dist/es2017/core/init/utils/content_time_boundaries_observer.js +1 -2
- package/dist/es2017/core/init/utils/create_stream_playback_observer.d.ts +1 -5
- package/dist/es2017/core/init/utils/create_stream_playback_observer.js +16 -14
- package/dist/es2017/core/init/utils/initial_seek_and_play.d.ts +9 -11
- package/dist/es2017/core/init/utils/initial_seek_and_play.js +120 -91
- package/dist/es2017/core/init/utils/rebuffering_controller.js +27 -70
- package/dist/es2017/core/init/utils/stream_events_emitter/stream_events_emitter.js +4 -2
- package/dist/es2017/core/segment_buffers/garbage_collector.js +1 -2
- package/dist/es2017/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.js +9 -2
- package/dist/es2017/core/segment_buffers/implementations/text/html/html_text_segment_buffer.js +1 -1
- package/dist/es2017/core/segment_buffers/implementations/text/native/native_text_segment_buffer.js +1 -1
- package/dist/es2017/core/segment_buffers/index.d.ts +2 -2
- package/dist/es2017/core/segment_buffers/inventory/index.d.ts +2 -2
- package/dist/es2017/core/segment_buffers/inventory/segment_inventory.d.ts +25 -8
- package/dist/es2017/core/segment_buffers/inventory/segment_inventory.js +19 -10
- package/dist/es2017/core/stream/adaptation/get_representations_switch_strategy.d.ts +2 -2
- package/dist/es2017/core/stream/adaptation/get_representations_switch_strategy.js +16 -9
- package/dist/es2017/core/stream/orchestrator/stream_orchestrator.js +16 -18
- package/dist/es2017/core/stream/period/period_stream.js +4 -7
- package/dist/es2017/core/stream/period/types.d.ts +2 -3
- package/dist/es2017/core/stream/period/utils/get_adaptation_switch_strategy.d.ts +4 -5
- package/dist/es2017/core/stream/period/utils/get_adaptation_switch_strategy.js +17 -13
- package/dist/es2017/core/stream/representation/representation_stream.js +3 -4
- package/dist/es2017/core/stream/representation/types.d.ts +2 -2
- package/dist/es2017/core/stream/representation/utils/append_segment_to_buffer.js +1 -2
- package/dist/es2017/core/stream/representation/utils/get_buffer_status.js +1 -1
- package/dist/es2017/default_config.d.ts +7 -16
- package/dist/es2017/default_config.js +16 -16
- package/dist/es2017/manifest/adaptation.js +2 -1
- package/dist/es2017/parsers/texttracks/ttml/html/apply_line_height.js +2 -1
- package/dist/es2017/public_types.d.ts +29 -2
- package/dist/mpd-parser.wasm +0 -0
- package/dist/rx-player.js +614 -438
- package/dist/rx-player.min.js +1 -1
- package/package.json +5 -1
- package/scripts/canal-release.patch +78 -0
- package/scripts/make-dev-releases +65 -0
- package/scripts/update-version +5 -0
- package/sonar-project.properties +1 -1
- package/src/core/adaptive/adaptive_representation_selector.ts +4 -21
- package/src/core/adaptive/network_analyzer.ts +3 -3
- package/src/core/api/index.ts +1 -0
- package/src/core/api/playback_observer.ts +327 -107
- package/src/core/api/public_api.ts +9 -9
- package/src/core/api/utils.ts +3 -1
- package/src/core/decrypt/get_media_keys.ts +2 -8
- package/src/core/init/directfile_content_initializer.ts +8 -8
- package/src/core/init/media_source_content_initializer.ts +27 -20
- package/src/core/init/utils/content_time_boundaries_observer.ts +1 -1
- package/src/core/init/utils/create_stream_playback_observer.ts +19 -20
- package/src/core/init/utils/initial_seek_and_play.ts +140 -108
- package/src/core/init/utils/rebuffering_controller.ts +32 -77
- package/src/core/init/utils/stream_events_emitter/stream_events_emitter.ts +5 -2
- package/src/core/segment_buffers/garbage_collector.ts +1 -1
- package/src/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.ts +10 -2
- package/src/core/segment_buffers/implementations/text/html/html_text_segment_buffer.ts +1 -1
- package/src/core/segment_buffers/implementations/text/native/native_text_segment_buffer.ts +1 -1
- package/src/core/segment_buffers/index.ts +2 -0
- package/src/core/segment_buffers/inventory/index.ts +2 -0
- package/src/core/segment_buffers/inventory/segment_inventory.ts +49 -17
- package/src/core/stream/adaptation/get_representations_switch_strategy.ts +21 -12
- package/src/core/stream/orchestrator/stream_orchestrator.ts +14 -19
- package/src/core/stream/period/period_stream.ts +7 -8
- package/src/core/stream/period/types.ts +2 -3
- package/src/core/stream/period/utils/get_adaptation_switch_strategy.ts +21 -15
- package/src/core/stream/representation/representation_stream.ts +3 -5
- package/src/core/stream/representation/types.ts +2 -2
- package/src/core/stream/representation/utils/append_segment_to_buffer.ts +1 -1
- package/src/core/stream/representation/utils/get_buffer_status.ts +2 -1
- package/src/default_config.ts +17 -17
- package/src/manifest/adaptation.ts +2 -1
- package/src/parsers/texttracks/ttml/html/apply_line_height.ts +3 -1
- package/src/public_types.ts +29 -2
- package/dist/_esm5.processed/core/api/track_management/track_dispatcher.d.ts +0 -84
- package/dist/_esm5.processed/core/api/track_management/track_dispatcher.js +0 -158
- package/dist/_esm5.processed/core/api/track_management/tracks_store.d.ts +0 -406
- package/dist/_esm5.processed/core/api/track_management/tracks_store.js +0 -932
- package/dist/_esm5.processed/core/segment_buffers/inventory/utils.d.ts +0 -33
- package/dist/_esm5.processed/core/segment_buffers/inventory/utils.js +0 -49
- package/dist/_esm5.processed/core/stream/adaptation/get_representations_switch_strategy.d.ts +0 -39
- package/dist/_esm5.processed/core/stream/adaptation/get_representations_switch_strategy.js +0 -133
- package/dist/_esm5.processed/parsers/manifest/smooth/shared_smooth_segment_timeline.d.ts +0 -119
- package/dist/_esm5.processed/parsers/manifest/smooth/shared_smooth_segment_timeline.js +0 -159
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { IErrorCode, IErrorType } from "../../errors";
|
|
17
17
|
import { IFeature } from "../../features";
|
|
18
|
-
import Manifest
|
|
19
|
-
import {
|
|
18
|
+
import Manifest from "../../manifest";
|
|
19
|
+
import { IAdaptation, IAudioTrack, IAudioTrackPreference, IAvailableAudioTrack, IAvailableTextTrack, IAvailableVideoTrack, IBifThumbnail, IBitrateEstimate, IConstructorOptions, IDecipherabilityUpdateContent, IKeySystemConfigurationOutput, ILoadVideoOptions, IPeriod, IPlayerError, IPlayerState, IPositionUpdate, IRepresentation, IStreamEvent, ITextTrack, ITextTrackPreference, IVideoTrack, IVideoTrackPreference } from "../../public_types";
|
|
20
20
|
import EventEmitter, { IListener } from "../../utils/event_emitter";
|
|
21
21
|
import Logger from "../../utils/logger";
|
|
22
22
|
import { IBufferedChunk, IBufferType } from "../segment_buffers";
|
|
@@ -73,12 +73,20 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
|
|
|
73
73
|
* `null` when no content is currently loading or loaded.
|
|
74
74
|
*/
|
|
75
75
|
private _priv_contentInfos;
|
|
76
|
+
/** List of favorite audio tracks, in preference order. */
|
|
77
|
+
private _priv_preferredAudioTracks;
|
|
78
|
+
/** List of favorite text tracks, in preference order. */
|
|
79
|
+
private _priv_preferredTextTracks;
|
|
80
|
+
/** List of favorite video tracks, in preference order. */
|
|
81
|
+
private _priv_preferredVideoTracks;
|
|
76
82
|
/** If `true` trickMode video tracks will be chosen if available. */
|
|
77
83
|
private _priv_preferTrickModeTracks;
|
|
78
84
|
/** Refer to last picture in picture event received. */
|
|
79
85
|
private _priv_pictureInPictureRef;
|
|
80
86
|
/** Store wanted configuration for the `limitVideoWidth` option. */
|
|
81
87
|
private readonly _priv_limitVideoWidth;
|
|
88
|
+
/** Store wanted configuration for the `throttleWhenHidden` option. */
|
|
89
|
+
private readonly _priv_throttleWhenHidden;
|
|
82
90
|
/** Store wanted configuration for the `throttleVideoBitrateWhenHidden` option. */
|
|
83
91
|
private readonly _priv_throttleVideoBitrateWhenHidden;
|
|
84
92
|
/** Store volume when mute is called, to restore it on unmute. */
|
|
@@ -91,6 +99,8 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
|
|
|
91
99
|
* on stop.
|
|
92
100
|
*/
|
|
93
101
|
private _priv_contentEventsMemory;
|
|
102
|
+
/** Determines whether or not the player should stop at the end of video playback. */
|
|
103
|
+
private readonly _priv_stopAtEnd;
|
|
94
104
|
/**
|
|
95
105
|
* Information that can be relied on once `reload` is called.
|
|
96
106
|
* It should refer to the last content being played.
|
|
@@ -159,7 +169,6 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
|
|
|
159
169
|
position?: number;
|
|
160
170
|
relative?: number;
|
|
161
171
|
};
|
|
162
|
-
keySystems?: IKeySystemOption[];
|
|
163
172
|
autoPlay?: boolean;
|
|
164
173
|
}): void;
|
|
165
174
|
createDebugElement(element: HTMLElement): {
|
|
@@ -176,6 +185,29 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
|
|
|
176
185
|
* @returns {Object|null} - The current Error (`null` when no error).
|
|
177
186
|
*/
|
|
178
187
|
getError(): Error | null;
|
|
188
|
+
/**
|
|
189
|
+
* Returns manifest/playlist object.
|
|
190
|
+
* null if the player is STOPPED.
|
|
191
|
+
* @deprecated
|
|
192
|
+
* @returns {Manifest|null} - The current Manifest (`null` when not known).
|
|
193
|
+
*/
|
|
194
|
+
getManifest(): Manifest | null;
|
|
195
|
+
/**
|
|
196
|
+
* Returns Adaptations (tracks) for every currently playing type
|
|
197
|
+
* (audio/video/text...).
|
|
198
|
+
* @deprecated
|
|
199
|
+
* @returns {Object|null} - The current Adaptation objects, per type (`null`
|
|
200
|
+
* when none is known for now.
|
|
201
|
+
*/
|
|
202
|
+
getCurrentAdaptations(): Partial<Record<IBufferType, IAdaptation | null>> | null;
|
|
203
|
+
/**
|
|
204
|
+
* Returns representations (qualities) for every currently playing type
|
|
205
|
+
* (audio/video/text...).
|
|
206
|
+
* @deprecated
|
|
207
|
+
* @returns {Object|null} - The current Representation objects, per type
|
|
208
|
+
* (`null` when none is known for now.
|
|
209
|
+
*/
|
|
210
|
+
getCurrentRepresentations(): Partial<Record<IBufferType, IRepresentation | null>> | null;
|
|
179
211
|
/**
|
|
180
212
|
* Returns the media DOM element used by the player.
|
|
181
213
|
* You should not its HTML5 API directly and use the player's method instead,
|
|
@@ -184,6 +216,12 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
|
|
|
184
216
|
* disposed)
|
|
185
217
|
*/
|
|
186
218
|
getVideoElement(): HTMLMediaElement | null;
|
|
219
|
+
/**
|
|
220
|
+
* If one returns the first native text-track element attached to the media element.
|
|
221
|
+
* @deprecated
|
|
222
|
+
* @returns {TextTrack} - The native TextTrack attached (`null` when none)
|
|
223
|
+
*/
|
|
224
|
+
getNativeTextTrack(): TextTrack | null;
|
|
187
225
|
/**
|
|
188
226
|
* Returns the player's current state.
|
|
189
227
|
* @returns {string} - The current Player's state
|
|
@@ -224,12 +262,12 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
|
|
|
224
262
|
*/
|
|
225
263
|
areTrickModeTracksEnabled(): boolean;
|
|
226
264
|
/**
|
|
227
|
-
* Returns the
|
|
265
|
+
* Returns the url of the currently considered Manifest, or of the content for
|
|
228
266
|
* directfile content.
|
|
229
|
-
* @returns {
|
|
230
|
-
*
|
|
267
|
+
* @returns {string|undefined} - Current URL. `undefined` if not known or no
|
|
268
|
+
* URL yet.
|
|
231
269
|
*/
|
|
232
|
-
|
|
270
|
+
getUrl(): string | undefined;
|
|
233
271
|
/**
|
|
234
272
|
* Update URL of the content currently being played (e.g. DASH's MPD).
|
|
235
273
|
* @param {Array.<string>|undefined} urls - URLs to reach that content /
|
|
@@ -246,14 +284,28 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
|
|
|
246
284
|
* NaN if no video is playing.
|
|
247
285
|
* @returns {Number}
|
|
248
286
|
*/
|
|
249
|
-
|
|
287
|
+
getVideoDuration(): number;
|
|
250
288
|
/**
|
|
251
289
|
* Returns in seconds the difference between:
|
|
252
290
|
* - the end of the current contiguous loaded range.
|
|
253
291
|
* - the current time
|
|
254
292
|
* @returns {Number}
|
|
255
293
|
*/
|
|
256
|
-
|
|
294
|
+
getVideoBufferGap(): number;
|
|
295
|
+
/**
|
|
296
|
+
* Returns in seconds the difference between:
|
|
297
|
+
* - the end of the current contiguous loaded range.
|
|
298
|
+
* - the start of the current contiguous loaded range.
|
|
299
|
+
* @returns {Number}
|
|
300
|
+
*/
|
|
301
|
+
getVideoLoadedTime(): number;
|
|
302
|
+
/**
|
|
303
|
+
* Returns in seconds the difference between:
|
|
304
|
+
* - the current time.
|
|
305
|
+
* - the start of the current contiguous loaded range.
|
|
306
|
+
* @returns {Number}
|
|
307
|
+
*/
|
|
308
|
+
getVideoPlayedTime(): number;
|
|
257
309
|
/**
|
|
258
310
|
* Get the current position, in s, in wall-clock time.
|
|
259
311
|
* That is:
|
|
@@ -352,25 +404,55 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
|
|
|
352
404
|
preferTrickModeTracks?: boolean;
|
|
353
405
|
}): void;
|
|
354
406
|
/**
|
|
355
|
-
* Returns
|
|
356
|
-
*
|
|
357
|
-
* Returns `null` if no video track is playing for the current Period.
|
|
358
|
-
*
|
|
359
|
-
* Returns `undefined` either when are not currently playing any Period or
|
|
360
|
-
* when we don't know which Representation is playing.
|
|
361
|
-
* @returns {Object|null|undefined}
|
|
407
|
+
* Returns all available bitrates for the current video Adaptation.
|
|
408
|
+
* @returns {Array.<Number>}
|
|
362
409
|
*/
|
|
363
|
-
|
|
410
|
+
getAvailableVideoBitrates(): number[];
|
|
364
411
|
/**
|
|
365
|
-
* Returns
|
|
366
|
-
*
|
|
367
|
-
* Returns `null` if no audio track is playing for the current Period.
|
|
368
|
-
*
|
|
369
|
-
* Returns `undefined` either when are not currently playing any Period or
|
|
370
|
-
* when we don't know which Representation is playing.
|
|
371
|
-
* @returns {Object|null|undefined}
|
|
412
|
+
* Returns all available bitrates for the current audio Adaptation.
|
|
413
|
+
* @returns {Array.<Number>}
|
|
372
414
|
*/
|
|
373
|
-
|
|
415
|
+
getAvailableAudioBitrates(): number[];
|
|
416
|
+
/**
|
|
417
|
+
* Returns the manual audio bitrate set. -1 if in AUTO mode.
|
|
418
|
+
* @returns {Number}
|
|
419
|
+
*/
|
|
420
|
+
getManualAudioBitrate(): number;
|
|
421
|
+
/**
|
|
422
|
+
* Returns the manual video bitrate set. -1 if in AUTO mode.
|
|
423
|
+
* @returns {Number}
|
|
424
|
+
*/
|
|
425
|
+
getManualVideoBitrate(): number;
|
|
426
|
+
/**
|
|
427
|
+
* Returns currently considered bitrate for video segments.
|
|
428
|
+
* @returns {Number|undefined}
|
|
429
|
+
*/
|
|
430
|
+
getVideoBitrate(): number | undefined;
|
|
431
|
+
/**
|
|
432
|
+
* Returns currently considered bitrate for audio segments.
|
|
433
|
+
* @returns {Number|undefined}
|
|
434
|
+
*/
|
|
435
|
+
getAudioBitrate(): number | undefined;
|
|
436
|
+
/**
|
|
437
|
+
* Returns minimum wanted video bitrate currently set.
|
|
438
|
+
* @returns {Number}
|
|
439
|
+
*/
|
|
440
|
+
getMinVideoBitrate(): number;
|
|
441
|
+
/**
|
|
442
|
+
* Returns minimum wanted audio bitrate currently set.
|
|
443
|
+
* @returns {Number}
|
|
444
|
+
*/
|
|
445
|
+
getMinAudioBitrate(): number;
|
|
446
|
+
/**
|
|
447
|
+
* Returns maximum wanted video bitrate currently set.
|
|
448
|
+
* @returns {Number}
|
|
449
|
+
*/
|
|
450
|
+
getMaxVideoBitrate(): number;
|
|
451
|
+
/**
|
|
452
|
+
* Returns maximum wanted audio bitrate currently set.
|
|
453
|
+
* @returns {Number}
|
|
454
|
+
*/
|
|
455
|
+
getMaxAudioBitrate(): number;
|
|
374
456
|
/**
|
|
375
457
|
* Play/Resume the current video.
|
|
376
458
|
* @returns {Promise}
|
|
@@ -392,6 +474,23 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
|
|
|
392
474
|
} | {
|
|
393
475
|
wallClockTime: number;
|
|
394
476
|
}): number;
|
|
477
|
+
/**
|
|
478
|
+
* Returns true if the media element is full screen.
|
|
479
|
+
* @deprecated
|
|
480
|
+
* @returns {Boolean}
|
|
481
|
+
*/
|
|
482
|
+
isFullscreen(): boolean;
|
|
483
|
+
/**
|
|
484
|
+
* Set/exit fullScreen.
|
|
485
|
+
* @deprecated
|
|
486
|
+
* @param {Boolean} [goFull=true] - if false, exit full screen.
|
|
487
|
+
*/
|
|
488
|
+
setFullscreen(goFull?: boolean): void;
|
|
489
|
+
/**
|
|
490
|
+
* Exit from full screen mode.
|
|
491
|
+
* @deprecated
|
|
492
|
+
*/
|
|
493
|
+
exitFullscreen(): void;
|
|
395
494
|
/**
|
|
396
495
|
* Returns the current player's audio volume on the media element.
|
|
397
496
|
* From 0 (no audio) to 1 (maximum volume).
|
|
@@ -417,6 +516,38 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
|
|
|
417
516
|
* If the volume was set to 0, set a default volume instead (see config).
|
|
418
517
|
*/
|
|
419
518
|
unMute(): void;
|
|
519
|
+
/**
|
|
520
|
+
* Force the video bitrate to a given value. Act as a ceil.
|
|
521
|
+
* -1 to set it on AUTO Mode
|
|
522
|
+
* @param {Number} btr
|
|
523
|
+
*/
|
|
524
|
+
setVideoBitrate(btr: number): void;
|
|
525
|
+
/**
|
|
526
|
+
* Force the audio bitrate to a given value. Act as a ceil.
|
|
527
|
+
* -1 to set it on AUTO Mode
|
|
528
|
+
* @param {Number} btr
|
|
529
|
+
*/
|
|
530
|
+
setAudioBitrate(btr: number): void;
|
|
531
|
+
/**
|
|
532
|
+
* Update the minimum video bitrate the user can switch to.
|
|
533
|
+
* @param {Number} btr
|
|
534
|
+
*/
|
|
535
|
+
setMinVideoBitrate(btr: number): void;
|
|
536
|
+
/**
|
|
537
|
+
* Update the minimum audio bitrate the user can switch to.
|
|
538
|
+
* @param {Number} btr
|
|
539
|
+
*/
|
|
540
|
+
setMinAudioBitrate(btr: number): void;
|
|
541
|
+
/**
|
|
542
|
+
* Update the maximum video bitrate the user can switch to.
|
|
543
|
+
* @param {Number} btr
|
|
544
|
+
*/
|
|
545
|
+
setMaxVideoBitrate(btr: number): void;
|
|
546
|
+
/**
|
|
547
|
+
* Update the maximum audio bitrate the user can switch to.
|
|
548
|
+
* @param {Number} btr
|
|
549
|
+
*/
|
|
550
|
+
setMaxAudioBitrate(btr: number): void;
|
|
420
551
|
/**
|
|
421
552
|
* Set the max buffer size for the buffer behind the current position.
|
|
422
553
|
* Every buffer data before will be removed.
|
|
@@ -468,7 +599,6 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
|
|
|
468
599
|
* @returns {string|null}
|
|
469
600
|
*/
|
|
470
601
|
getCurrentKeySystem(): string | null;
|
|
471
|
-
getCurrentPeriod(): IPeriod | null;
|
|
472
602
|
/**
|
|
473
603
|
* Returns both the name of the key system (e.g. `"com.widevine.alpha"`) and
|
|
474
604
|
* the `MediaKeySystemConfiguration` currently associated to the
|
|
@@ -479,86 +609,108 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
|
|
|
479
609
|
*/
|
|
480
610
|
getKeySystemConfiguration(): IKeySystemConfigurationOutput | null;
|
|
481
611
|
/**
|
|
482
|
-
* Returns
|
|
483
|
-
*
|
|
484
|
-
* @returns {Array.<Object>}
|
|
485
|
-
*/
|
|
486
|
-
getAvailablePeriods(): IPeriod[];
|
|
487
|
-
/**
|
|
488
|
-
* Returns every available audio tracks for a given Period - or the current
|
|
489
|
-
* one if no `periodId` is given.
|
|
490
|
-
* @param {string|undefined} [periodId]
|
|
491
|
-
* @returns {Array.<Object>}
|
|
612
|
+
* Returns every available audio tracks for the current Period.
|
|
613
|
+
* @returns {Array.<Object>|null}
|
|
492
614
|
*/
|
|
493
|
-
getAvailableAudioTracks(
|
|
615
|
+
getAvailableAudioTracks(): IAvailableAudioTrack[];
|
|
494
616
|
/**
|
|
495
|
-
* Returns every available text tracks for
|
|
496
|
-
*
|
|
497
|
-
* @param {string|undefined} [periodId]
|
|
498
|
-
* @returns {Array.<Object>}
|
|
617
|
+
* Returns every available text tracks for the current Period.
|
|
618
|
+
* @returns {Array.<Object>|null}
|
|
499
619
|
*/
|
|
500
|
-
getAvailableTextTracks(
|
|
620
|
+
getAvailableTextTracks(): IAvailableTextTrack[];
|
|
501
621
|
/**
|
|
502
622
|
* Returns every available video tracks for the current Period.
|
|
503
|
-
* @
|
|
504
|
-
* @returns {Array.<Object>}
|
|
623
|
+
* @returns {Array.<Object>|null}
|
|
505
624
|
*/
|
|
506
|
-
getAvailableVideoTracks(
|
|
625
|
+
getAvailableVideoTracks(): IAvailableVideoTrack[];
|
|
507
626
|
/**
|
|
508
627
|
* Returns currently chosen audio language for the current Period.
|
|
509
|
-
* @
|
|
510
|
-
* @returns {Object|null|undefined}
|
|
628
|
+
* @returns {string}
|
|
511
629
|
*/
|
|
512
|
-
getAudioTrack(
|
|
630
|
+
getAudioTrack(): IAudioTrack | null | undefined;
|
|
513
631
|
/**
|
|
514
632
|
* Returns currently chosen subtitle for the current Period.
|
|
515
|
-
* @
|
|
516
|
-
* @returns {Object|null|undefined}
|
|
633
|
+
* @returns {string}
|
|
517
634
|
*/
|
|
518
|
-
getTextTrack(
|
|
635
|
+
getTextTrack(): ITextTrack | null | undefined;
|
|
519
636
|
/**
|
|
520
637
|
* Returns currently chosen video track for the current Period.
|
|
521
|
-
* @
|
|
522
|
-
* @returns {Object|null|undefined}
|
|
638
|
+
* @returns {string}
|
|
523
639
|
*/
|
|
524
|
-
getVideoTrack(
|
|
640
|
+
getVideoTrack(): IVideoTrack | null | undefined;
|
|
525
641
|
/**
|
|
526
642
|
* Update the audio language for the current Period.
|
|
527
|
-
* @param {string
|
|
528
|
-
* @throws Error - the current content has no
|
|
643
|
+
* @param {string} audioId
|
|
644
|
+
* @throws Error - the current content has no TrackChoiceManager.
|
|
529
645
|
* @throws Error - the given id is linked to no audio track.
|
|
530
646
|
*/
|
|
531
|
-
setAudioTrack(
|
|
647
|
+
setAudioTrack(audioId: string): void;
|
|
532
648
|
/**
|
|
533
649
|
* Update the text language for the current Period.
|
|
534
|
-
* @param {string
|
|
535
|
-
* @throws Error - the current content has no
|
|
650
|
+
* @param {string} sub
|
|
651
|
+
* @throws Error - the current content has no TrackChoiceManager.
|
|
536
652
|
* @throws Error - the given id is linked to no text track.
|
|
537
653
|
*/
|
|
538
|
-
setTextTrack(
|
|
654
|
+
setTextTrack(textId: string): void;
|
|
539
655
|
/**
|
|
540
656
|
* Disable subtitles for the current content.
|
|
541
|
-
* @param {string|undefined} [periodId]
|
|
542
657
|
*/
|
|
543
|
-
disableTextTrack(
|
|
658
|
+
disableTextTrack(): void;
|
|
544
659
|
/**
|
|
545
660
|
* Update the video track for the current Period.
|
|
546
|
-
* @param {string
|
|
547
|
-
* @throws Error - the current content has no
|
|
661
|
+
* @param {string} videoId
|
|
662
|
+
* @throws Error - the current content has no TrackChoiceManager.
|
|
548
663
|
* @throws Error - the given id is linked to no video track.
|
|
549
664
|
*/
|
|
550
|
-
setVideoTrack(
|
|
665
|
+
setVideoTrack(videoId: string): void;
|
|
551
666
|
/**
|
|
552
667
|
* Disable video track for the current content.
|
|
553
|
-
* @param {string|undefined} [periodId]
|
|
554
668
|
*/
|
|
555
|
-
disableVideoTrack(
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
669
|
+
disableVideoTrack(): void;
|
|
670
|
+
/**
|
|
671
|
+
* Returns the current list of preferred audio tracks, in preference order.
|
|
672
|
+
* @returns {Array.<Object>}
|
|
673
|
+
*/
|
|
674
|
+
getPreferredAudioTracks(): IAudioTrackPreference[];
|
|
675
|
+
/**
|
|
676
|
+
* Returns the current list of preferred text tracks, in preference order.
|
|
677
|
+
* @returns {Array.<Object>}
|
|
678
|
+
*/
|
|
679
|
+
getPreferredTextTracks(): ITextTrackPreference[];
|
|
680
|
+
/**
|
|
681
|
+
* Returns the current list of preferred text tracks, in preference order.
|
|
682
|
+
* @returns {Array.<Object>}
|
|
683
|
+
*/
|
|
684
|
+
getPreferredVideoTracks(): IVideoTrackPreference[];
|
|
685
|
+
/**
|
|
686
|
+
* Set the list of preferred audio tracks, in preference order.
|
|
687
|
+
* @param {Array.<Object>} tracks
|
|
688
|
+
* @param {boolean} shouldApply - `true` if those preferences should be
|
|
689
|
+
* applied on the currently loaded Period. `false` if it should only
|
|
690
|
+
* be applied to new content.
|
|
691
|
+
*/
|
|
692
|
+
setPreferredAudioTracks(tracks: IAudioTrackPreference[], shouldApply?: boolean): void;
|
|
693
|
+
/**
|
|
694
|
+
* Set the list of preferred text tracks, in preference order.
|
|
695
|
+
* @param {Array.<Object>} tracks
|
|
696
|
+
* @param {boolean} shouldApply - `true` if those preferences should be
|
|
697
|
+
* applied on the currently loaded Periods. `false` if it should only
|
|
698
|
+
* be applied to new content.
|
|
699
|
+
*/
|
|
700
|
+
setPreferredTextTracks(tracks: ITextTrackPreference[], shouldApply?: boolean): void;
|
|
701
|
+
/**
|
|
702
|
+
* Set the list of preferred text tracks, in preference order.
|
|
703
|
+
* @param {Array.<Object>} tracks
|
|
704
|
+
* @param {boolean} shouldApply - `true` if those preferences should be
|
|
705
|
+
* applied on the currently loaded Period. `false` if it should only
|
|
706
|
+
* be applied to new content.
|
|
707
|
+
*/
|
|
708
|
+
setPreferredVideoTracks(tracks: IVideoTrackPreference[], shouldApply?: boolean): void;
|
|
709
|
+
/**
|
|
710
|
+
* @returns {Array.<Object>|null}
|
|
711
|
+
* @deprecated
|
|
712
|
+
*/
|
|
713
|
+
getImageTrackData(): IBifThumbnail[] | null;
|
|
562
714
|
/**
|
|
563
715
|
* Get minimum seek-able position.
|
|
564
716
|
* @returns {number}
|
|
@@ -578,16 +730,6 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
|
|
|
578
730
|
* @returns {Array.<Object>|null}
|
|
579
731
|
*/
|
|
580
732
|
__priv_getSegmentBufferContent(bufferType: IBufferType): IBufferedChunk[] | null;
|
|
581
|
-
/**
|
|
582
|
-
* /!\ For tools use only! Do not touch!
|
|
583
|
-
*
|
|
584
|
-
* Returns manifest/playlist object.
|
|
585
|
-
* null if the player is STOPPED.
|
|
586
|
-
* @returns {Manifest|null} - The current Manifest (`null` when not known).
|
|
587
|
-
*/
|
|
588
|
-
__priv_getManifest(): Manifest | null;
|
|
589
|
-
__priv_getCurrentAdaptation(): Partial<Record<IBufferType, Adaptation | null>> | null;
|
|
590
|
-
__priv_getCurrentRepresentations(): Partial<Record<IBufferType, Representation | null>> | null;
|
|
591
733
|
/**
|
|
592
734
|
* Reset all state properties relative to a playing content.
|
|
593
735
|
*/
|
|
@@ -644,7 +786,15 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
|
|
|
644
786
|
*
|
|
645
787
|
* @param {Object} value
|
|
646
788
|
*/
|
|
647
|
-
private
|
|
789
|
+
private _priv_onBitrateEstimationChange;
|
|
790
|
+
/**
|
|
791
|
+
* Triggered each time a textTrack is added to the video DOM Element.
|
|
792
|
+
*
|
|
793
|
+
* Trigger the right Player Event.
|
|
794
|
+
*
|
|
795
|
+
* @param {Array.<TextTrackElement>} tracks
|
|
796
|
+
*/
|
|
797
|
+
private _priv_onNativeTextTracksNext;
|
|
648
798
|
/**
|
|
649
799
|
* Triggered each time the player state updates.
|
|
650
800
|
*
|
|
@@ -662,6 +812,23 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
|
|
|
662
812
|
* @param {Object} observation
|
|
663
813
|
*/
|
|
664
814
|
private _priv_triggerPositionUpdate;
|
|
815
|
+
/**
|
|
816
|
+
* Trigger one of the "availableBitratesChange" event only if it changed from
|
|
817
|
+
* the previously stored value.
|
|
818
|
+
* @param {string} event
|
|
819
|
+
* @param {Array.<number>} newVal
|
|
820
|
+
* @param {Object} currentContentCancelSignal
|
|
821
|
+
*/
|
|
822
|
+
private _priv_triggerAvailableBitratesChangeEvent;
|
|
823
|
+
/**
|
|
824
|
+
* Trigger one of the "bitrateChange" event only if it changed from the
|
|
825
|
+
* previously stored value.
|
|
826
|
+
* @param {string} event
|
|
827
|
+
* @param {number} newVal
|
|
828
|
+
* @param {Object} currentContentCancelSignal
|
|
829
|
+
*/
|
|
830
|
+
private _priv_triggerCurrentBitrateChangeEvent;
|
|
831
|
+
private _priv_getCurrentRepresentations;
|
|
665
832
|
/**
|
|
666
833
|
* @param {string} evt
|
|
667
834
|
* @param {*} arg
|
|
@@ -669,11 +836,12 @@ declare class Player extends EventEmitter<IPublicAPIEvent> {
|
|
|
669
836
|
*/
|
|
670
837
|
private _priv_triggerEventIfNotStopped;
|
|
671
838
|
/**
|
|
839
|
+
* @param {Object} defaultAudioTrack
|
|
840
|
+
* @param {Object} defaultTextTrack
|
|
672
841
|
* @param {Object} cancelSignal
|
|
673
842
|
* @returns {Object}
|
|
674
843
|
*/
|
|
675
|
-
private
|
|
676
|
-
private _priv_callTracksStoreGetterSetter;
|
|
844
|
+
private _priv_initializeMediaElementTrackChoiceManager;
|
|
677
845
|
}
|
|
678
846
|
/** Every events sent by the RxPlayer's public API. */
|
|
679
847
|
interface IPublicAPIEvent {
|
|
@@ -682,20 +850,26 @@ interface IPublicAPIEvent {
|
|
|
682
850
|
audioTrackChange: IAudioTrack | null;
|
|
683
851
|
textTrackChange: ITextTrack | null;
|
|
684
852
|
videoTrackChange: IVideoTrack | null;
|
|
685
|
-
|
|
686
|
-
|
|
853
|
+
audioBitrateChange: number;
|
|
854
|
+
videoBitrateChange: number;
|
|
855
|
+
imageTrackUpdate: {
|
|
856
|
+
data: IBifThumbnail[];
|
|
857
|
+
};
|
|
858
|
+
fullscreenChange: boolean;
|
|
859
|
+
bitrateEstimationChange: IBitrateEstimate;
|
|
687
860
|
volumeChange: number;
|
|
688
861
|
error: IPlayerError | Error;
|
|
689
862
|
warning: IPlayerError | Error;
|
|
690
|
-
|
|
863
|
+
nativeTextTracksChange: TextTrack[];
|
|
864
|
+
periodChange: IPeriod;
|
|
865
|
+
availableAudioBitratesChange: number[];
|
|
866
|
+
availableVideoBitratesChange: number[];
|
|
691
867
|
availableAudioTracksChange: IAvailableAudioTrack[];
|
|
692
868
|
availableTextTracksChange: IAvailableTextTrack[];
|
|
693
869
|
availableVideoTracksChange: IAvailableVideoTrack[];
|
|
870
|
+
decipherabilityUpdate: IDecipherabilityUpdateContent[];
|
|
694
871
|
play: null;
|
|
695
872
|
pause: null;
|
|
696
|
-
newAvailablePeriods: IPeriod[];
|
|
697
|
-
brokenRepresentationsLock: IBrokenRepresentationsLockContext;
|
|
698
|
-
trackUpdate: ITrackUpdateEventPayload;
|
|
699
873
|
seeking: null;
|
|
700
874
|
seeked: null;
|
|
701
875
|
streamEvent: IStreamEvent;
|