rx-player 3.33.4-dev.2024090600 → 3.33.4
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/.prettierignore +1 -0
- package/.prettierrc +4 -0
- package/.vscode/settings.json +9 -0
- package/CHANGELOG.md +1662 -1078
- package/MAINTAINERS.md +9 -12
- package/README.md +111 -127
- package/VERSION +1 -1
- package/dist/_esm5.processed/compat/add_class_name.js +4 -3
- package/dist/_esm5.processed/compat/add_text_track.d.ts +1 -1
- package/dist/_esm5.processed/compat/add_text_track.js +4 -4
- package/dist/_esm5.processed/compat/browser_compatibility_types.d.ts +2 -1
- package/dist/_esm5.processed/compat/browser_compatibility_types.js +15 -10
- package/dist/_esm5.processed/compat/browser_detection.js +8 -9
- package/dist/_esm5.processed/compat/can_reuse_media_keys.js +1 -1
- package/dist/_esm5.processed/compat/change_source_buffer_type.d.ts +1 -1
- package/dist/_esm5.processed/compat/eme/close_session.d.ts +1 -1
- package/dist/_esm5.processed/compat/eme/close_session.js +17 -13
- package/dist/_esm5.processed/compat/eme/custom_key_system_access.d.ts +1 -1
- package/dist/_esm5.processed/compat/eme/custom_media_keys/ie11_media_keys.d.ts +1 -1
- package/dist/_esm5.processed/compat/eme/custom_media_keys/ie11_media_keys.js +8 -9
- package/dist/_esm5.processed/compat/eme/custom_media_keys/index.d.ts +3 -2
- package/dist/_esm5.processed/compat/eme/custom_media_keys/index.js +1 -1
- package/dist/_esm5.processed/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts +1 -1
- package/dist/_esm5.processed/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts +1 -1
- package/dist/_esm5.processed/compat/eme/custom_media_keys/old_webkit_media_keys.js +7 -9
- package/dist/_esm5.processed/compat/eme/custom_media_keys/types.d.ts +4 -1
- package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys.d.ts +2 -2
- package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys.js +6 -12
- package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts +2 -1
- package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +3 -3
- package/dist/_esm5.processed/compat/eme/eme-api-implementation.d.ts +4 -4
- package/dist/_esm5.processed/compat/eme/eme-api-implementation.js +26 -11
- package/dist/_esm5.processed/compat/eme/generate_key_request.d.ts +1 -1
- package/dist/_esm5.processed/compat/eme/generate_key_request.js +17 -20
- package/dist/_esm5.processed/compat/eme/get_init_data.d.ts +3 -1
- package/dist/_esm5.processed/compat/eme/get_init_data.js +7 -9
- package/dist/_esm5.processed/compat/eme/get_uuid_kid_from_keystatus_kid.js +2 -3
- package/dist/_esm5.processed/compat/eme/get_webkit_fairplay_initdata.js +12 -13
- package/dist/_esm5.processed/compat/eme/index.d.ts +8 -5
- package/dist/_esm5.processed/compat/eme/index.js +1 -1
- package/dist/_esm5.processed/compat/eme/load_session.d.ts +1 -1
- package/dist/_esm5.processed/compat/enable_audio_track.d.ts +1 -1
- package/dist/_esm5.processed/compat/event_listeners.d.ts +26 -24
- package/dist/_esm5.processed/compat/event_listeners.js +14 -29
- package/dist/_esm5.processed/compat/fullscreen.d.ts +1 -1
- package/dist/_esm5.processed/compat/fullscreen.js +1 -1
- package/dist/_esm5.processed/compat/generate_init_data.js +3 -5
- package/dist/_esm5.processed/compat/index.d.ts +6 -3
- package/dist/_esm5.processed/compat/index.js +2 -2
- package/dist/_esm5.processed/compat/is_vtt_cue.d.ts +1 -1
- package/dist/_esm5.processed/compat/make_vtt_cue.d.ts +1 -1
- package/dist/_esm5.processed/compat/on_height_width_change.d.ts +2 -2
- package/dist/_esm5.processed/compat/on_height_width_change.js +3 -2
- package/dist/_esm5.processed/compat/patch_webkit_source_buffer.js +28 -29
- package/dist/_esm5.processed/compat/should_favour_custom_safari_EME.js +2 -2
- package/dist/_esm5.processed/compat/should_reload_media_source_on_decipherability_update.js +1 -2
- package/dist/_esm5.processed/config.d.ts +1 -1
- package/dist/_esm5.processed/config.js +0 -15
- package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.d.ts +7 -6
- package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.js +45 -22
- package/dist/_esm5.processed/core/adaptive/buffer_based_chooser.d.ts +1 -1
- package/dist/_esm5.processed/core/adaptive/buffer_based_chooser.js +11 -10
- package/dist/_esm5.processed/core/adaptive/guess_based_chooser.d.ts +4 -4
- package/dist/_esm5.processed/core/adaptive/guess_based_chooser.js +7 -6
- package/dist/_esm5.processed/core/adaptive/index.d.ts +3 -2
- package/dist/_esm5.processed/core/adaptive/network_analyzer.d.ts +4 -4
- package/dist/_esm5.processed/core/adaptive/network_analyzer.js +43 -38
- package/dist/_esm5.processed/core/adaptive/utils/bandwidth_estimator.js +1 -1
- package/dist/_esm5.processed/core/adaptive/utils/ewma.js +1 -2
- package/dist/_esm5.processed/core/adaptive/utils/filter_by_bitrate.d.ts +1 -1
- package/dist/_esm5.processed/core/adaptive/utils/filter_by_width.d.ts +1 -1
- package/dist/_esm5.processed/core/adaptive/utils/filter_by_width.js +3 -6
- package/dist/_esm5.processed/core/adaptive/utils/get_buffer_levels.js +7 -4
- package/dist/_esm5.processed/core/adaptive/utils/last_estimate_storage.d.ts +1 -1
- package/dist/_esm5.processed/core/adaptive/utils/pending_requests_store.d.ts +2 -1
- package/dist/_esm5.processed/core/adaptive/utils/representation_score_calculator.d.ts +1 -1
- package/dist/_esm5.processed/core/adaptive/utils/representation_score_calculator.js +8 -5
- package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.d.ts +1 -1
- package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.js +5 -3
- package/dist/_esm5.processed/core/api/debug/buffer_graph.d.ts +1 -1
- package/dist/_esm5.processed/core/api/debug/buffer_graph.js +3 -8
- package/dist/_esm5.processed/core/api/debug/buffer_size_graph.js +1 -2
- package/dist/_esm5.processed/core/api/debug/modules/general_info.d.ts +2 -2
- package/dist/_esm5.processed/core/api/debug/modules/general_info.js +17 -13
- package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_content.d.ts +3 -3
- package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_content.js +4 -2
- package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_size.d.ts +2 -2
- package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_size.js +1 -1
- package/dist/_esm5.processed/core/api/debug/render.d.ts +2 -2
- package/dist/_esm5.processed/core/api/debug/utils.d.ts +5 -5
- package/dist/_esm5.processed/core/api/index.d.ts +1 -1
- package/dist/_esm5.processed/core/api/option_utils.d.ts +3 -3
- package/dist/_esm5.processed/core/api/option_utils.js +85 -48
- package/dist/_esm5.processed/core/api/playback_observer.d.ts +16 -18
- package/dist/_esm5.processed/core/api/playback_observer.js +65 -42
- package/dist/_esm5.processed/core/api/public_api.d.ts +10 -9
- package/dist/_esm5.processed/core/api/public_api.js +103 -94
- package/dist/_esm5.processed/core/api/tracks_management/media_element_track_choice_manager.d.ts +1 -1
- package/dist/_esm5.processed/core/api/tracks_management/media_element_track_choice_manager.js +25 -14
- package/dist/_esm5.processed/core/api/tracks_management/track_choice_manager.d.ts +3 -3
- package/dist/_esm5.processed/core/api/tracks_management/track_choice_manager.js +72 -80
- package/dist/_esm5.processed/core/api/utils.d.ts +5 -5
- package/dist/_esm5.processed/core/api/utils.js +5 -8
- package/dist/_esm5.processed/core/decrypt/__tests__/__global__/utils.d.ts +12 -54
- package/dist/_esm5.processed/core/decrypt/__tests__/__global__/utils.js +55 -66
- package/dist/_esm5.processed/core/decrypt/attach_media_keys.d.ts +10 -5
- package/dist/_esm5.processed/core/decrypt/attach_media_keys.js +16 -8
- package/dist/_esm5.processed/core/decrypt/content_decryptor.d.ts +11 -2
- package/dist/_esm5.processed/core/decrypt/content_decryptor.js +136 -65
- package/dist/_esm5.processed/core/decrypt/create_or_load_session.d.ts +5 -4
- package/dist/_esm5.processed/core/decrypt/create_or_load_session.js +18 -7
- package/dist/_esm5.processed/core/decrypt/create_session.d.ts +5 -4
- package/dist/_esm5.processed/core/decrypt/create_session.js +6 -12
- package/dist/_esm5.processed/core/decrypt/dispose_decryption_resources.js +1 -2
- package/dist/_esm5.processed/core/decrypt/find_key_system.d.ts +13 -3
- package/dist/_esm5.processed/core/decrypt/find_key_system.js +45 -22
- package/dist/_esm5.processed/core/decrypt/get_key_system_configuration.js +1 -2
- package/dist/_esm5.processed/core/decrypt/get_media_keys.d.ts +9 -4
- package/dist/_esm5.processed/core/decrypt/get_media_keys.js +17 -6
- package/dist/_esm5.processed/core/decrypt/init_media_keys.d.ts +3 -3
- package/dist/_esm5.processed/core/decrypt/session_events_listener.d.ts +2 -2
- package/dist/_esm5.processed/core/decrypt/session_events_listener.js +12 -16
- package/dist/_esm5.processed/core/decrypt/set_server_certificate.d.ts +3 -3
- package/dist/_esm5.processed/core/decrypt/set_server_certificate.js +6 -7
- package/dist/_esm5.processed/core/decrypt/types.d.ts +11 -5
- package/dist/_esm5.processed/core/decrypt/utils/are_init_values_compatible.js +20 -12
- package/dist/_esm5.processed/core/decrypt/utils/check_key_statuses.d.ts +2 -2
- package/dist/_esm5.processed/core/decrypt/utils/check_key_statuses.js +5 -4
- package/dist/_esm5.processed/core/decrypt/utils/clean_old_loaded_sessions.d.ts +1 -1
- package/dist/_esm5.processed/core/decrypt/utils/clean_old_stored_persistent_info.d.ts +1 -1
- package/dist/_esm5.processed/core/decrypt/utils/init_data_values_container.d.ts +1 -1
- package/dist/_esm5.processed/core/decrypt/utils/init_data_values_container.js +16 -9
- package/dist/_esm5.processed/core/decrypt/utils/is_session_usable.d.ts +1 -1
- package/dist/_esm5.processed/core/decrypt/utils/is_session_usable.js +1 -2
- package/dist/_esm5.processed/core/decrypt/utils/key_session_record.d.ts +1 -1
- package/dist/_esm5.processed/core/decrypt/utils/key_session_record.js +1 -2
- package/dist/_esm5.processed/core/decrypt/utils/loaded_sessions_store.d.ts +11 -13
- package/dist/_esm5.processed/core/decrypt/utils/loaded_sessions_store.js +13 -13
- package/dist/_esm5.processed/core/decrypt/utils/media_keys_infos_store.d.ts +8 -3
- package/dist/_esm5.processed/core/decrypt/utils/media_keys_infos_store.js +1 -2
- package/dist/_esm5.processed/core/decrypt/utils/persistent_sessions_store.d.ts +3 -3
- package/dist/_esm5.processed/core/decrypt/utils/persistent_sessions_store.js +27 -16
- package/dist/_esm5.processed/core/decrypt/utils/serializable_bytes.js +1 -1
- package/dist/_esm5.processed/core/decrypt/utils/server_certificate_store.d.ts +1 -1
- package/dist/_esm5.processed/core/decrypt/utils/server_certificate_store.js +19 -12
- package/dist/_esm5.processed/core/fetchers/cdn_prioritizer.d.ts +2 -2
- package/dist/_esm5.processed/core/fetchers/cdn_prioritizer.js +5 -6
- package/dist/_esm5.processed/core/fetchers/index.d.ts +6 -3
- package/dist/_esm5.processed/core/fetchers/index.js +1 -1
- package/dist/_esm5.processed/core/fetchers/manifest/index.d.ts +3 -2
- package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.d.ts +2 -2
- package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.js +68 -61
- package/dist/_esm5.processed/core/fetchers/segment/index.d.ts +4 -3
- package/dist/_esm5.processed/core/fetchers/segment/prioritized_segment_fetcher.d.ts +4 -3
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.d.ts +9 -8
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.js +41 -29
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.d.ts +5 -5
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.js +2 -3
- package/dist/_esm5.processed/core/fetchers/segment/task_prioritizer.d.ts +1 -1
- package/dist/_esm5.processed/core/fetchers/segment/task_prioritizer.js +19 -18
- package/dist/_esm5.processed/core/fetchers/utils/error_selector.d.ts +1 -1
- package/dist/_esm5.processed/core/fetchers/utils/error_selector.js +1 -1
- package/dist/_esm5.processed/core/fetchers/utils/schedule_request.d.ts +3 -3
- package/dist/_esm5.processed/core/fetchers/utils/schedule_request.js +25 -25
- package/dist/_esm5.processed/core/init/directfile_content_initializer.d.ts +4 -4
- package/dist/_esm5.processed/core/init/directfile_content_initializer.js +21 -17
- package/dist/_esm5.processed/core/init/index.d.ts +2 -1
- package/dist/_esm5.processed/core/init/index.js +1 -1
- package/dist/_esm5.processed/core/init/media_source_content_initializer.d.ts +9 -9
- package/dist/_esm5.processed/core/init/media_source_content_initializer.js +64 -32
- package/dist/_esm5.processed/core/init/types.d.ts +10 -12
- package/dist/_esm5.processed/core/init/utils/content_time_boundaries_observer.d.ts +6 -5
- package/dist/_esm5.processed/core/init/utils/content_time_boundaries_observer.js +20 -19
- package/dist/_esm5.processed/core/init/utils/create_media_source.d.ts +1 -1
- package/dist/_esm5.processed/core/init/utils/create_media_source.js +2 -3
- package/dist/_esm5.processed/core/init/utils/create_stream_playback_observer.d.ts +6 -6
- package/dist/_esm5.processed/core/init/utils/create_stream_playback_observer.js +5 -3
- package/dist/_esm5.processed/core/init/utils/end_of_stream.d.ts +1 -1
- package/dist/_esm5.processed/core/init/utils/get_initial_time.d.ts +1 -1
- package/dist/_esm5.processed/core/init/utils/get_initial_time.js +12 -15
- package/dist/_esm5.processed/core/init/utils/get_loaded_reference.d.ts +3 -3
- package/dist/_esm5.processed/core/init/utils/get_loaded_reference.js +1 -2
- package/dist/_esm5.processed/core/init/utils/initial_seek_and_play.d.ts +9 -9
- package/dist/_esm5.processed/core/init/utils/initial_seek_and_play.js +39 -3
- package/dist/_esm5.processed/core/init/utils/initialize_content_decryption.d.ts +9 -8
- package/dist/_esm5.processed/core/init/utils/initialize_content_decryption.js +12 -9
- package/dist/_esm5.processed/core/init/utils/media_source_duration_updater.js +10 -7
- package/dist/_esm5.processed/core/init/utils/rebuffering_controller.d.ts +7 -6
- package/dist/_esm5.processed/core/init/utils/rebuffering_controller.js +24 -24
- package/dist/_esm5.processed/core/init/utils/stream_events_emitter/are_same_stream_events.js +1 -3
- package/dist/_esm5.processed/core/init/utils/stream_events_emitter/index.d.ts +1 -1
- package/dist/_esm5.processed/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.d.ts +2 -2
- package/dist/_esm5.processed/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.js +14 -6
- package/dist/_esm5.processed/core/init/utils/stream_events_emitter/stream_events_emitter.d.ts +3 -3
- package/dist/_esm5.processed/core/init/utils/stream_events_emitter/stream_events_emitter.js +12 -19
- package/dist/_esm5.processed/core/init/utils/stream_events_emitter/types.d.ts +1 -1
- package/dist/_esm5.processed/core/init/utils/throw_on_media_error.d.ts +1 -1
- package/dist/_esm5.processed/core/init/utils/throw_on_media_error.js +11 -6
- package/dist/_esm5.processed/core/segment_buffers/garbage_collector.d.ts +6 -6
- package/dist/_esm5.processed/core/segment_buffers/garbage_collector.js +12 -13
- package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.d.ts +3 -2
- package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.js +6 -9
- package/dist/_esm5.processed/core/segment_buffers/implementations/image/image_segment_buffer.d.ts +3 -2
- package/dist/_esm5.processed/core/segment_buffers/implementations/image/image_segment_buffer.js +1 -1
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/html_text_segment_buffer.d.ts +2 -1
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/html_text_segment_buffer.js +7 -7
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/text_track_cues_store.d.ts +1 -1
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/text_track_cues_store.js +4 -4
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/update_proportional_elements.js +1 -2
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/utils.d.ts +1 -1
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/utils.js +2 -6
- 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 +2 -2
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/parsers.d.ts +1 -1
- package/dist/_esm5.processed/core/segment_buffers/implementations/types.d.ts +5 -7
- package/dist/_esm5.processed/core/segment_buffers/implementations/utils/manual_time_ranges.js +1 -1
- package/dist/_esm5.processed/core/segment_buffers/index.d.ts +8 -4
- package/dist/_esm5.processed/core/segment_buffers/index.js +2 -2
- package/dist/_esm5.processed/core/segment_buffers/inventory/buffered_history.d.ts +1 -1
- package/dist/_esm5.processed/core/segment_buffers/inventory/index.d.ts +6 -4
- package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.d.ts +4 -4
- package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.js +63 -54
- package/dist/_esm5.processed/core/segment_buffers/inventory/types.d.ts +1 -1
- package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.d.ts +2 -2
- package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.js +17 -23
- package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.d.ts +3 -3
- package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.js +49 -22
- package/dist/_esm5.processed/core/stream/adaptation/types.d.ts +8 -7
- package/dist/_esm5.processed/core/stream/adaptation/utils/create_representation_estimator.d.ts +7 -6
- package/dist/_esm5.processed/core/stream/adaptation/utils/create_representation_estimator.js +2 -1
- package/dist/_esm5.processed/core/stream/index.d.ts +6 -5
- package/dist/_esm5.processed/core/stream/orchestrator/get_time_ranges_for_content.d.ts +3 -3
- package/dist/_esm5.processed/core/stream/orchestrator/get_time_ranges_for_content.js +2 -2
- package/dist/_esm5.processed/core/stream/orchestrator/index.d.ts +3 -2
- package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.d.ts +9 -7
- package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.js +47 -34
- package/dist/_esm5.processed/core/stream/period/period_stream.d.ts +3 -3
- package/dist/_esm5.processed/core/stream/period/period_stream.js +49 -16
- package/dist/_esm5.processed/core/stream/period/types.d.ts +15 -12
- package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.d.ts +9 -9
- package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.js +26 -25
- package/dist/_esm5.processed/core/stream/representation/representation_stream.d.ts +3 -3
- package/dist/_esm5.processed/core/stream/representation/representation_stream.js +47 -23
- package/dist/_esm5.processed/core/stream/representation/types.d.ts +9 -8
- package/dist/_esm5.processed/core/stream/representation/utils/append_segment_to_buffer.d.ts +4 -4
- package/dist/_esm5.processed/core/stream/representation/utils/append_segment_to_buffer.js +10 -7
- package/dist/_esm5.processed/core/stream/representation/utils/check_for_discontinuity.d.ts +4 -3
- package/dist/_esm5.processed/core/stream/representation/utils/check_for_discontinuity.js +16 -18
- package/dist/_esm5.processed/core/stream/representation/utils/downloading_queue.d.ts +7 -6
- package/dist/_esm5.processed/core/stream/representation/utils/downloading_queue.js +11 -11
- package/dist/_esm5.processed/core/stream/representation/utils/force_garbage_collection.d.ts +2 -2
- package/dist/_esm5.processed/core/stream/representation/utils/force_garbage_collection.js +6 -8
- package/dist/_esm5.processed/core/stream/representation/utils/get_buffer_status.d.ts +5 -4
- package/dist/_esm5.processed/core/stream/representation/utils/get_buffer_status.js +40 -19
- package/dist/_esm5.processed/core/stream/representation/utils/get_needed_segments.d.ts +4 -3
- package/dist/_esm5.processed/core/stream/representation/utils/get_needed_segments.js +27 -28
- package/dist/_esm5.processed/core/stream/representation/utils/push_init_segment.d.ts +6 -5
- package/dist/_esm5.processed/core/stream/representation/utils/push_init_segment.js +7 -5
- package/dist/_esm5.processed/core/stream/representation/utils/push_media_segment.d.ts +8 -7
- package/dist/_esm5.processed/core/stream/representation/utils/push_media_segment.js +13 -10
- package/dist/_esm5.processed/default_config.js +20 -16
- package/dist/_esm5.processed/errors/encrypted_media_error.d.ts +2 -2
- package/dist/_esm5.processed/errors/encrypted_media_error.js +1 -1
- package/dist/_esm5.processed/errors/error_codes.d.ts +1 -1
- package/dist/_esm5.processed/errors/error_codes.js +1 -1
- package/dist/_esm5.processed/errors/format_error.d.ts +2 -2
- package/dist/_esm5.processed/errors/format_error.js +1 -2
- package/dist/_esm5.processed/errors/index.d.ts +6 -3
- package/dist/_esm5.processed/errors/index.js +2 -2
- package/dist/_esm5.processed/errors/is_known_error.d.ts +1 -1
- package/dist/_esm5.processed/errors/is_known_error.js +2 -2
- package/dist/_esm5.processed/errors/media_error.d.ts +3 -3
- package/dist/_esm5.processed/errors/media_error.js +4 -7
- package/dist/_esm5.processed/errors/network_error.d.ts +2 -2
- package/dist/_esm5.processed/errors/network_error.js +3 -3
- package/dist/_esm5.processed/errors/other_error.d.ts +1 -1
- package/dist/_esm5.processed/errors/other_error.js +1 -1
- package/dist/_esm5.processed/errors/request_error.d.ts +1 -1
- package/dist/_esm5.processed/experimental/features/dash_wasm.d.ts +2 -2
- package/dist/_esm5.processed/experimental/features/debug_element.d.ts +1 -1
- package/dist/_esm5.processed/experimental/features/local.d.ts +1 -1
- package/dist/_esm5.processed/experimental/features/metaplaylist.d.ts +1 -1
- package/dist/_esm5.processed/experimental/index.d.ts +1 -1
- package/dist/_esm5.processed/experimental/index.js +1 -1
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/features/dash.d.ts +1 -1
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/features/metaplaylist.d.ts +1 -1
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/index.d.ts +1 -1
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/index.js +2 -2
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/load_and_push_segment.d.ts +3 -3
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/load_and_push_segment.js +7 -3
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.d.ts +1 -1
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.js +1 -2
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.d.ts +2 -2
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.js +2 -2
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/types.d.ts +3 -2
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.d.ts +2 -2
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +12 -18
- package/dist/_esm5.processed/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +13 -23
- package/dist/_esm5.processed/experimental/tools/createMetaplaylist/index.d.ts +1 -1
- package/dist/_esm5.processed/experimental/tools/createMetaplaylist/index.js +8 -7
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/index.d.ts +1 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/index.js +9 -13
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.d.ts +4 -3
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.js +5 -3
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/capabilities.d.ts +1 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/capabilities.js +10 -47
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.d.ts +2 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.js +8 -5
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.d.ts +2 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.js +21 -13
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.d.ts +2 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +22 -18
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +4 -7
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/index.d.ts +1 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts +2 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +3 -5
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.d.ts +1 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.js +4 -10
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.d.ts +2 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.js +2 -3
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.d.ts +2 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +2 -3
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/types.d.ts +2 -2
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/utils.d.ts +1 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/utils.js +6 -6
- package/dist/_esm5.processed/experimental/tools/parseBIFThumbnails.js +5 -4
- package/dist/_esm5.processed/features/add_features.d.ts +1 -1
- package/dist/_esm5.processed/features/features_object.d.ts +1 -1
- package/dist/_esm5.processed/features/features_object.js +4 -3
- package/dist/_esm5.processed/features/index.d.ts +3 -2
- package/dist/_esm5.processed/features/index.js +1 -1
- package/dist/_esm5.processed/features/list/bif_parser.d.ts +1 -1
- package/dist/_esm5.processed/features/list/dash.d.ts +1 -1
- package/dist/_esm5.processed/features/list/directfile.d.ts +1 -1
- package/dist/_esm5.processed/features/list/eme.d.ts +1 -1
- package/dist/_esm5.processed/features/list/html_sami_parser.d.ts +1 -1
- package/dist/_esm5.processed/features/list/html_srt_parser.d.ts +1 -1
- package/dist/_esm5.processed/features/list/html_text_buffer.d.ts +1 -1
- package/dist/_esm5.processed/features/list/html_ttml_parser.d.ts +1 -1
- package/dist/_esm5.processed/features/list/html_vtt_parser.d.ts +1 -1
- package/dist/_esm5.processed/features/list/image_buffer.d.ts +1 -1
- package/dist/_esm5.processed/features/list/native_sami_parser.d.ts +1 -1
- package/dist/_esm5.processed/features/list/native_srt_parser.d.ts +1 -1
- package/dist/_esm5.processed/features/list/native_text_buffer.d.ts +1 -1
- package/dist/_esm5.processed/features/list/native_ttml_parser.d.ts +1 -1
- package/dist/_esm5.processed/features/list/native_vtt_parser.d.ts +1 -1
- package/dist/_esm5.processed/features/list/smooth.d.ts +1 -1
- package/dist/_esm5.processed/features/types.d.ts +11 -11
- package/dist/_esm5.processed/manifest/adaptation.d.ts +3 -3
- package/dist/_esm5.processed/manifest/adaptation.js +24 -14
- package/dist/_esm5.processed/manifest/index.d.ts +9 -5
- package/dist/_esm5.processed/manifest/index.js +4 -8
- package/dist/_esm5.processed/manifest/manifest.d.ts +8 -7
- package/dist/_esm5.processed/manifest/manifest.js +37 -33
- package/dist/_esm5.processed/manifest/period.d.ts +4 -4
- package/dist/_esm5.processed/manifest/period.js +7 -14
- package/dist/_esm5.processed/manifest/representation.d.ts +4 -4
- package/dist/_esm5.processed/manifest/representation.js +5 -5
- package/dist/_esm5.processed/manifest/representation_index/index.d.ts +3 -2
- package/dist/_esm5.processed/manifest/representation_index/index.js +1 -1
- package/dist/_esm5.processed/manifest/representation_index/static.d.ts +1 -1
- package/dist/_esm5.processed/manifest/representation_index/static.js +6 -2
- package/dist/_esm5.processed/manifest/representation_index/types.d.ts +6 -5
- package/dist/_esm5.processed/manifest/update_period_in_place.d.ts +3 -3
- package/dist/_esm5.processed/manifest/update_period_in_place.js +9 -9
- package/dist/_esm5.processed/manifest/update_periods.d.ts +2 -2
- package/dist/_esm5.processed/manifest/update_periods.js +6 -3
- package/dist/_esm5.processed/manifest/utils.d.ts +4 -4
- package/dist/_esm5.processed/manifest/utils.js +6 -4
- package/dist/_esm5.processed/parsers/containers/isobmff/create_box.d.ts +1 -1
- package/dist/_esm5.processed/parsers/containers/isobmff/create_box.js +5 -4
- package/dist/_esm5.processed/parsers/containers/isobmff/drm/playready.js +2 -3
- package/dist/_esm5.processed/parsers/containers/isobmff/get_box.js +3 -5
- package/dist/_esm5.processed/parsers/containers/isobmff/index.d.ts +5 -4
- package/dist/_esm5.processed/parsers/containers/isobmff/index.js +4 -4
- package/dist/_esm5.processed/parsers/containers/isobmff/read.d.ts +1 -1
- package/dist/_esm5.processed/parsers/containers/isobmff/read.js +9 -9
- package/dist/_esm5.processed/parsers/containers/isobmff/take_pssh_out.js +3 -4
- package/dist/_esm5.processed/parsers/containers/isobmff/utils.js +51 -41
- package/dist/_esm5.processed/parsers/containers/matroska/index.d.ts +2 -1
- package/dist/_esm5.processed/parsers/containers/matroska/index.js +1 -1
- package/dist/_esm5.processed/parsers/containers/matroska/utils.js +29 -16
- package/dist/_esm5.processed/parsers/images/bif.js +15 -5
- package/dist/_esm5.processed/parsers/manifest/dash/common/attach_trickmode_track.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/convert_supplemental_codecs.js +1 -3
- package/dist/_esm5.processed/parsers/manifest/dash/common/flatten_overlapping_periods.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/flatten_overlapping_periods.js +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/get_hdr_information.js +4 -12
- package/dist/_esm5.processed/parsers/manifest/dash/common/get_http_utc-timing_url.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/get_http_utc-timing_url.js +4 -5
- package/dist/_esm5.processed/parsers/manifest/dash/common/get_minimum_and_maximum_positions.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/get_minimum_and_maximum_positions.js +5 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/get_periods_time_infos.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/get_periods_time_infos.js +5 -6
- package/dist/_esm5.processed/parsers/manifest/dash/common/index.d.ts +3 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.d.ts +4 -4
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.js +34 -28
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_init_segment.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_init_segment.js +7 -4
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +4 -4
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +15 -11
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/index.d.ts +10 -5
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.js +30 -18
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.d.ts +3 -3
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.js +56 -55
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.js +2 -6
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.js +11 -15
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.js +12 -9
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.js +29 -19
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/index.d.ts +3 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +6 -6
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +73 -59
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/tokens.js +2 -4
- package/dist/_esm5.processed/parsers/manifest/dash/common/infer_adaptation_type.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/manifest_bounds_calculator.js +7 -8
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.d.ts +4 -4
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.js +52 -50
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_availability_start_time.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.d.ts +6 -6
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.js +52 -31
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.d.ts +4 -4
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.js +41 -30
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.d.ts +4 -4
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.js +1 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.d.ts +4 -4
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.js +63 -64
- package/dist/_esm5.processed/parsers/manifest/dash/common/resolve_base_urls.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/resolve_base_urls.js +4 -2
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +73 -37
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/BaseURL.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/BaseURL.js +1 -2
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/EventStream.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/EventStream.js +13 -7
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Initialization.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Initialization.js +5 -3
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/MPD.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/MPD.js +44 -27
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Period.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Period.js +14 -8
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Representation.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Representation.js +36 -18
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.js +36 -18
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentList.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.js +17 -8
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.js +9 -5
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.d.ts +8 -26
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.js +6 -12
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/parse_from_document.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/parse_from_document.js +9 -4
- package/dist/_esm5.processed/parsers/manifest/dash/parsers_types.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/index.d.ts +3 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +29 -16
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.d.ts +3 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +22 -35
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +3 -1
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.d.ts +3 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +2 -4
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Label.d.ts +3 -0
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Label.js +9 -0
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/MPD.d.ts +3 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +5 -5
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Period.d.ts +3 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +9 -6
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Representation.d.ts +3 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +8 -16
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.js +5 -10
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.d.ts +3 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.js +11 -18
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.js +2 -4
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/XLink.d.ts +3 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/XLink.js +5 -5
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/root.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/root.js +5 -6
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/parsers_stack.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/parsers_stack.js +1 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/types.d.ts +2 -1
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/utils.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/utils.js +2 -4
- package/dist/_esm5.processed/parsers/manifest/local/index.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/local/parse_local_manifest.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/local/parse_local_manifest.js +25 -16
- package/dist/_esm5.processed/parsers/manifest/local/representation_index.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/local/representation_index.js +5 -10
- package/dist/_esm5.processed/parsers/manifest/metaplaylist/index.d.ts +3 -2
- package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.js +33 -29
- package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.js +9 -7
- package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.d.ts +3 -3
- package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.js +136 -109
- package/dist/_esm5.processed/parsers/manifest/smooth/get_codecs.js +3 -3
- package/dist/_esm5.processed/parsers/manifest/smooth/index.d.ts +4 -2
- package/dist/_esm5.processed/parsers/manifest/smooth/index.js +1 -1
- package/dist/_esm5.processed/parsers/manifest/smooth/parse_C_nodes.js +6 -6
- package/dist/_esm5.processed/parsers/manifest/smooth/parse_protection_node.js +12 -8
- package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.js +48 -53
- package/dist/_esm5.processed/parsers/manifest/smooth/utils/add_segment_infos.js +10 -7
- package/dist/_esm5.processed/parsers/manifest/smooth/utils/tokens.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/smooth/utils/tokens.js +2 -3
- package/dist/_esm5.processed/parsers/manifest/types.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/utils/check_manifest_ids.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/utils/clear_timeline_from_position.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/utils/clear_timeline_from_position.js +9 -6
- package/dist/_esm5.processed/parsers/manifest/utils/get_first_time_from_adaptation.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/utils/get_first_time_from_adaptation.js +5 -4
- package/dist/_esm5.processed/parsers/manifest/utils/get_last_time_from_adaptation.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/utils/get_last_time_from_adaptation.js +5 -4
- package/dist/_esm5.processed/parsers/manifest/utils/get_maximum_positions.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/utils/get_maximum_positions.js +10 -16
- package/dist/_esm5.processed/parsers/manifest/utils/get_minimum_position.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/utils/get_minimum_position.js +4 -10
- package/dist/_esm5.processed/parsers/manifest/utils/index_helpers.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/utils/index_helpers.js +4 -5
- package/dist/_esm5.processed/parsers/manifest/utils/update_segment_timeline.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/utils/update_segment_timeline.js +18 -18
- package/dist/_esm5.processed/parsers/texttracks/index.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/sami/html.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/sami/html.js +15 -15
- package/dist/_esm5.processed/parsers/texttracks/sami/native.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/sami/native.js +7 -14
- package/dist/_esm5.processed/parsers/texttracks/srt/html.js +6 -6
- package/dist/_esm5.processed/parsers/texttracks/srt/native.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/srt/native.js +1 -7
- package/dist/_esm5.processed/parsers/texttracks/srt/parse_cue.js +4 -8
- package/dist/_esm5.processed/parsers/texttracks/ttml/get_parameters.js +4 -8
- package/dist/_esm5.processed/parsers/texttracks/ttml/get_time_delimiters.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/ttml/get_time_delimiters.js +6 -8
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_default_ttml_paragraph_style.js +2 -2
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_extent.js +2 -6
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_font_size.js +3 -4
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_origin.js +2 -6
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_padding.js +2 -6
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/create_element.d.ts +2 -2
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/create_element.js +22 -21
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/generate_css_test_outline.js +2 -2
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/parse_cue.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/parse_cue.js +5 -3
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/parse_ttml_to_div.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/ttml_color_to_css_color.js +34 -19
- package/dist/_esm5.processed/parsers/texttracks/ttml/native/parse_cue.d.ts +2 -2
- package/dist/_esm5.processed/parsers/texttracks/ttml/native/parse_cue.js +9 -10
- package/dist/_esm5.processed/parsers/texttracks/ttml/native/parse_ttml_to_vtt.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/ttml/parse_ttml.d.ts +3 -3
- package/dist/_esm5.processed/parsers/texttracks/ttml/parse_ttml.js +28 -16
- package/dist/_esm5.processed/parsers/texttracks/ttml/resolve_styles_inheritance.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/ttml/time_parsing.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/ttml/time_parsing.js +2 -2
- package/dist/_esm5.processed/parsers/texttracks/types.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/webvtt/get_cue_blocks.js +1 -1
- package/dist/_esm5.processed/parsers/texttracks/webvtt/get_style_blocks.js +2 -1
- package/dist/_esm5.processed/parsers/texttracks/webvtt/html/convert_payload_to_html.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_default_style_elements.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_style_attribute.js +6 -12
- package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_styled_element.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_styled_element.js +7 -8
- package/dist/_esm5.processed/parsers/texttracks/webvtt/html/index.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/webvtt/html/parse_style_block.js +4 -4
- package/dist/_esm5.processed/parsers/texttracks/webvtt/html/parse_webvtt_to_div.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/webvtt/html/to_html.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/webvtt/html/to_html.js +4 -10
- package/dist/_esm5.processed/parsers/texttracks/webvtt/native/parse_vtt_to_cues.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/webvtt/native/parse_vtt_to_cues.js +2 -6
- package/dist/_esm5.processed/parsers/texttracks/webvtt/native/set_settings_on_cue.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/webvtt/native/to_native_cue.d.ts +1 -1
- package/dist/_esm5.processed/parsers/texttracks/webvtt/native/to_native_cue.js +1 -1
- package/dist/_esm5.processed/parsers/texttracks/webvtt/parse_cue_block.js +2 -4
- package/dist/_esm5.processed/parsers/texttracks/webvtt/parse_timestamp.js +1 -2
- package/dist/_esm5.processed/parsers/texttracks/webvtt/utils.js +6 -6
- package/dist/_esm5.processed/public_types.d.ts +13 -11
- package/dist/_esm5.processed/tools/TextTrackRenderer/index.d.ts +3 -2
- package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.d.ts +2 -2
- package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.js +15 -10
- package/dist/_esm5.processed/transports/dash/add_segment_integrity_checks_to_loader.d.ts +1 -1
- package/dist/_esm5.processed/transports/dash/add_segment_integrity_checks_to_loader.js +2 -3
- package/dist/_esm5.processed/transports/dash/construct_segment_url.d.ts +2 -2
- package/dist/_esm5.processed/transports/dash/construct_segment_url.js +5 -3
- package/dist/_esm5.processed/transports/dash/extract_complete_chunks.js +2 -2
- package/dist/_esm5.processed/transports/dash/get_events_out_of_emsgs.d.ts +2 -2
- package/dist/_esm5.processed/transports/dash/get_events_out_of_emsgs.js +9 -10
- package/dist/_esm5.processed/transports/dash/image_pipelines.d.ts +3 -3
- package/dist/_esm5.processed/transports/dash/image_pipelines.js +32 -19
- package/dist/_esm5.processed/transports/dash/init_segment_loader.d.ts +3 -3
- package/dist/_esm5.processed/transports/dash/init_segment_loader.js +46 -22
- package/dist/_esm5.processed/transports/dash/low_latency_segment_loader.d.ts +2 -2
- package/dist/_esm5.processed/transports/dash/low_latency_segment_loader.js +13 -9
- package/dist/_esm5.processed/transports/dash/manifest_parser.d.ts +2 -2
- package/dist/_esm5.processed/transports/dash/manifest_parser.js +35 -22
- package/dist/_esm5.processed/transports/dash/pipelines.d.ts +1 -1
- package/dist/_esm5.processed/transports/dash/pipelines.js +11 -15
- package/dist/_esm5.processed/transports/dash/segment_loader.d.ts +4 -4
- package/dist/_esm5.processed/transports/dash/segment_loader.js +30 -21
- package/dist/_esm5.processed/transports/dash/segment_parser.d.ts +2 -2
- package/dist/_esm5.processed/transports/dash/segment_parser.js +47 -21
- package/dist/_esm5.processed/transports/dash/text_loader.d.ts +2 -2
- package/dist/_esm5.processed/transports/dash/text_loader.js +19 -19
- package/dist/_esm5.processed/transports/dash/text_parser.d.ts +2 -2
- package/dist/_esm5.processed/transports/dash/text_parser.js +45 -24
- package/dist/_esm5.processed/transports/local/pipelines.d.ts +1 -1
- package/dist/_esm5.processed/transports/local/pipelines.js +7 -8
- package/dist/_esm5.processed/transports/local/segment_loader.d.ts +3 -3
- package/dist/_esm5.processed/transports/local/segment_loader.js +14 -6
- package/dist/_esm5.processed/transports/local/segment_parser.d.ts +1 -1
- package/dist/_esm5.processed/transports/local/segment_parser.js +31 -13
- package/dist/_esm5.processed/transports/local/text_parser.d.ts +1 -1
- package/dist/_esm5.processed/transports/local/text_parser.js +44 -19
- package/dist/_esm5.processed/transports/metaplaylist/manifest_loader.d.ts +4 -4
- package/dist/_esm5.processed/transports/metaplaylist/manifest_loader.js +9 -5
- package/dist/_esm5.processed/transports/metaplaylist/pipelines.d.ts +1 -1
- package/dist/_esm5.processed/transports/metaplaylist/pipelines.js +25 -18
- package/dist/_esm5.processed/transports/smooth/extract_timings_infos.d.ts +2 -2
- package/dist/_esm5.processed/transports/smooth/extract_timings_infos.js +16 -15
- package/dist/_esm5.processed/transports/smooth/isobmff/create_audio_init_segment.js +3 -3
- package/dist/_esm5.processed/transports/smooth/isobmff/create_boxes.js +14 -32
- package/dist/_esm5.processed/transports/smooth/isobmff/create_init_segment.js +2 -2
- package/dist/_esm5.processed/transports/smooth/isobmff/create_traf_box.js +2 -2
- package/dist/_esm5.processed/transports/smooth/isobmff/get_aaces_header.js +4 -16
- package/dist/_esm5.processed/transports/smooth/isobmff/index.d.ts +4 -2
- package/dist/_esm5.processed/transports/smooth/isobmff/parse_tfrf.js +2 -2
- package/dist/_esm5.processed/transports/smooth/isobmff/parse_tfxd.js +1 -1
- package/dist/_esm5.processed/transports/smooth/isobmff/patch_segment.js +11 -10
- package/dist/_esm5.processed/transports/smooth/pipelines.d.ts +1 -1
- package/dist/_esm5.processed/transports/smooth/pipelines.js +121 -79
- package/dist/_esm5.processed/transports/smooth/segment_loader.d.ts +3 -3
- package/dist/_esm5.processed/transports/smooth/segment_loader.js +53 -27
- package/dist/_esm5.processed/transports/smooth/utils.d.ts +2 -2
- package/dist/_esm5.processed/transports/smooth/utils.js +7 -5
- package/dist/_esm5.processed/transports/types.d.ts +11 -25
- package/dist/_esm5.processed/transports/utils/byte_range.js +1 -2
- package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.d.ts +3 -3
- package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.js +13 -7
- package/dist/_esm5.processed/transports/utils/check_isobmff_integrity.js +3 -3
- package/dist/_esm5.processed/transports/utils/find_complete_box.js +3 -2
- package/dist/_esm5.processed/transports/utils/generate_manifest_loader.d.ts +3 -3
- package/dist/_esm5.processed/transports/utils/generate_manifest_loader.js +18 -6
- package/dist/_esm5.processed/transports/utils/get_isobmff_timing_infos.d.ts +2 -2
- package/dist/_esm5.processed/transports/utils/get_isobmff_timing_infos.js +12 -11
- package/dist/_esm5.processed/transports/utils/infer_segment_container.d.ts +1 -1
- package/dist/_esm5.processed/transports/utils/infer_segment_container.js +1 -3
- package/dist/_esm5.processed/transports/utils/parse_text_track.d.ts +4 -4
- package/dist/_esm5.processed/transports/utils/parse_text_track.js +9 -6
- package/dist/_esm5.processed/utils/are_codecs_compatible.js +5 -1
- package/dist/_esm5.processed/utils/array_includes.js +2 -6
- package/dist/_esm5.processed/utils/assert.js +3 -4
- package/dist/_esm5.processed/utils/base64.js +87 -29
- package/dist/_esm5.processed/utils/byte_parsing.js +60 -56
- package/dist/_esm5.processed/utils/cancellable_sleep.d.ts +1 -1
- package/dist/_esm5.processed/utils/create_cancellable_promise.d.ts +1 -1
- package/dist/_esm5.processed/utils/deep_merge.js +4 -4
- package/dist/_esm5.processed/utils/event_emitter.d.ts +1 -1
- package/dist/_esm5.processed/utils/get_fuzzed_delay.js +1 -1
- package/dist/_esm5.processed/utils/hash_buffer.js +1 -1
- package/dist/_esm5.processed/utils/initialization_segment_cache.d.ts +2 -2
- package/dist/_esm5.processed/utils/languages/index.d.ts +4 -2
- package/dist/_esm5.processed/utils/languages/index.js +2 -2
- package/dist/_esm5.processed/utils/languages/normalize.d.ts +2 -1
- package/dist/_esm5.processed/utils/languages/normalize.js +5 -3
- package/dist/_esm5.processed/utils/logger.js +7 -14
- package/dist/_esm5.processed/utils/object_assign.js +5 -5
- package/dist/_esm5.processed/utils/object_values.d.ts +1 -1
- package/dist/_esm5.processed/utils/object_values.js +2 -3
- package/dist/_esm5.processed/utils/ranges.d.ts +2 -1
- package/dist/_esm5.processed/utils/ranges.js +19 -23
- package/dist/_esm5.processed/utils/reference.d.ts +3 -3
- package/dist/_esm5.processed/utils/reference.js +1 -3
- package/dist/_esm5.processed/utils/request/fetch.d.ts +1 -1
- package/dist/_esm5.processed/utils/request/fetch.js +34 -23
- package/dist/_esm5.processed/utils/request/index.d.ts +6 -3
- package/dist/_esm5.processed/utils/request/index.js +2 -2
- package/dist/_esm5.processed/utils/request/xhr.d.ts +1 -1
- package/dist/_esm5.processed/utils/request/xhr.js +28 -17
- package/dist/_esm5.processed/utils/retry_promise_with_backoff.d.ts +2 -2
- package/dist/_esm5.processed/utils/slice_uint8array.js +3 -3
- package/dist/_esm5.processed/utils/starts_with.js +3 -3
- package/dist/_esm5.processed/utils/string_parsing.js +16 -18
- package/dist/_esm5.processed/utils/task_canceller.js +1 -2
- package/dist/_esm5.processed/utils/uniq.d.ts +1 -1
- package/dist/_esm5.processed/utils/uniq.js +4 -3
- package/dist/_esm5.processed/utils/weak_map_memory.js +0 -1
- package/dist/_esm5.processed/utils/wrapInPromise.d.ts +1 -1
- package/dist/mpd-parser.wasm +0 -0
- package/dist/rx-player.js +334 -234
- package/dist/rx-player.min.js +1 -1
- package/experimental/features/index.d.ts-E +16 -0
- package/experimental/features/index.js-E +16 -0
- package/experimental/index.d.ts +1 -1
- package/experimental/index.d.ts-E +16 -0
- package/experimental/index.js +1 -1
- package/experimental/index.js-E +16 -0
- package/experimental/tools/VideoThumbnailLoader/index.d.ts-E +18 -0
- package/experimental/tools/VideoThumbnailLoader/index.js-E +18 -0
- package/experimental/tools/index.d.ts-E +16 -0
- package/experimental/tools/index.js-E +16 -0
- package/features/index.d.ts-E +16 -0
- package/features/index.js-E +16 -0
- package/logger/index.d.ts-E +17 -0
- package/logger/index.js-E +17 -0
- package/minimal/index.d.ts-E +17 -0
- package/minimal/index.js-E +17 -0
- package/package.json +27 -12
- package/tools/TextTrackRenderer.d.ts-E +18 -0
- package/tools/TextTrackRenderer.js-E +18 -0
- package/tools/index.d.ts-E +16 -0
- package/tools/index.js-E +16 -0
- package/tools/string-utils.d.ts-E +18 -0
- package/tools/string-utils.js-E +18 -0
- package/types/index.d.ts-E +16 -0
- package/types/index.js-E +15 -0
package/dist/rx-player.js
CHANGED
|
@@ -348,17 +348,6 @@ function eventPrefixed(eventNames, prefixes) {
|
|
|
348
348
|
}));
|
|
349
349
|
}, []);
|
|
350
350
|
}
|
|
351
|
-
/**
|
|
352
|
-
* Returns a function allowing to add event listeners for particular event(s)
|
|
353
|
-
* optionally automatically adding browser prefixes if needed.
|
|
354
|
-
* @param {Array.<string>} eventNames - The event(s) to listen to. If multiple
|
|
355
|
-
* events are set, the event listener will be triggered when any of them emits.
|
|
356
|
-
* @param {Array.<string>|undefined} [prefixes] - Optional vendor prefixes with
|
|
357
|
-
* which the event might also be sent. If not defined, default prefixes might be
|
|
358
|
-
* tested.
|
|
359
|
-
* @returns {Function} - Returns function allowing to easily add a callback to
|
|
360
|
-
* be triggered when that event is emitted on a given event target.
|
|
361
|
-
*/
|
|
362
351
|
function createCompatibleEventListener(eventNames, prefixes) {
|
|
363
352
|
var mem;
|
|
364
353
|
var prefixedEvents = eventPrefixed(eventNames, prefixes);
|
|
@@ -1861,7 +1850,7 @@ var DEFAULT_CONFIG = {
|
|
|
1861
1850
|
* Defined in order of importance (first will be tested first etc.)
|
|
1862
1851
|
* @type {Array.<string>}
|
|
1863
1852
|
*/
|
|
1864
|
-
EME_DEFAULT_VIDEO_CODECS: [
|
|
1853
|
+
EME_DEFAULT_VIDEO_CODECS: ['video/mp4;codecs="avc1.4d401e"', 'video/mp4;codecs="avc1.42e01e"', 'video/webm;codecs="vp8"'],
|
|
1865
1854
|
/**
|
|
1866
1855
|
* Codecs used in the audioCapabilities of the MediaKeySystemConfiguration
|
|
1867
1856
|
* (DRM).
|
|
@@ -1869,7 +1858,7 @@ var DEFAULT_CONFIG = {
|
|
|
1869
1858
|
* Defined in order of importance (first will be tested first etc.)
|
|
1870
1859
|
* @type {Array.<string>}
|
|
1871
1860
|
*/
|
|
1872
|
-
EME_DEFAULT_AUDIO_CODECS: [
|
|
1861
|
+
EME_DEFAULT_AUDIO_CODECS: ['audio/mp4;codecs="mp4a.40.2"', "audio/webm;codecs=opus"],
|
|
1873
1862
|
/**
|
|
1874
1863
|
* Robustnesses used in the {audio,video}Capabilities of the
|
|
1875
1864
|
* MediaKeySystemConfiguration (DRM).
|
|
@@ -2198,21 +2187,6 @@ function deepMerge(target) {
|
|
|
2198
2187
|
return deepMerge.apply(void 0, [target].concat(sources));
|
|
2199
2188
|
}
|
|
2200
2189
|
;// CONCATENATED MODULE: ./src/config.ts
|
|
2201
|
-
/**
|
|
2202
|
-
* Copyright 2015 CANAL+ Group
|
|
2203
|
-
*
|
|
2204
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2205
|
-
* you may not use this file except in compliance with the License.
|
|
2206
|
-
* You may obtain a copy of the License at
|
|
2207
|
-
*
|
|
2208
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2209
|
-
*
|
|
2210
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
2211
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2212
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2213
|
-
* See the License for the specific language governing permissions and
|
|
2214
|
-
* limitations under the License.
|
|
2215
|
-
*/
|
|
2216
2190
|
|
|
2217
2191
|
|
|
2218
2192
|
var ConfigHandler = /*#__PURE__*/function () {
|
|
@@ -3171,6 +3145,8 @@ var media_error = __webpack_require__(5575);
|
|
|
3171
3145
|
var assert = __webpack_require__(7994);
|
|
3172
3146
|
// EXTERNAL MODULE: ./src/utils/is_null_or_undefined.ts
|
|
3173
3147
|
var is_null_or_undefined = __webpack_require__(6787);
|
|
3148
|
+
// EXTERNAL MODULE: ./src/utils/object_assign.ts
|
|
3149
|
+
var object_assign = __webpack_require__(8935);
|
|
3174
3150
|
// EXTERNAL MODULE: ./src/compat/browser_detection.ts
|
|
3175
3151
|
var browser_detection = __webpack_require__(443);
|
|
3176
3152
|
// EXTERNAL MODULE: ./src/compat/event_listeners.ts
|
|
@@ -3782,9 +3758,7 @@ function getWebKitFairPlayInitData(initDataBytes, serverCertificateBytes) {
|
|
|
3782
3758
|
var contentIdStr = skdIndexInInitData > -1 ? initDataUri.substring(skdIndexInInitData + 6) : initDataUri;
|
|
3783
3759
|
var id = (0,string_parsing/* strToUtf16LE */.kY)(contentIdStr);
|
|
3784
3760
|
var offset = 0;
|
|
3785
|
-
var res = new Uint8Array(initData.byteLength
|
|
3786
|
-
/* id length */ + 4 + id.byteLength
|
|
3787
|
-
/* certificate length */ + 4 + serverCertificate.byteLength);
|
|
3761
|
+
var res = new Uint8Array(initData.byteLength + /* id length */4 + id.byteLength + /* certificate length */4 + serverCertificate.byteLength);
|
|
3788
3762
|
res.set(initData);
|
|
3789
3763
|
offset += initData.length;
|
|
3790
3764
|
res.set((0,byte_parsing/* itole4 */.Wz)(id.byteLength), offset);
|
|
@@ -4050,6 +4024,7 @@ function getWebKitMediaKeysCallbacks() {
|
|
|
4050
4024
|
|
|
4051
4025
|
|
|
4052
4026
|
|
|
4027
|
+
|
|
4053
4028
|
/**
|
|
4054
4029
|
* Automatically detect and set which EME implementation should be used in the
|
|
4055
4030
|
* current platform.
|
|
@@ -4083,8 +4058,8 @@ function getEmeApiImplementation(preferredApiType) {
|
|
|
4083
4058
|
var isTypeSupported;
|
|
4084
4059
|
var createCustomMediaKeys;
|
|
4085
4060
|
if (preferredApiType === "webkit" && WebKitMediaKeysConstructor !== undefined) {
|
|
4086
|
-
onEncrypted = (0,event_listeners/* createCompatibleEventListener */.jf)(["needkey"]);
|
|
4087
4061
|
var callbacks = getWebKitMediaKeysCallbacks();
|
|
4062
|
+
onEncrypted = createOnEncryptedForWebkit();
|
|
4088
4063
|
isTypeSupported = callbacks.isTypeSupported;
|
|
4089
4064
|
createCustomMediaKeys = callbacks.createCustomMediaKeys;
|
|
4090
4065
|
setMediaKeys = callbacks.setMediaKeys;
|
|
@@ -4100,7 +4075,7 @@ function getEmeApiImplementation(preferredApiType) {
|
|
|
4100
4075
|
implementation = "older-webkit";
|
|
4101
4076
|
// This is for WebKit with prefixed EME api
|
|
4102
4077
|
} else if (WebKitMediaKeysConstructor !== undefined) {
|
|
4103
|
-
onEncrypted = (
|
|
4078
|
+
onEncrypted = createOnEncryptedForWebkit();
|
|
4104
4079
|
var _callbacks2 = getWebKitMediaKeysCallbacks();
|
|
4105
4080
|
isTypeSupported = _callbacks2.isTypeSupported;
|
|
4106
4081
|
createCustomMediaKeys = _callbacks2.createCustomMediaKeys;
|
|
@@ -4187,6 +4162,22 @@ function getEmeApiImplementation(preferredApiType) {
|
|
|
4187
4162
|
implementation: implementation
|
|
4188
4163
|
};
|
|
4189
4164
|
}
|
|
4165
|
+
/**
|
|
4166
|
+
* Create an event listener for the "webkitneedkey" event
|
|
4167
|
+
* @returns
|
|
4168
|
+
*/
|
|
4169
|
+
function createOnEncryptedForWebkit() {
|
|
4170
|
+
var compatibleEventListener = (0,event_listeners/* createCompatibleEventListener */.jf)(["needkey"], undefined /* prefixes */);
|
|
4171
|
+
var onEncrypted = function onEncrypted(target, listener, cancelSignal) {
|
|
4172
|
+
compatibleEventListener(target, function (event) {
|
|
4173
|
+
var patchedEvent = (0,object_assign/* default */.A)(event, {
|
|
4174
|
+
forceSessionRecreation: true
|
|
4175
|
+
});
|
|
4176
|
+
listener(patchedEvent);
|
|
4177
|
+
}, cancelSignal);
|
|
4178
|
+
};
|
|
4179
|
+
return onEncrypted;
|
|
4180
|
+
}
|
|
4190
4181
|
/**
|
|
4191
4182
|
* Set the given MediaKeys on the given HTMLMediaElement.
|
|
4192
4183
|
* Emits null when done then complete.
|
|
@@ -4292,6 +4283,7 @@ var PSSH_TO_INTEGER = (0,byte_parsing/* be4toi */.mq)((0,string_parsing/* strToU
|
|
|
4292
4283
|
|
|
4293
4284
|
|
|
4294
4285
|
|
|
4286
|
+
|
|
4295
4287
|
/**
|
|
4296
4288
|
* Take in input initialization data from an encrypted event and generate the
|
|
4297
4289
|
* corresponding array of initialization data values from it.
|
|
@@ -4381,8 +4373,9 @@ function isPSSHAlreadyEncountered(encounteredPSSHs, pssh) {
|
|
|
4381
4373
|
*/
|
|
4382
4374
|
function getInitData(encryptedEvent) {
|
|
4383
4375
|
var initData = encryptedEvent.initData,
|
|
4384
|
-
initDataType = encryptedEvent.initDataType
|
|
4385
|
-
|
|
4376
|
+
initDataType = encryptedEvent.initDataType,
|
|
4377
|
+
forceSessionRecreation = encryptedEvent.forceSessionRecreation;
|
|
4378
|
+
if ((0,is_null_or_undefined/* default */.A)(initData)) {
|
|
4386
4379
|
log/* default */.A.warn("Compat: No init data found on media encrypted event.");
|
|
4387
4380
|
return null;
|
|
4388
4381
|
}
|
|
@@ -4390,7 +4383,8 @@ function getInitData(encryptedEvent) {
|
|
|
4390
4383
|
var values = getInitializationDataValues(initDataBytes);
|
|
4391
4384
|
return {
|
|
4392
4385
|
type: initDataType,
|
|
4393
|
-
values: values
|
|
4386
|
+
values: values,
|
|
4387
|
+
forceSessionRecreation: forceSessionRecreation
|
|
4394
4388
|
};
|
|
4395
4389
|
}
|
|
4396
4390
|
// EXTERNAL MODULE: ./src/config.ts + 2 modules
|
|
@@ -4454,11 +4448,11 @@ function attachMediaKeys(_x, _x2, _x3) {
|
|
|
4454
4448
|
}
|
|
4455
4449
|
function _attachMediaKeys() {
|
|
4456
4450
|
_attachMediaKeys = (0,asyncToGenerator/* default */.A)( /*#__PURE__*/regenerator_default().mark(function _callee(mediaElement, _ref, cancelSignal) {
|
|
4457
|
-
var emeImplementation, keySystemOptions, loadedSessionsStore, mediaKeySystemAccess, mediaKeys, previousState, closeAllSessions;
|
|
4451
|
+
var emeImplementation, keySystemOptions, askedConfiguration, loadedSessionsStore, mediaKeySystemAccess, mediaKeys, previousState, closeAllSessions;
|
|
4458
4452
|
return regenerator_default().wrap(function _callee$(_context) {
|
|
4459
4453
|
while (1) switch (_context.prev = _context.next) {
|
|
4460
4454
|
case 0:
|
|
4461
|
-
emeImplementation = _ref.emeImplementation, keySystemOptions = _ref.keySystemOptions, loadedSessionsStore = _ref.loadedSessionsStore, mediaKeySystemAccess = _ref.mediaKeySystemAccess, mediaKeys = _ref.mediaKeys;
|
|
4455
|
+
emeImplementation = _ref.emeImplementation, keySystemOptions = _ref.keySystemOptions, askedConfiguration = _ref.askedConfiguration, loadedSessionsStore = _ref.loadedSessionsStore, mediaKeySystemAccess = _ref.mediaKeySystemAccess, mediaKeys = _ref.mediaKeys;
|
|
4462
4456
|
previousState = media_keys_infos_store/* default */.A.getState(mediaElement);
|
|
4463
4457
|
closeAllSessions = previousState !== null && previousState.loadedSessionsStore !== loadedSessionsStore ? previousState.loadedSessionsStore.closeAllSessions() : Promise.resolve();
|
|
4464
4458
|
_context.next = 5;
|
|
@@ -4475,7 +4469,8 @@ function _attachMediaKeys() {
|
|
|
4475
4469
|
keySystemOptions: keySystemOptions,
|
|
4476
4470
|
mediaKeySystemAccess: mediaKeySystemAccess,
|
|
4477
4471
|
mediaKeys: mediaKeys,
|
|
4478
|
-
loadedSessionsStore: loadedSessionsStore
|
|
4472
|
+
loadedSessionsStore: loadedSessionsStore,
|
|
4473
|
+
askedConfiguration: askedConfiguration
|
|
4479
4474
|
});
|
|
4480
4475
|
if (!(mediaElement.mediaKeys === mediaKeys)) {
|
|
4481
4476
|
_context.next = 10;
|
|
@@ -4906,7 +4901,10 @@ function _createOrLoadSession() {
|
|
|
4906
4901
|
throw cancelSignal.cancellationError;
|
|
4907
4902
|
case 16:
|
|
4908
4903
|
_context.next = 18;
|
|
4909
|
-
return cleanOldLoadedSessions(loadedSessionsStore,
|
|
4904
|
+
return cleanOldLoadedSessions(loadedSessionsStore,
|
|
4905
|
+
// Account for the next session we will be creating
|
|
4906
|
+
// Note that `maxSessionCacheSize < 0 has special semantic (no limit)`
|
|
4907
|
+
maxSessionCacheSize <= 0 ? maxSessionCacheSize : maxSessionCacheSize - 1);
|
|
4910
4908
|
case 18:
|
|
4911
4909
|
if (!(cancelSignal.cancellationError !== null)) {
|
|
4912
4910
|
_context.next = 20;
|
|
@@ -5032,7 +5030,7 @@ function canRelyOnRequestMediaKeySystemAccess(keySystem) {
|
|
|
5032
5030
|
* the CDM is capable of creating a session and generating a request.
|
|
5033
5031
|
*/
|
|
5034
5032
|
var DUMMY_PLAY_READY_HEADER = /* eslint-disable-next-line max-len */
|
|
5035
|
-
|
|
5033
|
+
'<WRMHEADER xmlns="http://schemas.microsoft.com/DRM/2007/03/PlayReadyHeader" version="4.0.0.0"><DATA><PROTECTINFO><KEYLEN>16</KEYLEN><ALGID>AESCTR</ALGID></PROTECTINFO><KID>ckB07BNLskeUq0qd83fTbA==</KID><DS_ID>yYIPDBca1kmMfL60IsfgAQ==</DS_ID><CUSTOMATTRIBUTES xmlns=""><encryptionref>312_4024_2018127108</encryptionref></CUSTOMATTRIBUTES><CHECKSUM>U/tsUYRgMzw=</CHECKSUM></DATA></WRMHEADER>';
|
|
5036
5034
|
/**
|
|
5037
5035
|
* Generate the "cenc" init data for playready from the PlayreadyHeader string.
|
|
5038
5036
|
* @param {string} playreadyHeader - String representing the PlayreadyHeader XML.
|
|
@@ -5057,8 +5055,7 @@ function generatePlayReadyInitData(playreadyHeader) {
|
|
|
5057
5055
|
// 2 bytes for record type
|
|
5058
5056
|
recordLength,
|
|
5059
5057
|
// 2 bytes for record length
|
|
5060
|
-
recordValueEncoded
|
|
5061
|
-
);
|
|
5058
|
+
recordValueEncoded);
|
|
5062
5059
|
/** the systemId is define at https://dashif.org/identifiers/content_protection/ */
|
|
5063
5060
|
var playreadySystemId = (0,string_parsing/* hexToBytes */.aT)("9a04f07998404286ab92e65be0885f95");
|
|
5064
5061
|
return generateInitData(playReadyObject, playreadySystemId);
|
|
@@ -5085,8 +5082,7 @@ function generateInitData(data, systemId) {
|
|
|
5085
5082
|
// 16 bytes for the systemId
|
|
5086
5083
|
sizeOfData,
|
|
5087
5084
|
// 4 bytes for the data size
|
|
5088
|
-
data
|
|
5089
|
-
);
|
|
5085
|
+
data);
|
|
5090
5086
|
}
|
|
5091
5087
|
// EXTERNAL MODULE: ./src/utils/flat_map.ts
|
|
5092
5088
|
var flat_map = __webpack_require__(3262);
|
|
@@ -5121,11 +5117,12 @@ var flat_map = __webpack_require__(3262);
|
|
|
5121
5117
|
|
|
5122
5118
|
/**
|
|
5123
5119
|
* @param {Array.<Object>} keySystems
|
|
5120
|
+
* @param {Object} askedConfiguration
|
|
5124
5121
|
* @param {MediaKeySystemAccess} currentKeySystemAccess
|
|
5125
5122
|
* @param {Object} currentKeySystemOptions
|
|
5126
5123
|
* @returns {null|Object}
|
|
5127
5124
|
*/
|
|
5128
|
-
function checkCachedMediaKeySystemAccess(keySystems, currentKeySystemAccess, currentKeySystemOptions) {
|
|
5125
|
+
function checkCachedMediaKeySystemAccess(keySystems, askedConfiguration, currentKeySystemAccess, currentKeySystemOptions) {
|
|
5129
5126
|
var mksConfiguration = currentKeySystemAccess.getConfiguration();
|
|
5130
5127
|
if (shouldRenewMediaKeySystemAccess() || mksConfiguration == null) {
|
|
5131
5128
|
return null;
|
|
@@ -5146,7 +5143,8 @@ function checkCachedMediaKeySystemAccess(keySystems, currentKeySystemAccess, cur
|
|
|
5146
5143
|
if (firstCompatibleOption != null) {
|
|
5147
5144
|
return {
|
|
5148
5145
|
keySystemOptions: firstCompatibleOption,
|
|
5149
|
-
keySystemAccess: currentKeySystemAccess
|
|
5146
|
+
keySystemAccess: currentKeySystemAccess,
|
|
5147
|
+
askedConfiguration: askedConfiguration
|
|
5150
5148
|
};
|
|
5151
5149
|
}
|
|
5152
5150
|
return null;
|
|
@@ -5268,6 +5266,10 @@ function buildKeySystemConfigurations(ksName, ksType, keySystem) {
|
|
|
5268
5266
|
persistentState: persistentState,
|
|
5269
5267
|
sessionTypes: sessionTypes
|
|
5270
5268
|
};
|
|
5269
|
+
if (!(0,is_null_or_undefined/* default */.A)(keySystem.audioRobustnesses) || !(0,is_null_or_undefined/* default */.A)(keySystem.videoRobustnesses)) {
|
|
5270
|
+
// If the user specifically asked for robustnesses, we don't want to try without them
|
|
5271
|
+
return [wantedMediaKeySystemConfiguration];
|
|
5272
|
+
}
|
|
5271
5273
|
return [wantedMediaKeySystemConfiguration,
|
|
5272
5274
|
// Some legacy implementations have issues with `audioCapabilities` and
|
|
5273
5275
|
// `videoCapabilities`, so we're including a supplementary
|
|
@@ -5300,13 +5302,14 @@ function getMediaKeySystemAccess(mediaElement, keySystemsConfigs, cancelSignal)
|
|
|
5300
5302
|
if (eme.implementation === currentState.emeImplementation.implementation) {
|
|
5301
5303
|
// Fast way to find a compatible keySystem if the currently loaded
|
|
5302
5304
|
// one as exactly the same compatibility options.
|
|
5303
|
-
var cachedKeySystemAccess = checkCachedMediaKeySystemAccess(keySystemsConfigs, currentState.mediaKeySystemAccess, currentState.keySystemOptions);
|
|
5305
|
+
var cachedKeySystemAccess = checkCachedMediaKeySystemAccess(keySystemsConfigs, currentState.askedConfiguration, currentState.mediaKeySystemAccess, currentState.keySystemOptions);
|
|
5304
5306
|
if (cachedKeySystemAccess !== null) {
|
|
5305
5307
|
log/* default */.A.info("DRM: Found cached compatible keySystem");
|
|
5306
5308
|
return Promise.resolve({
|
|
5307
5309
|
type: "reuse-media-key-system-access",
|
|
5308
5310
|
value: {
|
|
5309
5311
|
mediaKeySystemAccess: cachedKeySystemAccess.keySystemAccess,
|
|
5312
|
+
askedConfiguration: cachedKeySystemAccess.askedConfiguration,
|
|
5310
5313
|
options: cachedKeySystemAccess.keySystemOptions
|
|
5311
5314
|
}
|
|
5312
5315
|
});
|
|
@@ -5362,7 +5365,7 @@ function getMediaKeySystemAccess(mediaElement, keySystemsConfigs, cancelSignal)
|
|
|
5362
5365
|
}
|
|
5363
5366
|
function _recursivelyTestKeySystems() {
|
|
5364
5367
|
_recursivelyTestKeySystems = (0,asyncToGenerator/* default */.A)( /*#__PURE__*/regenerator_default().mark(function _callee(index) {
|
|
5365
|
-
var _keySystemsType$index, keyName, keyType, keySystemOptions, keySystemConfigurations, keySystemAccess;
|
|
5368
|
+
var _keySystemsType$index, keyName, keyType, keySystemOptions, keySystemConfigurations, keySystemAccess, configIdx, keySystemConfiguration;
|
|
5366
5369
|
return regenerator_default().wrap(function _callee$(_context) {
|
|
5367
5370
|
while (1) switch (_context.prev = _context.next) {
|
|
5368
5371
|
case 0:
|
|
@@ -5381,35 +5384,47 @@ function getMediaKeySystemAccess(mediaElement, keySystemsConfigs, cancelSignal)
|
|
|
5381
5384
|
_keySystemsType$index = keySystemsType[index], keyName = _keySystemsType$index.keyName, keyType = _keySystemsType$index.keyType, keySystemOptions = _keySystemsType$index.keySystemOptions;
|
|
5382
5385
|
keySystemConfigurations = buildKeySystemConfigurations(keyName, keyType, keySystemOptions);
|
|
5383
5386
|
log/* default */.A.debug("DRM: Request keysystem access " + keyType + "," + (index + 1 + " of " + keySystemsType.length));
|
|
5384
|
-
|
|
5385
|
-
|
|
5386
|
-
|
|
5387
|
-
|
|
5387
|
+
configIdx = 0;
|
|
5388
|
+
case 8:
|
|
5389
|
+
if (!(configIdx < keySystemConfigurations.length)) {
|
|
5390
|
+
_context.next = 26;
|
|
5391
|
+
break;
|
|
5392
|
+
}
|
|
5393
|
+
keySystemConfiguration = keySystemConfigurations[configIdx];
|
|
5394
|
+
_context.prev = 10;
|
|
5395
|
+
_context.next = 13;
|
|
5396
|
+
return testKeySystem(keyType, [keySystemConfiguration]);
|
|
5397
|
+
case 13:
|
|
5388
5398
|
keySystemAccess = _context.sent;
|
|
5389
5399
|
log/* default */.A.info("DRM: Found compatible keysystem", keyType, index + 1);
|
|
5390
5400
|
return _context.abrupt("return", {
|
|
5391
5401
|
type: "create-media-key-system-access",
|
|
5392
5402
|
value: {
|
|
5393
5403
|
options: keySystemOptions,
|
|
5404
|
+
askedConfiguration: keySystemConfiguration,
|
|
5394
5405
|
mediaKeySystemAccess: keySystemAccess
|
|
5395
5406
|
}
|
|
5396
5407
|
});
|
|
5397
|
-
case
|
|
5398
|
-
_context.prev =
|
|
5399
|
-
_context.t0 = _context["catch"](
|
|
5400
|
-
log/* default */.A.debug("DRM: Rejected access to keysystem", keyType, index + 1);
|
|
5408
|
+
case 18:
|
|
5409
|
+
_context.prev = 18;
|
|
5410
|
+
_context.t0 = _context["catch"](10);
|
|
5411
|
+
log/* default */.A.debug("DRM: Rejected access to keysystem", keyType, index + 1, configIdx);
|
|
5401
5412
|
if (!(cancelSignal.cancellationError !== null)) {
|
|
5402
|
-
_context.next =
|
|
5413
|
+
_context.next = 23;
|
|
5403
5414
|
break;
|
|
5404
5415
|
}
|
|
5405
5416
|
throw cancelSignal.cancellationError;
|
|
5406
|
-
case
|
|
5417
|
+
case 23:
|
|
5418
|
+
configIdx++;
|
|
5419
|
+
_context.next = 8;
|
|
5420
|
+
break;
|
|
5421
|
+
case 26:
|
|
5407
5422
|
return _context.abrupt("return", recursivelyTestKeySystems(index + 1));
|
|
5408
|
-
case
|
|
5423
|
+
case 27:
|
|
5409
5424
|
case "end":
|
|
5410
5425
|
return _context.stop();
|
|
5411
5426
|
}
|
|
5412
|
-
}, _callee, null, [[
|
|
5427
|
+
}, _callee, null, [[10, 18]]);
|
|
5413
5428
|
}));
|
|
5414
5429
|
return _recursivelyTestKeySystems.apply(this, arguments);
|
|
5415
5430
|
}
|
|
@@ -5533,7 +5548,7 @@ function patchInitData(initData) {
|
|
|
5533
5548
|
}
|
|
5534
5549
|
var currentPSSH = initData.subarray(offset, offset + len);
|
|
5535
5550
|
// yep
|
|
5536
|
-
if (initData[offset + 12] === 0x10 && initData[offset + 13] === 0x77 && initData[offset + 14] ===
|
|
5551
|
+
if (initData[offset + 12] === 0x10 && initData[offset + 13] === 0x77 && initData[offset + 14] === 0xef && initData[offset + 15] === 0xec && initData[offset + 16] === 0xc0 && initData[offset + 17] === 0xb2 && initData[offset + 18] === 0x4d && initData[offset + 19] === 0x02 && initData[offset + 20] === 0xac && initData[offset + 21] === 0xe3 && initData[offset + 22] === 0x3c && initData[offset + 23] === 0x1e && initData[offset + 24] === 0x52 && initData[offset + 25] === 0xe2 && initData[offset + 26] === 0xfb && initData[offset + 27] === 0x4b) {
|
|
5537
5552
|
var cencOffsets = (0,get_box/* getNextBoxOffsets */.fP)(currentPSSH);
|
|
5538
5553
|
var version = cencOffsets === null ? undefined : currentPSSH[cencOffsets[1]];
|
|
5539
5554
|
log/* default */.A.info("Compat: CENC PSSH found with version", version);
|
|
@@ -5588,7 +5603,7 @@ function generateKeyRequest(session, initializationDataType, initializationData)
|
|
|
5588
5603
|
// a rejected promise with a TypeError in that case).
|
|
5589
5604
|
// Retry with a default "cenc" value for initialization data type if
|
|
5590
5605
|
// we're in that condition.
|
|
5591
|
-
log/* default */.A.warn("Compat: error while calling `generateRequest` with an empty " +
|
|
5606
|
+
log/* default */.A.warn("Compat: error while calling `generateRequest` with an empty " + 'initialization data type. Retrying with a default "cenc" value.', error);
|
|
5592
5607
|
return session.generateRequest("cenc", patchedInit);
|
|
5593
5608
|
});
|
|
5594
5609
|
}
|
|
@@ -7329,7 +7344,7 @@ function getMediaKeysInfos(_x, _x2, _x3) {
|
|
|
7329
7344
|
*/
|
|
7330
7345
|
function _getMediaKeysInfos() {
|
|
7331
7346
|
_getMediaKeysInfos = (0,asyncToGenerator/* default */.A)( /*#__PURE__*/regenerator_default().mark(function _callee(mediaElement, keySystemsConfigs, cancelSignal) {
|
|
7332
|
-
var evt, _evt$value, options, mediaKeySystemAccess, currentState, persistentSessionsStore, _mediaKeys, _loadedSessionsStore, mediaKeys, loadedSessionsStore;
|
|
7347
|
+
var evt, _evt$value, options, mediaKeySystemAccess, askedConfiguration, currentState, persistentSessionsStore, _mediaKeys, _loadedSessionsStore, mediaKeys, loadedSessionsStore;
|
|
7333
7348
|
return regenerator_default().wrap(function _callee$(_context) {
|
|
7334
7349
|
while (1) switch (_context.prev = _context.next) {
|
|
7335
7350
|
case 0:
|
|
@@ -7343,7 +7358,7 @@ function _getMediaKeysInfos() {
|
|
|
7343
7358
|
}
|
|
7344
7359
|
throw cancelSignal.cancellationError;
|
|
7345
7360
|
case 5:
|
|
7346
|
-
_evt$value = evt.value, options = _evt$value.options, mediaKeySystemAccess = _evt$value.mediaKeySystemAccess;
|
|
7361
|
+
_evt$value = evt.value, options = _evt$value.options, mediaKeySystemAccess = _evt$value.mediaKeySystemAccess, askedConfiguration = _evt$value.askedConfiguration;
|
|
7347
7362
|
currentState = media_keys_infos_store/* default */.A.getState(mediaElement);
|
|
7348
7363
|
persistentSessionsStore = createPersistentSessionsStorage(options);
|
|
7349
7364
|
if (!(canReuseMediaKeys() && currentState !== null && evt.type === "reuse-media-key-system-access")) {
|
|
@@ -7360,6 +7375,7 @@ function _getMediaKeysInfos() {
|
|
|
7360
7375
|
return _context.abrupt("return", {
|
|
7361
7376
|
mediaKeys: _mediaKeys,
|
|
7362
7377
|
mediaKeySystemAccess: mediaKeySystemAccess,
|
|
7378
|
+
askedConfiguration: askedConfiguration,
|
|
7363
7379
|
stores: {
|
|
7364
7380
|
loadedSessionsStore: _loadedSessionsStore,
|
|
7365
7381
|
persistentSessionsStore: persistentSessionsStore
|
|
@@ -7376,6 +7392,7 @@ function _getMediaKeysInfos() {
|
|
|
7376
7392
|
return _context.abrupt("return", {
|
|
7377
7393
|
mediaKeys: mediaKeys,
|
|
7378
7394
|
mediaKeySystemAccess: mediaKeySystemAccess,
|
|
7395
|
+
askedConfiguration: askedConfiguration,
|
|
7379
7396
|
stores: {
|
|
7380
7397
|
loadedSessionsStore: loadedSessionsStore,
|
|
7381
7398
|
persistentSessionsStore: persistentSessionsStore
|
|
@@ -7858,6 +7875,7 @@ function SessionEventsListener(session, keySystemOptions, keySystem, callbacks,
|
|
|
7858
7875
|
session.closed.then(function () {
|
|
7859
7876
|
return manualCanceller.cancel();
|
|
7860
7877
|
})["catch"](function (err) {
|
|
7878
|
+
// Should never happen
|
|
7861
7879
|
if (cancelSignal.isCancelled()) {
|
|
7862
7880
|
return;
|
|
7863
7881
|
}
|
|
@@ -8655,7 +8673,8 @@ var ContentDecryptor = /*#__PURE__*/function (_EventEmitter) {
|
|
|
8655
8673
|
var options = mediaKeysInfo.options,
|
|
8656
8674
|
mediaKeys = mediaKeysInfo.mediaKeys,
|
|
8657
8675
|
mediaKeySystemAccess = mediaKeysInfo.mediaKeySystemAccess,
|
|
8658
|
-
stores = mediaKeysInfo.stores
|
|
8676
|
+
stores = mediaKeysInfo.stores,
|
|
8677
|
+
askedConfiguration = mediaKeysInfo.askedConfiguration;
|
|
8659
8678
|
var shouldDisableLock = options.disableMediaKeysAttachmentLock === true;
|
|
8660
8679
|
if (shouldDisableLock) {
|
|
8661
8680
|
this._stateData = {
|
|
@@ -8679,6 +8698,7 @@ var ContentDecryptor = /*#__PURE__*/function (_EventEmitter) {
|
|
|
8679
8698
|
loadedSessionsStore: stores.loadedSessionsStore,
|
|
8680
8699
|
mediaKeySystemAccess: mediaKeySystemAccess,
|
|
8681
8700
|
mediaKeys: mediaKeys,
|
|
8701
|
+
askedConfiguration: askedConfiguration,
|
|
8682
8702
|
keySystemOptions: options
|
|
8683
8703
|
};
|
|
8684
8704
|
log/* default */.A.debug("DRM: Attaching current MediaKeys");
|
|
@@ -8922,7 +8942,7 @@ var ContentDecryptor = /*#__PURE__*/function (_EventEmitter) {
|
|
|
8922
8942
|
if (options.persistentLicense !== true) {
|
|
8923
8943
|
wantedSessionType = "temporary";
|
|
8924
8944
|
} else if (!canCreatePersistentSession(mediaKeySystemAccess)) {
|
|
8925
|
-
log/* default */.A.warn(
|
|
8945
|
+
log/* default */.A.warn('DRM: Cannot create "persistent-license" session: not supported');
|
|
8926
8946
|
wantedSessionType = "temporary";
|
|
8927
8947
|
} else {
|
|
8928
8948
|
wantedSessionType = "persistent-license";
|
|
@@ -9077,6 +9097,21 @@ var ContentDecryptor = /*#__PURE__*/function (_EventEmitter) {
|
|
|
9077
9097
|
if (compatibleSessionInfo === undefined) {
|
|
9078
9098
|
return false;
|
|
9079
9099
|
}
|
|
9100
|
+
/**
|
|
9101
|
+
* On Safari using Directfile, the old EME implementation triggers
|
|
9102
|
+
* the "webkitneedkey" event instead of "encrypted". There's an issue in
|
|
9103
|
+
* Safari where "webkitneedkey" fires too early before all tracks are added
|
|
9104
|
+
* from an HLS playlist.
|
|
9105
|
+
* Safari incorrectly assumes some keys are missing for these tracks,
|
|
9106
|
+
* leading to repeated "webkitneedkey" events. Because RxPlayer recognizes
|
|
9107
|
+
* it already has a session for these keys and ignores the events,
|
|
9108
|
+
* the content remains frozen. To resolve this, the session is re-created.
|
|
9109
|
+
*/
|
|
9110
|
+
var forceSessionRecreation = initializationData.forceSessionRecreation;
|
|
9111
|
+
if (forceSessionRecreation === true) {
|
|
9112
|
+
this.removeSessionForInitData(initializationData, mediaKeysData);
|
|
9113
|
+
return false;
|
|
9114
|
+
}
|
|
9080
9115
|
// Check if the compatible session is blacklisted
|
|
9081
9116
|
var blacklistedSessionError = compatibleSessionInfo.blacklistedSessionError;
|
|
9082
9117
|
if (!(0,is_null_or_undefined/* default */.A)(blacklistedSessionError)) {
|
|
@@ -9148,6 +9183,39 @@ var ContentDecryptor = /*#__PURE__*/function (_EventEmitter) {
|
|
|
9148
9183
|
}
|
|
9149
9184
|
return false;
|
|
9150
9185
|
}
|
|
9186
|
+
/**
|
|
9187
|
+
* Remove the session corresponding to the initData provided, and close it.
|
|
9188
|
+
* It does nothing if no session was found for this initData.
|
|
9189
|
+
* @param {Object} initData : The initialization data corresponding to the session
|
|
9190
|
+
* that need to be removed
|
|
9191
|
+
* @param {Object} mediaKeysData : The media keys data
|
|
9192
|
+
*/;
|
|
9193
|
+
_proto.removeSessionForInitData = function removeSessionForInitData(initData, mediaKeysData) {
|
|
9194
|
+
var stores = mediaKeysData.stores;
|
|
9195
|
+
/** Remove the session and close it from the loadedSessionStore */
|
|
9196
|
+
var entry = stores.loadedSessionsStore.reuse(initData);
|
|
9197
|
+
if (entry !== null) {
|
|
9198
|
+
stores.loadedSessionsStore.closeSession(entry.mediaKeySession)["catch"](function () {
|
|
9199
|
+
return log/* default */.A.error("DRM: Cannot close the session from the loaded session store");
|
|
9200
|
+
});
|
|
9201
|
+
}
|
|
9202
|
+
/**
|
|
9203
|
+
* If set, a currently-used key session is already compatible to this
|
|
9204
|
+
* initialization data.
|
|
9205
|
+
*/
|
|
9206
|
+
var compatibleSessionInfo = (0,array_find/* default */.A)(this._currentSessions, function (x) {
|
|
9207
|
+
return x.record.isCompatibleWith(initData);
|
|
9208
|
+
});
|
|
9209
|
+
if (compatibleSessionInfo === undefined) {
|
|
9210
|
+
return;
|
|
9211
|
+
}
|
|
9212
|
+
/** Remove the session from the currentSessions */
|
|
9213
|
+
var indexOf = this._currentSessions.indexOf(compatibleSessionInfo);
|
|
9214
|
+
if (indexOf !== -1) {
|
|
9215
|
+
log/* default */.A.debug("DRM: A session from a processed init is removed " + "due to forceSessionRecreation policy.");
|
|
9216
|
+
this._currentSessions.splice(indexOf, 1);
|
|
9217
|
+
}
|
|
9218
|
+
}
|
|
9151
9219
|
/**
|
|
9152
9220
|
* Callback that should be called if an error that made the current
|
|
9153
9221
|
* `ContentDecryptor` instance unusable arised.
|
|
@@ -9892,21 +9960,27 @@ function getDirectFileInitialTime(mediaElement, startAt) {
|
|
|
9892
9960
|
}
|
|
9893
9961
|
var duration = mediaElement.duration;
|
|
9894
9962
|
if (typeof startAt.fromLastPosition === "number") {
|
|
9895
|
-
if ((0,_utils_is_null_or_undefined__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .A)(duration)
|
|
9896
|
-
|
|
9897
|
-
|
|
9963
|
+
if (!(0,_utils_is_null_or_undefined__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .A)(duration) && isFinite(duration)) {
|
|
9964
|
+
return Math.max(0, duration + startAt.fromLastPosition);
|
|
9965
|
+
}
|
|
9966
|
+
if (mediaElement.seekable.length > 0) {
|
|
9967
|
+
var lastSegmentEnd = mediaElement.seekable.end(mediaElement.seekable.length - 1);
|
|
9968
|
+
if (isFinite(lastSegmentEnd)) {
|
|
9969
|
+
return Math.max(0, lastSegmentEnd + startAt.fromLastPosition);
|
|
9970
|
+
}
|
|
9898
9971
|
}
|
|
9899
|
-
|
|
9972
|
+
_log__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.warn("Init: startAt.fromLastPosition set but no known duration, " + "it may be too soon to seek");
|
|
9973
|
+
return undefined;
|
|
9900
9974
|
} else if (typeof startAt.fromLivePosition === "number") {
|
|
9901
9975
|
var livePosition = mediaElement.seekable.length > 0 ? mediaElement.seekable.end(0) : duration;
|
|
9902
9976
|
if ((0,_utils_is_null_or_undefined__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .A)(livePosition)) {
|
|
9903
|
-
_log__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.warn("startAt.fromLivePosition set but no known live position, " + "beginning at 0.");
|
|
9977
|
+
_log__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.warn("Init: startAt.fromLivePosition set but no known live position, " + "beginning at 0.");
|
|
9904
9978
|
return 0;
|
|
9905
9979
|
}
|
|
9906
9980
|
return Math.max(0, livePosition + startAt.fromLivePosition);
|
|
9907
9981
|
} else if (startAt.percentage != null) {
|
|
9908
9982
|
if ((0,_utils_is_null_or_undefined__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .A)(duration) || !isFinite(duration)) {
|
|
9909
|
-
_log__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.warn("startAt.percentage set but no known duration, " + "beginning at 0.");
|
|
9983
|
+
_log__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.warn("Init: startAt.percentage set but no known duration, " + "beginning at 0.");
|
|
9910
9984
|
return 0;
|
|
9911
9985
|
}
|
|
9912
9986
|
var percentage = startAt.percentage;
|
|
@@ -12810,9 +12884,9 @@ var ManifestFetcher = /*#__PURE__*/function (_EventEmitter) {
|
|
|
12810
12884
|
var externalClockOffset = manifest.clockOffset;
|
|
12811
12885
|
if (unsafeMode) {
|
|
12812
12886
|
this._consecutiveUnsafeMode += 1;
|
|
12813
|
-
log/* default */.A.info(
|
|
12887
|
+
log/* default */.A.info('Init: Refreshing the Manifest in "unsafeMode" for the ' + String(this._consecutiveUnsafeMode) + " consecutive time.");
|
|
12814
12888
|
} else if (this._consecutiveUnsafeMode > 0) {
|
|
12815
|
-
log/* default */.A.info(
|
|
12889
|
+
log/* default */.A.info('Init: Not parsing the Manifest in "unsafeMode" anymore after ' + String(this._consecutiveUnsafeMode) + " consecutive times.");
|
|
12816
12890
|
this._consecutiveUnsafeMode = 0;
|
|
12817
12891
|
}
|
|
12818
12892
|
if (this._isRefreshPending) {
|
|
@@ -14458,6 +14532,7 @@ function assertDataIsBufferSource(data) {
|
|
|
14458
14532
|
|
|
14459
14533
|
|
|
14460
14534
|
|
|
14535
|
+
|
|
14461
14536
|
var POSSIBLE_BUFFER_TYPES = ["audio", "video", "text", "image"];
|
|
14462
14537
|
/**
|
|
14463
14538
|
* Allows to easily create and dispose SegmentBuffers, which are interfaces to
|
|
@@ -14619,9 +14694,10 @@ var SegmentBuffersStore = /*#__PURE__*/function () {
|
|
|
14619
14694
|
}
|
|
14620
14695
|
this._initializedSegmentBuffers[bufferType] = null;
|
|
14621
14696
|
if (SegmentBuffersStore.isNative(bufferType)) {
|
|
14622
|
-
this._onNativeBufferAddedOrDisabled.forEach(function (cb) {
|
|
14697
|
+
this._onNativeBufferAddedOrDisabled.slice().forEach(function (cb) {
|
|
14623
14698
|
return cb();
|
|
14624
14699
|
});
|
|
14700
|
+
(0,assert/* default */.h)(this._onNativeBufferAddedOrDisabled.length === 0);
|
|
14625
14701
|
}
|
|
14626
14702
|
}
|
|
14627
14703
|
/**
|
|
@@ -14654,9 +14730,10 @@ var SegmentBuffersStore = /*#__PURE__*/function () {
|
|
|
14654
14730
|
log/* default */.A.info("SB: Adding native SegmentBuffer with codec", codec);
|
|
14655
14731
|
var nativeSegmentBuffer = new audio_video(bufferType, codec, this._mediaSource);
|
|
14656
14732
|
this._initializedSegmentBuffers[bufferType] = nativeSegmentBuffer;
|
|
14657
|
-
this._onNativeBufferAddedOrDisabled.forEach(function (cb) {
|
|
14733
|
+
this._onNativeBufferAddedOrDisabled.slice().forEach(function (cb) {
|
|
14658
14734
|
return cb();
|
|
14659
14735
|
});
|
|
14736
|
+
(0,assert/* default */.h)(this._onNativeBufferAddedOrDisabled.length === 0);
|
|
14660
14737
|
return nativeSegmentBuffer;
|
|
14661
14738
|
}
|
|
14662
14739
|
if (memorizedSegmentBuffer != null) {
|
|
@@ -14832,7 +14909,6 @@ var sorted_list = __webpack_require__(7296);
|
|
|
14832
14909
|
* ```
|
|
14833
14910
|
* @class WeakMapMemory
|
|
14834
14911
|
*/
|
|
14835
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
14836
14912
|
var WeakMapMemory = /*#__PURE__*/function () {
|
|
14837
14913
|
/**
|
|
14838
14914
|
* @param {Function}
|
|
@@ -17527,7 +17603,7 @@ function AdaptationStream(_ref, callbacks, parentCancelSignal) {
|
|
|
17527
17603
|
var terminatingRepStreamCanceller = new task_canceller/* default */.Ay();
|
|
17528
17604
|
terminatingRepStreamCanceller.linkToSignal(adapStreamCanceller.signal);
|
|
17529
17605
|
var bufferGoal = (0,reference/* createMappedReference */.D)(wantedBufferAhead, function (prev) {
|
|
17530
|
-
return
|
|
17606
|
+
return getBufferGoal(representation, prev);
|
|
17531
17607
|
}, terminatingRepStreamCanceller.signal);
|
|
17532
17608
|
var maxBufferSize = adaptation.type === "video" ? maxVideoBufferSize : new reference/* default */.A(Infinity);
|
|
17533
17609
|
log/* default */.A.info("Stream: changing representation", adaptation.type, representation.id, representation.bitrate);
|
|
@@ -17545,10 +17621,11 @@ function AdaptationStream(_ref, callbacks, parentCancelSignal) {
|
|
|
17545
17621
|
var lastBufferGoalRatio = (_a = bufferGoalRatioMap.get(representation.id)) !== null && _a !== void 0 ? _a : 1;
|
|
17546
17622
|
// 70%, 49%, 34.3%, 24%, 16.81%, 11.76%, 8.24% and 5.76%
|
|
17547
17623
|
var newBufferGoalRatio = lastBufferGoalRatio * 0.7;
|
|
17548
|
-
if (newBufferGoalRatio <= 0.05 || wba * newBufferGoalRatio <= 2) {
|
|
17549
|
-
throw formattedError;
|
|
17550
|
-
}
|
|
17551
17624
|
bufferGoalRatioMap.set(representation.id, newBufferGoalRatio);
|
|
17625
|
+
if (newBufferGoalRatio <= 0.05 || getBufferGoal(representation, wba) <= 2) {
|
|
17626
|
+
representationStreamCallbacks.error(formattedError);
|
|
17627
|
+
return;
|
|
17628
|
+
}
|
|
17552
17629
|
// We wait 4 seconds to let the situation evolve by itself before
|
|
17553
17630
|
// retrying loading segments with a lower buffer goal
|
|
17554
17631
|
(0,cancellable_sleep/* default */.A)(4000, adapStreamCanceller.signal).then(function () {
|
|
@@ -17581,16 +17658,26 @@ function AdaptationStream(_ref, callbacks, parentCancelSignal) {
|
|
|
17581
17658
|
}, updatedCallbacks, adapStreamCanceller.signal);
|
|
17582
17659
|
}
|
|
17583
17660
|
/**
|
|
17584
|
-
*
|
|
17661
|
+
* Returns how much media data should be pre-buffered for this
|
|
17662
|
+
* `Representation`, according to the `wantedBufferAhead` setting and previous
|
|
17663
|
+
* issues encountered with that `Representation`.
|
|
17664
|
+
* @param {Object} representation - The `Representation` you want to buffer.
|
|
17665
|
+
* @param {number} wba - The value of `wantedBufferAhead` set by the user.
|
|
17585
17666
|
* @returns {number}
|
|
17586
17667
|
*/
|
|
17587
|
-
function
|
|
17668
|
+
function getBufferGoal(representation, wba) {
|
|
17588
17669
|
var oldBufferGoalRatio = bufferGoalRatioMap.get(representation.id);
|
|
17589
17670
|
var bufferGoalRatio = oldBufferGoalRatio !== undefined ? oldBufferGoalRatio : 1;
|
|
17590
17671
|
if (oldBufferGoalRatio === undefined) {
|
|
17591
17672
|
bufferGoalRatioMap.set(representation.id, bufferGoalRatio);
|
|
17592
17673
|
}
|
|
17593
|
-
|
|
17674
|
+
if (bufferGoalRatio < 1 && wba === Infinity) {
|
|
17675
|
+
// When `wba` is equal to `Infinity`, dividing it will still make it equal
|
|
17676
|
+
// to `Infinity`. To make the `bufferGoalRatio` still have an effect, we
|
|
17677
|
+
// just starts from a `wba` set to the high value of 5 minutes.
|
|
17678
|
+
return 5 * 60 * 1000 * bufferGoalRatio;
|
|
17679
|
+
}
|
|
17680
|
+
return wba * bufferGoalRatio;
|
|
17594
17681
|
}
|
|
17595
17682
|
}
|
|
17596
17683
|
;// CONCATENATED MODULE: ./src/core/stream/adaptation/index.ts
|
|
@@ -17661,7 +17748,11 @@ function areCodecsCompatible(a, b) {
|
|
|
17661
17748
|
}
|
|
17662
17749
|
var codecA = codecsA.substring(7);
|
|
17663
17750
|
var codecB = codecsB.substring(7);
|
|
17664
|
-
|
|
17751
|
+
var initialPartA = codecA.split(".")[0];
|
|
17752
|
+
initialPartA = initialPartA === "hev1" ? "hvc1" : initialPartA;
|
|
17753
|
+
var initialPartB = codecB.split(".")[0];
|
|
17754
|
+
initialPartB = initialPartB === "hev1" ? "hvc1" : initialPartB;
|
|
17755
|
+
if (initialPartA !== initialPartB) {
|
|
17665
17756
|
return false;
|
|
17666
17757
|
}
|
|
17667
17758
|
return true;
|
|
@@ -17775,16 +17866,15 @@ function getAdaptationSwitchStrategy(segmentBuffer, period, adaptation, playback
|
|
|
17775
17866
|
// Period (which overlap a little with this one)
|
|
17776
17867
|
/** Last segment before one for the current period. */
|
|
17777
17868
|
var lastSegmentBefore = getLastSegmentBeforePeriod(inventory, period);
|
|
17778
|
-
if (lastSegmentBefore !== null && (lastSegmentBefore.bufferedEnd === undefined || period.start - lastSegmentBefore.bufferedEnd < 1))
|
|
17869
|
+
if (lastSegmentBefore !== null && (lastSegmentBefore.bufferedEnd === undefined || period.start - lastSegmentBefore.bufferedEnd < 1)) {
|
|
17779
17870
|
// Close to Period's start
|
|
17780
|
-
|
|
17781
|
-
|
|
17782
|
-
|
|
17783
|
-
|
|
17784
|
-
|
|
17785
|
-
|
|
17786
|
-
|
|
17787
|
-
}
|
|
17871
|
+
// Exclude data close to the period's start to avoid cleaning
|
|
17872
|
+
// to much
|
|
17873
|
+
rangesToExclude.push({
|
|
17874
|
+
start: 0,
|
|
17875
|
+
end: period.start + 1
|
|
17876
|
+
});
|
|
17877
|
+
}
|
|
17788
17878
|
// Next, exclude data around current position to avoid decoding issues
|
|
17789
17879
|
var bufferType = adaptation.type;
|
|
17790
17880
|
var _config$getCurrent = config/* default */.A.getCurrent(),
|
|
@@ -17809,14 +17899,13 @@ function getAdaptationSwitchStrategy(segmentBuffer, period, adaptation, playback
|
|
|
17809
17899
|
if (period.end !== undefined) {
|
|
17810
17900
|
/** first segment after for the current period. */
|
|
17811
17901
|
var firstSegmentAfter = getFirstSegmentAfterPeriod(inventory, period);
|
|
17812
|
-
if (firstSegmentAfter !== null && (firstSegmentAfter.bufferedStart === undefined || firstSegmentAfter.bufferedStart - period.end < 1))
|
|
17902
|
+
if (firstSegmentAfter !== null && (firstSegmentAfter.bufferedStart === undefined || firstSegmentAfter.bufferedStart - period.end < 1)) {
|
|
17813
17903
|
// Close to Period's end
|
|
17814
|
-
{
|
|
17815
|
-
|
|
17816
|
-
|
|
17817
|
-
|
|
17818
|
-
|
|
17819
|
-
}
|
|
17904
|
+
rangesToExclude.push({
|
|
17905
|
+
start: period.end - 1,
|
|
17906
|
+
end: Number.MAX_VALUE
|
|
17907
|
+
});
|
|
17908
|
+
}
|
|
17820
17909
|
}
|
|
17821
17910
|
var toRemove = (0,ranges/* excludeFromRanges */.bo)(unwantedRange, rangesToExclude);
|
|
17822
17911
|
if (toRemove.length === 0) {
|
|
@@ -18353,7 +18442,7 @@ function createEmptyAdaptationStream(playbackObserver, wantedBufferAhead, buffer
|
|
|
18353
18442
|
var wba = wantedBufferAhead.getValue();
|
|
18354
18443
|
var position = observation.position.last;
|
|
18355
18444
|
if (period.end !== undefined && position + wba >= period.end) {
|
|
18356
|
-
log/* default */.A.debug(
|
|
18445
|
+
log/* default */.A.debug('Stream: full "empty" AdaptationStream', bufferType);
|
|
18357
18446
|
hasFinishedLoading = true;
|
|
18358
18447
|
}
|
|
18359
18448
|
callbacks.streamStatusUpdate({
|
|
@@ -21528,7 +21617,38 @@ function performInitialSeekAndPlay(mediaElement, playbackObserver, startTime, mu
|
|
|
21528
21617
|
// a sufficient `readyState` has been reached for directfile contents.
|
|
21529
21618
|
// So let's divide the two possibilities here.
|
|
21530
21619
|
var initialTime = typeof startTime === "function" ? startTime() : startTime;
|
|
21531
|
-
if (
|
|
21620
|
+
if (initialTime === undefined && isDirectfile && mediaElement.readyState < HTMLMediaElement.HAVE_CURRENT_DATA) {
|
|
21621
|
+
/**
|
|
21622
|
+
* The starting position may not be known yet.
|
|
21623
|
+
* Postpone the seek to a moment where the starting position should be known,
|
|
21624
|
+
* assumely it's when readyState is greater or equal to HAVE_CURRENT_DATA (2).
|
|
21625
|
+
* If the initiallySeekedTime is still `undefined` when the readyState is >= 2,
|
|
21626
|
+
* let assume that the initiallySeekedTime will never be known and continue
|
|
21627
|
+
* the logic without seeking.
|
|
21628
|
+
*/
|
|
21629
|
+
playbackObserver.listen(function (obs, stopListening) {
|
|
21630
|
+
if (obs.readyState >= HTMLMediaElement.HAVE_CURRENT_DATA) {
|
|
21631
|
+
var observationInitialTime = typeof startTime === "function" ? startTime() : startTime;
|
|
21632
|
+
if (observationInitialTime === undefined) {
|
|
21633
|
+
initialSeekPerformed.setValue(true);
|
|
21634
|
+
initialSeekPerformed.finish();
|
|
21635
|
+
} else if (isDirectfile && browser_detection/* isSafariMobile */.dX) {
|
|
21636
|
+
// On safari mobile (version 17.1.2) seeking too early cause the video
|
|
21637
|
+
// to never buffer media data. Using setTimeout 0 defers the seek
|
|
21638
|
+
// to a moment at which safari should be more able to handle a seek.
|
|
21639
|
+
setTimeout(function () {
|
|
21640
|
+
performInitialSeek(observationInitialTime);
|
|
21641
|
+
}, 0);
|
|
21642
|
+
} else {
|
|
21643
|
+
performInitialSeek(observationInitialTime);
|
|
21644
|
+
}
|
|
21645
|
+
stopListening();
|
|
21646
|
+
}
|
|
21647
|
+
});
|
|
21648
|
+
} else if (initialTime === undefined) {
|
|
21649
|
+
initialSeekPerformed.setValue(true);
|
|
21650
|
+
initialSeekPerformed.finish();
|
|
21651
|
+
} else if (shouldPreventSeekingAt0Initially() && initialTime === 0) {
|
|
21532
21652
|
initialSeekPerformed.setValue(true);
|
|
21533
21653
|
initialSeekPerformed.finish();
|
|
21534
21654
|
} else if (isDirectfile && browser_detection/* isSafariMobile */.dX) {
|
|
@@ -22983,14 +23103,13 @@ var TextTrackCuesStore = /*#__PURE__*/function () {
|
|
|
22983
23103
|
var nextCue = cuesBuffer[indexOfNextCue];
|
|
22984
23104
|
if (nextCue === undefined ||
|
|
22985
23105
|
// no cue
|
|
22986
|
-
areNearlyEqual(cuesInfosToInsert.end, nextCue.end, relativeDelta))
|
|
23106
|
+
areNearlyEqual(cuesInfosToInsert.end, nextCue.end, relativeDelta)) {
|
|
22987
23107
|
// samey end
|
|
22988
|
-
|
|
22989
|
-
|
|
22990
|
-
|
|
22991
|
-
|
|
22992
|
-
|
|
22993
|
-
} else if (nextCue.start >= cuesInfosToInsert.end) {
|
|
23108
|
+
// ours: |AAAAA|
|
|
23109
|
+
// the current one: |BBBBB|
|
|
23110
|
+
// Result: |AAAAA|
|
|
23111
|
+
cuesBuffer[indexOfNextCue] = cuesInfosToInsert;
|
|
23112
|
+
} else if (nextCue.start >= cuesInfosToInsert.end) {
|
|
22994
23113
|
// Either
|
|
22995
23114
|
// ours: |AAAAA|
|
|
22996
23115
|
// the current one: |BBBBBB|
|
|
@@ -24315,9 +24434,7 @@ var SegmentInventory = /*#__PURE__*/function () {
|
|
|
24315
24434
|
// (Those not in that TimeRange nor in the previous one)
|
|
24316
24435
|
var numberOfSegmentToDelete = inventoryIndex - indexBefore;
|
|
24317
24436
|
if (numberOfSegmentToDelete > 0) {
|
|
24318
|
-
var lastDeletedSegment =
|
|
24319
|
-
// last garbage-collected segment
|
|
24320
|
-
inventory[indexBefore + numberOfSegmentToDelete - 1];
|
|
24437
|
+
var lastDeletedSegment = inventory[indexBefore + numberOfSegmentToDelete - 1]; // last garbage-collected segment
|
|
24321
24438
|
lastDeletedSegmentInfos = {
|
|
24322
24439
|
end: (_b = lastDeletedSegment.bufferedEnd) !== null && _b !== void 0 ? _b : lastDeletedSegment.end,
|
|
24323
24440
|
precizeEnd: lastDeletedSegment.precizeEnd
|
|
@@ -27147,7 +27264,7 @@ function updatePeriodInPlace(oldPeriod, newPeriod, updateType) {
|
|
|
27147
27264
|
return a.id === oldAdaptation.id;
|
|
27148
27265
|
});
|
|
27149
27266
|
if (newAdaptationIdx === -1) {
|
|
27150
|
-
log/* default */.A.warn(
|
|
27267
|
+
log/* default */.A.warn('Manifest: Adaptation "' + oldAdaptations[_j].id + '" not found when merging.');
|
|
27151
27268
|
var _oldAdaptations$splic = oldAdaptations.splice(_j, 1),
|
|
27152
27269
|
removed = _oldAdaptations$splic[0];
|
|
27153
27270
|
_j--;
|
|
@@ -27754,8 +27871,7 @@ var Manifest = /*#__PURE__*/function (_EventEmitter) {
|
|
|
27754
27871
|
* @param {Object|Array.<Object>} textTracks
|
|
27755
27872
|
*/;
|
|
27756
27873
|
_proto._addSupplementaryTextAdaptations = function _addSupplementaryTextAdaptations( /* eslint-disable import/no-deprecated */
|
|
27757
|
-
textTracks
|
|
27758
|
-
/* eslint-enable import/no-deprecated */) {
|
|
27874
|
+
textTracks) {
|
|
27759
27875
|
var _this3 = this;
|
|
27760
27876
|
var _textTracks = Array.isArray(textTracks) ? textTracks : [textTracks];
|
|
27761
27877
|
var newTextAdaptations = _textTracks.reduce(function (allSubs, _ref3) {
|
|
@@ -28277,7 +28393,7 @@ function getNextBoxOffsets(buf) {
|
|
|
28277
28393
|
* @returns {Uint8Array|null}
|
|
28278
28394
|
*/
|
|
28279
28395
|
function getTRAF(buffer) {
|
|
28280
|
-
var moof = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(buffer,
|
|
28396
|
+
var moof = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(buffer, 0x6d6f6f66 /* moof */);
|
|
28281
28397
|
if (moof === null) {
|
|
28282
28398
|
return null;
|
|
28283
28399
|
}
|
|
@@ -28292,7 +28408,7 @@ function getTRAF(buffer) {
|
|
|
28292
28408
|
* @returns {Array.<Uint8Array>}
|
|
28293
28409
|
*/
|
|
28294
28410
|
function getTRAFs(buffer) {
|
|
28295
|
-
var moofs = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxesContent */ .fj)(buffer,
|
|
28411
|
+
var moofs = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxesContent */ .fj)(buffer, 0x6d6f6f66 /* moof */);
|
|
28296
28412
|
return moofs.reduce(function (acc, moof) {
|
|
28297
28413
|
var traf = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(moof, 0x74726166 /* traf */);
|
|
28298
28414
|
if (traf !== null) {
|
|
@@ -28309,7 +28425,7 @@ function getTRAFs(buffer) {
|
|
|
28309
28425
|
* @returns {Uint8Array|null}
|
|
28310
28426
|
*/
|
|
28311
28427
|
function getMDAT(buf) {
|
|
28312
|
-
return (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(buf,
|
|
28428
|
+
return (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(buf, 0x6d646174 /* "mdat" */);
|
|
28313
28429
|
}
|
|
28314
28430
|
/**
|
|
28315
28431
|
* Returns the content of the first "mdia" box encountered in the given ISOBMFF
|
|
@@ -28319,15 +28435,15 @@ function getMDAT(buf) {
|
|
|
28319
28435
|
* @returns {Uint8Array|null}
|
|
28320
28436
|
*/
|
|
28321
28437
|
function getMDIA(buf) {
|
|
28322
|
-
var moov = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(buf,
|
|
28438
|
+
var moov = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(buf, 0x6d6f6f76 /* moov */);
|
|
28323
28439
|
if (moov === null) {
|
|
28324
28440
|
return null;
|
|
28325
28441
|
}
|
|
28326
|
-
var trak = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(moov,
|
|
28442
|
+
var trak = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(moov, 0x7472616b /* "trak" */);
|
|
28327
28443
|
if (trak === null) {
|
|
28328
28444
|
return null;
|
|
28329
28445
|
}
|
|
28330
|
-
return (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(trak,
|
|
28446
|
+
return (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(trak, 0x6d646961 /* "mdia" */);
|
|
28331
28447
|
}
|
|
28332
28448
|
/**
|
|
28333
28449
|
* Returns the content of the first "emsg" box encountered in the given ISOBMFF
|
|
@@ -28340,7 +28456,7 @@ function getEMSG(buffer, offset) {
|
|
|
28340
28456
|
if (offset === void 0) {
|
|
28341
28457
|
offset = 0;
|
|
28342
28458
|
}
|
|
28343
|
-
return (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(buffer.subarray(offset),
|
|
28459
|
+
return (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(buffer.subarray(offset), 0x656d7367 /* emsg */);
|
|
28344
28460
|
}
|
|
28345
28461
|
|
|
28346
28462
|
|
|
@@ -28435,7 +28551,7 @@ var get_box = __webpack_require__(8797);
|
|
|
28435
28551
|
*/
|
|
28436
28552
|
function takePSSHOut(data) {
|
|
28437
28553
|
var i = 0;
|
|
28438
|
-
var moov = (0,get_box/* getBoxContent */.fZ)(data,
|
|
28554
|
+
var moov = (0,get_box/* getBoxContent */.fZ)(data, 0x6d6f6f76 /* moov */);
|
|
28439
28555
|
if (moov === null) {
|
|
28440
28556
|
return [];
|
|
28441
28557
|
}
|
|
@@ -28594,7 +28710,7 @@ function getSegmentsFromSidx(buf, sidxOffsetInWholeSegment) {
|
|
|
28594
28710
|
var refChunk = (0,_utils_byte_parsing__WEBPACK_IMPORTED_MODULE_1__/* .be4toi */ .mq)(buf, cursor);
|
|
28595
28711
|
cursor += 4;
|
|
28596
28712
|
var refType = (refChunk & 0x80000000) >>> 31;
|
|
28597
|
-
var refSize = refChunk &
|
|
28713
|
+
var refSize = refChunk & 0x7fffffff;
|
|
28598
28714
|
// when set to 1 indicates that the reference is to a sidx, else to media
|
|
28599
28715
|
if (refType === 1) {
|
|
28600
28716
|
throw new Error("sidx with reference_type `1` not yet implemented");
|
|
@@ -28688,7 +28804,7 @@ function getDurationFromTrun(buffer) {
|
|
|
28688
28804
|
var completeDuration = 0;
|
|
28689
28805
|
for (var _iterator = _createForOfIteratorHelperLoose(trafs), _step; !(_step = _iterator()).done;) {
|
|
28690
28806
|
var traf = _step.value;
|
|
28691
|
-
var trun = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(traf,
|
|
28807
|
+
var trun = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(traf, 0x7472756e /* trun */);
|
|
28692
28808
|
if (trun === null) {
|
|
28693
28809
|
return undefined;
|
|
28694
28810
|
}
|
|
@@ -28757,7 +28873,7 @@ function getMDHDTimescale(buffer) {
|
|
|
28757
28873
|
if (mdia === null) {
|
|
28758
28874
|
return undefined;
|
|
28759
28875
|
}
|
|
28760
|
-
var mdhd = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(mdia,
|
|
28876
|
+
var mdhd = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(mdia, 0x6d646864 /* "mdhd" */);
|
|
28761
28877
|
if (mdhd === null) {
|
|
28762
28878
|
return undefined;
|
|
28763
28879
|
}
|
|
@@ -28791,7 +28907,7 @@ function patchPssh(buf, psshList) {
|
|
|
28791
28907
|
if (psshList == null || psshList.length === 0) {
|
|
28792
28908
|
return buf;
|
|
28793
28909
|
}
|
|
28794
|
-
var moovOffsets = getBoxOffsets(buf,
|
|
28910
|
+
var moovOffsets = getBoxOffsets(buf, 0x6d6f6f76 /* = "moov" */);
|
|
28795
28911
|
if (moovOffsets === null) {
|
|
28796
28912
|
return buf;
|
|
28797
28913
|
}
|
|
@@ -28910,12 +29026,12 @@ function parseEmsgBoxes(buffer) {
|
|
|
28910
29026
|
* @returns {Uint8Array|null}
|
|
28911
29027
|
*/
|
|
28912
29028
|
function getKeyIdFromInitSegment(segment) {
|
|
28913
|
-
var stsd = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getChildBox */ .o$)(segment, [
|
|
29029
|
+
var stsd = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getChildBox */ .o$)(segment, [0x6d6f6f76 /* moov */, 0x7472616b /* trak */, 0x6d646961 /* mdia */, 0x6d696e66 /* minf */, 0x7374626c /* stbl */, 0x73747364 /* stsd */]);
|
|
28914
29030
|
if (stsd === null) {
|
|
28915
29031
|
return null;
|
|
28916
29032
|
}
|
|
28917
29033
|
var stsdSubBoxes = stsd.subarray(8);
|
|
28918
|
-
var encBox = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(stsdSubBoxes,
|
|
29034
|
+
var encBox = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(stsdSubBoxes, 0x656e6376 /* encv */);
|
|
28919
29035
|
var encContentOffset = 0;
|
|
28920
29036
|
if (encBox === null) {
|
|
28921
29037
|
encContentOffset = 8 +
|
|
@@ -28931,7 +29047,7 @@ function getKeyIdFromInitSegment(segment) {
|
|
|
28931
29047
|
2 +
|
|
28932
29048
|
// reserved
|
|
28933
29049
|
4; // samplerate
|
|
28934
|
-
encBox = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(stsdSubBoxes,
|
|
29050
|
+
encBox = (0,_get_box__WEBPACK_IMPORTED_MODULE_0__/* .getBoxContent */ .fZ)(stsdSubBoxes, 0x656e6361 /* enca */);
|
|
28935
29051
|
} else {
|
|
28936
29052
|
encContentOffset = 8 +
|
|
28937
29053
|
// sample entry header
|
|
@@ -29057,7 +29173,7 @@ function parseBif(buf) {
|
|
|
29057
29173
|
});
|
|
29058
29174
|
index++;
|
|
29059
29175
|
}
|
|
29060
|
-
if (currentImageTimestamp ===
|
|
29176
|
+
if (currentImageTimestamp === 0xffffffff) {
|
|
29061
29177
|
break;
|
|
29062
29178
|
}
|
|
29063
29179
|
previousImageInfo = {
|
|
@@ -30882,7 +30998,7 @@ function convertElementsToIndexSegment(item, previousItem, nextItem) {
|
|
|
30882
30998
|
repeatCount: repeatCount === undefined ? 0 : repeatCount
|
|
30883
30999
|
};
|
|
30884
31000
|
}
|
|
30885
|
-
log/* default */.A.warn(
|
|
31001
|
+
log/* default */.A.warn('DASH: A "S" Element could not have been parsed.');
|
|
30886
31002
|
return null;
|
|
30887
31003
|
}
|
|
30888
31004
|
;// CONCATENATED MODULE: ./src/parsers/manifest/dash/common/indexes/timeline/parse_s_element.ts
|
|
@@ -31142,7 +31258,7 @@ function constructTimelineFromPreviousTimeline(newElements, prevTimeline) {
|
|
|
31142
31258
|
// Find first index in both timeline where a common segment is found.
|
|
31143
31259
|
var commonStartInfo = findFirstCommonStartTime(prevTimeline, newElements);
|
|
31144
31260
|
if (commonStartInfo === null) {
|
|
31145
|
-
log/* default */.A.warn(
|
|
31261
|
+
log/* default */.A.warn('DASH: Cannot perform "based" update. Common segment not found.');
|
|
31146
31262
|
return constructTimelineFromElements(newElements);
|
|
31147
31263
|
}
|
|
31148
31264
|
var prevSegmentsIdx = commonStartInfo.prevSegmentsIdx,
|
|
@@ -31153,7 +31269,7 @@ function constructTimelineFromPreviousTimeline(newElements, prevTimeline) {
|
|
|
31153
31269
|
var numberCommonEltGuess = prevTimeline.length - prevSegmentsIdx;
|
|
31154
31270
|
var lastCommonEltNewEltsIdx = numberCommonEltGuess + newElementsIdx - 1;
|
|
31155
31271
|
if (lastCommonEltNewEltsIdx >= newElements.length) {
|
|
31156
|
-
log/* default */.A.info(
|
|
31272
|
+
log/* default */.A.info('DASH: Cannot perform "based" update. New timeline too short');
|
|
31157
31273
|
return constructTimelineFromElements(newElements);
|
|
31158
31274
|
}
|
|
31159
31275
|
// Remove elements which are not available anymore
|
|
@@ -31164,14 +31280,14 @@ function constructTimelineFromPreviousTimeline(newElements, prevTimeline) {
|
|
|
31164
31280
|
newTimeline[0].repeatCount -= repeatNumberInPrevSegments;
|
|
31165
31281
|
}
|
|
31166
31282
|
if (repeatNumberInNewElements > 0 && newElementsIdx !== 0) {
|
|
31167
|
-
log/* default */.A.info(
|
|
31283
|
+
log/* default */.A.info('DASH: Cannot perform "based" update. ' + "The new timeline has a different form.");
|
|
31168
31284
|
return constructTimelineFromElements(newElements);
|
|
31169
31285
|
}
|
|
31170
31286
|
var prevLastElement = newTimeline[newTimeline.length - 1];
|
|
31171
31287
|
var newCommonElt = parseSElement(newElements[lastCommonEltNewEltsIdx]);
|
|
31172
31288
|
var newRepeatCountOffseted = ((_a = newCommonElt.repeatCount) !== null && _a !== void 0 ? _a : 0) - repeatNumberInNewElements;
|
|
31173
31289
|
if (newCommonElt.duration !== prevLastElement.duration || prevLastElement.repeatCount > newRepeatCountOffseted) {
|
|
31174
|
-
log/* default */.A.info(
|
|
31290
|
+
log/* default */.A.info('DASH: Cannot perform "based" update. ' + "The new timeline has a different form at the beginning.");
|
|
31175
31291
|
return constructTimelineFromElements(newElements);
|
|
31176
31292
|
}
|
|
31177
31293
|
if (newCommonElt.repeatCount !== undefined && newCommonElt.repeatCount > prevLastElement.repeatCount) {
|
|
@@ -31440,9 +31556,8 @@ var TimelineRepresentationIndex = /*#__PURE__*/function () {
|
|
|
31440
31556
|
return false;
|
|
31441
31557
|
}
|
|
31442
31558
|
if (this._scaledPeriodEnd === undefined) {
|
|
31443
|
-
return scaledWantedEnd + segmentTimeRounding > this._scaledPeriodStart ? undefined
|
|
31444
|
-
|
|
31445
|
-
false; // Before the current Period
|
|
31559
|
+
return scaledWantedEnd + segmentTimeRounding > this._scaledPeriodStart ? undefined // There may be future segments at this point
|
|
31560
|
+
: false; // Before the current Period
|
|
31446
31561
|
}
|
|
31447
31562
|
// `true` if within the boundaries of this Period. `false` otherwise.
|
|
31448
31563
|
return scaledWantedStart - segmentTimeRounding < this._scaledPeriodEnd && scaledWantedEnd + segmentTimeRounding > this._scaledPeriodStart;
|
|
@@ -33015,7 +33130,7 @@ function parseAdaptationSets(adaptationsIR, context) {
|
|
|
33015
33130
|
var mergedInto = parsedAdaptations[type][mergedIntoIdx];
|
|
33016
33131
|
if (mergedInto !== undefined && mergedInto[0].audioDescription === parsedAdaptationSet.audioDescription && mergedInto[0].closedCaption === parsedAdaptationSet.closedCaption && mergedInto[0].language === parsedAdaptationSet.language) {
|
|
33017
33132
|
var _mergedInto$0$represe;
|
|
33018
|
-
log/* default */.A.info(
|
|
33133
|
+
log/* default */.A.info('DASH Parser: merging "switchable" AdaptationSets', originalID, id);
|
|
33019
33134
|
(_mergedInto$0$represe = mergedInto[0].representations).push.apply(_mergedInto$0$represe, parsedAdaptationSet.representations);
|
|
33020
33135
|
mergedInto[1] = {
|
|
33021
33136
|
priority: Math.max(priority, mergedInto[1].priority),
|
|
@@ -33338,7 +33453,7 @@ function generateStreamEvents(baseIr, periodStart, xmlNamespaces) {
|
|
|
33338
33453
|
// encountering unknown namespaced attributes or elements in the given
|
|
33339
33454
|
// `<Event>` xml subset.
|
|
33340
33455
|
var parentNode = allNamespaces.reduce(function (acc, ns) {
|
|
33341
|
-
return acc + "xmlns:" + ns.key + "
|
|
33456
|
+
return acc + "xmlns:" + ns.key + '="' + ns.value + '" ';
|
|
33342
33457
|
}, "<toremove ");
|
|
33343
33458
|
parentNode += ">";
|
|
33344
33459
|
var elementToString = (0,string_parsing/* utf8ToStr */.Es)(new Uint8Array(eventIr.eventStreamData));
|
|
@@ -35970,9 +36085,8 @@ function updateSegmentTimeline(oldTimeline, newTimeline) {
|
|
|
35970
36085
|
}
|
|
35971
36086
|
var newCurrRepeat = (newIndexStart - currElt.start) / currElt.duration - 1;
|
|
35972
36087
|
if (newCurrRepeat % 1 === 0 && currElt.duration === newTimeline[0].duration) {
|
|
35973
|
-
var newRepeatCount = newTimeline[0].repeatCount < 0 ? -1
|
|
35974
|
-
|
|
35975
|
-
newTimeline[0].repeatCount + newCurrRepeat + 1;
|
|
36088
|
+
var newRepeatCount = newTimeline[0].repeatCount < 0 ? -1 // === maximum possible repeat
|
|
36089
|
+
: newTimeline[0].repeatCount + newCurrRepeat + 1;
|
|
35976
36090
|
// replace that one and those after it
|
|
35977
36091
|
oldTimeline.splice.apply(oldTimeline, [i, prevTimelineLength - i].concat(newTimeline));
|
|
35978
36092
|
oldTimeline[i].start = currElt.start;
|
|
@@ -35997,7 +36111,7 @@ function updateSegmentTimeline(oldTimeline, newTimeline) {
|
|
|
35997
36111
|
return false;
|
|
35998
36112
|
} else {
|
|
35999
36113
|
// the new has more depth
|
|
36000
|
-
_log__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.warn(
|
|
36114
|
+
_log__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.warn('RepresentationIndex: The new index is "bigger" than the previous one');
|
|
36001
36115
|
oldTimeline.splice.apply(oldTimeline, [0, prevTimelineLength].concat(newTimeline));
|
|
36002
36116
|
return true;
|
|
36003
36117
|
}
|
|
@@ -36009,7 +36123,7 @@ function updateSegmentTimeline(oldTimeline, newTimeline) {
|
|
|
36009
36123
|
return false;
|
|
36010
36124
|
}
|
|
36011
36125
|
// the new one has more depth. full update
|
|
36012
|
-
_log__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.warn(
|
|
36126
|
+
_log__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.warn('RepresentationIndex: The new index is "bigger" than the previous one');
|
|
36013
36127
|
oldTimeline.splice.apply(oldTimeline, [0, prevTimelineLength].concat(newTimeline));
|
|
36014
36128
|
return true;
|
|
36015
36129
|
}
|
|
@@ -36117,8 +36231,8 @@ function decodeEntities(text) {
|
|
|
36117
36231
|
* @param {string} lang
|
|
36118
36232
|
*/
|
|
36119
36233
|
function parseSami(smi, timeOffset, lang) {
|
|
36120
|
-
var syncOpen = /<sync[ >]/
|
|
36121
|
-
var syncClose = /<sync[ >]|<\/body>/
|
|
36234
|
+
var syncOpen = /<sync[ >]/gi;
|
|
36235
|
+
var syncClose = /<sync[ >]|<\/body>/gi;
|
|
36122
36236
|
var subs = [];
|
|
36123
36237
|
var styleMatches = STYLE.exec(smi);
|
|
36124
36238
|
var css = Array.isArray(styleMatches) ? styleMatches[1] : "";
|
|
@@ -36232,10 +36346,6 @@ function parseSami(smi, timeOffset, lang) {
|
|
|
36232
36346
|
* See the License for the specific language governing permissions and
|
|
36233
36347
|
* limitations under the License.
|
|
36234
36348
|
*/
|
|
36235
|
-
/**
|
|
36236
|
-
* /!\ This file is feature-switchable.
|
|
36237
|
-
* It always should be imported through the `features` object.
|
|
36238
|
-
*/
|
|
36239
36349
|
|
|
36240
36350
|
|
|
36241
36351
|
var HTML_ENTITIES = /&#([0-9]+);/g;
|
|
@@ -36316,8 +36426,8 @@ function decodeEntities(text) {
|
|
|
36316
36426
|
* @returns {Array.<VTTCue|TextTrackCue>}
|
|
36317
36427
|
*/
|
|
36318
36428
|
function parseSami(smi, timeOffset, lang) {
|
|
36319
|
-
var syncOpen = /<sync[ >]/
|
|
36320
|
-
var syncClose = /<sync[ >]|<\/body>/
|
|
36429
|
+
var syncOpen = /<sync[ >]/gi;
|
|
36430
|
+
var syncClose = /<sync[ >]|<\/body>/gi;
|
|
36321
36431
|
var subs = [];
|
|
36322
36432
|
var styleMatches = STYLE.exec(smi);
|
|
36323
36433
|
var css = styleMatches !== null ? styleMatches[1] : "";
|
|
@@ -36667,12 +36777,6 @@ function isNodeFontWithColorProp(node) {
|
|
|
36667
36777
|
* See the License for the specific language governing permissions and
|
|
36668
36778
|
* limitations under the License.
|
|
36669
36779
|
*/
|
|
36670
|
-
/**
|
|
36671
|
-
* /!\ This file is feature-switchable.
|
|
36672
|
-
* It always should be imported through the `features` object.
|
|
36673
|
-
*/
|
|
36674
|
-
// srt to VTTCue parser, Done for fun.
|
|
36675
|
-
// Heavily inspired from the WebVTT implementation
|
|
36676
36780
|
|
|
36677
36781
|
|
|
36678
36782
|
|
|
@@ -37382,7 +37486,7 @@ function applyFontSize(element, fontSize) {
|
|
|
37382
37486
|
} else if (firstFontSize[2] === "%") {
|
|
37383
37487
|
var toNum = Number(firstFontSize[1]);
|
|
37384
37488
|
if (isNaN(toNum)) {
|
|
37385
|
-
log/* default */.A.warn(
|
|
37489
|
+
log/* default */.A.warn('TTML Parser: could not parse fontSize value "' + firstFontSize[1] + '" into a number');
|
|
37386
37490
|
} else {
|
|
37387
37491
|
element.style.position = "relative";
|
|
37388
37492
|
addClassName(element, "proportional-style");
|
|
@@ -39850,10 +39954,6 @@ function toNativeCue(cueObj) {
|
|
|
39850
39954
|
* See the License for the specific language governing permissions and
|
|
39851
39955
|
* limitations under the License.
|
|
39852
39956
|
*/
|
|
39853
|
-
/**
|
|
39854
|
-
* /!\ This file is feature-switchable.
|
|
39855
|
-
* It always should be imported through the `features` object.
|
|
39856
|
-
*/
|
|
39857
39957
|
|
|
39858
39958
|
|
|
39859
39959
|
|
|
@@ -40442,7 +40542,9 @@ function generateManifestParser(options) {
|
|
|
40442
40542
|
return processMpdParserResponse(parsed);
|
|
40443
40543
|
} else {
|
|
40444
40544
|
log/* default */.A.debug("DASH: Awaiting WASM initialization before parsing the MPD.");
|
|
40445
|
-
var initProm = parsers.wasm.waitForInitialization()["catch"](function () {
|
|
40545
|
+
var initProm = parsers.wasm.waitForInitialization()["catch"](function () {
|
|
40546
|
+
/* ignore errors, we will check the status later */
|
|
40547
|
+
});
|
|
40446
40548
|
return initProm.then(function () {
|
|
40447
40549
|
if (parsers.wasm === null || parsers.wasm.status !== "initialized") {
|
|
40448
40550
|
log/* default */.A.warn("DASH: WASM MPD parser initialization failed. " + "Running JS parser instead");
|
|
@@ -40642,10 +40744,10 @@ function getManifestAsArrayBuffer(manifestSrc) {
|
|
|
40642
40744
|
*/
|
|
40643
40745
|
function doesXmlSeemsUtf8Encoded(xmlData) {
|
|
40644
40746
|
var dv = new DataView(xmlData);
|
|
40645
|
-
if (dv.getUint16(0) ===
|
|
40747
|
+
if (dv.getUint16(0) === 0xefbb && dv.getUint8(2) === 0xbf) {
|
|
40646
40748
|
// (UTF-8 BOM)
|
|
40647
40749
|
return true;
|
|
40648
|
-
} else if (dv.getUint16(0) ===
|
|
40750
|
+
} else if (dv.getUint16(0) === 0xfeff || dv.getUint16(0) === 0xfffe) {
|
|
40649
40751
|
// (UTF-16 BOM)
|
|
40650
40752
|
return false;
|
|
40651
40753
|
}
|
|
@@ -41111,7 +41213,7 @@ function extractCompleteChunks(buffer) {
|
|
|
41111
41213
|
var currentBuffer = null;
|
|
41112
41214
|
while (_position < buffer.length) {
|
|
41113
41215
|
currentBuffer = buffer.subarray(_position, Infinity);
|
|
41114
|
-
var moofIndex = (0,find_complete_box/* default */.A)(currentBuffer,
|
|
41216
|
+
var moofIndex = (0,find_complete_box/* default */.A)(currentBuffer, 0x6d6f6f66 /* moof */);
|
|
41115
41217
|
if (moofIndex < 0) {
|
|
41116
41218
|
// no moof, not a segment.
|
|
41117
41219
|
return [chunks, currentBuffer];
|
|
@@ -41122,7 +41224,7 @@ function extractCompleteChunks(buffer) {
|
|
|
41122
41224
|
// not a complete moof segment
|
|
41123
41225
|
return [chunks, currentBuffer];
|
|
41124
41226
|
}
|
|
41125
|
-
var mdatIndex = (0,find_complete_box/* default */.A)(currentBuffer,
|
|
41227
|
+
var mdatIndex = (0,find_complete_box/* default */.A)(currentBuffer, 0x6d646174 /* mdat */);
|
|
41126
41228
|
if (mdatIndex < 0) {
|
|
41127
41229
|
// no mdat, not a segment.
|
|
41128
41230
|
return [chunks, currentBuffer];
|
|
@@ -41427,14 +41529,14 @@ var utils = __webpack_require__(1134);
|
|
|
41427
41529
|
*/
|
|
41428
41530
|
|
|
41429
41531
|
var SEGMENT_ID = 0x18538067;
|
|
41430
|
-
var INFO_ID =
|
|
41431
|
-
var TIMECODESCALE_ID =
|
|
41532
|
+
var INFO_ID = 0x1549a966;
|
|
41533
|
+
var TIMECODESCALE_ID = 0x2ad7b1;
|
|
41432
41534
|
var DURATION_ID = 0x4489;
|
|
41433
|
-
var CUES_ID =
|
|
41434
|
-
var CUE_POINT_ID =
|
|
41435
|
-
var CUE_TIME_ID =
|
|
41436
|
-
var CUE_TRACK_POSITIONS_ID =
|
|
41437
|
-
var CUE_CLUSTER_POSITIONS_ID =
|
|
41535
|
+
var CUES_ID = 0x1c53bb6b;
|
|
41536
|
+
var CUE_POINT_ID = 0xbb;
|
|
41537
|
+
var CUE_TIME_ID = 0xb3;
|
|
41538
|
+
var CUE_TRACK_POSITIONS_ID = 0xb7;
|
|
41539
|
+
var CUE_CLUSTER_POSITIONS_ID = 0xf1;
|
|
41438
41540
|
/**
|
|
41439
41541
|
* Find the offsets of the value linked to the given element ID.
|
|
41440
41542
|
* @param {number} elementID - ID for the searched element.
|
|
@@ -42109,6 +42211,7 @@ function getISOBMFFTextTrackFormat(representation) {
|
|
|
42109
42211
|
}
|
|
42110
42212
|
switch (codec.toLowerCase()) {
|
|
42111
42213
|
case "stpp": // stpp === TTML in MP4
|
|
42214
|
+
case "stpp.ttml":
|
|
42112
42215
|
case "stpp.ttml.im1t":
|
|
42113
42216
|
return "ttml";
|
|
42114
42217
|
case "wvtt":
|
|
@@ -43289,7 +43392,7 @@ function getAudioCodecs(codecPrivateData, fourCC) {
|
|
|
43289
43392
|
if (fourCC === "AACH") {
|
|
43290
43393
|
mpProfile = 5; // High Efficiency AAC Profile
|
|
43291
43394
|
} else {
|
|
43292
|
-
mpProfile = (0,is_non_empty_string/* default */.A)(codecPrivateData) ? (parseInt(codecPrivateData.substring(0, 2), 16) &
|
|
43395
|
+
mpProfile = (0,is_non_empty_string/* default */.A)(codecPrivateData) ? (parseInt(codecPrivateData.substring(0, 2), 16) & 0xf8) >> 3 : 2;
|
|
43293
43396
|
}
|
|
43294
43397
|
if (mpProfile === 0) {
|
|
43295
43398
|
// Return default audio codec
|
|
@@ -44100,7 +44203,7 @@ var get_box = __webpack_require__(8797);
|
|
|
44100
44203
|
* @returns {Array.<Object>}
|
|
44101
44204
|
*/
|
|
44102
44205
|
function parseTfrf(traf) {
|
|
44103
|
-
var tfrf = (0,get_box/* getUuidContent */.$H)(traf,
|
|
44206
|
+
var tfrf = (0,get_box/* getUuidContent */.$H)(traf, 0xd4807ef2, 0xca394695, 0x8e5426cb, 0x9e46a79f);
|
|
44104
44207
|
if (tfrf === undefined) {
|
|
44105
44208
|
return [];
|
|
44106
44209
|
}
|
|
@@ -44147,7 +44250,7 @@ function parseTfrf(traf) {
|
|
|
44147
44250
|
* @returns {Object|undefined}
|
|
44148
44251
|
*/
|
|
44149
44252
|
function parseTfxd(traf) {
|
|
44150
|
-
var tfxd = (0,get_box/* getUuidContent */.$H)(traf,
|
|
44253
|
+
var tfxd = (0,get_box/* getUuidContent */.$H)(traf, 0x6d1d9b05, 0x42d544e6, 0x80e2141d, 0xaff757b2);
|
|
44151
44254
|
if (tfxd === undefined) {
|
|
44152
44255
|
return undefined;
|
|
44153
44256
|
}
|
|
@@ -44330,10 +44433,9 @@ function createAVC1Box(width, height, hRes, vRes, encName, colorDepth, avcc) {
|
|
|
44330
44433
|
// + padding
|
|
44331
44434
|
(0,byte_parsing/* itobe2 */.ww)(colorDepth),
|
|
44332
44435
|
// color depth
|
|
44333
|
-
[
|
|
44436
|
+
[0xff, 0xff],
|
|
44334
44437
|
// reserved ones
|
|
44335
|
-
avcc
|
|
44336
|
-
));
|
|
44438
|
+
avcc));
|
|
44337
44439
|
}
|
|
44338
44440
|
/**
|
|
44339
44441
|
* @param {Number} width
|
|
@@ -44367,7 +44469,7 @@ function createENCVBox(width, height, hRes, vRes, encName, colorDepth, avcc, sin
|
|
|
44367
44469
|
// + padding
|
|
44368
44470
|
(0,byte_parsing/* itobe2 */.ww)(colorDepth),
|
|
44369
44471
|
// color depth
|
|
44370
|
-
[
|
|
44472
|
+
[0xff, 0xff],
|
|
44371
44473
|
// reserved ones
|
|
44372
44474
|
avcc,
|
|
44373
44475
|
// avcc atom,
|
|
@@ -44484,7 +44586,7 @@ function createAVCCBox(sps, pps, nalLen) {
|
|
|
44484
44586
|
var h264Profile = sps[1];
|
|
44485
44587
|
var h264CompatibleProfile = sps[2];
|
|
44486
44588
|
var h264Level = sps[3];
|
|
44487
|
-
return createBox("avcC", (0,byte_parsing/* concat */.xW)([1, h264Profile, h264CompatibleProfile, h264Level,
|
|
44589
|
+
return createBox("avcC", (0,byte_parsing/* concat */.xW)([1, h264Profile, h264CompatibleProfile, h264Level, 0x3f << 2 | nal, 0xe0 | 1], (0,byte_parsing/* itobe2 */.ww)(sps.length), sps, [1], (0,byte_parsing/* itobe2 */.ww)(pps.length), pps));
|
|
44488
44590
|
}
|
|
44489
44591
|
/**
|
|
44490
44592
|
* @param {string} type - "video"/"audio"/"hint"
|
|
@@ -44507,8 +44609,7 @@ function createHDLRBox(type) {
|
|
|
44507
44609
|
handlerName = "";
|
|
44508
44610
|
break;
|
|
44509
44611
|
}
|
|
44510
|
-
return createBox("hdlr", (0,byte_parsing/* concat */.xW)(8, (0,string_parsing/* strToUtf8 */.eb)(name), 12, (0,string_parsing/* strToUtf8 */.eb)(handlerName), 1
|
|
44511
|
-
));
|
|
44612
|
+
return createBox("hdlr", (0,byte_parsing/* concat */.xW)(8, (0,string_parsing/* strToUtf8 */.eb)(name), 12, (0,string_parsing/* strToUtf8 */.eb)(handlerName), 1));
|
|
44512
44613
|
}
|
|
44513
44614
|
/**
|
|
44514
44615
|
* @param {number} timescale
|
|
@@ -44531,8 +44632,7 @@ function createMVHDBox(timescale, trackId) {
|
|
|
44531
44632
|
// default matrix
|
|
44532
44633
|
[0, 1], 14,
|
|
44533
44634
|
// default matrix
|
|
44534
|
-
[64, 0, 0, 0], 26, (0,byte_parsing/* itobe2 */.ww)(trackId + 1)
|
|
44535
|
-
));
|
|
44635
|
+
[64, 0, 0, 0], 26, (0,byte_parsing/* itobe2 */.ww)(trackId + 1)));
|
|
44536
44636
|
}
|
|
44537
44637
|
/**
|
|
44538
44638
|
* @param {Uint8Array} mfhd
|
|
@@ -44616,8 +44716,7 @@ function createTKHDBox(width, height, trackId) {
|
|
|
44616
44716
|
// ??
|
|
44617
44717
|
(0,byte_parsing/* itobe2 */.ww)(width), 2,
|
|
44618
44718
|
// width (TODO handle fixed)
|
|
44619
|
-
(0,byte_parsing/* itobe2 */.ww)(height), 2
|
|
44620
|
-
));
|
|
44719
|
+
(0,byte_parsing/* itobe2 */.ww)(height), 2));
|
|
44621
44720
|
}
|
|
44622
44721
|
/**
|
|
44623
44722
|
* @param {Number} algId - eg 1
|
|
@@ -44683,18 +44782,18 @@ function createTrafBox(tfhd, tfdt, trun, mfhd, senc) {
|
|
|
44683
44782
|
* @return {Uint8Array}
|
|
44684
44783
|
*/
|
|
44685
44784
|
function patchSegment(segment, decodeTime) {
|
|
44686
|
-
var oldMoofOffsets = (0,get_box/* getBoxOffsets */.QL)(segment,
|
|
44785
|
+
var oldMoofOffsets = (0,get_box/* getBoxOffsets */.QL)(segment, 0x6d6f6f66 /* moof */);
|
|
44687
44786
|
if (oldMoofOffsets === null) {
|
|
44688
44787
|
throw new Error("Smooth: Invalid ISOBMFF given");
|
|
44689
44788
|
}
|
|
44690
44789
|
var oldMoofContent = segment.subarray(oldMoofOffsets[1], oldMoofOffsets[2]);
|
|
44691
|
-
var mfhdBox = (0,get_box/* getBox */.YH)(oldMoofContent,
|
|
44790
|
+
var mfhdBox = (0,get_box/* getBox */.YH)(oldMoofContent, 0x6d666864 /* mfhd */);
|
|
44692
44791
|
var trafContent = (0,get_box/* getBoxContent */.fZ)(oldMoofContent, 0x74726166 /* traf */);
|
|
44693
44792
|
if (trafContent === null || mfhdBox === null) {
|
|
44694
44793
|
throw new Error("Smooth: Invalid ISOBMFF given");
|
|
44695
44794
|
}
|
|
44696
44795
|
var tfhdOffsets = (0,get_box/* getBoxOffsets */.QL)(trafContent, 0x74666864 /* tfhd */);
|
|
44697
|
-
var oldTrunOffsets = (0,get_box/* getBoxOffsets */.QL)(trafContent,
|
|
44796
|
+
var oldTrunOffsets = (0,get_box/* getBoxOffsets */.QL)(trafContent, 0x7472756e /* trun */);
|
|
44698
44797
|
if (tfhdOffsets === null || oldTrunOffsets === null) {
|
|
44699
44798
|
throw new Error("Smooth: Invalid ISOBMFF given");
|
|
44700
44799
|
}
|
|
@@ -44704,22 +44803,22 @@ function patchSegment(segment, decodeTime) {
|
|
|
44704
44803
|
tfhdBox.set([0, 0, 0, 1], tfhdOffsets[1] - tfhdOffsets[0] + 4 /* version + flags */);
|
|
44705
44804
|
var tfdtBox = createTfdtBox(decodeTime);
|
|
44706
44805
|
var newTrunBox = updateTrunDataOffset(oldTrunBox, oldTrunOffsets[1] - oldTrunOffsets[0]);
|
|
44707
|
-
var sencContent = (0,get_box/* getUuidContent */.$H)(trafContent,
|
|
44806
|
+
var sencContent = (0,get_box/* getUuidContent */.$H)(trafContent, 0xa2394f52, 0x5a9b4f14, 0xa2446c42, 0x7c648df4);
|
|
44708
44807
|
var newTrafBox = createTrafBox(tfhdBox, tfdtBox, newTrunBox, mfhdBox, sencContent);
|
|
44709
44808
|
var newMoof = createBoxWithChildren("moof", [mfhdBox, newTrafBox]);
|
|
44710
|
-
var newMoofOffsets = (0,get_box/* getBoxOffsets */.QL)(newMoof,
|
|
44809
|
+
var newMoofOffsets = (0,get_box/* getBoxOffsets */.QL)(newMoof, 0x6d6f6f66 /* moof */);
|
|
44711
44810
|
var newTrafOffsets = (0,get_box/* getBoxOffsets */.QL)(newTrafBox, 0x74726166 /* traf */);
|
|
44712
|
-
var newTrunOffsets = (0,get_box/* getBoxOffsets */.QL)(newTrunBox,
|
|
44811
|
+
var newTrunOffsets = (0,get_box/* getBoxOffsets */.QL)(newTrunBox, 0x7472756e /* trun */);
|
|
44713
44812
|
if (newMoofOffsets === null || newTrafOffsets === null || newTrunOffsets === null) {
|
|
44714
44813
|
throw new Error("Smooth: Invalid moof, trun or traf generation");
|
|
44715
44814
|
}
|
|
44716
44815
|
/** index of the `data_offset` property from the trun box in the whole "moof". */
|
|
44717
44816
|
var indexOfTrunDataOffsetInMoof = newMoofOffsets[1] - newMoofOffsets[0] + mfhdBox.length + ( /* new traf size + name */
|
|
44718
44817
|
newTrafOffsets[1] - newTrafOffsets[0]) + tfhdBox.length + tfdtBox.length + ( /* new trun size + name */
|
|
44719
|
-
newTrunOffsets[1] - newTrunOffsets[0]) + 8 /* trun version + flags + `sample_count`
|
|
44818
|
+
newTrunOffsets[1] - newTrunOffsets[0]) + 8; /* trun version + flags + `sample_count` */
|
|
44720
44819
|
var oldMoofLength = oldMoofOffsets[2] - oldMoofOffsets[0];
|
|
44721
44820
|
var newMoofSizeDiff = newMoof.length - oldMoofLength;
|
|
44722
|
-
var oldMdatOffset = (0,get_box/* getBoxOffsets */.QL)(segment,
|
|
44821
|
+
var oldMdatOffset = (0,get_box/* getBoxOffsets */.QL)(segment, 0x6d646174 /* "mdat" */);
|
|
44723
44822
|
if (oldMdatOffset === null) {
|
|
44724
44823
|
throw new Error("Smooth: Invalid ISOBMFF given");
|
|
44725
44824
|
}
|
|
@@ -44821,7 +44920,7 @@ function createMOOVBox(mvhd, mvex, trak) {
|
|
|
44821
44920
|
* @returns {Uint8Array}
|
|
44822
44921
|
*/
|
|
44823
44922
|
function createInitSegment(timescale, type, stsd, mhd, width, height) {
|
|
44824
|
-
var stbl = createBoxWithChildren("stbl", [stsd, createBox("stts", new Uint8Array(0x08)), createBox("stsc", new Uint8Array(0x08)), createBox("stsz", new Uint8Array(
|
|
44923
|
+
var stbl = createBoxWithChildren("stbl", [stsd, createBox("stts", new Uint8Array(0x08)), createBox("stsc", new Uint8Array(0x08)), createBox("stsz", new Uint8Array(0x0c)), createBox("stco", new Uint8Array(0x08))]);
|
|
44825
44924
|
var url = createBox("url ", new Uint8Array([0, 0, 0, 1]));
|
|
44826
44925
|
var dref = createDREFBox(url);
|
|
44827
44926
|
var dinf = createBoxWithChildren("dinf", [dref]);
|
|
@@ -44935,9 +45034,9 @@ var SAMPLING_FREQUENCIES = [96000, 88200, 64000, 48000, 44100, 32000, 24000, 220
|
|
|
44935
45034
|
function getAacesHeader(type, frequency, chans) {
|
|
44936
45035
|
var freq = SAMPLING_FREQUENCIES.indexOf(frequency); // TODO : handle Idx = 15...
|
|
44937
45036
|
var val;
|
|
44938
|
-
val = (type &
|
|
44939
|
-
val = (val | freq &
|
|
44940
|
-
val = (val | chans &
|
|
45037
|
+
val = (type & 0x3f) << 0x4;
|
|
45038
|
+
val = (val | freq & 0x1f) << 0x4;
|
|
45039
|
+
val = (val | chans & 0x1f) << 0x3;
|
|
44941
45040
|
return (0,string_parsing/* bytesToHex */.My)((0,byte_parsing/* itobe2 */.ww)(val));
|
|
44942
45041
|
}
|
|
44943
45042
|
;// CONCATENATED MODULE: ./src/transports/smooth/isobmff/create_audio_init_segment.ts
|
|
@@ -45617,7 +45716,7 @@ function addNextSegments(adaptation, nextSegments, dlSegment) {
|
|
|
45617
45716
|
segmentEnd = chunkInfos.duration !== undefined ? chunkInfos.time + chunkInfos.duration : segment.end;
|
|
45618
45717
|
}
|
|
45619
45718
|
var lcCodec = codec.toLowerCase();
|
|
45620
|
-
if (mimeType === "application/ttml+xml+mp4" || lcCodec === "stpp" || lcCodec === "stpp.ttml.im1t") {
|
|
45719
|
+
if (mimeType === "application/ttml+xml+mp4" || lcCodec === "stpp" || lcCodec === "stpp.ttml" || lcCodec === "stpp.ttml.im1t") {
|
|
45621
45720
|
_sdType = "ttml";
|
|
45622
45721
|
} else if (lcCodec === "wvtt") {
|
|
45623
45722
|
_sdType = "vtt";
|
|
@@ -45878,16 +45977,16 @@ function checkISOBMFFIntegrity(buffer, isInitSegment) {
|
|
|
45878
45977
|
if (ftypIndex < 0) {
|
|
45879
45978
|
throw new _errors__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A("INTEGRITY_ERROR", "Incomplete `ftyp` box");
|
|
45880
45979
|
}
|
|
45881
|
-
var moovIndex = (0,_find_complete_box__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(buffer,
|
|
45980
|
+
var moovIndex = (0,_find_complete_box__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(buffer, 0x6d6f6f76 /* moov */);
|
|
45882
45981
|
if (moovIndex < 0) {
|
|
45883
45982
|
throw new _errors__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A("INTEGRITY_ERROR", "Incomplete `moov` box");
|
|
45884
45983
|
}
|
|
45885
45984
|
} else {
|
|
45886
|
-
var moofIndex = (0,_find_complete_box__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(buffer,
|
|
45985
|
+
var moofIndex = (0,_find_complete_box__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(buffer, 0x6d6f6f66 /* moof */);
|
|
45887
45986
|
if (moofIndex < 0) {
|
|
45888
45987
|
throw new _errors__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A("INTEGRITY_ERROR", "Incomplete `moof` box");
|
|
45889
45988
|
}
|
|
45890
|
-
var mdatIndex = (0,_find_complete_box__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(buffer,
|
|
45989
|
+
var mdatIndex = (0,_find_complete_box__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(buffer, 0x6d646174 /* mdat */);
|
|
45891
45990
|
if (mdatIndex < 0) {
|
|
45892
45991
|
throw new _errors__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A("INTEGRITY_ERROR", "Incomplete `mdat` box");
|
|
45893
45992
|
}
|
|
@@ -46627,8 +46726,8 @@ function bytesToBase64(bytes) {
|
|
|
46627
46726
|
for (i = 2; i < length; i += 3) {
|
|
46628
46727
|
result += base64abc[bytes[i - 2] >> 2];
|
|
46629
46728
|
result += base64abc[(bytes[i - 2] & 0x03) << 4 | bytes[i - 1] >> 4];
|
|
46630
|
-
result += base64abc[(bytes[i - 1] &
|
|
46631
|
-
result += base64abc[bytes[i] &
|
|
46729
|
+
result += base64abc[(bytes[i - 1] & 0x0f) << 2 | bytes[i] >> 6];
|
|
46730
|
+
result += base64abc[bytes[i] & 0x3f];
|
|
46632
46731
|
}
|
|
46633
46732
|
if (i === length + 1) {
|
|
46634
46733
|
// 1 octet yet to write
|
|
@@ -46640,7 +46739,7 @@ function bytesToBase64(bytes) {
|
|
|
46640
46739
|
// 2 octets yet to write
|
|
46641
46740
|
result += base64abc[bytes[i - 2] >> 2];
|
|
46642
46741
|
result += base64abc[(bytes[i - 2] & 0x03) << 4 | bytes[i - 1] >> 4];
|
|
46643
|
-
result += base64abc[(bytes[i - 1] &
|
|
46742
|
+
result += base64abc[(bytes[i - 1] & 0x0f) << 2];
|
|
46644
46743
|
result += "=";
|
|
46645
46744
|
}
|
|
46646
46745
|
return result;
|
|
@@ -46670,8 +46769,8 @@ function base64ToBytes(str) {
|
|
|
46670
46769
|
for (var i = 0, j = 0; i < n; i += 4, j += 3) {
|
|
46671
46770
|
buffer = getBase64Code(paddedStr.charCodeAt(i)) << 18 | getBase64Code(paddedStr.charCodeAt(i + 1)) << 12 | getBase64Code(paddedStr.charCodeAt(i + 2)) << 6 | getBase64Code(paddedStr.charCodeAt(i + 3));
|
|
46672
46771
|
result[j] = buffer >> 16;
|
|
46673
|
-
result[j + 1] = buffer >> 8 &
|
|
46674
|
-
result[j + 2] = buffer &
|
|
46772
|
+
result[j + 1] = buffer >> 8 & 0xff;
|
|
46773
|
+
result[j + 2] = buffer & 0xff;
|
|
46675
46774
|
}
|
|
46676
46775
|
return result.subarray(0, result.length - missingOctets);
|
|
46677
46776
|
}
|
|
@@ -46785,7 +46884,7 @@ function be8toi(bytes, offset) {
|
|
|
46785
46884
|
* @returns {Uint8Array}
|
|
46786
46885
|
*/
|
|
46787
46886
|
function itobe2(num) {
|
|
46788
|
-
return new Uint8Array([num >>> 8 &
|
|
46887
|
+
return new Uint8Array([num >>> 8 & 0xff, num & 0xff]);
|
|
46789
46888
|
}
|
|
46790
46889
|
/**
|
|
46791
46890
|
* Translate Integer to a Uint8Array of length 4 of the corresponding big-endian
|
|
@@ -46794,7 +46893,7 @@ function itobe2(num) {
|
|
|
46794
46893
|
* @returns {Uint8Array}
|
|
46795
46894
|
*/
|
|
46796
46895
|
function itobe4(num) {
|
|
46797
|
-
return new Uint8Array([num >>> 24 &
|
|
46896
|
+
return new Uint8Array([num >>> 24 & 0xff, num >>> 16 & 0xff, num >>> 8 & 0xff, num & 0xff]);
|
|
46798
46897
|
}
|
|
46799
46898
|
/**
|
|
46800
46899
|
* Translate Integer to a Uint8Array of length 8 of the corresponding big-endian
|
|
@@ -46807,7 +46906,7 @@ function itobe4(num) {
|
|
|
46807
46906
|
function itobe8(num) {
|
|
46808
46907
|
var l = num % 0x100000000;
|
|
46809
46908
|
var h = (num - l) / 0x100000000;
|
|
46810
|
-
return new Uint8Array([h >>> 24 &
|
|
46909
|
+
return new Uint8Array([h >>> 24 & 0xff, h >>> 16 & 0xff, h >>> 8 & 0xff, h & 0xff, l >>> 24 & 0xff, l >>> 16 & 0xff, l >>> 8 & 0xff, l & 0xff]);
|
|
46811
46910
|
}
|
|
46812
46911
|
/**
|
|
46813
46912
|
* Translate groups of 2 little-endian bytes to Integer (from 0 up to 65535).
|
|
@@ -46843,7 +46942,7 @@ function le8toi(bytes, offset) {
|
|
|
46843
46942
|
* @returns {Uint8Array}
|
|
46844
46943
|
*/
|
|
46845
46944
|
function itole2(num) {
|
|
46846
|
-
return new Uint8Array([num &
|
|
46945
|
+
return new Uint8Array([num & 0xff, num >>> 8 & 0xff]);
|
|
46847
46946
|
}
|
|
46848
46947
|
/**
|
|
46849
46948
|
* Translate Integer to a Uint8Array of length 4 of the corresponding
|
|
@@ -46852,7 +46951,7 @@ function itole2(num) {
|
|
|
46852
46951
|
* @returns {Uint8Array}
|
|
46853
46952
|
*/
|
|
46854
46953
|
function itole4(num) {
|
|
46855
|
-
return new Uint8Array([num &
|
|
46954
|
+
return new Uint8Array([num & 0xff, num >>> 8 & 0xff, num >>> 16 & 0xff, num >>> 24 & 0xff]);
|
|
46856
46955
|
}
|
|
46857
46956
|
/**
|
|
46858
46957
|
* Check if an ArrayBuffer is equal to the bytes given.
|
|
@@ -49603,8 +49702,8 @@ function strToUtf16LE(str) {
|
|
|
49603
49702
|
var res = new Uint8Array(buffer);
|
|
49604
49703
|
for (var i = 0; i < res.length; i += 2) {
|
|
49605
49704
|
var value = str.charCodeAt(i / 2);
|
|
49606
|
-
res[i] = value &
|
|
49607
|
-
res[i + 1] = value >> 8 &
|
|
49705
|
+
res[i] = value & 0xff;
|
|
49706
|
+
res[i + 1] = value >> 8 & 0xff;
|
|
49608
49707
|
}
|
|
49609
49708
|
return res;
|
|
49610
49709
|
}
|
|
@@ -49619,8 +49718,8 @@ function strToBeUtf16(str) {
|
|
|
49619
49718
|
var res = new Uint8Array(buffer);
|
|
49620
49719
|
for (var i = 0; i < res.length; i += 2) {
|
|
49621
49720
|
var value = str.charCodeAt(i / 2);
|
|
49622
|
-
res[i + 1] = value &
|
|
49623
|
-
res[i] = value >> 8 &
|
|
49721
|
+
res[i + 1] = value & 0xff;
|
|
49722
|
+
res[i] = value >> 8 & 0xff;
|
|
49624
49723
|
}
|
|
49625
49724
|
return res;
|
|
49626
49725
|
}
|
|
@@ -49748,7 +49847,7 @@ function strToUtf8(str) {
|
|
|
49748
49847
|
// UTF-16 representation
|
|
49749
49848
|
var res = new Uint8Array(utf8Str.length);
|
|
49750
49849
|
for (var _i = 0; _i < utf8Str.length; _i++) {
|
|
49751
|
-
res[_i] = utf8Str.charCodeAt(_i) &
|
|
49850
|
+
res[_i] = utf8Str.charCodeAt(_i) & 0xff; // first byte should be 0x00 anyway
|
|
49752
49851
|
}
|
|
49753
49852
|
return res;
|
|
49754
49853
|
}
|
|
@@ -49805,7 +49904,7 @@ function utf8ToStr(data) {
|
|
|
49805
49904
|
}
|
|
49806
49905
|
var uint8 = data;
|
|
49807
49906
|
// If present, strip off the UTF-8 BOM.
|
|
49808
|
-
if (uint8[0] ===
|
|
49907
|
+
if (uint8[0] === 0xef && uint8[1] === 0xbb && uint8[2] === 0xbf) {
|
|
49809
49908
|
uint8 = uint8.subarray(3);
|
|
49810
49909
|
}
|
|
49811
49910
|
// We're basically doing strToUtf8 in reverse.
|
|
@@ -49844,7 +49943,7 @@ function hexToBytes(str) {
|
|
|
49844
49943
|
var len = str.length;
|
|
49845
49944
|
var arr = new Uint8Array(len / 2);
|
|
49846
49945
|
for (var i = 0, j = 0; i < len; i += 2, j++) {
|
|
49847
|
-
arr[j] = parseInt(str.substring(i, i + 2), 16) &
|
|
49946
|
+
arr[j] = parseInt(str.substring(i, i + 2), 16) & 0xff;
|
|
49848
49947
|
}
|
|
49849
49948
|
return arr;
|
|
49850
49949
|
}
|
|
@@ -49862,7 +49961,7 @@ function bytesToHex(bytes, sep) {
|
|
|
49862
49961
|
var hex = "";
|
|
49863
49962
|
for (var i = 0; i < bytes.byteLength; i++) {
|
|
49864
49963
|
hex += (bytes[i] >>> 4).toString(16);
|
|
49865
|
-
hex += (bytes[i] &
|
|
49964
|
+
hex += (bytes[i] & 0xf).toString(16);
|
|
49866
49965
|
if (sep.length > 0 && i < bytes.byteLength - 1) {
|
|
49867
49966
|
hex += sep;
|
|
49868
49967
|
}
|
|
@@ -51638,7 +51737,7 @@ function parseConstructorOptions(options) {
|
|
|
51638
51737
|
if (isNaN(maxVideoBitrate)) {
|
|
51639
51738
|
throw new Error("Invalid maxVideoBitrate parameter. Should be a number.");
|
|
51640
51739
|
} else if (minVideoBitrate > maxVideoBitrate) {
|
|
51641
|
-
throw new Error(
|
|
51740
|
+
throw new Error('Invalid maxVideoBitrate parameter. Its value, "' + (maxVideoBitrate + "\", is inferior to the set minVideoBitrate, \"") + (minVideoBitrate + "\""));
|
|
51642
51741
|
}
|
|
51643
51742
|
}
|
|
51644
51743
|
if ((0,is_null_or_undefined/* default */.A)(options.maxAudioBitrate)) {
|
|
@@ -51648,7 +51747,7 @@ function parseConstructorOptions(options) {
|
|
|
51648
51747
|
if (isNaN(maxAudioBitrate)) {
|
|
51649
51748
|
throw new Error("Invalid maxAudioBitrate parameter. Should be a number.");
|
|
51650
51749
|
} else if (minAudioBitrate > maxAudioBitrate) {
|
|
51651
|
-
throw new Error(
|
|
51750
|
+
throw new Error('Invalid maxAudioBitrate parameter. Its value, "' + (maxAudioBitrate + "\", is inferior to the set minAudioBitrate, \"") + (minAudioBitrate + "\""));
|
|
51652
51751
|
}
|
|
51653
51752
|
}
|
|
51654
51753
|
var stopAtEnd = (0,is_null_or_undefined/* default */.A)(options.stopAtEnd) ? DEFAULT_STOP_AT_END : !!options.stopAtEnd;
|
|
@@ -51836,14 +51935,14 @@ function parseLoadVideoOptions(options) {
|
|
|
51836
51935
|
if (textTrackMode === "html") {
|
|
51837
51936
|
// TODO Better way to express that in TypeScript?
|
|
51838
51937
|
if ((0,is_null_or_undefined/* default */.A)(options.textTrackElement)) {
|
|
51839
|
-
throw new Error("You have to provide a textTrackElement " +
|
|
51938
|
+
throw new Error("You have to provide a textTrackElement " + 'in "html" textTrackMode.');
|
|
51840
51939
|
} else if (!(options.textTrackElement instanceof HTMLElement)) {
|
|
51841
51940
|
throw new Error("textTrackElement should be an HTMLElement.");
|
|
51842
51941
|
} else {
|
|
51843
51942
|
textTrackElement = options.textTrackElement;
|
|
51844
51943
|
}
|
|
51845
51944
|
} else if (!(0,is_null_or_undefined/* default */.A)(options.textTrackElement)) {
|
|
51846
|
-
src_log/* default */.A.warn("API: You have set a textTrackElement without being in " +
|
|
51945
|
+
src_log/* default */.A.warn("API: You have set a textTrackElement without being in " + 'an "html" textTrackMode. It will be ignored.');
|
|
51847
51946
|
}
|
|
51848
51947
|
if (!(0,is_null_or_undefined/* default */.A)(options.startAt)) {
|
|
51849
51948
|
if ("wallClockTime" in options.startAt && options.startAt.wallClockTime instanceof Date) {
|
|
@@ -53691,7 +53790,7 @@ var Player = /*#__PURE__*/function (_EventEmitter) {
|
|
|
53691
53790
|
// Workaround to support Firefox autoplay on FF 42.
|
|
53692
53791
|
// See: https://bugzilla.mozilla.org/show_bug.cgi?id=1194624
|
|
53693
53792
|
videoElement.preload = "auto";
|
|
53694
|
-
_this.version = /* PLAYER_VERSION */"3.33.4
|
|
53793
|
+
_this.version = /* PLAYER_VERSION */"3.33.4";
|
|
53695
53794
|
_this.log = src_log/* default */.A;
|
|
53696
53795
|
_this.state = "STOPPED";
|
|
53697
53796
|
_this.videoElement = videoElement;
|
|
@@ -54933,7 +55032,7 @@ var Player = /*#__PURE__*/function (_EventEmitter) {
|
|
|
54933
55032
|
positionWanted = timeObj.wallClockTime;
|
|
54934
55033
|
}
|
|
54935
55034
|
} else {
|
|
54936
|
-
throw new Error("invalid time object. You must set one of the " +
|
|
55035
|
+
throw new Error("invalid time object. You must set one of the " + 'following properties: "relative", "position" or ' + '"wallClockTime"');
|
|
54937
55036
|
}
|
|
54938
55037
|
}
|
|
54939
55038
|
if (positionWanted === undefined) {
|
|
@@ -56179,7 +56278,7 @@ var Player = /*#__PURE__*/function (_EventEmitter) {
|
|
|
56179
56278
|
* Use of a WeakSet ensure the object is garbage collected if it's not used anymore.
|
|
56180
56279
|
*/
|
|
56181
56280
|
Player._priv_currentlyUsedVideoElements = new WeakSet();
|
|
56182
|
-
Player.version = /* PLAYER_VERSION */"3.33.4
|
|
56281
|
+
Player.version = /* PLAYER_VERSION */"3.33.4";
|
|
56183
56282
|
/* harmony default export */ var public_api = (Player);
|
|
56184
56283
|
;// CONCATENATED MODULE: ./src/core/api/index.ts
|
|
56185
56284
|
/**
|
|
@@ -56220,6 +56319,7 @@ Player.version = /* PLAYER_VERSION */"3.33.4-dev.2024090600";
|
|
|
56220
56319
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
56221
56320
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
56222
56321
|
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
56322
|
+
/* eslint-disable @typescript-eslint/no-require-imports */
|
|
56223
56323
|
|
|
56224
56324
|
/**
|
|
56225
56325
|
* Selects the features to include.
|