rx-player 3.33.4-dev.2024083000 → 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 -1076
- 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.d.ts +3 -1
- package/dist/_esm5.processed/compat/browser_detection.js +18 -10
- package/dist/_esm5.processed/compat/can_reuse_media_keys.d.ts +4 -0
- package/dist/_esm5.processed/compat/can_reuse_media_keys.js +6 -2
- 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 +345 -236
- 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 +29 -14
- 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
|
@@ -51,7 +51,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
51
51
|
};
|
|
52
52
|
import log from "../../log";
|
|
53
53
|
import cancellableSleep from "../../utils/cancellable_sleep";
|
|
54
|
-
import TaskCanceller, { CancellationError
|
|
54
|
+
import TaskCanceller, { CancellationError } from "../../utils/task_canceller";
|
|
55
55
|
/**
|
|
56
56
|
* Close the given `MediaKeySession` and returns a Promise resolving when the
|
|
57
57
|
* session is closed.
|
|
@@ -68,12 +68,14 @@ import TaskCanceller, { CancellationError, } from "../../utils/task_canceller";
|
|
|
68
68
|
export default function closeSession(session) {
|
|
69
69
|
var timeoutCanceller = new TaskCanceller();
|
|
70
70
|
return Promise.race([
|
|
71
|
-
session.close()
|
|
72
|
-
|
|
71
|
+
session.close().then(function () {
|
|
72
|
+
timeoutCanceller.cancel();
|
|
73
|
+
}),
|
|
73
74
|
// The `closed` promise may resolve, even if `close()` result has not
|
|
74
75
|
// (seen at some point on Firefox).
|
|
75
|
-
session.closed
|
|
76
|
-
|
|
76
|
+
session.closed.then(function () {
|
|
77
|
+
timeoutCanceller.cancel();
|
|
78
|
+
}),
|
|
77
79
|
waitTimeoutAndCheck(),
|
|
78
80
|
]);
|
|
79
81
|
/**
|
|
@@ -101,12 +103,13 @@ export default function closeSession(session) {
|
|
|
101
103
|
return [3 /*break*/, 4];
|
|
102
104
|
case 3:
|
|
103
105
|
err_1 = _a.sent();
|
|
104
|
-
if (err_1 instanceof CancellationError) {
|
|
106
|
+
if (err_1 instanceof CancellationError) {
|
|
107
|
+
// cancelled == session closed
|
|
105
108
|
return [2 /*return*/];
|
|
106
109
|
}
|
|
107
|
-
message = err_1 instanceof Error
|
|
108
|
-
err_1.message
|
|
109
|
-
"Unknown error made it impossible to close the session";
|
|
110
|
+
message = err_1 instanceof Error
|
|
111
|
+
? err_1.message
|
|
112
|
+
: "Unknown error made it impossible to close the session";
|
|
110
113
|
log.error("DRM: ".concat(message));
|
|
111
114
|
return [3 /*break*/, 4];
|
|
112
115
|
case 4: return [2 /*return*/];
|
|
@@ -136,14 +139,14 @@ export default function closeSession(session) {
|
|
|
136
139
|
return [3 /*break*/, 4];
|
|
137
140
|
case 2:
|
|
138
141
|
err_2 = _a.sent();
|
|
139
|
-
if (timeoutCanceller.isUsed()) {
|
|
142
|
+
if (timeoutCanceller.isUsed()) {
|
|
143
|
+
// Reminder: cancelled == session closed
|
|
140
144
|
return [2 /*return*/];
|
|
141
145
|
}
|
|
142
146
|
// The caught error can tell if session is closed
|
|
143
147
|
// (Chrome may throw this error)
|
|
144
148
|
// I know... Checking the error message is not the best practice ever.
|
|
145
|
-
if (err_2 instanceof Error &&
|
|
146
|
-
err_2.message === "The session is already closed.") {
|
|
149
|
+
if (err_2 instanceof Error && err_2.message === "The session is already closed.") {
|
|
147
150
|
return [2 /*return*/];
|
|
148
151
|
}
|
|
149
152
|
return [4 /*yield*/, cancellableSleep(1000, timeoutCanceller.signal)];
|
|
@@ -151,7 +154,8 @@ export default function closeSession(session) {
|
|
|
151
154
|
_a.sent();
|
|
152
155
|
return [3 /*break*/, 4];
|
|
153
156
|
case 4:
|
|
154
|
-
if (timeoutCanceller.isUsed()) {
|
|
157
|
+
if (timeoutCanceller.isUsed()) {
|
|
158
|
+
// Reminder: cancelled == session closed
|
|
155
159
|
return [2 /*return*/];
|
|
156
160
|
}
|
|
157
161
|
throw new Error("Compat: Couldn't know if session is closed");
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { ICustomMediaKeys } from "./custom_media_keys";
|
|
16
|
+
import type { ICustomMediaKeys } from "./custom_media_keys";
|
|
17
17
|
export interface ICustomMediaKeySystemAccess {
|
|
18
18
|
readonly keySystem: string;
|
|
19
19
|
getConfiguration(): MediaKeySystemConfiguration;
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { MSMediaKeysConstructor } from "./ms_media_keys_constructor";
|
|
17
|
-
import { ICustomMediaKeys, ICustomMediaKeySession } from "./types";
|
|
17
|
+
import type { ICustomMediaKeys, ICustomMediaKeySession } from "./types";
|
|
18
18
|
declare class IE11CustomMediaKeys implements ICustomMediaKeys {
|
|
19
19
|
private _videoElement?;
|
|
20
20
|
private _mediaKeys?;
|
|
@@ -32,7 +32,7 @@ import EventEmitter from "../../../utils/event_emitter";
|
|
|
32
32
|
import TaskCanceller from "../../../utils/task_canceller";
|
|
33
33
|
import wrapInPromise from "../../../utils/wrapInPromise";
|
|
34
34
|
import * as events from "../../event_listeners";
|
|
35
|
-
import { MSMediaKeysConstructor
|
|
35
|
+
import { MSMediaKeysConstructor } from "./ms_media_keys_constructor";
|
|
36
36
|
var IE11MediaKeySession = /** @class */ (function (_super) {
|
|
37
37
|
__extends(IE11MediaKeySession, _super);
|
|
38
38
|
function IE11MediaKeySession(mk) {
|
|
@@ -62,9 +62,11 @@ var IE11MediaKeySession = /** @class */ (function (_super) {
|
|
|
62
62
|
IE11MediaKeySession.prototype.generateRequest = function (_initDataType, initData) {
|
|
63
63
|
var _this = this;
|
|
64
64
|
return new Promise(function (resolve) {
|
|
65
|
-
var initDataU8 = initData instanceof Uint8Array
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
var initDataU8 = initData instanceof Uint8Array
|
|
66
|
+
? initData
|
|
67
|
+
: initData instanceof ArrayBuffer
|
|
68
|
+
? new Uint8Array(initData)
|
|
69
|
+
: new Uint8Array(initData.buffer);
|
|
68
70
|
_this._ss = _this._mk.createSession("video/mp4", initDataU8);
|
|
69
71
|
events.onKeyMessage(_this._ss, function (evt) {
|
|
70
72
|
var _a;
|
|
@@ -145,9 +147,7 @@ export default function getIE11MediaKeysCallbacks() {
|
|
|
145
147
|
}
|
|
146
148
|
return MSMediaKeysConstructor.isTypeSupported(keySystem);
|
|
147
149
|
};
|
|
148
|
-
var createCustomMediaKeys = function (keyType) {
|
|
149
|
-
return new IE11CustomMediaKeys(keyType);
|
|
150
|
-
};
|
|
150
|
+
var createCustomMediaKeys = function (keyType) { return new IE11CustomMediaKeys(keyType); };
|
|
151
151
|
var setMediaKeys = function (elt, mediaKeys) {
|
|
152
152
|
if (mediaKeys === null) {
|
|
153
153
|
// msSetMediaKeys only accepts native MSMediaKeys as argument.
|
|
@@ -156,8 +156,7 @@ export default function getIE11MediaKeysCallbacks() {
|
|
|
156
156
|
return Promise.resolve(undefined);
|
|
157
157
|
}
|
|
158
158
|
if (!(mediaKeys instanceof IE11CustomMediaKeys)) {
|
|
159
|
-
throw new Error("Custom setMediaKeys is supposed to be called " +
|
|
160
|
-
"with IE11 custom MediaKeys.");
|
|
159
|
+
throw new Error("Custom setMediaKeys is supposed to be called " + "with IE11 custom MediaKeys.");
|
|
161
160
|
}
|
|
162
161
|
return mediaKeys._setVideo(elt);
|
|
163
162
|
};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import getIE11MediaKeysCallbacks, { MSMediaKeysConstructor } from "./ie11_media_keys";
|
|
2
2
|
import getMozMediaKeysCallbacks, { MozMediaKeysConstructor } from "./moz_media_keys_constructor";
|
|
3
3
|
import getOldKitWebKitMediaKeyCallbacks, { isOldWebkitMediaElement } from "./old_webkit_media_keys";
|
|
4
|
-
import { ICustomMediaKeys, ICustomMediaKeySession } from "./types";
|
|
4
|
+
import type { ICustomMediaKeys, ICustomMediaKeySession } from "./types";
|
|
5
5
|
import getWebKitMediaKeysCallbacks from "./webkit_media_keys";
|
|
6
6
|
import { WebKitMediaKeysConstructor } from "./webkit_media_keys_constructor";
|
|
7
|
-
export {
|
|
7
|
+
export type { ICustomMediaKeys, ICustomMediaKeySession };
|
|
8
|
+
export { getIE11MediaKeysCallbacks, MSMediaKeysConstructor, getMozMediaKeysCallbacks, MozMediaKeysConstructor, getOldKitWebKitMediaKeyCallbacks, isOldWebkitMediaElement, getWebKitMediaKeysCallbacks, WebKitMediaKeysConstructor, };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import getIE11MediaKeysCallbacks, { MSMediaKeysConstructor
|
|
1
|
+
import getIE11MediaKeysCallbacks, { MSMediaKeysConstructor } from "./ie11_media_keys";
|
|
2
2
|
import getMozMediaKeysCallbacks, { MozMediaKeysConstructor, } from "./moz_media_keys_constructor";
|
|
3
3
|
import getOldKitWebKitMediaKeyCallbacks, { isOldWebkitMediaElement, } from "./old_webkit_media_keys";
|
|
4
4
|
import getWebKitMediaKeysCallbacks from "./webkit_media_keys";
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { ICustomMediaKeys } from "./types";
|
|
16
|
+
import type { ICustomMediaKeys } from "./types";
|
|
17
17
|
interface IMozMediaKeysConstructor {
|
|
18
18
|
new (keySystem: string): ICustomMediaKeys;
|
|
19
19
|
isTypeSupported(keySystem: string, type?: string | null): boolean;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { ICustomMediaKeys, ICustomMediaKeySession } from "./types";
|
|
16
|
+
import type { ICustomMediaKeys, ICustomMediaKeySession } from "./types";
|
|
17
17
|
export interface IOldWebkitHTMLMediaElement extends HTMLVideoElement {
|
|
18
18
|
webkitGenerateKeyRequest: (keyType: string, initData: ArrayBuffer) => void;
|
|
19
19
|
webkitAddKey: (keyType: string, key: BufferSource, kid: BufferSource | null, sessionId: string) => void;
|
|
@@ -40,8 +40,7 @@ import wrapInPromise from "../../../utils/wrapInPromise";
|
|
|
40
40
|
* @returns {Boolean}
|
|
41
41
|
*/
|
|
42
42
|
export function isOldWebkitMediaElement(element) {
|
|
43
|
-
return typeof element
|
|
44
|
-
.webkitGenerateKeyRequest === "function";
|
|
43
|
+
return (typeof element.webkitGenerateKeyRequest === "function");
|
|
45
44
|
}
|
|
46
45
|
/**
|
|
47
46
|
* MediaKeySession implementation for older versions of WebKit relying on APIs
|
|
@@ -64,16 +63,14 @@ var OldWebkitMediaKeySession = /** @class */ (function (_super) {
|
|
|
64
63
|
};
|
|
65
64
|
_this.closed = new Promise(function (resolve) {
|
|
66
65
|
_this._closeSession = function () {
|
|
67
|
-
["keymessage", "message", "keyadded", "ready", "keyerror", "error"]
|
|
68
|
-
.forEach(function (evt) {
|
|
66
|
+
["keymessage", "message", "keyadded", "ready", "keyerror", "error"].forEach(function (evt) {
|
|
69
67
|
mediaElement.removeEventListener(evt, onSessionRelatedEvent);
|
|
70
68
|
mediaElement.removeEventListener("webkit".concat(evt), onSessionRelatedEvent);
|
|
71
69
|
});
|
|
72
70
|
resolve();
|
|
73
71
|
};
|
|
74
72
|
});
|
|
75
|
-
["keymessage", "message", "keyadded", "ready", "keyerror", "error"]
|
|
76
|
-
.forEach(function (evt) {
|
|
73
|
+
["keymessage", "message", "keyadded", "ready", "keyerror", "error"].forEach(function (evt) {
|
|
77
74
|
mediaElement.addEventListener(evt, onSessionRelatedEvent);
|
|
78
75
|
mediaElement.addEventListener("webkit".concat(evt), onSessionRelatedEvent);
|
|
79
76
|
});
|
|
@@ -84,8 +81,7 @@ var OldWebkitMediaKeySession = /** @class */ (function (_super) {
|
|
|
84
81
|
return new Promise(function (resolve, reject) {
|
|
85
82
|
try {
|
|
86
83
|
if (_this._key.indexOf("clearkey") >= 0) {
|
|
87
|
-
var licenseTypedArray = license instanceof ArrayBuffer ? new Uint8Array(license) :
|
|
88
|
-
license;
|
|
84
|
+
var licenseTypedArray = license instanceof ArrayBuffer ? new Uint8Array(license) : license;
|
|
89
85
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
90
86
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
91
87
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
@@ -173,7 +169,9 @@ export default function getOldWebKitMediaKeysCallbacks() {
|
|
|
173
169
|
return false;
|
|
174
170
|
}
|
|
175
171
|
};
|
|
176
|
-
var createCustomMediaKeys = function (keyType) {
|
|
172
|
+
var createCustomMediaKeys = function (keyType) {
|
|
173
|
+
return new OldWebKitCustomMediaKeys(keyType);
|
|
174
|
+
};
|
|
177
175
|
var setMediaKeys = function (elt, mediaKeys) {
|
|
178
176
|
if (mediaKeys === null) {
|
|
179
177
|
return Promise.resolve(undefined);
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { IEventEmitter } from "../../../utils/event_emitter";
|
|
16
|
+
import type { IEventEmitter } from "../../../utils/event_emitter";
|
|
17
17
|
export interface ICustomMediaKeySession extends IEventEmitter<IMediaKeySessionEvents> {
|
|
18
18
|
readonly closed: Promise<void>;
|
|
19
19
|
expiration: number;
|
|
@@ -41,3 +41,6 @@ export interface ICustomMediaKeyStatusMap {
|
|
|
41
41
|
export interface IMediaKeySessionEvents {
|
|
42
42
|
[key: string]: MediaKeyMessageEvent | Event;
|
|
43
43
|
}
|
|
44
|
+
export interface ICustomMediaEncryptedEvent extends MediaEncryptedEvent {
|
|
45
|
+
forceSessionRecreation?: boolean | undefined;
|
|
46
|
+
}
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { ICustomMediaKeys, ICustomMediaKeySession } from "./types";
|
|
16
|
+
import type { ICustomMediaKeys, ICustomMediaKeySession } from "./types";
|
|
17
17
|
export interface ICustomWebKitMediaKeys {
|
|
18
|
-
_setVideo: (videoElement: HTMLMediaElement) =>
|
|
18
|
+
_setVideo: (videoElement: HTMLMediaElement) => Promise<unknown>;
|
|
19
19
|
createSession(mimeType: string, initData: Uint8Array): ICustomMediaKeySession;
|
|
20
20
|
setServerCertificate(setServerCertificate: BufferSource): Promise<void>;
|
|
21
21
|
}
|
|
@@ -33,7 +33,7 @@ import noop from "../../../utils/noop";
|
|
|
33
33
|
import startsWith from "../../../utils/starts_with";
|
|
34
34
|
import wrapInPromise from "../../../utils/wrapInPromise";
|
|
35
35
|
import getWebKitFairplayInitData from "../get_webkit_fairplay_initdata";
|
|
36
|
-
import { WebKitMediaKeysConstructor
|
|
36
|
+
import { WebKitMediaKeysConstructor } from "./webkit_media_keys_constructor";
|
|
37
37
|
/**
|
|
38
38
|
* Check if keyType is for fairplay DRM
|
|
39
39
|
* @param {string} keyType
|
|
@@ -188,14 +188,12 @@ var WebkitMediaKeySession = /** @class */ (function (_super) {
|
|
|
188
188
|
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
189
189
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
190
190
|
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
191
|
-
["keymessage", "message", "keyadded", "ready", "keyerror", "error"]
|
|
192
|
-
.forEach(function (evt) {
|
|
191
|
+
["keymessage", "message", "keyadded", "ready", "keyerror", "error"].forEach(function (evt) {
|
|
193
192
|
session.addEventListener(evt, onEvent);
|
|
194
193
|
session.addEventListener("webkit".concat(evt), onEvent);
|
|
195
194
|
});
|
|
196
195
|
this._unbindSession = function () {
|
|
197
|
-
["keymessage", "message", "keyadded", "ready", "keyerror", "error"]
|
|
198
|
-
.forEach(function (evt) {
|
|
196
|
+
["keymessage", "message", "keyadded", "ready", "keyerror", "error"].forEach(function (evt) {
|
|
199
197
|
session.removeEventListener(evt, onEvent);
|
|
200
198
|
session.removeEventListener("webkit".concat(evt), onEvent);
|
|
201
199
|
});
|
|
@@ -222,8 +220,7 @@ var WebKitCustomMediaKeys = /** @class */ (function () {
|
|
|
222
220
|
return setWebKitMediaKeys(this._videoElement, this._mediaKeys);
|
|
223
221
|
};
|
|
224
222
|
WebKitCustomMediaKeys.prototype.createSession = function ( /* sessionType */) {
|
|
225
|
-
if (this._videoElement === undefined ||
|
|
226
|
-
this._mediaKeys === undefined) {
|
|
223
|
+
if (this._videoElement === undefined || this._mediaKeys === undefined) {
|
|
227
224
|
throw new Error("Video not attached to the MediaKeys");
|
|
228
225
|
}
|
|
229
226
|
return new WebkitMediaKeySession(this._videoElement, this._keyType, this._serverCertificate);
|
|
@@ -239,16 +236,13 @@ export default function getWebKitMediaKeysCallbacks() {
|
|
|
239
236
|
throw new Error("No WebKitMediaKeys API.");
|
|
240
237
|
}
|
|
241
238
|
var isTypeSupported = WebKitMediaKeysConstructor.isTypeSupported;
|
|
242
|
-
var createCustomMediaKeys = function (keyType) {
|
|
243
|
-
return new WebKitCustomMediaKeys(keyType);
|
|
244
|
-
};
|
|
239
|
+
var createCustomMediaKeys = function (keyType) { return new WebKitCustomMediaKeys(keyType); };
|
|
245
240
|
var setMediaKeys = function (elt, mediaKeys) {
|
|
246
241
|
if (mediaKeys === null) {
|
|
247
242
|
return setWebKitMediaKeys(elt, mediaKeys);
|
|
248
243
|
}
|
|
249
244
|
if (!(mediaKeys instanceof WebKitCustomMediaKeys)) {
|
|
250
|
-
throw new Error("Custom setMediaKeys is supposed to be called " +
|
|
251
|
-
"with webkit custom MediaKeys.");
|
|
245
|
+
throw new Error("Custom setMediaKeys is supposed to be called " + "with webkit custom MediaKeys.");
|
|
252
246
|
}
|
|
253
247
|
return mediaKeys._setVideo(elt);
|
|
254
248
|
};
|
package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts
CHANGED
|
@@ -19,4 +19,5 @@ interface IWebKitMediaKeysConstructor {
|
|
|
19
19
|
isTypeSupported: (keyType: string) => boolean;
|
|
20
20
|
}
|
|
21
21
|
declare let WebKitMediaKeysConstructor: undefined | IWebKitMediaKeysConstructor;
|
|
22
|
-
export {
|
|
22
|
+
export type { IWebKitMediaKeys };
|
|
23
|
+
export { WebKitMediaKeysConstructor };
|
|
@@ -22,11 +22,11 @@ if (!isNode) {
|
|
|
22
22
|
if (WebKitMediaKeys !== undefined &&
|
|
23
23
|
typeof WebKitMediaKeys.isTypeSupported === "function" &&
|
|
24
24
|
typeof WebKitMediaKeys.prototype.createSession === "function" &&
|
|
25
|
-
typeof HTMLMediaElement.prototype
|
|
26
|
-
|
|
25
|
+
typeof HTMLMediaElement.prototype.webkitSetMediaKeys ===
|
|
26
|
+
"function") {
|
|
27
27
|
WebKitMediaKeysConstructor = WebKitMediaKeys;
|
|
28
28
|
}
|
|
29
29
|
/* eslint-enable @typescript-eslint/no-unsafe-assignment */
|
|
30
30
|
/* eslint-enable @typescript-eslint/no-unsafe-member-access */
|
|
31
31
|
}
|
|
32
|
-
export { WebKitMediaKeysConstructor
|
|
32
|
+
export { WebKitMediaKeysConstructor };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { CancellationSignal } from "../../utils/task_canceller";
|
|
2
|
-
import { IEventTargetLike } from "../event_listeners";
|
|
1
|
+
import type { CancellationSignal } from "../../utils/task_canceller";
|
|
2
|
+
import type { IEventTargetLike } from "../event_listeners";
|
|
3
3
|
import CustomMediaKeySystemAccess from "./custom_key_system_access";
|
|
4
|
-
import { ICustomMediaKeys } from "./custom_media_keys/types";
|
|
4
|
+
import type { ICustomMediaEncryptedEvent, ICustomMediaKeys } from "./custom_media_keys/types";
|
|
5
5
|
/**
|
|
6
6
|
* Automatically detect and set which EME implementation should be used in the
|
|
7
7
|
* current platform.
|
|
@@ -34,7 +34,7 @@ export interface IEmeApiImplementation {
|
|
|
34
34
|
* @param {Object} cancelSignal - The event listener will be removed once that
|
|
35
35
|
* `CancellationSignal` emits.
|
|
36
36
|
*/
|
|
37
|
-
onEncrypted: (target: IEventTargetLike, listener: (evt:
|
|
37
|
+
onEncrypted: (target: IEventTargetLike, listener: (evt: ICustomMediaEncryptedEvent) => void, cancelSignal: CancellationSignal) => void;
|
|
38
38
|
/**
|
|
39
39
|
* API allowing to attach a `MediaKeys` instance (or an `ICustomMediaKeys`) to
|
|
40
40
|
* the HTMLMediaElement so it can start decoding.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { MediaError } from "../../errors";
|
|
2
2
|
import assert from "../../utils/assert";
|
|
3
3
|
import isNullOrUndefined from "../../utils/is_null_or_undefined";
|
|
4
|
+
import objectAssign from "../../utils/object_assign";
|
|
4
5
|
import { isIE11 } from "../browser_detection";
|
|
5
6
|
import { createCompatibleEventListener } from "../event_listeners";
|
|
6
7
|
import isNode from "../is_node";
|
|
@@ -10,7 +11,7 @@ import getIE11MediaKeysCallbacks, { MSMediaKeysConstructor, } from "./custom_med
|
|
|
10
11
|
import getMozMediaKeysCallbacks, { MozMediaKeysConstructor, } from "./custom_media_keys/moz_media_keys_constructor";
|
|
11
12
|
import getOldKitWebKitMediaKeyCallbacks, { isOldWebkitMediaElement, } from "./custom_media_keys/old_webkit_media_keys";
|
|
12
13
|
import getWebKitMediaKeysCallbacks from "./custom_media_keys/webkit_media_keys";
|
|
13
|
-
import { WebKitMediaKeysConstructor
|
|
14
|
+
import { WebKitMediaKeysConstructor } from "./custom_media_keys/webkit_media_keys_constructor";
|
|
14
15
|
/**
|
|
15
16
|
* Automatically detect and set which EME implementation should be used in the
|
|
16
17
|
* current platform.
|
|
@@ -33,9 +34,8 @@ function getEmeApiImplementation(preferredApiType) {
|
|
|
33
34
|
var implementation;
|
|
34
35
|
if ((preferredApiType === "standard" ||
|
|
35
36
|
(preferredApiType === "auto" && !shouldFavourCustomSafariEME())) &&
|
|
36
|
-
(
|
|
37
37
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
38
|
-
isNode || !isNullOrUndefined(navigator.requestMediaKeySystemAccess))) {
|
|
38
|
+
(isNode || !isNullOrUndefined(navigator.requestMediaKeySystemAccess))) {
|
|
39
39
|
requestMediaKeySystemAccess = function () {
|
|
40
40
|
var args = [];
|
|
41
41
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
@@ -50,8 +50,8 @@ function getEmeApiImplementation(preferredApiType) {
|
|
|
50
50
|
var isTypeSupported_1;
|
|
51
51
|
var createCustomMediaKeys_1;
|
|
52
52
|
if (preferredApiType === "webkit" && WebKitMediaKeysConstructor !== undefined) {
|
|
53
|
-
onEncrypted = createCompatibleEventListener(["needkey"]);
|
|
54
53
|
var callbacks = getWebKitMediaKeysCallbacks();
|
|
54
|
+
onEncrypted = createOnEncryptedForWebkit();
|
|
55
55
|
isTypeSupported_1 = callbacks.isTypeSupported;
|
|
56
56
|
createCustomMediaKeys_1 = callbacks.createCustomMediaKeys;
|
|
57
57
|
setMediaKeys = callbacks.setMediaKeys;
|
|
@@ -69,7 +69,7 @@ function getEmeApiImplementation(preferredApiType) {
|
|
|
69
69
|
// This is for WebKit with prefixed EME api
|
|
70
70
|
}
|
|
71
71
|
else if (WebKitMediaKeysConstructor !== undefined) {
|
|
72
|
-
onEncrypted =
|
|
72
|
+
onEncrypted = createOnEncryptedForWebkit();
|
|
73
73
|
var callbacks = getWebKitMediaKeysCallbacks();
|
|
74
74
|
isTypeSupported_1 = callbacks.isTypeSupported;
|
|
75
75
|
createCustomMediaKeys_1 = callbacks.createCustomMediaKeys;
|
|
@@ -97,8 +97,7 @@ function getEmeApiImplementation(preferredApiType) {
|
|
|
97
97
|
var MK_1 = window.MediaKeys;
|
|
98
98
|
var checkForStandardMediaKeys_1 = function () {
|
|
99
99
|
if (MK_1 === undefined) {
|
|
100
|
-
throw new MediaError("MEDIA_KEYS_NOT_SUPPORTED", "No `MediaKeys` implementation found " +
|
|
101
|
-
"in the current browser.");
|
|
100
|
+
throw new MediaError("MEDIA_KEYS_NOT_SUPPORTED", "No `MediaKeys` implementation found " + "in the current browser.");
|
|
102
101
|
}
|
|
103
102
|
if (typeof MK_1.isTypeSupported === "undefined") {
|
|
104
103
|
var message = "This browser seems to be unable to play encrypted " +
|
|
@@ -128,10 +127,10 @@ function getEmeApiImplementation(preferredApiType) {
|
|
|
128
127
|
var keySystemConfiguration = keySystemConfigurations[i];
|
|
129
128
|
var videoCapabilities = keySystemConfiguration.videoCapabilities, audioCapabilities = keySystemConfiguration.audioCapabilities, initDataTypes = keySystemConfiguration.initDataTypes, distinctiveIdentifier = keySystemConfiguration.distinctiveIdentifier;
|
|
130
129
|
var supported = true;
|
|
131
|
-
supported =
|
|
132
|
-
|
|
133
|
-
initDataTypes.some(function (idt) { return idt === "cenc"; }));
|
|
134
|
-
supported = supported &&
|
|
130
|
+
supported =
|
|
131
|
+
supported &&
|
|
132
|
+
(initDataTypes == null || initDataTypes.some(function (idt) { return idt === "cenc"; }));
|
|
133
|
+
supported = supported && distinctiveIdentifier !== "required";
|
|
135
134
|
if (supported) {
|
|
136
135
|
var keySystemConfigurationResponse = {
|
|
137
136
|
initDataTypes: ["cenc"],
|
|
@@ -155,6 +154,22 @@ function getEmeApiImplementation(preferredApiType) {
|
|
|
155
154
|
}
|
|
156
155
|
return { requestMediaKeySystemAccess: requestMediaKeySystemAccess, onEncrypted: onEncrypted, setMediaKeys: setMediaKeys, implementation: implementation };
|
|
157
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Create an event listener for the "webkitneedkey" event
|
|
159
|
+
* @returns
|
|
160
|
+
*/
|
|
161
|
+
function createOnEncryptedForWebkit() {
|
|
162
|
+
var compatibleEventListener = createCompatibleEventListener(["needkey"], undefined /* prefixes */);
|
|
163
|
+
var onEncrypted = function (target, listener, cancelSignal) {
|
|
164
|
+
compatibleEventListener(target, function (event) {
|
|
165
|
+
var patchedEvent = objectAssign(event, {
|
|
166
|
+
forceSessionRecreation: true,
|
|
167
|
+
});
|
|
168
|
+
listener(patchedEvent);
|
|
169
|
+
}, cancelSignal);
|
|
170
|
+
};
|
|
171
|
+
return onEncrypted;
|
|
172
|
+
}
|
|
158
173
|
/**
|
|
159
174
|
* Set the given MediaKeys on the given HTMLMediaElement.
|
|
160
175
|
* Emits null when done then complete.
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { ICustomMediaKeySession } from "./custom_media_keys";
|
|
16
|
+
import type { ICustomMediaKeySession } from "./custom_media_keys";
|
|
17
17
|
/**
|
|
18
18
|
* Modify "initialization data" sent to a `generateKeyRequest` EME call to
|
|
19
19
|
* improve the player's browser compatibility:
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import log from "../../log";
|
|
17
17
|
import { getNextBoxOffsets } from "../../parsers/containers/isobmff";
|
|
18
|
-
import { be4toi, concat
|
|
18
|
+
import { be4toi, concat } from "../../utils/byte_parsing";
|
|
19
19
|
import { PSSH_TO_INTEGER } from "./constants";
|
|
20
20
|
/**
|
|
21
21
|
* Modify "initialization data" sent to a `generateKeyRequest` EME call to
|
|
@@ -64,23 +64,22 @@ export function patchInitData(initData) {
|
|
|
64
64
|
// yep
|
|
65
65
|
if (initData[offset + 12] === 0x10 &&
|
|
66
66
|
initData[offset + 13] === 0x77 &&
|
|
67
|
-
initData[offset + 14] ===
|
|
68
|
-
initData[offset + 15] ===
|
|
69
|
-
initData[offset + 16] ===
|
|
70
|
-
initData[offset + 17] ===
|
|
71
|
-
initData[offset + 18] ===
|
|
67
|
+
initData[offset + 14] === 0xef &&
|
|
68
|
+
initData[offset + 15] === 0xec &&
|
|
69
|
+
initData[offset + 16] === 0xc0 &&
|
|
70
|
+
initData[offset + 17] === 0xb2 &&
|
|
71
|
+
initData[offset + 18] === 0x4d &&
|
|
72
72
|
initData[offset + 19] === 0x02 &&
|
|
73
|
-
initData[offset + 20] ===
|
|
74
|
-
initData[offset + 21] ===
|
|
75
|
-
initData[offset + 22] ===
|
|
76
|
-
initData[offset + 23] ===
|
|
73
|
+
initData[offset + 20] === 0xac &&
|
|
74
|
+
initData[offset + 21] === 0xe3 &&
|
|
75
|
+
initData[offset + 22] === 0x3c &&
|
|
76
|
+
initData[offset + 23] === 0x1e &&
|
|
77
77
|
initData[offset + 24] === 0x52 &&
|
|
78
|
-
initData[offset + 25] ===
|
|
79
|
-
initData[offset + 26] ===
|
|
80
|
-
initData[offset + 27] ===
|
|
78
|
+
initData[offset + 25] === 0xe2 &&
|
|
79
|
+
initData[offset + 26] === 0xfb &&
|
|
80
|
+
initData[offset + 27] === 0x4b) {
|
|
81
81
|
var cencOffsets = getNextBoxOffsets(currentPSSH);
|
|
82
|
-
var version = cencOffsets === null ? undefined :
|
|
83
|
-
currentPSSH[cencOffsets[1]];
|
|
82
|
+
var version = cencOffsets === null ? undefined : currentPSSH[cencOffsets[1]];
|
|
84
83
|
log.info("Compat: CENC PSSH found with version", version);
|
|
85
84
|
if (version === undefined) {
|
|
86
85
|
log.warn("Compat: could not read version of CENC PSSH");
|
|
@@ -90,8 +89,7 @@ export function patchInitData(initData) {
|
|
|
90
89
|
concatenatedCencs = concat(concatenatedCencs, currentPSSH);
|
|
91
90
|
}
|
|
92
91
|
else if (version === 1) {
|
|
93
|
-
log.warn("Compat: cenc version 1 encountered, " +
|
|
94
|
-
"removing every other cenc pssh box.");
|
|
92
|
+
log.warn("Compat: cenc version 1 encountered, " + "removing every other cenc pssh box.");
|
|
95
93
|
concatenatedCencs = currentPSSH;
|
|
96
94
|
foundCencV1 = true;
|
|
97
95
|
}
|
|
@@ -130,8 +128,7 @@ export default function generateKeyRequest(session, initializationDataType, init
|
|
|
130
128
|
patchedInit = initializationData;
|
|
131
129
|
}
|
|
132
130
|
var initDataType = initializationDataType !== null && initializationDataType !== void 0 ? initializationDataType : "";
|
|
133
|
-
return session.generateRequest(initDataType, patchedInit)
|
|
134
|
-
.catch(function (error) {
|
|
131
|
+
return session.generateRequest(initDataType, patchedInit).catch(function (error) {
|
|
135
132
|
if (initDataType !== "" || !(error instanceof TypeError)) {
|
|
136
133
|
throw error;
|
|
137
134
|
}
|
|
@@ -141,7 +138,7 @@ export default function generateKeyRequest(session, initializationDataType, init
|
|
|
141
138
|
// Retry with a default "cenc" value for initialization data type if
|
|
142
139
|
// we're in that condition.
|
|
143
140
|
log.warn("Compat: error while calling `generateRequest` with an empty " +
|
|
144
|
-
|
|
141
|
+
'initialization data type. Retrying with a default "cenc" value.', error);
|
|
145
142
|
return session.generateRequest("cenc", patchedInit);
|
|
146
143
|
});
|
|
147
144
|
}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
import type { ICustomMediaEncryptedEvent } from "./custom_media_keys/types";
|
|
16
17
|
/** Data recuperated from parsing the payload of an `encrypted` event. */
|
|
17
18
|
export interface IEncryptedEventData {
|
|
18
19
|
/**
|
|
@@ -42,6 +43,7 @@ export interface IEncryptedEventData {
|
|
|
42
43
|
*/
|
|
43
44
|
data: Uint8Array;
|
|
44
45
|
}>;
|
|
46
|
+
forceSessionRecreation?: boolean | undefined;
|
|
45
47
|
}
|
|
46
48
|
/**
|
|
47
49
|
* Take out the two things we need on an encryptedEvent:
|
|
@@ -54,4 +56,4 @@ export interface IEncryptedEventData {
|
|
|
54
56
|
* @throws {EncryptedMediaError} - Throws if no initialization data is
|
|
55
57
|
* encountered in the given event.
|
|
56
58
|
*/
|
|
57
|
-
export default function getInitData(encryptedEvent:
|
|
59
|
+
export default function getInitData(encryptedEvent: ICustomMediaEncryptedEvent): IEncryptedEventData | null;
|
|
@@ -17,6 +17,7 @@ import log from "../../log";
|
|
|
17
17
|
import { getPsshSystemID } from "../../parsers/containers/isobmff";
|
|
18
18
|
import areArraysOfNumbersEqual from "../../utils/are_arrays_of_numbers_equal";
|
|
19
19
|
import { be4toi } from "../../utils/byte_parsing";
|
|
20
|
+
import isNullOrUndefined from "../../utils/is_null_or_undefined";
|
|
20
21
|
import { PSSH_TO_INTEGER } from "./constants";
|
|
21
22
|
/**
|
|
22
23
|
* Take in input initialization data from an encrypted event and generate the
|
|
@@ -36,14 +37,12 @@ function getInitializationDataValues(initData) {
|
|
|
36
37
|
if (initData.length < offset + 8 ||
|
|
37
38
|
be4toi(initData, offset + 4) !== PSSH_TO_INTEGER) {
|
|
38
39
|
log.warn("Compat: Unrecognized initialization data. Use as is.");
|
|
39
|
-
return [{ systemId: undefined,
|
|
40
|
-
data: initData }];
|
|
40
|
+
return [{ systemId: undefined, data: initData }];
|
|
41
41
|
}
|
|
42
42
|
var len = be4toi(new Uint8Array(initData), offset);
|
|
43
43
|
if (offset + len > initData.length) {
|
|
44
44
|
log.warn("Compat: Unrecognized initialization data. Use as is.");
|
|
45
|
-
return [{ systemId: undefined,
|
|
46
|
-
data: initData }];
|
|
45
|
+
return [{ systemId: undefined, data: initData }];
|
|
47
46
|
}
|
|
48
47
|
var currentPSSH = initData.subarray(offset, offset + len);
|
|
49
48
|
var systemId = getPsshSystemID(currentPSSH, 8);
|
|
@@ -63,8 +62,7 @@ function getInitializationDataValues(initData) {
|
|
|
63
62
|
}
|
|
64
63
|
if (offset !== initData.length) {
|
|
65
64
|
log.warn("Compat: Unrecognized initialization data. Use as is.");
|
|
66
|
-
return [{ systemId: undefined,
|
|
67
|
-
data: initData }];
|
|
65
|
+
return [{ systemId: undefined, data: initData }];
|
|
68
66
|
}
|
|
69
67
|
return result;
|
|
70
68
|
}
|
|
@@ -101,12 +99,12 @@ function isPSSHAlreadyEncountered(encounteredPSSHs, pssh) {
|
|
|
101
99
|
* encountered in the given event.
|
|
102
100
|
*/
|
|
103
101
|
export default function getInitData(encryptedEvent) {
|
|
104
|
-
var initData = encryptedEvent.initData, initDataType = encryptedEvent.initDataType;
|
|
105
|
-
if (initData
|
|
102
|
+
var initData = encryptedEvent.initData, initDataType = encryptedEvent.initDataType, forceSessionRecreation = encryptedEvent.forceSessionRecreation;
|
|
103
|
+
if (isNullOrUndefined(initData)) {
|
|
106
104
|
log.warn("Compat: No init data found on media encrypted event.");
|
|
107
105
|
return null;
|
|
108
106
|
}
|
|
109
107
|
var initDataBytes = new Uint8Array(initData);
|
|
110
108
|
var values = getInitializationDataValues(initDataBytes);
|
|
111
|
-
return { type: initDataType, values: values };
|
|
109
|
+
return { type: initDataType, values: values, forceSessionRecreation: forceSessionRecreation };
|
|
112
110
|
}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { guidToUuid } from "../../utils/string_parsing";
|
|
17
|
-
import { isEdgeChromium, isIEOrEdge
|
|
17
|
+
import { isEdgeChromium, isIEOrEdge } from "../browser_detection";
|
|
18
18
|
/**
|
|
19
19
|
* Get KID from MediaKeySession keyStatus, and convert it in usual big-endian kid
|
|
20
20
|
* if necessary. On EDGE, Microsoft Playready KID are presented into little-endian GUID.
|
|
@@ -23,8 +23,7 @@ import { isEdgeChromium, isIEOrEdge, } from "../browser_detection";
|
|
|
23
23
|
* @returns {Uint8Array}
|
|
24
24
|
*/
|
|
25
25
|
export default function getUUIDKIDFromKeyStatusKID(keySystem, baseKeyId) {
|
|
26
|
-
if (keySystem.indexOf("playready") !== -1 &&
|
|
27
|
-
(isIEOrEdge || isEdgeChromium)) {
|
|
26
|
+
if (keySystem.indexOf("playready") !== -1 && (isIEOrEdge || isEdgeChromium)) {
|
|
28
27
|
return guidToUuid(baseKeyId);
|
|
29
28
|
}
|
|
30
29
|
return baseKeyId;
|