rx-player 3.26.1 → 3.26.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/checks.yml +99 -0
- package/.github/workflows/sonarcloud_analysis.yml +20 -0
- package/CHANGELOG.md +99 -71
- package/README.md +19 -18
- package/VERSION +1 -1
- package/dist/_esm5.processed/compat/clear_element_src.js +8 -6
- package/dist/_esm5.processed/compat/eme/close_session.js +1 -2
- package/dist/_esm5.processed/compat/eme/custom_media_keys/ie11_media_keys.js +1 -2
- package/dist/_esm5.processed/compat/eme/custom_media_keys/index.d.ts +3 -1
- package/dist/_esm5.processed/compat/eme/custom_media_keys/old_webkit_media_keys.js +6 -4
- package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys.js +1 -2
- package/dist/_esm5.processed/compat/eme/generate_key_request.js +1 -2
- package/dist/_esm5.processed/compat/eme/load_session.js +2 -3
- package/dist/_esm5.processed/compat/event_listeners.d.ts +3 -2
- package/dist/_esm5.processed/compat/event_listeners.js +8 -14
- package/dist/_esm5.processed/compat/make_vtt_cue.js +1 -1
- package/dist/_esm5.processed/compat/on_height_width_change.js +1 -2
- package/dist/_esm5.processed/compat/set_element_src.js +1 -1
- package/dist/_esm5.processed/compat/when_loaded_metadata.js +1 -2
- package/dist/_esm5.processed/compat/when_media_source_open.js +1 -2
- package/dist/_esm5.processed/config.d.ts +3 -8
- package/dist/_esm5.processed/config.js +4 -9
- package/dist/_esm5.processed/core/abr/abr_manager.d.ts +11 -10
- package/dist/_esm5.processed/core/abr/abr_manager.js +47 -8
- package/dist/_esm5.processed/core/abr/bandwidth_estimator.js +1 -1
- package/dist/_esm5.processed/core/abr/buffer_based_chooser.d.ts +2 -2
- package/dist/_esm5.processed/core/abr/buffer_based_chooser.js +3 -3
- package/dist/_esm5.processed/core/abr/get_buffer_levels.js +3 -0
- package/dist/_esm5.processed/core/abr/get_estimate_from_buffer_levels.d.ts +3 -3
- package/dist/_esm5.processed/core/abr/get_estimate_from_buffer_levels.js +3 -3
- package/dist/_esm5.processed/core/abr/guess_based_chooser.d.ts +95 -0
- package/dist/_esm5.processed/core/abr/guess_based_chooser.js +242 -0
- package/dist/_esm5.processed/core/abr/index.d.ts +3 -3
- package/dist/_esm5.processed/core/abr/last_estimate_storage.d.ts +61 -0
- package/dist/_esm5.processed/core/abr/last_estimate_storage.js +37 -0
- package/dist/_esm5.processed/core/abr/network_analyzer.d.ts +25 -7
- package/dist/_esm5.processed/core/abr/network_analyzer.js +68 -31
- package/dist/_esm5.processed/core/abr/pending_requests_store.d.ts +56 -28
- package/dist/_esm5.processed/core/abr/pending_requests_store.js +9 -7
- package/dist/_esm5.processed/core/abr/representation_estimator.d.ts +34 -51
- package/dist/_esm5.processed/core/abr/representation_estimator.js +111 -52
- package/dist/_esm5.processed/core/abr/representation_score_calculator.d.ts +5 -8
- package/dist/_esm5.processed/core/abr/representation_score_calculator.js +20 -23
- package/dist/_esm5.processed/core/abr/{ewma.d.ts → utils/ewma.d.ts} +0 -0
- package/dist/_esm5.processed/core/abr/{ewma.js → utils/ewma.js} +0 -0
- package/dist/_esm5.processed/core/abr/{filter_by_bitrate.d.ts → utils/filter_by_bitrate.d.ts} +1 -1
- package/dist/_esm5.processed/core/abr/{filter_by_bitrate.js → utils/filter_by_bitrate.js} +1 -1
- package/dist/_esm5.processed/core/abr/{filter_by_width.d.ts → utils/filter_by_width.d.ts} +1 -1
- package/dist/_esm5.processed/core/abr/{filter_by_width.js → utils/filter_by_width.js} +2 -2
- package/dist/_esm5.processed/core/abr/{select_optimal_representation.d.ts → utils/select_optimal_representation.d.ts} +1 -1
- package/dist/_esm5.processed/core/abr/{select_optimal_representation.js → utils/select_optimal_representation.js} +1 -1
- package/dist/_esm5.processed/core/api/emit_seek_events.d.ts +4 -4
- package/dist/_esm5.processed/core/api/emit_seek_events.js +12 -10
- package/dist/_esm5.processed/core/api/index.d.ts +3 -1
- package/dist/_esm5.processed/core/api/index.js +2 -0
- package/dist/_esm5.processed/core/api/option_utils.js +4 -4
- package/dist/_esm5.processed/core/api/playback_observer.d.ts +280 -0
- package/dist/_esm5.processed/core/api/playback_observer.js +461 -0
- package/dist/_esm5.processed/core/api/public_api.d.ts +8 -7
- package/dist/_esm5.processed/core/api/public_api.js +98 -94
- package/dist/_esm5.processed/core/api/track_choice_manager.js +3 -3
- package/dist/_esm5.processed/core/eme/__tests__/__global__/utils.js +1 -0
- package/dist/_esm5.processed/core/eme/attach_media_keys.js +1 -2
- package/dist/_esm5.processed/core/eme/check_key_statuses.js +4 -5
- package/dist/_esm5.processed/core/eme/clean_old_loaded_sessions.js +1 -2
- package/dist/_esm5.processed/core/eme/clear_eme_session.js +6 -2
- package/dist/_esm5.processed/core/eme/create_session.js +1 -2
- package/dist/_esm5.processed/core/eme/dispose_media_keys.js +2 -3
- package/dist/_esm5.processed/core/eme/eme_manager.js +4 -5
- package/dist/_esm5.processed/core/eme/find_key_system.js +4 -5
- package/dist/_esm5.processed/core/eme/get_media_keys.js +2 -3
- package/dist/_esm5.processed/core/eme/get_session.js +1 -2
- package/dist/_esm5.processed/core/eme/init_media_keys.js +5 -5
- package/dist/_esm5.processed/core/eme/session_events_listener.js +6 -7
- package/dist/_esm5.processed/core/eme/set_server_certificate.js +8 -3
- package/dist/_esm5.processed/core/eme/types.d.ts +12 -4
- package/dist/_esm5.processed/core/eme/utils/close_session.js +2 -3
- package/dist/_esm5.processed/core/eme/utils/is_session_usable.js +1 -1
- package/dist/_esm5.processed/core/eme/utils/loaded_sessions_store.js +3 -4
- package/dist/_esm5.processed/core/eme/utils/persistent_sessions_store.js +3 -3
- package/dist/_esm5.processed/core/fetchers/index.d.ts +2 -2
- package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.js +2 -2
- package/dist/_esm5.processed/core/fetchers/segment/index.d.ts +2 -2
- package/dist/_esm5.processed/core/fetchers/segment/prioritized_segment_fetcher.d.ts +12 -29
- package/dist/_esm5.processed/core/fetchers/segment/prioritized_segment_fetcher.js +3 -7
- package/dist/_esm5.processed/core/fetchers/segment/prioritizer.d.ts +53 -53
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.d.ts +42 -11
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.js +118 -46
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.d.ts +21 -20
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.js +9 -8
- package/dist/_esm5.processed/core/init/create_eme_manager.js +1 -2
- package/dist/_esm5.processed/core/init/create_media_source.js +3 -4
- package/dist/_esm5.processed/core/init/create_stream_playback_observer.d.ts +39 -0
- package/dist/_esm5.processed/core/init/create_stream_playback_observer.js +50 -0
- package/dist/_esm5.processed/core/init/duration_updater.js +16 -7
- package/dist/_esm5.processed/core/init/emit_loaded_event.d.ts +4 -3
- package/dist/_esm5.processed/core/init/emit_loaded_event.js +8 -8
- package/dist/_esm5.processed/core/init/end_of_stream.js +1 -2
- package/dist/_esm5.processed/core/init/get_initial_time.js +2 -3
- package/dist/_esm5.processed/core/init/initial_seek_and_play.d.ts +32 -31
- package/dist/_esm5.processed/core/init/initial_seek_and_play.js +25 -32
- package/dist/_esm5.processed/core/init/initialize_directfile.d.ts +6 -5
- package/dist/_esm5.processed/core/init/initialize_directfile.js +16 -12
- package/dist/_esm5.processed/core/init/initialize_media_source.d.ts +10 -10
- package/dist/_esm5.processed/core/init/initialize_media_source.js +18 -12
- package/dist/_esm5.processed/core/init/load_on_media_source.d.ts +8 -11
- package/dist/_esm5.processed/core/init/load_on_media_source.js +16 -19
- package/dist/_esm5.processed/core/init/manifest_update_scheduler.js +8 -7
- package/dist/_esm5.processed/core/init/stall_avoider.d.ts +4 -6
- package/dist/_esm5.processed/core/init/stall_avoider.js +56 -42
- package/dist/_esm5.processed/core/init/stream_events_emitter/stream_events_emitter.d.ts +2 -2
- package/dist/_esm5.processed/core/init/stream_events_emitter/stream_events_emitter.js +20 -15
- package/dist/_esm5.processed/core/init/throw_on_media_error.js +1 -2
- package/dist/_esm5.processed/core/init/types.d.ts +0 -20
- package/dist/_esm5.processed/core/init/update_playback_rate.d.ts +5 -4
- package/dist/_esm5.processed/core/init/update_playback_rate.js +10 -11
- package/dist/_esm5.processed/core/segment_buffers/garbage_collector.d.ts +4 -4
- package/dist/_esm5.processed/core/segment_buffers/garbage_collector.js +12 -7
- package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.js +8 -7
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/html_text_segment_buffer.js +9 -10
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/text_track_cues_store.js +1 -1
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.js +4 -4
- package/dist/_esm5.processed/core/segment_buffers/implementations/utils/manual_time_ranges.js +2 -2
- package/dist/_esm5.processed/core/segment_buffers/inventory/buffered_history.js +2 -2
- package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.d.ts +1 -12
- package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.js +10 -10
- package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.js +1 -1
- package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.d.ts +15 -13
- package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.js +36 -23
- package/dist/_esm5.processed/core/stream/adaptation/create_representation_estimator.d.ts +9 -17
- package/dist/_esm5.processed/core/stream/adaptation/create_representation_estimator.js +11 -20
- package/dist/_esm5.processed/core/stream/adaptation/index.d.ts +2 -2
- package/dist/_esm5.processed/core/stream/index.d.ts +2 -2
- package/dist/_esm5.processed/core/stream/orchestrator/active_period_emitter.js +5 -6
- package/dist/_esm5.processed/core/stream/orchestrator/are_streams_complete.js +1 -2
- package/dist/_esm5.processed/core/stream/orchestrator/index.d.ts +2 -2
- package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.d.ts +10 -8
- package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.js +22 -21
- package/dist/_esm5.processed/core/stream/period/create_empty_adaptation_stream.d.ts +6 -4
- package/dist/_esm5.processed/core/stream/period/create_empty_adaptation_stream.js +11 -10
- package/dist/_esm5.processed/core/stream/period/index.d.ts +2 -2
- package/dist/_esm5.processed/core/stream/period/period_stream.d.ts +23 -7
- package/dist/_esm5.processed/core/stream/period/period_stream.js +38 -24
- package/dist/_esm5.processed/core/stream/reload_after_switch.d.ts +5 -4
- package/dist/_esm5.processed/core/stream/reload_after_switch.js +8 -7
- package/dist/_esm5.processed/core/stream/representation/append_segment_to_buffer.d.ts +4 -2
- package/dist/_esm5.processed/core/stream/representation/append_segment_to_buffer.js +10 -8
- package/dist/_esm5.processed/core/stream/representation/downloading_queue.d.ts +9 -9
- package/dist/_esm5.processed/core/stream/representation/downloading_queue.js +10 -12
- package/dist/_esm5.processed/core/stream/representation/force_garbage_collection.d.ts +1 -3
- package/dist/_esm5.processed/core/stream/representation/force_garbage_collection.js +6 -8
- package/dist/_esm5.processed/core/stream/representation/get_buffer_status.d.ts +3 -7
- package/dist/_esm5.processed/core/stream/representation/get_buffer_status.js +7 -8
- package/dist/_esm5.processed/core/stream/representation/get_needed_segments.js +1 -1
- package/dist/_esm5.processed/core/stream/representation/get_segment_priority.d.ts +6 -9
- package/dist/_esm5.processed/core/stream/representation/get_segment_priority.js +7 -8
- package/dist/_esm5.processed/core/stream/representation/index.d.ts +2 -2
- package/dist/_esm5.processed/core/stream/representation/push_init_segment.d.ts +4 -2
- package/dist/_esm5.processed/core/stream/representation/push_init_segment.js +3 -5
- package/dist/_esm5.processed/core/stream/representation/push_media_segment.d.ts +6 -4
- package/dist/_esm5.processed/core/stream/representation/push_media_segment.js +3 -5
- package/dist/_esm5.processed/core/stream/representation/representation_stream.d.ts +9 -12
- package/dist/_esm5.processed/core/stream/representation/representation_stream.js +30 -21
- package/dist/_esm5.processed/errors/error_message.js +1 -1
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/create_request.d.ts +5 -3
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/create_request.js +21 -8
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/get_initialized_source_buffer.js +2 -3
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/load_segments.d.ts +2 -2
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/load_segments.js +4 -0
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.js +1 -1
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/push_data.d.ts +2 -2
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/thumbnail_loader.js +17 -6
- package/dist/_esm5.processed/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +1 -2
- package/dist/_esm5.processed/experimental/tools/createMetaplaylist/index.js +1 -2
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +1 -1
- package/dist/_esm5.processed/features/initialize_features.js +47 -44
- package/dist/_esm5.processed/index.js +2 -2
- package/dist/_esm5.processed/manifest/index.d.ts +2 -2
- package/dist/_esm5.processed/manifest/index.js +2 -2
- package/dist/_esm5.processed/manifest/representation.js +1 -1
- package/dist/_esm5.processed/manifest/representation_index/static.js +1 -0
- package/dist/_esm5.processed/manifest/representation_index/types.d.ts +24 -3
- package/dist/_esm5.processed/manifest/update_period_in_place.js +1 -1
- package/dist/_esm5.processed/manifest/{are_same_content.d.ts → utils.d.ts} +9 -7
- package/dist/_esm5.processed/manifest/{are_same_content.js → utils.js} +18 -1
- package/dist/_esm5.processed/minimal.js +2 -2
- package/dist/_esm5.processed/parsers/containers/isobmff/get_box.d.ts +18 -9
- package/dist/_esm5.processed/parsers/containers/isobmff/get_box.js +32 -9
- package/dist/_esm5.processed/parsers/containers/isobmff/read.d.ts +18 -5
- package/dist/_esm5.processed/parsers/containers/isobmff/read.js +28 -6
- package/dist/_esm5.processed/parsers/containers/isobmff/utils.js +52 -47
- package/dist/_esm5.processed/parsers/images/bif.js +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/flatten_overlapping_periods.js +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/get_http_utc-timing_url.js +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.d.ts +2 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.js +3 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_init_segment.js +2 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +1 -0
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +7 -9
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.d.ts +2 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.js +4 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.d.ts +2 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.js +11 -5
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.js +10 -9
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/parse_s_element.js +3 -3
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +6 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +5 -4
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/tokens.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/tokens.js +4 -4
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.d.ts +3 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.js +19 -18
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.d.ts +2 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.js +14 -8
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.js +7 -8
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.d.ts +3 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.js +5 -10
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.d.ts +3 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.js +17 -8
- package/dist/_esm5.processed/parsers/manifest/dash/common/resolve_base_urls.d.ts +7 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/resolve_base_urls.js +22 -21
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +10 -0
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/BaseURL.js +9 -9
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Representation.js +24 -0
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.js +7 -5
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.js +12 -9
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/parse_from_document.js +5 -2
- package/dist/_esm5.processed/parsers/manifest/dash/node_parser_types.d.ts +8 -0
- package/dist/_esm5.processed/parsers/manifest/dash/parsers_types.d.ts +11 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +7 -4
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +11 -0
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.js +7 -1
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +5 -0
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +5 -0
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +13 -0
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +23 -0
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.js +5 -0
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/XLink.js +6 -0
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/root.js +6 -0
- package/dist/_esm5.processed/parsers/manifest/local/parse_local_manifest.js +1 -1
- package/dist/_esm5.processed/parsers/manifest/local/representation_index.js +4 -2
- package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.js +1 -1
- package/dist/_esm5.processed/parsers/manifest/smooth/get_codecs.js +1 -1
- package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.js +3 -1
- package/dist/_esm5.processed/parsers/manifest/utils/check_manifest_ids.js +1 -1
- package/dist/_esm5.processed/parsers/manifest/utils/clear_timeline_from_position.js +1 -1
- package/dist/_esm5.processed/parsers/manifest/utils/index_helpers.d.ts +11 -3
- package/dist/_esm5.processed/parsers/manifest/utils/index_helpers.js +5 -5
- package/dist/_esm5.processed/parsers/manifest/utils/is_segment_still_available.js +3 -6
- package/dist/_esm5.processed/parsers/texttracks/sami/html.js +2 -2
- package/dist/_esm5.processed/parsers/texttracks/sami/native.js +2 -2
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_font_size.js +13 -1
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/generate_css_test_outline.js +4 -4
- package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_default_style_elements.js +2 -2
- package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_style_attribute.js +5 -5
- package/dist/_esm5.processed/transports/dash/image_pipelines.d.ts +2 -2
- package/dist/_esm5.processed/transports/dash/init_segment_loader.js +1 -1
- package/dist/_esm5.processed/transports/dash/manifest_parser.js +89 -20
- package/dist/_esm5.processed/transports/dash/segment_loader.js +1 -1
- package/dist/_esm5.processed/transports/local/segment_loader.js +2 -2
- package/dist/_esm5.processed/transports/local/segment_parser.d.ts +2 -2
- package/dist/_esm5.processed/transports/local/text_parser.d.ts +2 -2
- package/dist/_esm5.processed/transports/metaplaylist/pipelines.js +1 -1
- package/dist/_esm5.processed/transports/smooth/extract_timings_infos.js +1 -1
- package/dist/_esm5.processed/transports/smooth/pipelines.js +2 -2
- package/dist/_esm5.processed/transports/smooth/segment_loader.js +3 -3
- package/dist/_esm5.processed/transports/types.d.ts +29 -15
- package/dist/_esm5.processed/transports/utils/byte_range.js +2 -2
- package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.js +1 -1
- package/dist/_esm5.processed/transports/utils/get_isobmff_timing_infos.js +6 -1
- package/dist/_esm5.processed/transports/utils/parse_text_track.js +6 -4
- package/dist/_esm5.processed/utils/assert.js +3 -3
- package/dist/_esm5.processed/utils/concat_map_latest.js +1 -2
- package/dist/_esm5.processed/utils/defer_subscriptions.js +1 -2
- package/dist/_esm5.processed/utils/filter_map.js +1 -2
- package/dist/_esm5.processed/utils/reference.d.ts +108 -0
- package/dist/_esm5.processed/utils/reference.js +137 -0
- package/dist/_esm5.processed/utils/request/fetch.d.ts +1 -1
- package/dist/_esm5.processed/utils/request/fetch.js +3 -3
- package/dist/_esm5.processed/utils/request/xhr.d.ts +1 -1
- package/dist/_esm5.processed/utils/request/xhr.js +1 -1
- package/dist/_esm5.processed/utils/rx-retry_with_backoff.js +1 -2
- package/dist/mpd-parser.wasm +0 -0
- package/dist/rx-player.d.ts +1 -15
- package/dist/rx-player.js +3666 -2470
- package/dist/rx-player.min.d.ts +1 -15
- package/dist/rx-player.min.js +1 -1
- package/jest.config.js +28 -1
- package/package.json +43 -43
- package/scripts/build/constants.d.ts +50 -0
- package/scripts/build/generate_build.js +1 -189
- package/scripts/doc-generator/construct_table_of_contents.js +31 -24
- package/scripts/doc-generator/convert_MD_to_HMTL.js +4 -8
- package/scripts/doc-generator/create_documentation.js +331 -0
- package/scripts/doc-generator/create_documentation_page.js +209 -0
- package/scripts/doc-generator/create_page.js +117 -35
- package/scripts/doc-generator/generate_header_html.js +148 -0
- package/scripts/doc-generator/generate_page_html.js +116 -0
- package/scripts/doc-generator/generate_page_list_html.js +93 -0
- package/scripts/doc-generator/generate_sidebar_html.js +88 -0
- package/scripts/doc-generator/get_search_data_for_content.js +137 -0
- package/scripts/doc-generator/index.js +14 -15
- package/scripts/doc-generator/parse_doc_configs.js +327 -0
- package/scripts/doc-generator/scripts/lunr.js +10 -0
- package/scripts/doc-generator/scripts/script.js +451 -0
- package/scripts/doc-generator/styles/style.css +712 -144
- package/scripts/doc-generator/utils.js +85 -0
- package/scripts/fast_demo_build.js +143 -0
- package/scripts/generate_documentation_list.js +6 -2
- package/scripts/generate_full_demo.js +26 -49
- package/scripts/start_demo_web_server.js +14 -4
- package/scripts/update-version +1 -1
- package/sonar-project.properties +2 -1
- package/src/compat/__tests__/add_text_track.test.ts +1 -0
- package/src/compat/__tests__/clear_element_src.test.ts +55 -28
- package/src/compat/__tests__/set_element_src.test.ts +2 -2
- package/src/compat/__tests__/when_loaded_metadata.test.ts +4 -5
- package/src/compat/__tests__/when_media_source_open.test.ts +4 -5
- package/src/compat/clear_element_src.ts +8 -6
- package/src/compat/eme/close_session.ts +3 -5
- package/src/compat/eme/custom_media_keys/ie11_media_keys.ts +1 -1
- package/src/compat/eme/custom_media_keys/index.ts +6 -6
- package/src/compat/eme/custom_media_keys/old_webkit_media_keys.ts +6 -3
- package/src/compat/eme/custom_media_keys/webkit_media_keys.ts +1 -1
- package/src/compat/eme/generate_key_request.ts +1 -1
- package/src/compat/eme/load_session.ts +4 -6
- package/src/compat/event_listeners.ts +12 -21
- package/src/compat/on_height_width_change.ts +3 -5
- package/src/compat/set_element_src.ts +1 -1
- package/src/compat/when_loaded_metadata.ts +1 -1
- package/src/compat/when_media_source_open.ts +1 -1
- package/src/config.ts +4 -9
- package/src/core/abr/README.md +7 -7
- package/src/core/abr/abr_manager.ts +62 -21
- package/src/core/abr/bandwidth_estimator.ts +1 -1
- package/src/core/abr/buffer_based_chooser.ts +8 -6
- package/src/core/abr/get_buffer_levels.ts +3 -0
- package/src/core/abr/get_estimate_from_buffer_levels.ts +4 -4
- package/src/core/abr/guess_based_chooser.ts +308 -0
- package/src/core/abr/index.ts +7 -3
- package/src/core/abr/last_estimate_storage.ts +79 -0
- package/src/core/abr/network_analyzer.ts +74 -31
- package/src/core/abr/pending_requests_store.ts +76 -42
- package/src/core/abr/representation_estimator.ts +200 -125
- package/src/core/abr/representation_score_calculator.ts +33 -26
- package/src/core/abr/{__tests__ → utils/__tests__}/ewma.test.ts +0 -0
- package/src/core/abr/{__tests__ → utils/__tests__}/filter_by_bitrate.test.ts +1 -1
- package/src/core/abr/{__tests__ → utils/__tests__}/filter_by_width.test.ts +1 -1
- package/src/core/abr/{__tests__ → utils/__tests__}/select_optimal_representation.test.ts +1 -1
- package/src/core/abr/{ewma.ts → utils/ewma.ts} +0 -0
- package/src/core/abr/{filter_by_bitrate.ts → utils/filter_by_bitrate.ts} +2 -2
- package/src/core/abr/{filter_by_width.ts → utils/filter_by_width.ts} +3 -3
- package/src/core/abr/{select_optimal_representation.ts → utils/select_optimal_representation.ts} +2 -2
- package/src/core/api/README.md +4 -3
- package/src/core/api/__tests__/option_utils.test.ts +1 -0
- package/src/core/api/emit_seek_events.ts +21 -20
- package/src/core/api/index.ts +6 -2
- package/src/core/api/playback_observer.ts +768 -0
- package/src/core/api/public_api.ts +111 -111
- package/src/core/api/track_choice_manager.ts +6 -3
- package/src/core/eme/__tests__/__global__/get_license.test.ts +5 -3
- package/src/core/eme/__tests__/__global__/init_data.test.ts +11 -12
- package/src/core/eme/__tests__/__global__/media_key_system_access.test.ts +2 -1
- package/src/core/eme/__tests__/__global__/media_keys.test.ts +5 -8
- package/src/core/eme/__tests__/__global__/server_certificate.test.ts +8 -6
- package/src/core/eme/__tests__/__global__/utils.ts +1 -0
- package/src/core/eme/__tests__/init_media_keys.test.ts +6 -65
- package/src/core/eme/attach_media_keys.ts +2 -1
- package/src/core/eme/check_key_statuses.ts +10 -8
- package/src/core/eme/clean_old_loaded_sessions.ts +2 -4
- package/src/core/eme/clear_eme_session.ts +6 -1
- package/src/core/eme/create_session.ts +3 -5
- package/src/core/eme/dispose_media_keys.ts +2 -2
- package/src/core/eme/eme_manager.ts +10 -12
- package/src/core/eme/find_key_system.ts +3 -5
- package/src/core/eme/get_media_keys.ts +4 -6
- package/src/core/eme/get_session.ts +2 -4
- package/src/core/eme/init_media_keys.ts +9 -9
- package/src/core/eme/session_events_listener.ts +14 -15
- package/src/core/eme/set_server_certificate.ts +9 -5
- package/src/core/eme/types.ts +15 -4
- package/src/core/eme/utils/close_session.ts +7 -7
- package/src/core/eme/utils/is_session_usable.ts +1 -1
- package/src/core/eme/utils/loaded_sessions_store.ts +2 -2
- package/src/core/eme/utils/persistent_sessions_store.ts +2 -2
- package/src/core/fetchers/index.ts +2 -2
- package/src/core/fetchers/manifest/manifest_fetcher.ts +1 -1
- package/src/core/fetchers/segment/__tests__/prioritizer.test.ts +3 -4
- package/src/core/fetchers/segment/index.ts +2 -2
- package/src/core/fetchers/segment/prioritized_segment_fetcher.ts +37 -45
- package/src/core/fetchers/segment/prioritizer.ts +82 -82
- package/src/core/fetchers/segment/segment_fetcher.ts +178 -80
- package/src/core/fetchers/segment/segment_fetcher_creator.ts +23 -31
- package/src/core/init/create_eme_manager.ts +1 -1
- package/src/core/init/create_media_source.ts +5 -7
- package/src/core/init/create_stream_playback_observer.ts +88 -0
- package/src/core/init/duration_updater.ts +20 -17
- package/src/core/init/emit_loaded_event.ts +11 -15
- package/src/core/init/end_of_stream.ts +2 -4
- package/src/core/init/get_initial_time.ts +0 -1
- package/src/core/init/initial_seek_and_play.ts +67 -51
- package/src/core/init/initialize_directfile.ts +26 -35
- package/src/core/init/initialize_media_source.ts +28 -28
- package/src/core/init/load_on_media_source.ts +51 -58
- package/src/core/init/manifest_update_scheduler.ts +11 -12
- package/src/core/init/stall_avoider.ts +64 -47
- package/src/core/init/stream_events_emitter/stream_events_emitter.ts +24 -21
- package/src/core/init/throw_on_media_error.ts +1 -1
- package/src/core/init/types.ts +0 -24
- package/src/core/init/update_playback_rate.ts +15 -16
- package/src/core/segment_buffers/README.md +3 -3
- package/src/core/segment_buffers/garbage_collector.ts +15 -11
- package/src/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.ts +10 -7
- package/src/core/segment_buffers/implementations/text/html/html_text_segment_buffer.ts +14 -16
- package/src/core/segment_buffers/implementations/text/html/text_track_cues_store.ts +1 -1
- package/src/core/segment_buffers/implementations/text/native/native_text_segment_buffer.ts +4 -4
- package/src/core/segment_buffers/implementations/utils/manual_time_ranges.ts +2 -2
- package/src/core/segment_buffers/inventory/buffered_history.ts +2 -2
- package/src/core/segment_buffers/inventory/segment_inventory.ts +1 -13
- package/src/core/stream/adaptation/adaptation_stream.ts +78 -56
- package/src/core/stream/adaptation/create_representation_estimator.ts +19 -45
- package/src/core/stream/adaptation/index.ts +2 -2
- package/src/core/stream/index.ts +2 -2
- package/src/core/stream/orchestrator/active_period_emitter.ts +6 -8
- package/src/core/stream/orchestrator/are_streams_complete.ts +2 -4
- package/src/core/stream/orchestrator/index.ts +2 -2
- package/src/core/stream/orchestrator/stream_orchestrator.ts +58 -49
- package/src/core/stream/period/create_empty_adaptation_stream.ts +14 -10
- package/src/core/stream/period/index.ts +2 -2
- package/src/core/stream/period/period_stream.ts +118 -75
- package/src/core/stream/reload_after_switch.ts +13 -10
- package/src/core/stream/representation/append_segment_to_buffer.ts +20 -16
- package/src/core/stream/representation/downloading_queue.ts +21 -24
- package/src/core/stream/representation/force_garbage_collection.ts +16 -23
- package/src/core/stream/representation/get_buffer_status.ts +9 -11
- package/src/core/stream/representation/get_needed_segments.ts +1 -1
- package/src/core/stream/representation/get_segment_priority.ts +8 -10
- package/src/core/stream/representation/index.ts +2 -2
- package/src/core/stream/representation/push_init_segment.ts +19 -16
- package/src/core/stream/representation/push_media_segment.ts +21 -17
- package/src/core/stream/representation/representation_stream.ts +50 -47
- package/src/experimental/features/__tests__/dash_wasm.test.ts +1 -0
- package/src/experimental/tools/VideoThumbnailLoader/create_request.ts +32 -17
- package/src/experimental/tools/VideoThumbnailLoader/get_initialized_source_buffer.ts +6 -9
- package/src/experimental/tools/VideoThumbnailLoader/load_segments.ts +12 -6
- package/src/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.ts +4 -2
- package/src/experimental/tools/VideoThumbnailLoader/push_data.ts +2 -2
- package/src/experimental/tools/VideoThumbnailLoader/thumbnail_loader.ts +21 -12
- package/src/experimental/tools/createMetaplaylist/get_duration_from_manifest.ts +1 -1
- package/src/experimental/tools/createMetaplaylist/index.ts +1 -1
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/DRMInfos.test.ts +4 -2
- package/src/features/__tests__/initialize_features.test.ts +191 -101
- package/src/features/initialize_features.ts +40 -37
- package/src/features/list/__tests__/bif_parser.test.ts +1 -0
- package/src/features/list/__tests__/dash.test.ts +1 -0
- package/src/features/list/__tests__/directfile.test.ts +1 -0
- package/src/features/list/__tests__/eme.test.ts +1 -0
- package/src/features/list/__tests__/html_sami_parser.test.ts +1 -0
- package/src/features/list/__tests__/html_srt_parser.test.ts +1 -0
- package/src/features/list/__tests__/html_text_buffer.test.ts +1 -0
- package/src/features/list/__tests__/html_ttml_parser.test.ts +1 -0
- package/src/features/list/__tests__/html_vtt_parser.test.ts +1 -0
- package/src/features/list/__tests__/image_buffer.test.ts +1 -0
- package/src/features/list/__tests__/native_sami_parser.test.ts +1 -0
- package/src/features/list/__tests__/native_srt_parser.test.ts +1 -0
- package/src/features/list/__tests__/native_text_buffer.test.ts +1 -0
- package/src/features/list/__tests__/native_ttml_parser.test.ts +1 -0
- package/src/features/list/__tests__/native_vtt_parser.test.ts +1 -0
- package/src/features/list/__tests__/smooth.test.ts +1 -0
- package/src/index.ts +2 -2
- package/src/manifest/__tests__/manifest.test.ts +1 -0
- package/src/manifest/index.ts +7 -1
- package/src/manifest/representation_index/__tests__/static.test.ts +1 -0
- package/src/manifest/representation_index/static.ts +1 -0
- package/src/manifest/representation_index/types.ts +25 -3
- package/src/manifest/{are_same_content.ts → utils.ts} +26 -9
- package/src/minimal.ts +3 -2
- package/src/parsers/containers/isobmff/get_box.ts +35 -8
- package/src/parsers/containers/isobmff/read.ts +32 -5
- package/src/parsers/containers/isobmff/utils.ts +52 -47
- package/src/parsers/manifest/dash/common/__tests__/flatten_overlapping_period.test.ts +4 -4
- package/src/parsers/manifest/dash/common/flatten_overlapping_periods.ts +4 -2
- package/src/parsers/manifest/dash/common/get_clock_offset.ts +3 -3
- package/src/parsers/manifest/dash/common/get_http_utc-timing_url.ts +15 -6
- package/src/parsers/manifest/dash/common/indexes/base.ts +5 -3
- package/src/parsers/manifest/dash/common/indexes/get_init_segment.ts +1 -0
- package/src/parsers/manifest/dash/common/indexes/get_segments_from_timeline.ts +9 -9
- package/src/parsers/manifest/dash/common/indexes/list.ts +6 -3
- package/src/parsers/manifest/dash/common/indexes/template.ts +13 -6
- package/src/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.ts +10 -9
- package/src/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.ts +13 -5
- package/src/parsers/manifest/dash/common/indexes/tokens.ts +4 -4
- package/src/parsers/manifest/dash/common/parse_adaptation_sets.ts +10 -4
- package/src/parsers/manifest/dash/common/parse_mpd.ts +21 -13
- package/src/parsers/manifest/dash/common/parse_periods.ts +7 -8
- package/src/parsers/manifest/dash/common/parse_representation_index.ts +12 -12
- package/src/parsers/manifest/dash/common/parse_representations.ts +23 -4
- package/src/parsers/manifest/dash/common/resolve_base_urls.ts +33 -24
- package/src/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.ts +12 -0
- package/src/parsers/manifest/dash/js-parser/node_parsers/BaseURL.ts +13 -9
- package/src/parsers/manifest/dash/js-parser/node_parsers/Representation.ts +28 -0
- package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.ts +8 -5
- package/src/parsers/manifest/dash/js-parser/node_parsers/utils.ts +3 -0
- package/src/parsers/manifest/dash/js-parser/parse_from_document.ts +5 -2
- package/src/parsers/manifest/dash/node_parser_types.ts +8 -0
- package/src/parsers/manifest/dash/parsers_types.ts +8 -2
- package/src/parsers/manifest/dash/wasm-parser/rs/lib.rs +1 -8
- package/src/parsers/manifest/dash/wasm-parser/rs/processor/attributes.rs +26 -5
- package/src/parsers/manifest/dash/wasm-parser/rs/processor/mod.rs +75 -521
- package/src/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.ts +7 -4
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.ts +13 -0
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.ts +8 -1
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.ts +6 -0
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/MPD.ts +6 -0
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/Period.ts +14 -0
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/Representation.ts +26 -0
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.ts +6 -0
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/XLink.ts +7 -0
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/root.ts +7 -0
- package/src/parsers/manifest/dash/wasm-parser/ts/types.ts +1 -1
- package/src/parsers/manifest/local/representation_index.ts +2 -0
- package/src/parsers/manifest/smooth/create_parser.ts +1 -1
- package/src/parsers/manifest/smooth/representation_index.ts +3 -1
- package/src/parsers/manifest/utils/clear_timeline_from_position.ts +1 -1
- package/src/parsers/manifest/utils/index_helpers.ts +21 -11
- package/src/parsers/manifest/utils/is_segment_still_available.ts +4 -6
- package/src/parsers/texttracks/sami/html.ts +1 -1
- package/src/parsers/texttracks/sami/native.ts +1 -1
- package/src/parsers/texttracks/ttml/html/apply_font_size.ts +11 -1
- package/src/transports/dash/image_pipelines.ts +4 -4
- package/src/transports/dash/init_segment_loader.ts +1 -1
- package/src/transports/dash/manifest_parser.ts +99 -25
- package/src/transports/dash/segment_loader.ts +1 -1
- package/src/transports/dash/segment_parser.ts +4 -4
- package/src/transports/dash/text_parser.ts +8 -8
- package/src/transports/local/segment_loader.ts +2 -2
- package/src/transports/local/segment_parser.ts +4 -4
- package/src/transports/local/text_parser.ts +8 -8
- package/src/transports/metaplaylist/pipelines.ts +11 -11
- package/src/transports/smooth/extract_timings_infos.ts +1 -1
- package/src/transports/smooth/pipelines.ts +8 -8
- package/src/transports/smooth/segment_loader.ts +3 -3
- package/src/transports/types.ts +31 -17
- package/src/transports/utils/call_custom_manifest_loader.ts +1 -1
- package/src/transports/utils/get_isobmff_timing_infos.ts +6 -1
- package/src/transports/utils/parse_text_track.ts +4 -2
- package/src/typings/globals.d.ts +57 -40
- package/src/utils/__tests__/concat_map_latest.test.ts +7 -9
- package/src/utils/__tests__/defer_subscriptions.test.ts +4 -4
- package/src/utils/__tests__/event_emitter.test.ts +1 -1
- package/src/utils/__tests__/initialization_segment_cache.test.ts +7 -0
- package/src/utils/assert.ts +1 -1
- package/src/utils/concat_map_latest.ts +2 -4
- package/src/utils/defer_subscriptions.ts +1 -1
- package/src/utils/filter_map.ts +2 -4
- package/src/utils/reference.ts +234 -0
- package/src/utils/request/fetch.ts +3 -3
- package/src/utils/request/xhr.ts +2 -2
- package/src/utils/rx-retry_with_backoff.ts +2 -4
- package/tsconfig.json +4 -1
- package/tsconfig.modules.json +8 -3
- package/dist/_esm5.processed/core/abr/create_filters.d.ts +0 -27
- package/dist/_esm5.processed/core/abr/create_filters.js +0 -56
- package/dist/_esm5.processed/core/api/clock.d.ts +0 -157
- package/dist/_esm5.processed/core/api/clock.js +0 -363
- package/dist/_esm5.processed/core/init/create_stream_clock.d.ts +0 -34
- package/dist/_esm5.processed/core/init/create_stream_clock.js +0 -55
- package/dist/_esm5.processed/parsers/manifest/dash/common/extract_minimum_availability_time_offset.d.ts +0 -31
- package/dist/_esm5.processed/parsers/manifest/dash/common/extract_minimum_availability_time_offset.js +0 -37
- package/scripts/doc-generator/construct_html.js +0 -135
- package/scripts/doc-generator/construct_page_list.js +0 -120
- package/scripts/doc-generator/create_for_dir.js +0 -151
- package/scripts/doc-generator/get_files_to_convert.js +0 -71
- package/scripts/doc-generator/mkdir_parent.js +0 -21
- package/scripts/doc-generator/read_title_from_md.js +0 -22
- package/scripts/doc-generator/remove_toc_from_md.js +0 -20
- package/src/core/abr/create_filters.ts +0 -59
- package/src/core/api/clock.ts +0 -573
- package/src/core/init/create_stream_clock.ts +0 -93
- package/src/parsers/manifest/dash/common/extract_minimum_availability_time_offset.ts +0 -41
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
import noop from "../../../../../../utils/noop";
|
|
16
17
|
import { generatePeriodAttrParser, generatePeriodChildrenParser, } from "./Period";
|
|
17
18
|
/**
|
|
18
19
|
* Generate a "children parser" when an XLink has been loaded.
|
|
@@ -36,6 +37,11 @@ export function generateXLinkChildrenParser(xlinkObj, linearMemory, parsersStack
|
|
|
36
37
|
parsersStack.pushParsers(nodeId, childrenParser, attributeParser);
|
|
37
38
|
break;
|
|
38
39
|
}
|
|
40
|
+
default:
|
|
41
|
+
// Allows to make sure we're not mistakenly closing a re-opened
|
|
42
|
+
// tag.
|
|
43
|
+
parsersStack.pushParsers(nodeId, noop, noop);
|
|
44
|
+
break;
|
|
39
45
|
}
|
|
40
46
|
};
|
|
41
47
|
}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
import noop from "../../../../../../utils/noop";
|
|
16
17
|
import { generateMPDAttrParser, generateMPDChildrenParser, } from "./MPD";
|
|
17
18
|
/**
|
|
18
19
|
* @param {Object} rootObj
|
|
@@ -34,6 +35,11 @@ export function generateRootChildrenParser(rootObj, linearMemory, parsersStack,
|
|
|
34
35
|
var attributeParser = generateMPDAttrParser(rootObj.mpd.children, rootObj.mpd.attributes, linearMemory);
|
|
35
36
|
parsersStack.pushParsers(nodeId, childrenParser, attributeParser);
|
|
36
37
|
break;
|
|
38
|
+
default:
|
|
39
|
+
// Allows to make sure we're not mistakenly closing a re-opened
|
|
40
|
+
// tag.
|
|
41
|
+
parsersStack.pushParsers(nodeId, noop, noop);
|
|
42
|
+
break;
|
|
37
43
|
}
|
|
38
44
|
};
|
|
39
45
|
}
|
|
@@ -24,7 +24,7 @@ export default function parseLocalManifest(localManifest) {
|
|
|
24
24
|
throw new Error("Invalid local manifest given. It misses the `type` property.");
|
|
25
25
|
}
|
|
26
26
|
if (localManifest.version !== "0.2") {
|
|
27
|
-
throw new Error("The current Local Manifest version ("
|
|
27
|
+
throw new Error("The current Local Manifest version (".concat(localManifest.version, ")") +
|
|
28
28
|
" is not compatible with the current version of the RxPlayer");
|
|
29
29
|
}
|
|
30
30
|
var periodIdGenerator = idGenerator();
|
|
@@ -34,13 +34,14 @@ var LocalRepresentationIndex = /** @class */ (function () {
|
|
|
34
34
|
*/
|
|
35
35
|
LocalRepresentationIndex.prototype.getInitSegment = function () {
|
|
36
36
|
return {
|
|
37
|
-
id: this._representationId
|
|
37
|
+
id: "".concat(this._representationId, "_init"),
|
|
38
38
|
isInit: true,
|
|
39
39
|
time: 0,
|
|
40
40
|
end: 0,
|
|
41
41
|
duration: 0,
|
|
42
42
|
timescale: 1,
|
|
43
43
|
mediaURLs: null,
|
|
44
|
+
complete: true,
|
|
44
45
|
privateInfos: {
|
|
45
46
|
localManifestInitSegment: { load: this._index.loadInitSegment }
|
|
46
47
|
},
|
|
@@ -70,7 +71,7 @@ var LocalRepresentationIndex = /** @class */ (function () {
|
|
|
70
71
|
return wantedSegments
|
|
71
72
|
.map(function (wantedSegment) {
|
|
72
73
|
return {
|
|
73
|
-
id: _this._representationId
|
|
74
|
+
id: "".concat(_this._representationId, "_").concat(wantedSegment.time),
|
|
74
75
|
isInit: false,
|
|
75
76
|
time: wantedSegment.time,
|
|
76
77
|
end: wantedSegment.time + wantedSegment.duration,
|
|
@@ -78,6 +79,7 @@ var LocalRepresentationIndex = /** @class */ (function () {
|
|
|
78
79
|
timescale: 1,
|
|
79
80
|
timestampOffset: wantedSegment.timestampOffset,
|
|
80
81
|
mediaURLs: null,
|
|
82
|
+
complete: true,
|
|
81
83
|
privateInfos: {
|
|
82
84
|
localManifestSegment: { load: _this._index.loadSegment,
|
|
83
85
|
segment: wantedSegment },
|
|
@@ -201,7 +201,7 @@ function createSmoothStreamingParser(parserOptions) {
|
|
|
201
201
|
var baseURLAttr = root.getAttribute("Url");
|
|
202
202
|
var baseURL = baseURLAttr === null ? "" :
|
|
203
203
|
baseURLAttr;
|
|
204
|
-
if (
|
|
204
|
+
if (0 /* CURRENT_ENV */ === 1 /* DEV */) {
|
|
205
205
|
assert(baseURL !== "");
|
|
206
206
|
}
|
|
207
207
|
var _a = reduceChildren(root, function (res, _name, node) {
|
|
@@ -121,7 +121,8 @@ var SmoothRepresentationIndex = /** @class */ (function () {
|
|
|
121
121
|
time: 0,
|
|
122
122
|
end: 0,
|
|
123
123
|
duration: 0,
|
|
124
|
-
timescale: 1
|
|
124
|
+
timescale: 1,
|
|
125
|
+
complete: true };
|
|
125
126
|
};
|
|
126
127
|
/**
|
|
127
128
|
* Generate a list of Segments for a particular period of time.
|
|
@@ -163,6 +164,7 @@ var SmoothRepresentationIndex = /** @class */ (function () {
|
|
|
163
164
|
end: (time + duration) / timescale,
|
|
164
165
|
duration: duration / timescale,
|
|
165
166
|
timescale: 1, number: number, mediaURLs: [replaceSegmentSmoothTokens(media, time)],
|
|
167
|
+
complete: true,
|
|
166
168
|
privateInfos: { smoothMediaSegment: { time: time, duration: duration } } };
|
|
167
169
|
segments.push(segment);
|
|
168
170
|
// update segment number and segment time for the next segment
|
|
@@ -61,7 +61,7 @@ export default function checkManifestIDs(manifest) {
|
|
|
61
61
|
var representationID = representation.id;
|
|
62
62
|
if (arrayIncludes(representationIDs, representationID)) {
|
|
63
63
|
log.warn("Two representations with the same ID found. Updating.", representationID);
|
|
64
|
-
var newID = representationID
|
|
64
|
+
var newID = "".concat(representationID, "-dup");
|
|
65
65
|
representation.id = newID;
|
|
66
66
|
checkManifestIDs(manifest);
|
|
67
67
|
representationIDs.push(newID);
|
|
@@ -30,7 +30,7 @@ export default function clearTimelineFromPosition(timeline, firstAvailablePositi
|
|
|
30
30
|
}
|
|
31
31
|
else { // we have a segment repetition
|
|
32
32
|
var nextElt = timeline[1];
|
|
33
|
-
if (nextElt
|
|
33
|
+
if (nextElt !== undefined && nextElt.start <= firstAvailablePosition) {
|
|
34
34
|
timeline.shift();
|
|
35
35
|
}
|
|
36
36
|
else { // no next segment or next segment is available
|
|
@@ -13,21 +13,29 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
/** Generic way to represent segments in an index of segments. */
|
|
16
17
|
export interface IIndexSegment {
|
|
18
|
+
/** The segment starting presentation time. */
|
|
17
19
|
start: number;
|
|
20
|
+
/** Difference between the last and first presentation time. */
|
|
18
21
|
duration: number;
|
|
22
|
+
/**
|
|
23
|
+
* Repeat counter.
|
|
24
|
+
* 1 === Repeat 1 time == 2 consecutive segments of this same duration.
|
|
25
|
+
*/
|
|
19
26
|
repeatCount: number;
|
|
27
|
+
/** Optional byte-range the segment is available at when requested. */
|
|
20
28
|
range?: [number, number];
|
|
21
29
|
}
|
|
22
30
|
/**
|
|
23
31
|
* Calculate the number of times a timeline element repeats based on the next
|
|
24
32
|
* element.
|
|
25
33
|
* @param {Object} element
|
|
26
|
-
* @param {Object} nextElement
|
|
27
|
-
* @param {number} maxPosition
|
|
34
|
+
* @param {Object|null|undefined} nextElement
|
|
35
|
+
* @param {number|undefined} maxPosition
|
|
28
36
|
* @returns {Number}
|
|
29
37
|
*/
|
|
30
|
-
export declare function calculateRepeat(element: IIndexSegment, nextElement?: IIndexSegment | null, maxPosition?: number): number;
|
|
38
|
+
export declare function calculateRepeat(element: IIndexSegment, nextElement?: IIndexSegment | null | undefined, maxPosition?: number): number;
|
|
31
39
|
/**
|
|
32
40
|
* Returns end of the segment given, in index time.
|
|
33
41
|
* @param {Object} segment
|
|
@@ -13,13 +13,13 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
import isNullOrUndefined from "../../../utils/is_null_or_undefined";
|
|
17
17
|
/**
|
|
18
18
|
* Calculate the number of times a timeline element repeats based on the next
|
|
19
19
|
* element.
|
|
20
20
|
* @param {Object} element
|
|
21
|
-
* @param {Object} nextElement
|
|
22
|
-
* @param {number} maxPosition
|
|
21
|
+
* @param {Object|null|undefined} nextElement
|
|
22
|
+
* @param {number|undefined} maxPosition
|
|
23
23
|
* @returns {Number}
|
|
24
24
|
*/
|
|
25
25
|
export function calculateRepeat(element, nextElement, maxPosition) {
|
|
@@ -32,10 +32,10 @@ export function calculateRepeat(element, nextElement, maxPosition) {
|
|
|
32
32
|
// start of the next S element, the end of the Period or until the
|
|
33
33
|
// next MPD update.
|
|
34
34
|
var segmentEnd;
|
|
35
|
-
if (nextElement
|
|
35
|
+
if (!isNullOrUndefined(nextElement)) {
|
|
36
36
|
segmentEnd = nextElement.start;
|
|
37
37
|
}
|
|
38
|
-
else if (maxPosition
|
|
38
|
+
else if (maxPosition !== undefined) {
|
|
39
39
|
segmentEnd = maxPosition;
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
@@ -32,18 +32,15 @@ export default function isSegmentStillAvailable(segment, timeline, timescale, in
|
|
|
32
32
|
return false;
|
|
33
33
|
}
|
|
34
34
|
else if (tSegmentTime === segment.time) {
|
|
35
|
-
if (
|
|
36
|
-
return
|
|
37
|
-
}
|
|
38
|
-
if (tSegment.range == null) {
|
|
39
|
-
return segment.range == null;
|
|
35
|
+
if (tSegment.range === undefined) {
|
|
36
|
+
return segment.range === undefined;
|
|
40
37
|
}
|
|
41
38
|
return segment.range != null &&
|
|
42
39
|
tSegment.range[0] === segment.range[0] &&
|
|
43
40
|
tSegment.range[1] === segment.range[1];
|
|
44
41
|
}
|
|
45
42
|
else { // tSegment.start < segment.time
|
|
46
|
-
if (tSegment.repeatCount >= 0 && tSegment.duration
|
|
43
|
+
if (tSegment.repeatCount >= 0 && tSegment.duration !== undefined) {
|
|
47
44
|
var timeDiff = tSegmentTime - tSegment.start;
|
|
48
45
|
var repeat = (timeDiff / tSegment.duration) - 1;
|
|
49
46
|
return repeat % 1 === 0 && repeat <= tSegment.repeatCount;
|
|
@@ -80,7 +80,7 @@ function getCSSProperty(str, name) {
|
|
|
80
80
|
*/
|
|
81
81
|
function decodeEntities(text) {
|
|
82
82
|
return text
|
|
83
|
-
.replace(HTML_ENTITIES, function (_, $1) { return String.fromCharCode($1); });
|
|
83
|
+
.replace(HTML_ENTITIES, function (_, $1) { return String.fromCharCode(Number($1)); });
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
86
|
* Because sami is not really html... we have to use
|
|
@@ -111,7 +111,7 @@ function parseSami(smi, timeOffset, lang) {
|
|
|
111
111
|
if (isNonEmptyString(lang)) {
|
|
112
112
|
klass = langs[lang];
|
|
113
113
|
if (klass === undefined) {
|
|
114
|
-
throw new Error("sami: could not find lang "
|
|
114
|
+
throw new Error("sami: could not find lang ".concat(lang, " in CSS"));
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
while (true) {
|
|
@@ -80,7 +80,7 @@ function getCSSProperty(str, name) {
|
|
|
80
80
|
function decodeEntities(text) {
|
|
81
81
|
return text
|
|
82
82
|
.replace(BR, "\n")
|
|
83
|
-
.replace(HTML_ENTITIES, function (_, $1) { return String.fromCharCode($1); });
|
|
83
|
+
.replace(HTML_ENTITIES, function (_, $1) { return String.fromCharCode(Number($1)); });
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
86
|
* Because sami is not really html... we have to use
|
|
@@ -111,7 +111,7 @@ function parseSami(smi, timeOffset, lang) {
|
|
|
111
111
|
if (isNonEmptyString(lang)) {
|
|
112
112
|
klass = langs[lang];
|
|
113
113
|
if (klass === undefined) {
|
|
114
|
-
throw new Error("sami: could not find lang "
|
|
114
|
+
throw new Error("sami: could not find lang ".concat(lang, " in CSS"));
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
while (true) {
|
|
@@ -32,7 +32,6 @@ export default function applyFontSize(element, fontSize) {
|
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
34
|
if (firstFontSize[2] === "px" ||
|
|
35
|
-
firstFontSize[2] === "%" ||
|
|
36
35
|
firstFontSize[2] === "em") {
|
|
37
36
|
element.style.fontSize = firstFontSize[1] + firstFontSize[2];
|
|
38
37
|
}
|
|
@@ -41,6 +40,19 @@ export default function applyFontSize(element, fontSize) {
|
|
|
41
40
|
addClassName(element, "proportional-style");
|
|
42
41
|
element.setAttribute("data-proportional-font-size", firstFontSize[1]);
|
|
43
42
|
}
|
|
43
|
+
else if (firstFontSize[2] === "%") {
|
|
44
|
+
var toNum = Number(firstFontSize[1]);
|
|
45
|
+
if (isNaN(toNum)) {
|
|
46
|
+
log.warn("TTML Parser: could not parse fontSize value \"" +
|
|
47
|
+
firstFontSize[1] +
|
|
48
|
+
"\" into a number");
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
element.style.position = "relative";
|
|
52
|
+
addClassName(element, "proportional-style");
|
|
53
|
+
element.setAttribute("data-proportional-font-size", String(toNum / 100));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
44
56
|
else {
|
|
45
57
|
log.warn("TTML Parser: unhandled fontSize unit:", firstFontSize[2]);
|
|
46
58
|
}
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
* @returns {string}
|
|
25
25
|
*/
|
|
26
26
|
export default function generateCSSTextOutline(color, thickness) {
|
|
27
|
-
return "-1px -1px "
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
return "-1px -1px ".concat(thickness, " ").concat(color, ",") +
|
|
28
|
+
"1px -1px ".concat(thickness, " ").concat(color, ",") +
|
|
29
|
+
"-1px 1px ".concat(thickness, " ").concat(color, ",") +
|
|
30
|
+
"1px 1px ".concat(thickness, " ").concat(color);
|
|
31
31
|
}
|
package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_default_style_elements.js
CHANGED
|
@@ -15,8 +15,8 @@ var colorMap = {
|
|
|
15
15
|
};
|
|
16
16
|
export default function createDefaultStyleElements() {
|
|
17
17
|
return Object.keys(colorMap).reduce(function (result, key) {
|
|
18
|
-
result[key] = "color: "
|
|
19
|
-
result["bg_"
|
|
18
|
+
result[key] = "color: ".concat(colorMap[key], ";");
|
|
19
|
+
result["bg_".concat(key)] = "background-color: ".concat(colorMap[key], ";");
|
|
20
20
|
return result;
|
|
21
21
|
}, {});
|
|
22
22
|
}
|
|
@@ -33,11 +33,11 @@ var getAttrValue = function (settings) {
|
|
|
33
33
|
var yPositioning = getPositioningY(settings);
|
|
34
34
|
return ("position: absolute;" +
|
|
35
35
|
"margin: 0;" +
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
"transform: translate(".concat(xPositioning.offset, "%,").concat(yPositioning.offset, "%);") +
|
|
37
|
+
"width: ".concat(getSizePercentage(settings.size), "%;") +
|
|
38
|
+
"left: ".concat(xPositioning.position, "%;") +
|
|
39
|
+
"top: ".concat(yPositioning.position !== null ? "".concat(yPositioning.position, "%") : "auto", ";") +
|
|
40
|
+
"text-align: ".concat(getAlignValue(settings.align), ";"));
|
|
41
41
|
};
|
|
42
42
|
var PositionAlignment;
|
|
43
43
|
(function (PositionAlignment) {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { CancellationSignal } from "../../utils/task_canceller";
|
|
17
|
-
import { IImageTrackSegmentData, ILoadedImageSegmentFormat, ISegmentContext, ISegmentLoaderCallbacks, ISegmentLoaderResultChunkedComplete, ISegmentLoaderResultSegmentCreated, ISegmentLoaderResultSegmentLoaded,
|
|
17
|
+
import { IImageTrackSegmentData, ILoadedImageSegmentFormat, ISegmentContext, ISegmentLoaderCallbacks, ISegmentLoaderResultChunkedComplete, ISegmentLoaderResultSegmentCreated, ISegmentLoaderResultSegmentLoaded, ISegmentParserParsedInitChunk, ISegmentParserParsedMediaChunk } from "../types";
|
|
18
18
|
/**
|
|
19
19
|
* Loads an image segment.
|
|
20
20
|
* @param {string|null} url
|
|
@@ -32,4 +32,4 @@ export declare function imageLoader(url: string | null, content: ISegmentContext
|
|
|
32
32
|
export declare function imageParser(loadedSegment: {
|
|
33
33
|
data: ArrayBuffer | Uint8Array | null;
|
|
34
34
|
isChunked: boolean;
|
|
35
|
-
}, content: ISegmentContext):
|
|
35
|
+
}, content: ISegmentContext): ISegmentParserParsedMediaChunk<IImageTrackSegmentData | null> | ISegmentParserParsedInitChunk<null>;
|
|
@@ -58,6 +58,6 @@ export default function initSegmentLoader(url, segment, cancelSignal, callbacks)
|
|
|
58
58
|
return { resultType: "segment-loaded",
|
|
59
59
|
resultData: { url: url, responseData: data,
|
|
60
60
|
size: initData.size + indexData.size,
|
|
61
|
-
|
|
61
|
+
requestDuration: receivedTime - sendingTime, sendingTime: sendingTime, receivedTime: receivedTime } };
|
|
62
62
|
});
|
|
63
63
|
}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import PPromise from "pinkie";
|
|
17
|
+
import { formatError } from "../../errors";
|
|
17
18
|
import features from "../../features";
|
|
18
19
|
import log from "../../log";
|
|
19
20
|
import Manifest from "../../manifest";
|
|
@@ -105,39 +106,107 @@ export default function generateManifestParser(options) {
|
|
|
105
106
|
var value = parserResponse.value;
|
|
106
107
|
var externalResources = value.urls.map(function (resourceUrl) {
|
|
107
108
|
return scheduleRequest(function () {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
responseType: "text", cancelSignal: cancelSignal }) :
|
|
109
|
+
return value.format === "string" ? request({ url: resourceUrl,
|
|
110
|
+
responseType: "text", cancelSignal: cancelSignal }) :
|
|
111
111
|
request({ url: resourceUrl,
|
|
112
112
|
responseType: "arraybuffer", cancelSignal: cancelSignal });
|
|
113
|
-
|
|
113
|
+
}).then(function (res) {
|
|
114
|
+
if (value.format === "string") {
|
|
115
|
+
if (typeof res.responseData !== "string") {
|
|
116
|
+
throw new Error("External DASH resources should have been a string");
|
|
117
|
+
}
|
|
118
|
+
return objectAssign(res, {
|
|
119
|
+
responseData: {
|
|
120
|
+
success: true,
|
|
121
|
+
data: res.responseData
|
|
122
|
+
},
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
if (!(res.responseData instanceof ArrayBuffer)) {
|
|
127
|
+
throw new Error("External DASH resources should have been ArrayBuffers");
|
|
128
|
+
}
|
|
129
|
+
return objectAssign(res, {
|
|
130
|
+
responseData: {
|
|
131
|
+
success: true,
|
|
132
|
+
data: res.responseData
|
|
133
|
+
},
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}, function (err) {
|
|
137
|
+
var error = formatError(err, {
|
|
138
|
+
defaultCode: "PIPELINE_PARSE_ERROR",
|
|
139
|
+
defaultReason: "An unknown error occured when parsing ressources.",
|
|
140
|
+
});
|
|
141
|
+
return objectAssign({}, {
|
|
142
|
+
size: undefined,
|
|
143
|
+
requestDuration: undefined,
|
|
144
|
+
responseData: {
|
|
145
|
+
success: false,
|
|
146
|
+
error: error
|
|
147
|
+
},
|
|
148
|
+
});
|
|
114
149
|
});
|
|
115
150
|
});
|
|
116
151
|
return PPromise.all(externalResources).then(function (loadedResources) {
|
|
117
152
|
if (value.format === "string") {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
throw new Error("External DASH resources should have been a string");
|
|
121
|
-
}
|
|
122
|
-
// Normally not needed but TypeScript is just dumb here
|
|
123
|
-
return objectAssign(resource, { responseData: resource.responseData });
|
|
124
|
-
});
|
|
125
|
-
return processMpdParserResponse(value.continue(resources));
|
|
153
|
+
assertLoadedResourcesFormatString(loadedResources);
|
|
154
|
+
return processMpdParserResponse(value.continue(loadedResources));
|
|
126
155
|
}
|
|
127
156
|
else {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
throw new Error("External DASH resources should have been ArrayBuffers");
|
|
131
|
-
}
|
|
132
|
-
// Normally not needed but TypeScript is just dumb here
|
|
133
|
-
return objectAssign(resource, { responseData: resource.responseData });
|
|
134
|
-
});
|
|
135
|
-
return processMpdParserResponse(value.continue(resources));
|
|
157
|
+
assertLoadedResourcesFormatArrayBuffer(loadedResources);
|
|
158
|
+
return processMpdParserResponse(value.continue(loadedResources));
|
|
136
159
|
}
|
|
137
160
|
});
|
|
138
161
|
}
|
|
139
162
|
};
|
|
140
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* Throw if the given input is not in the expected format.
|
|
166
|
+
* Allows to enforce runtime type-checking as compile-time type-checking here is
|
|
167
|
+
* difficult to enforce.
|
|
168
|
+
*
|
|
169
|
+
* @param loadedResource
|
|
170
|
+
* @returns
|
|
171
|
+
*/
|
|
172
|
+
function assertLoadedResourcesFormatString(loadedResources) {
|
|
173
|
+
if (0 /* CURRENT_ENV */ === 0 /* PRODUCTION */) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
loadedResources.forEach(function (loadedResource) {
|
|
177
|
+
var responseData = loadedResource.responseData;
|
|
178
|
+
if (responseData.success && typeof responseData.data === "string") {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
else if (!responseData.success) {
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
throw new Error("Invalid data given to the LoadedRessource");
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Throw if the given input is not in the expected format.
|
|
189
|
+
* Allows to enforce runtime type-checking as compile-time type-checking here is
|
|
190
|
+
* difficult to enforce.
|
|
191
|
+
*
|
|
192
|
+
* @param loadedResource
|
|
193
|
+
* @returns
|
|
194
|
+
*/
|
|
195
|
+
function assertLoadedResourcesFormatArrayBuffer(loadedResources) {
|
|
196
|
+
if (0 /* CURRENT_ENV */ === 0 /* PRODUCTION */) {
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
loadedResources.forEach(function (loadedResource) {
|
|
200
|
+
var responseData = loadedResource.responseData;
|
|
201
|
+
if (responseData.success && responseData.data instanceof ArrayBuffer) {
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
else if (!responseData.success) {
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
throw new Error("Invalid data given to the LoadedRessource");
|
|
208
|
+
});
|
|
209
|
+
}
|
|
141
210
|
/**
|
|
142
211
|
* Try to convert a Manifest from an unknown format to a `Document` format.
|
|
143
212
|
* Useful to exploit DOM-parsing APIs to quickly parse an XML Manifest.
|
|
@@ -95,7 +95,7 @@ export default function generateSegmentLoader(_a) {
|
|
|
95
95
|
res({ resultType: "segment-loaded",
|
|
96
96
|
resultData: { responseData: _args.data,
|
|
97
97
|
size: _args.size,
|
|
98
|
-
|
|
98
|
+
requestDuration: _args.duration } });
|
|
99
99
|
};
|
|
100
100
|
/**
|
|
101
101
|
* Callback triggered when the custom segment loader fails
|
|
@@ -38,7 +38,7 @@ function loadInitSegment(customSegmentLoader, cancelSignal) {
|
|
|
38
38
|
res({ resultType: "segment-loaded",
|
|
39
39
|
resultData: { responseData: _args.data,
|
|
40
40
|
size: _args.size,
|
|
41
|
-
|
|
41
|
+
requestDuration: _args.duration } });
|
|
42
42
|
};
|
|
43
43
|
/**
|
|
44
44
|
* Callback triggered when the custom segment loader fails
|
|
@@ -93,7 +93,7 @@ function loadSegment(segment, customSegmentLoader, cancelSignal) {
|
|
|
93
93
|
res({ resultType: "segment-loaded",
|
|
94
94
|
resultData: { responseData: _args.data,
|
|
95
95
|
size: _args.size,
|
|
96
|
-
|
|
96
|
+
requestDuration: _args.duration } });
|
|
97
97
|
};
|
|
98
98
|
/**
|
|
99
99
|
* Callback triggered when the custom segment loader fails
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { ISegmentContext,
|
|
16
|
+
import { ISegmentContext, ISegmentParserParsedInitChunk, ISegmentParserParsedMediaChunk } from "../types";
|
|
17
17
|
export default function segmentParser(loadedSegment: {
|
|
18
18
|
data: ArrayBuffer | Uint8Array | null;
|
|
19
19
|
isChunked: boolean;
|
|
20
|
-
}, content: ISegmentContext, initTimescale: number | undefined):
|
|
20
|
+
}, content: ISegmentContext, initTimescale: number | undefined): ISegmentParserParsedInitChunk<ArrayBuffer | Uint8Array | null> | ISegmentParserParsedMediaChunk<ArrayBuffer | Uint8Array | null>;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { ILoadedTextSegmentFormat, ISegmentContext,
|
|
16
|
+
import { ILoadedTextSegmentFormat, ISegmentContext, ISegmentParserParsedInitChunk, ISegmentParserParsedMediaChunk, ITextTrackSegmentData } from "../types";
|
|
17
17
|
/**
|
|
18
18
|
* Parse TextTrack data.
|
|
19
19
|
* @param {Object} loadedSegment
|
|
@@ -24,4 +24,4 @@ import { ILoadedTextSegmentFormat, ISegmentContext, ISegmentParserParsedInitSegm
|
|
|
24
24
|
export default function textTrackParser(loadedSegment: {
|
|
25
25
|
data: ILoadedTextSegmentFormat;
|
|
26
26
|
isChunked: boolean;
|
|
27
|
-
}, content: ISegmentContext, initTimescale: number | undefined):
|
|
27
|
+
}, content: ISegmentContext, initTimescale: number | undefined): ISegmentParserParsedInitChunk<null> | ISegmentParserParsedMediaChunk<ITextTrackSegmentData | null>;
|
|
@@ -59,7 +59,7 @@ function getTransportPipelines(transports, transportName, options) {
|
|
|
59
59
|
}
|
|
60
60
|
var feature = features.transports[transportName];
|
|
61
61
|
if (feature === undefined) {
|
|
62
|
-
throw new Error("MetaPlaylist: Unknown transport "
|
|
62
|
+
throw new Error("MetaPlaylist: Unknown transport ".concat(transportName, "."));
|
|
63
63
|
}
|
|
64
64
|
var transport = feature(options);
|
|
65
65
|
transports[transportName] = transport;
|
|
@@ -52,7 +52,7 @@ export default function extractTimingsInfos(data, isChunked, initTimescale, segm
|
|
|
52
52
|
duration: tfxdSegment.duration / initTimescale };
|
|
53
53
|
return { nextSegments: nextSegments, chunkInfos: chunkInfos, scaledSegmentTime: tfxdSegment.time };
|
|
54
54
|
}
|
|
55
|
-
if (isChunked) {
|
|
55
|
+
if (isChunked || !segment.complete) {
|
|
56
56
|
return { nextSegments: nextSegments, chunkInfos: null,
|
|
57
57
|
scaledSegmentTime: undefined };
|
|
58
58
|
}
|
|
@@ -266,7 +266,7 @@ export default function (options) {
|
|
|
266
266
|
_sdType = "vtt";
|
|
267
267
|
}
|
|
268
268
|
else {
|
|
269
|
-
throw new Error("could not find a text-track parser for the type "
|
|
269
|
+
throw new Error("could not find a text-track parser for the type ".concat(mimeType));
|
|
270
270
|
}
|
|
271
271
|
var mdat = getMDAT(chunkBytes);
|
|
272
272
|
_sdData = mdat === null ? "" :
|
|
@@ -302,7 +302,7 @@ export default function (options) {
|
|
|
302
302
|
_sdType = "srt";
|
|
303
303
|
}
|
|
304
304
|
else {
|
|
305
|
-
throw new Error("could not find a text-track parser for the type "
|
|
305
|
+
throw new Error("could not find a text-track parser for the type ".concat(mimeType));
|
|
306
306
|
}
|
|
307
307
|
}
|
|
308
308
|
_sdData = chunkString;
|
|
@@ -93,7 +93,7 @@ var generateSegmentLoader = function (_a) {
|
|
|
93
93
|
break;
|
|
94
94
|
}
|
|
95
95
|
default:
|
|
96
|
-
if (
|
|
96
|
+
if (0 /* CURRENT_ENV */ === 1 /* DEV */) {
|
|
97
97
|
assert(false, "responseData should have been set");
|
|
98
98
|
}
|
|
99
99
|
responseData = new Uint8Array(0);
|
|
@@ -128,7 +128,7 @@ var generateSegmentLoader = function (_a) {
|
|
|
128
128
|
res({ resultType: "segment-loaded",
|
|
129
129
|
resultData: { responseData: _args.data,
|
|
130
130
|
size: _args.size,
|
|
131
|
-
|
|
131
|
+
requestDuration: _args.duration } });
|
|
132
132
|
}
|
|
133
133
|
var dataU8 = _args.data instanceof Uint8Array ? _args.data :
|
|
134
134
|
new Uint8Array(_args.data);
|
|
@@ -136,7 +136,7 @@ var generateSegmentLoader = function (_a) {
|
|
|
136
136
|
res({ resultType: "segment-loaded",
|
|
137
137
|
resultData: { responseData: dataU8,
|
|
138
138
|
size: _args.size,
|
|
139
|
-
|
|
139
|
+
requestDuration: _args.duration } });
|
|
140
140
|
};
|
|
141
141
|
/**
|
|
142
142
|
* Callback triggered when the custom segment loader fails
|