rx-player 4.2.0-dev.2024090300 → 4.2.0-dev.2024090600
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -2
- package/VERSION +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +1 -1
- package/dist/commonjs/compat/add_class_name.d.ts.map +1 -1
- package/dist/commonjs/compat/add_class_name.js +1 -2
- package/dist/commonjs/compat/browser_compatibility_types.d.ts.map +1 -1
- package/dist/commonjs/compat/browser_compatibility_types.js +4 -1
- package/dist/commonjs/compat/browser_detection.d.ts +3 -1
- package/dist/commonjs/compat/browser_detection.d.ts.map +1 -1
- package/dist/commonjs/compat/browser_detection.js +7 -1
- package/dist/commonjs/compat/can_reuse_media_keys.d.ts +4 -0
- package/dist/commonjs/compat/can_reuse_media_keys.d.ts.map +1 -1
- package/dist/commonjs/compat/can_reuse_media_keys.js +5 -1
- package/dist/commonjs/compat/clear_element_src.js +1 -1
- package/dist/commonjs/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts.map +1 -1
- package/dist/commonjs/compat/eme/custom_media_keys/moz_media_keys_constructor.js +2 -4
- package/dist/commonjs/compat/eme/custom_media_keys/ms_media_keys_constructor.d.ts.map +1 -1
- package/dist/commonjs/compat/eme/custom_media_keys/ms_media_keys_constructor.js +2 -4
- package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts.map +1 -1
- package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.js +3 -6
- package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.d.ts.map +1 -1
- package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.js +2 -17
- package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts.map +1 -1
- package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +1 -2
- package/dist/commonjs/compat/eme/eme-api-implementation.js +0 -2
- package/dist/commonjs/compat/event_listeners.d.ts.map +1 -1
- package/dist/commonjs/compat/event_listeners.js +2 -6
- package/dist/commonjs/compat/has_mse_in_worker.js +1 -1
- package/dist/commonjs/compat/is_codec_supported.d.ts.map +1 -1
- package/dist/commonjs/compat/is_codec_supported.js +0 -2
- package/dist/commonjs/compat/is_vtt_cue.d.ts.map +1 -1
- package/dist/commonjs/compat/is_vtt_cue.js +1 -2
- package/dist/commonjs/compat/on_height_width_change.d.ts.map +1 -1
- package/dist/commonjs/compat/patch_webkit_source_buffer.d.ts.map +1 -1
- package/dist/commonjs/compat/patch_webkit_source_buffer.js +8 -18
- package/dist/commonjs/compat/remove_cue.js +2 -2
- package/dist/commonjs/core/fetchers/index.d.ts +4 -4
- package/dist/commonjs/core/fetchers/index.d.ts.map +1 -1
- package/dist/commonjs/core/fetchers/index.js +2 -2
- package/dist/commonjs/core/fetchers/segment/index.d.ts +6 -5
- package/dist/commonjs/core/fetchers/segment/index.d.ts.map +1 -1
- package/dist/commonjs/core/fetchers/segment/index.js +2 -2
- package/dist/{es2017/core/stream/representation/utils/downloading_queue.d.ts → commonjs/core/fetchers/segment/segment_queue.d.ts} +63 -80
- package/dist/commonjs/core/fetchers/segment/segment_queue.d.ts.map +1 -0
- package/dist/commonjs/core/{stream/representation/utils/downloading_queue.js → fetchers/segment/segment_queue.js} +132 -111
- package/dist/commonjs/core/fetchers/segment/{segment_fetcher_creator.d.ts → segment_queue_creator.d.ts} +25 -12
- package/dist/commonjs/core/fetchers/segment/segment_queue_creator.d.ts.map +1 -0
- package/dist/commonjs/core/fetchers/segment/{segment_fetcher_creator.js → segment_queue_creator.js} +15 -9
- package/dist/commonjs/core/fetchers/segment/task_prioritizer.d.ts +9 -0
- package/dist/commonjs/core/fetchers/segment/task_prioritizer.d.ts.map +1 -1
- package/dist/commonjs/core/fetchers/segment/task_prioritizer.js +38 -8
- package/dist/commonjs/core/fetchers/utils/schedule_request.js +1 -1
- package/dist/commonjs/core/main/common/content_time_boundaries_observer.js +21 -10
- package/dist/commonjs/core/main/worker/content_preparer.d.ts +3 -3
- package/dist/commonjs/core/main/worker/content_preparer.d.ts.map +1 -1
- package/dist/commonjs/core/main/worker/content_preparer.js +2 -2
- package/dist/commonjs/core/main/worker/send_message.js +1 -1
- package/dist/commonjs/core/main/worker/worker_main.js +6 -2
- package/dist/commonjs/core/segment_sinks/implementations/text/text_segment_buffer.js +1 -5
- package/dist/commonjs/core/segment_sinks/inventory/segment_inventory.js +39 -30
- package/dist/commonjs/core/segment_sinks/segment_buffers_store.d.ts.map +1 -1
- package/dist/commonjs/core/segment_sinks/segment_buffers_store.js +3 -2
- package/dist/commonjs/core/stream/adaptation/adaptation_stream.d.ts +1 -1
- package/dist/commonjs/core/stream/adaptation/adaptation_stream.d.ts.map +1 -1
- package/dist/commonjs/core/stream/adaptation/adaptation_stream.js +3 -3
- package/dist/commonjs/core/stream/adaptation/types.d.ts +2 -2
- package/dist/commonjs/core/stream/adaptation/types.d.ts.map +1 -1
- package/dist/commonjs/core/stream/orchestrator/get_time_ranges_for_content.d.ts.map +1 -1
- package/dist/commonjs/core/stream/orchestrator/get_time_ranges_for_content.js +27 -6
- package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.d.ts +3 -3
- package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.d.ts.map +1 -1
- package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.js +3 -3
- package/dist/commonjs/core/stream/period/period_stream.d.ts +1 -1
- package/dist/commonjs/core/stream/period/period_stream.d.ts.map +1 -1
- package/dist/commonjs/core/stream/period/period_stream.js +2 -2
- package/dist/commonjs/core/stream/period/types.d.ts +2 -2
- package/dist/commonjs/core/stream/period/types.d.ts.map +1 -1
- package/dist/commonjs/core/stream/representation/representation_stream.d.ts +1 -1
- package/dist/commonjs/core/stream/representation/representation_stream.d.ts.map +1 -1
- package/dist/commonjs/core/stream/representation/representation_stream.js +19 -28
- package/dist/commonjs/core/stream/representation/types.d.ts +2 -2
- package/dist/commonjs/core/stream/representation/types.d.ts.map +1 -1
- package/dist/commonjs/core/stream/representation/utils/get_needed_segments.d.ts.map +1 -1
- package/dist/commonjs/core/stream/representation/utils/get_needed_segments.js +39 -18
- package/dist/commonjs/core/types.d.ts +2 -2
- package/dist/commonjs/core/types.d.ts.map +1 -1
- package/dist/commonjs/default_config.d.ts.map +1 -1
- package/dist/commonjs/default_config.js +0 -8
- package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.d.ts.map +1 -1
- package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +0 -13
- package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.d.ts.map +1 -1
- package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +0 -4
- package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts.map +1 -1
- package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +1 -2
- package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.d.ts.map +1 -1
- package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.js +2 -13
- package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.d.ts.map +1 -1
- package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +1 -2
- package/dist/commonjs/features/add_features.d.ts.map +1 -1
- package/dist/commonjs/features/add_features.js +31 -10
- package/dist/commonjs/main_thread/api/option_utils.d.ts.map +1 -1
- package/dist/commonjs/main_thread/api/option_utils.js +2 -6
- package/dist/commonjs/main_thread/api/public_api.d.ts.map +1 -1
- package/dist/commonjs/main_thread/api/public_api.js +33 -27
- package/dist/commonjs/main_thread/decrypt/utils/persistent_sessions_store.d.ts.map +1 -1
- package/dist/commonjs/main_thread/decrypt/utils/persistent_sessions_store.js +4 -3
- package/dist/commonjs/main_thread/init/media_source_content_initializer.js +6 -6
- package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -1
- package/dist/commonjs/main_thread/init/multi_thread_content_initializer.js +32 -37
- package/dist/commonjs/main_thread/text_displayer/html/html_text_displayer.js +1 -5
- package/dist/commonjs/main_thread/text_displayer/native/native_text_displayer.js +3 -7
- package/dist/commonjs/main_thread/tracks_store/track_dispatcher.js +1 -1
- package/dist/commonjs/main_thread/types.d.ts.map +1 -1
- package/dist/commonjs/manifest/classes/manifest.d.ts.map +1 -1
- package/dist/commonjs/manifest/classes/manifest.js +0 -6
- package/dist/commonjs/manifest/utils.d.ts.map +1 -1
- package/dist/commonjs/manifest/utils.js +72 -62
- package/dist/commonjs/mse/main_media_source_interface.js +1 -1
- package/dist/commonjs/multithread_types.d.ts +2 -2
- package/dist/commonjs/multithread_types.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/parse_s_element.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/parse_s_element.js +12 -6
- package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.js +14 -7
- package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.js +8 -4
- package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Period.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Period.js +10 -5
- package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.js +10 -5
- package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.js +14 -7
- package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/EventStream.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/EventStream.js +2 -1
- package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/MPD.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/MPD.js +8 -4
- package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Period.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Period.js +10 -5
- package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Representation.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Representation.js +10 -5
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +2 -1
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +2 -1
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +4 -2
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/MPD.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +10 -5
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Period.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +2 -1
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/root.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/root.js +2 -1
- package/dist/commonjs/parsers/manifest/local/representation_index.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/local/representation_index.js +29 -8
- package/dist/commonjs/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/metaplaylist/metaplaylist_parser.js +31 -10
- package/dist/commonjs/parsers/manifest/smooth/create_parser.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/smooth/create_parser.js +2 -1
- package/dist/commonjs/parsers/manifest/smooth/shared_smooth_segment_timeline.js +26 -4
- package/dist/commonjs/parsers/manifest/utils/get_first_time_from_adaptation.js +29 -7
- package/dist/commonjs/parsers/manifest/utils/get_last_time_from_adaptation.js +29 -7
- package/dist/commonjs/parsers/texttracks/srt/html.js +28 -6
- package/dist/commonjs/parsers/texttracks/ttml/html/create_element.js +1 -1
- package/dist/commonjs/parsers/texttracks/ttml/html/parse_ttml_to_div.js +29 -7
- package/dist/commonjs/parsers/texttracks/ttml/native/parse_ttml_to_vtt.d.ts.map +1 -1
- package/dist/commonjs/parsers/texttracks/ttml/native/parse_ttml_to_vtt.js +26 -5
- package/dist/commonjs/parsers/texttracks/ttml/resolve_styles_inheritance.d.ts.map +1 -1
- package/dist/commonjs/parsers/texttracks/ttml/resolve_styles_inheritance.js +25 -4
- package/dist/commonjs/parsers/texttracks/webvtt/html/to_html.d.ts +9 -3
- package/dist/commonjs/parsers/texttracks/webvtt/html/to_html.d.ts.map +1 -1
- package/dist/commonjs/parsers/texttracks/webvtt/html/to_html.js +9 -3
- package/dist/commonjs/parsers/texttracks/webvtt/native/parse_vtt_to_cues.js +30 -8
- package/dist/commonjs/public_types.d.ts +5 -7
- package/dist/commonjs/public_types.d.ts.map +1 -1
- package/dist/commonjs/transports/smooth/extract_timings_infos.js +30 -8
- package/dist/commonjs/utils/array_find.d.ts +1 -1
- package/dist/commonjs/utils/array_find.d.ts.map +1 -1
- package/dist/commonjs/utils/array_find.js +3 -1
- package/dist/commonjs/utils/array_find_index.d.ts +1 -1
- package/dist/commonjs/utils/array_find_index.d.ts.map +1 -1
- package/dist/commonjs/utils/array_find_index.js +3 -1
- package/dist/commonjs/utils/array_includes.d.ts.map +1 -1
- package/dist/commonjs/utils/array_includes.js +1 -3
- package/dist/commonjs/utils/assert.d.ts.map +1 -1
- package/dist/commonjs/utils/assert.js +0 -2
- package/dist/commonjs/utils/base64.d.ts +1 -1
- package/dist/commonjs/utils/base64.d.ts.map +1 -1
- package/dist/commonjs/utils/base64.js +3 -2
- package/dist/commonjs/utils/event_emitter.js +1 -1
- package/dist/commonjs/utils/flat_map.d.ts.map +1 -1
- package/dist/commonjs/utils/flat_map.js +1 -2
- package/dist/commonjs/utils/id_generator.d.ts.map +1 -1
- package/dist/commonjs/utils/id_generator.js +0 -1
- package/dist/commonjs/utils/logger.d.ts.map +1 -1
- package/dist/commonjs/utils/logger.js +7 -8
- package/dist/commonjs/utils/monotonic_timestamp.js +2 -2
- package/dist/commonjs/utils/noop.js +1 -2
- package/dist/commonjs/utils/object_assign.d.ts.map +1 -1
- package/dist/commonjs/utils/object_assign.js +27 -6
- package/dist/commonjs/utils/object_values.d.ts.map +1 -1
- package/dist/commonjs/utils/object_values.js +1 -1
- package/dist/commonjs/utils/reference.js +1 -1
- package/dist/commonjs/utils/request/xhr.js +1 -1
- package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
- package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
- package/dist/es2017/compat/add_class_name.d.ts.map +1 -1
- package/dist/es2017/compat/add_class_name.js +1 -2
- package/dist/es2017/compat/browser_compatibility_types.d.ts.map +1 -1
- package/dist/es2017/compat/browser_compatibility_types.js +4 -1
- package/dist/es2017/compat/browser_detection.d.ts +3 -1
- package/dist/es2017/compat/browser_detection.d.ts.map +1 -1
- package/dist/es2017/compat/browser_detection.js +10 -1
- package/dist/es2017/compat/can_reuse_media_keys.d.ts +4 -0
- package/dist/es2017/compat/can_reuse_media_keys.d.ts.map +1 -1
- package/dist/es2017/compat/can_reuse_media_keys.js +6 -2
- package/dist/es2017/compat/clear_element_src.js +1 -1
- package/dist/es2017/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts.map +1 -1
- package/dist/es2017/compat/eme/custom_media_keys/moz_media_keys_constructor.js +2 -4
- package/dist/es2017/compat/eme/custom_media_keys/ms_media_keys_constructor.d.ts.map +1 -1
- package/dist/es2017/compat/eme/custom_media_keys/ms_media_keys_constructor.js +2 -4
- package/dist/es2017/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts.map +1 -1
- package/dist/es2017/compat/eme/custom_media_keys/old_webkit_media_keys.js +3 -6
- package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.d.ts.map +1 -1
- package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.js +2 -17
- package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts.map +1 -1
- package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +1 -2
- package/dist/es2017/compat/eme/eme-api-implementation.js +0 -2
- package/dist/es2017/compat/event_listeners.d.ts.map +1 -1
- package/dist/es2017/compat/event_listeners.js +2 -6
- package/dist/es2017/compat/has_mse_in_worker.js +1 -1
- package/dist/es2017/compat/is_codec_supported.d.ts.map +1 -1
- package/dist/es2017/compat/is_codec_supported.js +0 -2
- package/dist/es2017/compat/is_vtt_cue.d.ts.map +1 -1
- package/dist/es2017/compat/is_vtt_cue.js +1 -2
- package/dist/es2017/compat/on_height_width_change.d.ts.map +1 -1
- package/dist/es2017/compat/patch_webkit_source_buffer.d.ts.map +1 -1
- package/dist/es2017/compat/patch_webkit_source_buffer.js +8 -18
- package/dist/es2017/compat/remove_cue.js +2 -2
- package/dist/es2017/core/fetchers/index.d.ts +4 -4
- package/dist/es2017/core/fetchers/index.d.ts.map +1 -1
- package/dist/es2017/core/fetchers/index.js +2 -2
- package/dist/es2017/core/fetchers/segment/index.d.ts +6 -5
- package/dist/es2017/core/fetchers/segment/index.d.ts.map +1 -1
- package/dist/es2017/core/fetchers/segment/index.js +2 -2
- package/dist/{commonjs/core/stream/representation/utils/downloading_queue.d.ts → es2017/core/fetchers/segment/segment_queue.d.ts} +63 -80
- package/dist/es2017/core/fetchers/segment/segment_queue.d.ts.map +1 -0
- package/dist/es2017/core/{stream/representation/utils/downloading_queue.js → fetchers/segment/segment_queue.js} +126 -105
- package/dist/es2017/core/fetchers/segment/{segment_fetcher_creator.d.ts → segment_queue_creator.d.ts} +25 -12
- package/dist/es2017/core/fetchers/segment/segment_queue_creator.d.ts.map +1 -0
- package/dist/es2017/core/fetchers/segment/{segment_fetcher_creator.js → segment_queue_creator.js} +12 -6
- package/dist/es2017/core/fetchers/segment/task_prioritizer.d.ts +9 -0
- package/dist/es2017/core/fetchers/segment/task_prioritizer.d.ts.map +1 -1
- package/dist/es2017/core/fetchers/segment/task_prioritizer.js +10 -2
- package/dist/es2017/core/fetchers/utils/schedule_request.js +1 -1
- package/dist/es2017/core/main/common/content_time_boundaries_observer.js +4 -4
- package/dist/es2017/core/main/worker/content_preparer.d.ts +3 -3
- package/dist/es2017/core/main/worker/content_preparer.d.ts.map +1 -1
- package/dist/es2017/core/main/worker/content_preparer.js +3 -3
- package/dist/es2017/core/main/worker/send_message.js +1 -1
- package/dist/es2017/core/main/worker/worker_main.js +6 -2
- package/dist/es2017/core/segment_sinks/implementations/text/text_segment_buffer.js +1 -5
- package/dist/es2017/core/segment_sinks/inventory/segment_inventory.js +1 -2
- package/dist/es2017/core/segment_sinks/segment_buffers_store.d.ts.map +1 -1
- package/dist/es2017/core/segment_sinks/segment_buffers_store.js +3 -2
- package/dist/es2017/core/stream/adaptation/adaptation_stream.d.ts +1 -1
- package/dist/es2017/core/stream/adaptation/adaptation_stream.d.ts.map +1 -1
- package/dist/es2017/core/stream/adaptation/adaptation_stream.js +3 -3
- package/dist/es2017/core/stream/adaptation/types.d.ts +2 -2
- package/dist/es2017/core/stream/adaptation/types.d.ts.map +1 -1
- package/dist/es2017/core/stream/orchestrator/get_time_ranges_for_content.d.ts.map +1 -1
- package/dist/es2017/core/stream/orchestrator/get_time_ranges_for_content.js +1 -2
- package/dist/es2017/core/stream/orchestrator/stream_orchestrator.d.ts +3 -3
- package/dist/es2017/core/stream/orchestrator/stream_orchestrator.d.ts.map +1 -1
- package/dist/es2017/core/stream/orchestrator/stream_orchestrator.js +3 -3
- package/dist/es2017/core/stream/period/period_stream.d.ts +1 -1
- package/dist/es2017/core/stream/period/period_stream.d.ts.map +1 -1
- package/dist/es2017/core/stream/period/period_stream.js +2 -2
- package/dist/es2017/core/stream/period/types.d.ts +2 -2
- package/dist/es2017/core/stream/period/types.d.ts.map +1 -1
- package/dist/es2017/core/stream/representation/representation_stream.d.ts +1 -1
- package/dist/es2017/core/stream/representation/representation_stream.d.ts.map +1 -1
- package/dist/es2017/core/stream/representation/representation_stream.js +19 -28
- package/dist/es2017/core/stream/representation/types.d.ts +2 -2
- package/dist/es2017/core/stream/representation/types.d.ts.map +1 -1
- package/dist/es2017/core/stream/representation/utils/get_needed_segments.d.ts.map +1 -1
- package/dist/es2017/core/stream/representation/utils/get_needed_segments.js +1 -2
- package/dist/es2017/core/types.d.ts +2 -2
- package/dist/es2017/core/types.d.ts.map +1 -1
- package/dist/es2017/default_config.d.ts.map +1 -1
- package/dist/es2017/default_config.js +0 -8
- package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.d.ts.map +1 -1
- package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +0 -13
- package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.d.ts.map +1 -1
- package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +0 -4
- package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts.map +1 -1
- package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +1 -2
- package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.d.ts.map +1 -1
- package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.js +2 -13
- package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.d.ts.map +1 -1
- package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +1 -2
- package/dist/es2017/features/add_features.d.ts.map +1 -1
- package/dist/es2017/features/add_features.js +1 -2
- package/dist/es2017/main_thread/api/option_utils.d.ts.map +1 -1
- package/dist/es2017/main_thread/api/option_utils.js +2 -6
- package/dist/es2017/main_thread/api/public_api.d.ts.map +1 -1
- package/dist/es2017/main_thread/api/public_api.js +29 -23
- package/dist/es2017/main_thread/decrypt/utils/persistent_sessions_store.d.ts.map +1 -1
- package/dist/es2017/main_thread/decrypt/utils/persistent_sessions_store.js +2 -1
- package/dist/es2017/main_thread/init/media_source_content_initializer.js +6 -6
- package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -1
- package/dist/es2017/main_thread/init/multi_thread_content_initializer.js +7 -12
- package/dist/es2017/main_thread/text_displayer/html/html_text_displayer.js +1 -5
- package/dist/es2017/main_thread/text_displayer/native/native_text_displayer.js +3 -7
- package/dist/es2017/main_thread/tracks_store/track_dispatcher.js +1 -1
- package/dist/es2017/main_thread/types.d.ts.map +1 -1
- package/dist/es2017/manifest/classes/manifest.d.ts.map +1 -1
- package/dist/es2017/manifest/classes/manifest.js +0 -6
- package/dist/es2017/manifest/utils.d.ts.map +1 -1
- package/dist/es2017/manifest/utils.js +1 -2
- package/dist/es2017/mse/main_media_source_interface.js +1 -1
- package/dist/es2017/multithread_types.d.ts +2 -2
- package/dist/es2017/multithread_types.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/parse_s_element.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/parse_s_element.js +12 -6
- package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.js +14 -7
- package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.js +8 -4
- package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Period.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Period.js +10 -5
- package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.js +10 -5
- package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.js +14 -7
- package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/EventStream.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/EventStream.js +2 -1
- package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/MPD.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/MPD.js +8 -4
- package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Period.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Period.js +10 -5
- package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Representation.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Representation.js +10 -5
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +1 -2
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +2 -1
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +2 -1
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +4 -2
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/MPD.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +10 -5
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Period.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +2 -1
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/root.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/root.js +2 -1
- package/dist/es2017/parsers/manifest/local/representation_index.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/local/representation_index.js +1 -2
- package/dist/es2017/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/metaplaylist/metaplaylist_parser.js +2 -3
- package/dist/es2017/parsers/manifest/smooth/create_parser.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/smooth/create_parser.js +2 -1
- package/dist/es2017/parsers/manifest/smooth/shared_smooth_segment_timeline.js +2 -2
- package/dist/es2017/parsers/manifest/utils/get_first_time_from_adaptation.js +2 -2
- package/dist/es2017/parsers/manifest/utils/get_last_time_from_adaptation.js +2 -2
- package/dist/es2017/parsers/texttracks/srt/html.js +2 -2
- package/dist/es2017/parsers/texttracks/ttml/html/create_element.js +1 -1
- package/dist/es2017/parsers/texttracks/ttml/html/parse_ttml_to_div.js +3 -3
- package/dist/es2017/parsers/texttracks/ttml/native/parse_ttml_to_vtt.d.ts.map +1 -1
- package/dist/es2017/parsers/texttracks/ttml/native/parse_ttml_to_vtt.js +1 -2
- package/dist/es2017/parsers/texttracks/ttml/resolve_styles_inheritance.d.ts.map +1 -1
- package/dist/es2017/parsers/texttracks/ttml/resolve_styles_inheritance.js +1 -2
- package/dist/es2017/parsers/texttracks/webvtt/html/to_html.d.ts +9 -3
- package/dist/es2017/parsers/texttracks/webvtt/html/to_html.d.ts.map +1 -1
- package/dist/es2017/parsers/texttracks/webvtt/html/to_html.js +9 -3
- package/dist/es2017/parsers/texttracks/webvtt/native/parse_vtt_to_cues.js +2 -2
- package/dist/es2017/public_types.d.ts +5 -7
- package/dist/es2017/public_types.d.ts.map +1 -1
- package/dist/es2017/transports/smooth/extract_timings_infos.js +3 -3
- package/dist/es2017/utils/array_find.d.ts +1 -1
- package/dist/es2017/utils/array_find.d.ts.map +1 -1
- package/dist/es2017/utils/array_find.js +3 -1
- package/dist/es2017/utils/array_find_index.d.ts +1 -1
- package/dist/es2017/utils/array_find_index.d.ts.map +1 -1
- package/dist/es2017/utils/array_find_index.js +3 -1
- package/dist/es2017/utils/array_includes.d.ts.map +1 -1
- package/dist/es2017/utils/array_includes.js +1 -3
- package/dist/es2017/utils/assert.d.ts.map +1 -1
- package/dist/es2017/utils/assert.js +0 -2
- package/dist/es2017/utils/base64.d.ts +1 -1
- package/dist/es2017/utils/base64.d.ts.map +1 -1
- package/dist/es2017/utils/base64.js +3 -2
- package/dist/es2017/utils/event_emitter.js +1 -1
- package/dist/es2017/utils/flat_map.d.ts.map +1 -1
- package/dist/es2017/utils/flat_map.js +1 -2
- package/dist/es2017/utils/id_generator.d.ts.map +1 -1
- package/dist/es2017/utils/id_generator.js +0 -1
- package/dist/es2017/utils/logger.d.ts.map +1 -1
- package/dist/es2017/utils/logger.js +7 -8
- package/dist/es2017/utils/monotonic_timestamp.js +2 -2
- package/dist/es2017/utils/noop.js +1 -2
- package/dist/es2017/utils/object_assign.d.ts.map +1 -1
- package/dist/es2017/utils/object_assign.js +1 -2
- package/dist/es2017/utils/object_values.d.ts.map +1 -1
- package/dist/es2017/utils/object_values.js +1 -2
- package/dist/es2017/utils/reference.js +1 -1
- package/dist/es2017/utils/request/xhr.js +1 -1
- package/dist/rx-player.js +39338 -18
- package/dist/rx-player.min.js +18 -0
- package/dist/worker.js +5 -5
- package/package.json +5 -5
- package/src/README.md +7 -7
- package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
- package/src/compat/__tests__/add_text_track.test.ts +8 -12
- package/src/compat/__tests__/browser_compatibility_types.test.ts +0 -7
- package/src/compat/__tests__/browser_version.test.ts +20 -19
- package/src/compat/__tests__/can_patch_isobmff.test.ts +7 -10
- package/src/compat/__tests__/can_rely_on_video_visibility_and_size.test.ts +17 -21
- package/src/compat/__tests__/can_reuse_media_keys.test.ts +37 -22
- package/src/compat/__tests__/clear_element_src.test.ts +37 -34
- package/src/compat/__tests__/enable_audio_track.test.ts +22 -21
- package/src/compat/__tests__/is_codec_supported.test.ts +17 -18
- package/src/compat/__tests__/is_seeking_approximate.test.ts +8 -14
- package/src/compat/__tests__/is_vtt_cue.test.ts +8 -13
- package/src/compat/__tests__/make_vtt_cue.test.ts +7 -12
- package/src/compat/__tests__/patch_webkit_source_buffer.test.ts +44 -32
- package/src/compat/__tests__/remove_cue.test.ts +30 -31
- package/src/compat/__tests__/should_favour_custom_safari_EME.test.ts +21 -26
- package/src/compat/__tests__/should_renew_media_key_system_access.test.ts +9 -17
- package/src/compat/__tests__/should_unset_media_keys.test.ts +7 -14
- package/src/compat/__tests__/should_validate_metadata.test.ts +7 -17
- package/src/compat/__tests__/should_wait_for_data_before_loaded.test.ts +17 -26
- package/src/compat/__tests__/should_wait_for_have_enough_data.test.ts +10 -15
- package/src/compat/add_class_name.ts +1 -2
- package/src/compat/browser_compatibility_types.ts +4 -2
- package/src/compat/browser_detection.ts +13 -4
- package/src/compat/can_reuse_media_keys.ts +6 -2
- package/src/compat/clear_element_src.ts +1 -1
- package/src/compat/eme/custom_media_keys/moz_media_keys_constructor.ts +1 -2
- package/src/compat/eme/custom_media_keys/ms_media_keys_constructor.ts +1 -2
- package/src/compat/eme/custom_media_keys/old_webkit_media_keys.ts +3 -6
- package/src/compat/eme/custom_media_keys/webkit_media_keys.ts +2 -17
- package/src/compat/eme/custom_media_keys/webkit_media_keys_constructor.ts +1 -4
- package/src/compat/eme/eme-api-implementation.ts +0 -2
- package/src/compat/event_listeners.ts +2 -6
- package/src/compat/has_mse_in_worker.ts +1 -1
- package/src/compat/is_codec_supported.ts +0 -2
- package/src/compat/is_debug_mode_enabled.ts +1 -1
- package/src/compat/is_vtt_cue.ts +1 -2
- package/src/compat/on_height_width_change.ts +1 -2
- package/src/compat/patch_webkit_source_buffer.ts +48 -29
- package/src/compat/remove_cue.ts +2 -2
- package/src/core/adaptive/__tests__/buffer_based_chooser.test.ts +21 -26
- package/src/core/fetchers/README.md +13 -12
- package/src/core/fetchers/index.ts +5 -8
- package/src/core/fetchers/segment/__tests__/task_prioritizer.test.ts +17 -23
- package/src/core/fetchers/segment/index.ts +6 -5
- package/src/core/{stream/representation/utils/downloading_queue.ts → fetchers/segment/segment_queue.ts} +204 -166
- package/src/core/fetchers/segment/{segment_fetcher_creator.ts → segment_queue_creator.ts} +31 -14
- package/src/core/fetchers/segment/task_prioritizer.ts +10 -2
- package/src/core/fetchers/utils/schedule_request.ts +1 -1
- package/src/core/main/common/content_time_boundaries_observer.ts +4 -4
- package/src/core/main/worker/content_preparer.ts +5 -5
- package/src/core/main/worker/send_message.ts +1 -1
- package/src/core/main/worker/worker_main.ts +6 -2
- package/src/core/segment_sinks/implementations/text/text_segment_buffer.ts +1 -5
- package/src/core/segment_sinks/inventory/segment_inventory.ts +1 -2
- package/src/core/segment_sinks/segment_buffers_store.ts +3 -2
- package/src/core/stream/adaptation/adaptation_stream.ts +3 -3
- package/src/core/stream/adaptation/types.ts +2 -2
- package/src/core/stream/orchestrator/get_time_ranges_for_content.ts +1 -2
- package/src/core/stream/orchestrator/stream_orchestrator.ts +4 -4
- package/src/core/stream/period/period_stream.ts +2 -2
- package/src/core/stream/period/types.ts +2 -2
- package/src/core/stream/representation/representation_stream.ts +59 -56
- package/src/core/stream/representation/types.ts +3 -4
- package/src/core/stream/representation/utils/get_needed_segments.ts +1 -2
- package/src/core/types.ts +2 -4
- package/src/default_config.ts +0 -8
- package/src/errors/__tests__/format_error.test.ts +18 -18
- package/src/experimental/features/__tests__/multi_thread.test.ts +5 -5
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/capabilities.test.ts +11 -11
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/DRMInfos.test.ts +18 -26
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/HDCPPolicy.test.ts +13 -21
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/decodingInfos.test.ts +24 -20
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/defaultCodecFinder.test.ts +28 -30
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaContentType.test.ts +32 -38
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaDisplayInfos.test.ts +64 -51
- package/src/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.ts +4 -17
- package/src/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.ts +0 -4
- package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.ts +1 -2
- package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.ts +16 -14
- package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.ts +1 -2
- package/src/features/__tests__/add_features.test.ts +12 -11
- package/src/features/add_features.ts +1 -2
- package/src/features/list/__tests__/dash_wasm.test.ts +4 -4
- package/src/main_thread/api/__tests__/option_utils.test.ts +114 -70
- package/src/main_thread/api/__tests__/public_api.test.ts +85 -48
- package/src/main_thread/api/option_utils.ts +2 -6
- package/src/main_thread/api/public_api.ts +24 -18
- package/src/main_thread/decrypt/__tests__/__global__/get_license.test.ts +12 -18
- package/src/main_thread/decrypt/__tests__/__global__/init_data.test.ts +128 -101
- package/src/main_thread/decrypt/__tests__/__global__/media_key_system_access.test.ts +26 -33
- package/src/main_thread/decrypt/__tests__/__global__/media_keys.test.ts +46 -48
- package/src/main_thread/decrypt/__tests__/__global__/server_certificate.test.ts +33 -34
- package/src/main_thread/decrypt/__tests__/__global__/utils.ts +13 -17
- package/src/main_thread/decrypt/session_events_listener.ts +1 -1
- package/src/main_thread/decrypt/utils/__tests__/clean_old_loaded_sessions.test.ts +0 -5
- package/src/main_thread/decrypt/utils/__tests__/clean_old_stored_persistent_info.test.ts +14 -17
- package/src/main_thread/decrypt/utils/persistent_sessions_store.ts +2 -1
- package/src/main_thread/init/media_source_content_initializer.ts +7 -7
- package/src/main_thread/init/multi_thread_content_initializer.ts +7 -12
- package/src/main_thread/init/utils/__tests__/are_same_stream_events.test.ts +11 -16
- package/src/main_thread/init/utils/__tests__/refresh_scheduled_events_list.test.ts +48 -18
- package/src/main_thread/text_displayer/html/__tests__/text_track_cues_store.test.ts +32 -17
- package/src/main_thread/text_displayer/html/html_text_displayer.ts +1 -5
- package/src/main_thread/text_displayer/native/native_text_displayer.ts +3 -7
- package/src/main_thread/tracks_store/__tests__/media_element_tracks_store.test.ts +33 -28
- package/src/main_thread/tracks_store/track_dispatcher.ts +1 -1
- package/src/main_thread/types.ts +0 -1
- package/src/manifest/classes/__tests__/adaptation.test.ts +167 -62
- package/src/manifest/classes/__tests__/manifest.test.ts +130 -74
- package/src/manifest/classes/__tests__/period.test.ts +293 -211
- package/src/manifest/classes/__tests__/update_period_in_place.test.ts +0 -2
- package/src/manifest/classes/__tests__/update_periods.test.ts +57 -57
- package/src/manifest/classes/manifest.ts +0 -6
- package/src/manifest/utils.ts +1 -2
- package/src/mse/main_media_source_interface.ts +1 -1
- package/src/mse/types.ts +1 -1
- package/src/multithread_types.ts +2 -2
- package/src/parsers/manifest/dash/common/__tests__/get_clock_offset.test.ts +5 -10
- package/src/parsers/manifest/dash/common/__tests__/get_http_utc-timing_url.test.ts +38 -30
- package/src/parsers/manifest/dash/common/__tests__/get_periods_time_infos.test.ts +0 -3
- package/src/parsers/manifest/dash/common/indexes/timeline/parse_s_element.ts +12 -6
- package/src/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.ts +14 -7
- package/src/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.ts +8 -4
- package/src/parsers/manifest/dash/fast-js-parser/node_parsers/Period.ts +10 -5
- package/src/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.ts +10 -5
- package/src/parsers/manifest/dash/fast-js-parser/node_parsers/__tests__/ContentProtection.test.ts +15 -27
- package/src/parsers/manifest/dash/fast-js-parser/node_parsers/__tests__/Initialization.test.ts +13 -17
- package/src/parsers/manifest/dash/fast-js-parser/node_parsers/__tests__/SegmentURL.test.ts +18 -15
- package/src/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.ts +14 -7
- package/src/parsers/manifest/dash/native-parser/node_parsers/EventStream.ts +2 -1
- package/src/parsers/manifest/dash/native-parser/node_parsers/MPD.ts +8 -4
- package/src/parsers/manifest/dash/native-parser/node_parsers/Period.ts +10 -5
- package/src/parsers/manifest/dash/native-parser/node_parsers/Representation.ts +10 -5
- package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/ContentProtection.test.ts +15 -27
- package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/Initialization.test.ts +13 -17
- package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/SegmentTimeline.test.ts +9 -14
- package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/SegmentURL.test.ts +18 -15
- package/src/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.ts +1 -2
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.ts +2 -1
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.ts +2 -1
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.ts +4 -2
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/MPD.ts +10 -5
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/Period.ts +2 -1
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/root.ts +2 -1
- package/src/parsers/manifest/local/representation_index.ts +1 -2
- package/src/parsers/manifest/metaplaylist/metaplaylist_parser.ts +2 -3
- package/src/parsers/manifest/smooth/create_parser.ts +2 -1
- package/src/parsers/manifest/smooth/shared_smooth_segment_timeline.ts +2 -2
- package/src/parsers/manifest/utils/__tests__/update_segment_timeline.test.ts +3 -8
- package/src/parsers/manifest/utils/get_first_time_from_adaptation.ts +2 -2
- package/src/parsers/manifest/utils/get_last_time_from_adaptation.ts +2 -2
- package/src/parsers/texttracks/srt/html.ts +2 -2
- package/src/parsers/texttracks/ttml/__tests__/resolve_styles_inheritance.test.ts +3 -7
- package/src/parsers/texttracks/ttml/html/__tests__/__global__/html_ttml_parser.test.ts +4 -4
- package/src/parsers/texttracks/ttml/html/create_element.ts +1 -1
- package/src/parsers/texttracks/ttml/html/parse_ttml_to_div.ts +3 -3
- package/src/parsers/texttracks/ttml/native/parse_ttml_to_vtt.ts +1 -2
- package/src/parsers/texttracks/ttml/resolve_styles_inheritance.ts +1 -2
- package/src/parsers/texttracks/webvtt/__tests__/parse_cue_block.test.ts +11 -11
- package/src/parsers/texttracks/webvtt/html/__tests__/convert_payload_to_html.test.ts +5 -18
- package/src/parsers/texttracks/webvtt/html/__tests__/parse_style_block.test.ts +23 -28
- package/src/parsers/texttracks/webvtt/html/__tests__/parse_webvtt_to_div.test.ts +9 -14
- package/src/parsers/texttracks/webvtt/html/__tests__/to_html.test.ts +11 -11
- package/src/parsers/texttracks/webvtt/html/to_html.ts +9 -3
- package/src/parsers/texttracks/webvtt/native/parse_vtt_to_cues.ts +2 -2
- package/src/public_types.ts +7 -8
- package/src/tools/TextTrackRenderer/text_track_renderer.ts +1 -1
- package/src/transports/smooth/extract_timings_infos.ts +3 -3
- package/src/transports/smooth/isobmff/__tests__/create_boxes.test.ts +30 -28
- package/src/transports/utils/__tests__/check_isobmff_integrity.test.ts +38 -44
- package/src/utils/__tests__/array_find.test.ts +12 -12
- package/src/utils/__tests__/array_find_index.test.ts +13 -12
- package/src/utils/__tests__/array_includes.test.ts +7 -7
- package/src/utils/__tests__/assert.test.ts +19 -25
- package/src/utils/__tests__/base64.test.ts +18 -13
- package/src/utils/__tests__/event_emitter.test.ts +225 -50
- package/src/utils/__tests__/flat_map.test.ts +2 -6
- package/src/utils/__tests__/starts_with.test.ts +7 -8
- package/src/utils/array_find.ts +3 -7
- package/src/utils/array_find_index.ts +3 -7
- package/src/utils/array_includes.ts +1 -3
- package/src/utils/assert.ts +0 -2
- package/src/utils/base64.ts +3 -2
- package/src/utils/event_emitter.ts +1 -1
- package/src/utils/flat_map.ts +1 -2
- package/src/utils/id_generator.ts +0 -2
- package/src/utils/is_worker.ts +1 -1
- package/src/utils/logger.ts +7 -8
- package/src/utils/monotonic_timestamp.ts +2 -2
- package/src/utils/noop.ts +1 -2
- package/src/utils/object_assign.ts +1 -2
- package/src/utils/object_values.ts +1 -2
- package/src/utils/reference.ts +1 -1
- package/src/utils/request/xhr.ts +1 -1
- package/dist/commonjs/core/fetchers/segment/segment_fetcher_creator.d.ts.map +0 -1
- package/dist/commonjs/core/stream/representation/utils/downloading_queue.d.ts.map +0 -1
- package/dist/es2017/core/fetchers/segment/segment_fetcher_creator.d.ts.map +0 -1
- package/dist/es2017/core/stream/representation/utils/downloading_queue.d.ts.map +0 -1
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import { describe, beforeEach, afterEach, it, expect, vi } from "vitest";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
6
|
-
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
7
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
8
|
-
/* eslint-disable no-restricted-properties */
|
|
9
|
-
|
|
2
|
+
import type { IKeySystemOption } from "../../../../public_types";
|
|
3
|
+
import type IContentDecryptor from "../../content_decryptor";
|
|
4
|
+
import type { ContentDecryptorState as IContentDecryptorState } from "../../types";
|
|
10
5
|
import {
|
|
11
6
|
MediaKeysImpl,
|
|
12
7
|
MediaKeySystemAccessImpl,
|
|
@@ -22,7 +17,9 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
22
17
|
const videoElt = document.createElement("video");
|
|
23
18
|
|
|
24
19
|
/** Default keySystems configuration used in our tests. */
|
|
25
|
-
const ksConfig = [
|
|
20
|
+
const ksConfig: IKeySystemOption[] = [
|
|
21
|
+
{ type: "com.widevine.alpha", getLicense: neverCalledFn },
|
|
22
|
+
];
|
|
26
23
|
|
|
27
24
|
beforeEach(() => {
|
|
28
25
|
vi.resetModules();
|
|
@@ -57,17 +54,15 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
57
54
|
});
|
|
58
55
|
|
|
59
56
|
// == test ==
|
|
60
|
-
const ContentDecryptor = (
|
|
61
|
-
.default;
|
|
62
|
-
const error
|
|
63
|
-
ContentDecryptor,
|
|
64
|
-
videoElt,
|
|
65
|
-
ksConfig,
|
|
66
|
-
);
|
|
57
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
58
|
+
.default as typeof IContentDecryptor;
|
|
59
|
+
const error = await testContentDecryptorError(ContentDecryptor, videoElt, ksConfig);
|
|
67
60
|
expect(error).toBeInstanceOf(Error);
|
|
68
61
|
expect(error.message).toEqual("CREATE_MEDIA_KEYS_ERROR: No non no");
|
|
69
62
|
expect(error.name).toEqual("EncryptedMediaError");
|
|
70
|
-
expect(error.code).toEqual(
|
|
63
|
+
expect((error as Error & { code?: string | undefined }).code).toEqual(
|
|
64
|
+
"CREATE_MEDIA_KEYS_ERROR",
|
|
65
|
+
);
|
|
71
66
|
});
|
|
72
67
|
|
|
73
68
|
it("should throw if createMediaKeys rejects", async () => {
|
|
@@ -87,17 +82,15 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
87
82
|
});
|
|
88
83
|
|
|
89
84
|
// == test ==
|
|
90
|
-
const ContentDecryptor = (
|
|
91
|
-
.default;
|
|
92
|
-
const error
|
|
93
|
-
ContentDecryptor,
|
|
94
|
-
videoElt,
|
|
95
|
-
ksConfig,
|
|
96
|
-
);
|
|
85
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
86
|
+
.default as typeof IContentDecryptor;
|
|
87
|
+
const error = await testContentDecryptorError(ContentDecryptor, videoElt, ksConfig);
|
|
97
88
|
expect(error).toBeInstanceOf(Error);
|
|
98
89
|
expect(error.message).toEqual("CREATE_MEDIA_KEYS_ERROR: No non no");
|
|
99
90
|
expect(error.name).toEqual("EncryptedMediaError");
|
|
100
|
-
expect(error.code).toEqual(
|
|
91
|
+
expect((error as Error & { code?: string | undefined }).code).toEqual(
|
|
92
|
+
"CREATE_MEDIA_KEYS_ERROR",
|
|
93
|
+
);
|
|
101
94
|
});
|
|
102
95
|
|
|
103
96
|
it("should go into the WaitingForAttachment state if createMediaKeys resolves", async () => {
|
|
@@ -106,13 +99,14 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
106
99
|
MediaKeySystemAccessImpl.prototype,
|
|
107
100
|
"createMediaKeys",
|
|
108
101
|
);
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
|
|
102
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
103
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
104
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
105
|
+
.default as typeof IContentDecryptor;
|
|
112
106
|
return new Promise<void>((res, rej) => {
|
|
113
107
|
const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
|
|
114
108
|
let receivedStateChange = 0;
|
|
115
|
-
contentDecryptor.addEventListener("stateChange", (newState
|
|
109
|
+
contentDecryptor.addEventListener("stateChange", (newState) => {
|
|
116
110
|
receivedStateChange++;
|
|
117
111
|
try {
|
|
118
112
|
expect(newState).toEqual(ContentDecryptorState.WaitingForAttachment);
|
|
@@ -142,14 +136,15 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
142
136
|
MediaKeySystemAccessImpl.prototype,
|
|
143
137
|
"createMediaKeys",
|
|
144
138
|
);
|
|
145
|
-
const
|
|
146
|
-
|
|
147
|
-
|
|
139
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
140
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
141
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
142
|
+
.default as typeof IContentDecryptor;
|
|
148
143
|
return new Promise<void>((res, rej) => {
|
|
149
144
|
const contentDecryptor1 = new ContentDecryptor(videoElt, ksConfig);
|
|
150
145
|
let receivedStateChange1 = 0;
|
|
151
146
|
contentDecryptor1.addEventListener("error", rej);
|
|
152
|
-
contentDecryptor1.addEventListener("stateChange", (state1
|
|
147
|
+
contentDecryptor1.addEventListener("stateChange", (state1) => {
|
|
153
148
|
receivedStateChange1++;
|
|
154
149
|
try {
|
|
155
150
|
if (receivedStateChange1 === 2) {
|
|
@@ -170,7 +165,7 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
170
165
|
const contentDecryptor2 = new ContentDecryptor(videoElt, ksConfig);
|
|
171
166
|
let receivedStateChange2 = 0;
|
|
172
167
|
contentDecryptor2.addEventListener("error", rej);
|
|
173
|
-
contentDecryptor2.addEventListener("stateChange", (state2
|
|
168
|
+
contentDecryptor2.addEventListener("stateChange", (state2) => {
|
|
174
169
|
receivedStateChange2++;
|
|
175
170
|
try {
|
|
176
171
|
if (receivedStateChange2 === 2) {
|
|
@@ -208,14 +203,15 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
208
203
|
MediaKeySystemAccessImpl.prototype,
|
|
209
204
|
"createMediaKeys",
|
|
210
205
|
);
|
|
211
|
-
const
|
|
212
|
-
|
|
213
|
-
|
|
206
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
207
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
208
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
209
|
+
.default as typeof IContentDecryptor;
|
|
214
210
|
return new Promise<void>((res, rej) => {
|
|
215
211
|
const contentDecryptor1 = new ContentDecryptor(videoElt, ksConfig);
|
|
216
212
|
let receivedStateChange1 = 0;
|
|
217
213
|
contentDecryptor1.addEventListener("error", rej);
|
|
218
|
-
contentDecryptor1.addEventListener("stateChange", (state1
|
|
214
|
+
contentDecryptor1.addEventListener("stateChange", (state1) => {
|
|
219
215
|
receivedStateChange1++;
|
|
220
216
|
try {
|
|
221
217
|
if (receivedStateChange1 === 2) {
|
|
@@ -236,7 +232,7 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
236
232
|
const contentDecryptor2 = new ContentDecryptor(videoElt, ksConfig);
|
|
237
233
|
let receivedStateChange2 = 0;
|
|
238
234
|
contentDecryptor2.addEventListener("error", rej);
|
|
239
|
-
contentDecryptor2.addEventListener("stateChange", (state2
|
|
235
|
+
contentDecryptor2.addEventListener("stateChange", (state2) => {
|
|
240
236
|
receivedStateChange2++;
|
|
241
237
|
try {
|
|
242
238
|
if (receivedStateChange2 === 2) {
|
|
@@ -274,15 +270,16 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
274
270
|
MediaKeySystemAccessImpl.prototype,
|
|
275
271
|
"createMediaKeys",
|
|
276
272
|
);
|
|
277
|
-
const
|
|
278
|
-
|
|
279
|
-
|
|
273
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
274
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
275
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
276
|
+
.default as typeof IContentDecryptor;
|
|
280
277
|
|
|
281
278
|
return new Promise<void>((res, rej) => {
|
|
282
279
|
const contentDecryptor1 = new ContentDecryptor(videoElt, ksConfig);
|
|
283
280
|
let receivedStateChange1 = 0;
|
|
284
281
|
contentDecryptor1.addEventListener("error", rej);
|
|
285
|
-
contentDecryptor1.addEventListener("stateChange", (state1
|
|
282
|
+
contentDecryptor1.addEventListener("stateChange", (state1) => {
|
|
286
283
|
receivedStateChange1++;
|
|
287
284
|
try {
|
|
288
285
|
if (receivedStateChange1 === 2) {
|
|
@@ -303,7 +300,7 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
303
300
|
const contentDecryptor2 = new ContentDecryptor(videoElt, ksConfig);
|
|
304
301
|
let receivedStateChange2 = 0;
|
|
305
302
|
contentDecryptor2.addEventListener("error", rej);
|
|
306
|
-
contentDecryptor2.addEventListener("stateChange", (state2
|
|
303
|
+
contentDecryptor2.addEventListener("stateChange", (state2) => {
|
|
307
304
|
receivedStateChange2++;
|
|
308
305
|
try {
|
|
309
306
|
if (receivedStateChange2 === 2) {
|
|
@@ -340,12 +337,13 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
340
337
|
const mockCreateSession = vi.spyOn(MediaKeysImpl.prototype, "createSession");
|
|
341
338
|
|
|
342
339
|
// == test ==
|
|
343
|
-
const
|
|
344
|
-
|
|
345
|
-
|
|
340
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
341
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
342
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
343
|
+
.default as typeof IContentDecryptor;
|
|
346
344
|
const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
|
|
347
345
|
return new Promise<void>((res) => {
|
|
348
|
-
contentDecryptor.addEventListener("stateChange", (newState
|
|
346
|
+
contentDecryptor.addEventListener("stateChange", (newState) => {
|
|
349
347
|
if (newState === ContentDecryptorState.WaitingForAttachment) {
|
|
350
348
|
contentDecryptor.removeEventListener("stateChange");
|
|
351
349
|
contentDecryptor.attach();
|
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
import { describe, beforeEach, it, expect, vi } from "vitest";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
6
|
-
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
7
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
8
|
-
/* eslint-disable no-restricted-properties */
|
|
9
|
-
/* eslint-disable @typescript-eslint/restrict-template-expressions */
|
|
10
|
-
|
|
2
|
+
import type { IKeySystemOption } from "../../../../public_types";
|
|
3
|
+
import type IContentDecryptor from "../../content_decryptor";
|
|
4
|
+
import type { ContentDecryptorState as IContentDecryptorState } from "../../types";
|
|
11
5
|
import { MediaKeysImpl, MediaKeySystemAccessImpl, mockCompat } from "./utils";
|
|
12
6
|
|
|
13
7
|
describe("decrypt - global tests - server certificate", () => {
|
|
14
8
|
const mockGetLicense = vi.fn(() => {
|
|
15
|
-
return new Promise(() => {
|
|
9
|
+
return new Promise<BufferSource>(() => {
|
|
16
10
|
/* noop */
|
|
17
11
|
});
|
|
18
12
|
});
|
|
@@ -20,10 +14,10 @@ describe("decrypt - global tests - server certificate", () => {
|
|
|
20
14
|
/** Default video element used in our tests. */
|
|
21
15
|
const videoElt = document.createElement("video");
|
|
22
16
|
|
|
23
|
-
const serverCertificate = [1, 2, 3];
|
|
17
|
+
const serverCertificate = new Uint8Array([1, 2, 3]);
|
|
24
18
|
|
|
25
19
|
/** Default keySystems configuration used in our tests. */
|
|
26
|
-
const ksConfigCert = [
|
|
20
|
+
const ksConfigCert: IKeySystemOption[] = [
|
|
27
21
|
{
|
|
28
22
|
type: "com.widevine.alpha",
|
|
29
23
|
getLicense: mockGetLicense,
|
|
@@ -52,13 +46,14 @@ describe("decrypt - global tests - server certificate", () => {
|
|
|
52
46
|
return Promise.resolve(true);
|
|
53
47
|
});
|
|
54
48
|
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
49
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
50
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
51
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
52
|
+
.default as typeof IContentDecryptor;
|
|
58
53
|
const contentDecryptor = new ContentDecryptor(videoElt, ksConfigCert);
|
|
59
54
|
|
|
60
55
|
return new Promise<void>((res) => {
|
|
61
|
-
contentDecryptor.addEventListener("stateChange", (state
|
|
56
|
+
contentDecryptor.addEventListener("stateChange", (state) => {
|
|
62
57
|
if (state === ContentDecryptorState.WaitingForAttachment) {
|
|
63
58
|
contentDecryptor.removeEventListener("stateChange");
|
|
64
59
|
setTimeout(() => {
|
|
@@ -95,12 +90,13 @@ describe("decrypt - global tests - server certificate", () => {
|
|
|
95
90
|
return Promise.resolve(true);
|
|
96
91
|
});
|
|
97
92
|
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
|
|
93
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
94
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
95
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
96
|
+
.default as typeof IContentDecryptor;
|
|
101
97
|
const contentDecryptor = new ContentDecryptor(videoElt, ksConfigCert);
|
|
102
98
|
|
|
103
|
-
contentDecryptor.addEventListener("stateChange", (state
|
|
99
|
+
contentDecryptor.addEventListener("stateChange", (state) => {
|
|
104
100
|
if (state === ContentDecryptorState.WaitingForAttachment) {
|
|
105
101
|
contentDecryptor.removeEventListener("stateChange");
|
|
106
102
|
setTimeout(() => {
|
|
@@ -136,12 +132,13 @@ describe("decrypt - global tests - server certificate", () => {
|
|
|
136
132
|
throw new Error("some error");
|
|
137
133
|
});
|
|
138
134
|
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
|
|
135
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
136
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
137
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
138
|
+
.default as typeof IContentDecryptor;
|
|
142
139
|
const contentDecryptor = new ContentDecryptor(videoElt, ksConfigCert);
|
|
143
140
|
|
|
144
|
-
contentDecryptor.addEventListener("stateChange", (state
|
|
141
|
+
contentDecryptor.addEventListener("stateChange", (state) => {
|
|
145
142
|
if (state === ContentDecryptorState.WaitingForAttachment) {
|
|
146
143
|
contentDecryptor.removeEventListener("stateChange");
|
|
147
144
|
contentDecryptor.attach();
|
|
@@ -149,7 +146,7 @@ describe("decrypt - global tests - server certificate", () => {
|
|
|
149
146
|
});
|
|
150
147
|
|
|
151
148
|
let warningsReceived = 0;
|
|
152
|
-
contentDecryptor.addEventListener("warning", (w
|
|
149
|
+
contentDecryptor.addEventListener("warning", (w) => {
|
|
153
150
|
expect(w.code).toEqual("LICENSE_SERVER_CERTIFICATE_ERROR");
|
|
154
151
|
expect(w.type).toEqual("ENCRYPTED_MEDIA_ERROR");
|
|
155
152
|
warningsReceived++;
|
|
@@ -175,12 +172,13 @@ describe("decrypt - global tests - server certificate", () => {
|
|
|
175
172
|
return Promise.reject(new Error("some error"));
|
|
176
173
|
});
|
|
177
174
|
|
|
178
|
-
const
|
|
179
|
-
|
|
180
|
-
|
|
175
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
176
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
177
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
178
|
+
.default as typeof IContentDecryptor;
|
|
181
179
|
const contentDecryptor = new ContentDecryptor(videoElt, ksConfigCert);
|
|
182
180
|
|
|
183
|
-
contentDecryptor.addEventListener("stateChange", (state
|
|
181
|
+
contentDecryptor.addEventListener("stateChange", (state) => {
|
|
184
182
|
if (state === ContentDecryptorState.WaitingForAttachment) {
|
|
185
183
|
contentDecryptor.removeEventListener("stateChange");
|
|
186
184
|
contentDecryptor.attach();
|
|
@@ -188,7 +186,7 @@ describe("decrypt - global tests - server certificate", () => {
|
|
|
188
186
|
});
|
|
189
187
|
|
|
190
188
|
let warningsReceived = 0;
|
|
191
|
-
contentDecryptor.addEventListener("warning", (w
|
|
189
|
+
contentDecryptor.addEventListener("warning", (w) => {
|
|
192
190
|
expect(w.code).toEqual("LICENSE_SERVER_CERTIFICATE_ERROR");
|
|
193
191
|
expect(w.type).toEqual("ENCRYPTED_MEDIA_ERROR");
|
|
194
192
|
warningsReceived++;
|
|
@@ -225,12 +223,13 @@ describe("decrypt - global tests - server certificate", () => {
|
|
|
225
223
|
MediaKeysImpl.prototype,
|
|
226
224
|
"setServerCertificate",
|
|
227
225
|
);
|
|
228
|
-
const
|
|
229
|
-
|
|
230
|
-
|
|
226
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
227
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
228
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
229
|
+
.default as typeof IContentDecryptor;
|
|
231
230
|
const contentDecryptor = new ContentDecryptor(videoElt, ksConfigCert);
|
|
232
231
|
|
|
233
|
-
contentDecryptor.addEventListener("stateChange", (state
|
|
232
|
+
contentDecryptor.addEventListener("stateChange", (state) => {
|
|
234
233
|
if (state === ContentDecryptorState.WaitingForAttachment) {
|
|
235
234
|
contentDecryptor.removeEventListener("stateChange");
|
|
236
235
|
setTimeout(() => {
|
|
@@ -1,24 +1,14 @@
|
|
|
1
1
|
import type { MockInstance } from "vitest";
|
|
2
2
|
import { vi } from "vitest";
|
|
3
|
-
|
|
4
|
-
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
5
|
-
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
6
|
-
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
7
|
-
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
8
|
-
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
9
|
-
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
10
|
-
/* eslint-disable @typescript-eslint/naming-convention */
|
|
11
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
12
|
-
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
|
13
|
-
/* eslint-disable no-restricted-properties */
|
|
14
|
-
|
|
15
3
|
import type { IMediaElement } from "../../../../compat/browser_compatibility_types";
|
|
16
4
|
import type { IEmeApiImplementation, IEncryptedEventData } from "../../../../compat/eme";
|
|
5
|
+
import type { IKeySystemOption } from "../../../../public_types";
|
|
17
6
|
import { base64ToBytes, bytesToBase64 } from "../../../../utils/base64";
|
|
18
7
|
import EventEmitter from "../../../../utils/event_emitter";
|
|
19
8
|
import flatMap from "../../../../utils/flat_map";
|
|
20
9
|
import { strToUtf8, utf8ToStr } from "../../../../utils/string_parsing";
|
|
21
10
|
import type { CancellationSignal } from "../../../../utils/task_canceller";
|
|
11
|
+
import type IContentDecryptor from "../../content_decryptor";
|
|
22
12
|
|
|
23
13
|
/** Default MediaKeySystemAccess configuration used by the RxPlayer. */
|
|
24
14
|
export const defaultKSConfig: MediaKeySystemConfiguration[] = [
|
|
@@ -182,6 +172,7 @@ export class MediaKeySessionImpl extends EventEmitter<Record<string, unknown>> {
|
|
|
182
172
|
public generateRequest(initDataType: string, initData: BufferSource): Promise<void> {
|
|
183
173
|
const msg = formatFakeChallengeFromInitData(initData, initDataType);
|
|
184
174
|
setTimeout(() => {
|
|
175
|
+
// eslint-disable-next-line no-restricted-properties
|
|
185
176
|
const event: MediaKeyMessageEvent = Object.assign(new CustomEvent("message"), {
|
|
186
177
|
message: msg.buffer,
|
|
187
178
|
messageType: "license-request" as const,
|
|
@@ -385,7 +376,11 @@ export function mockCompat(
|
|
|
385
376
|
const mockGenerateKeyRequest = vi
|
|
386
377
|
.fn()
|
|
387
378
|
.mockImplementation(
|
|
388
|
-
(
|
|
379
|
+
(
|
|
380
|
+
mks: MediaKeySessionImpl,
|
|
381
|
+
initializationDataType: string,
|
|
382
|
+
initializationData: BufferSource,
|
|
383
|
+
) => {
|
|
389
384
|
return mks.generateRequest(initializationDataType, initializationData);
|
|
390
385
|
},
|
|
391
386
|
);
|
|
@@ -460,13 +455,14 @@ export function mockCompat(
|
|
|
460
455
|
* @returns {Promise}
|
|
461
456
|
*/
|
|
462
457
|
export function testContentDecryptorError(
|
|
463
|
-
|
|
458
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
459
|
+
ContentDecryptor: typeof IContentDecryptor,
|
|
464
460
|
mediaElement: IMediaElement,
|
|
465
|
-
keySystemsConfigs:
|
|
466
|
-
): Promise<
|
|
461
|
+
keySystemsConfigs: IKeySystemOption[],
|
|
462
|
+
): Promise<Error> {
|
|
467
463
|
return new Promise((res, rej) => {
|
|
468
464
|
const contentDecryptor = new ContentDecryptor(mediaElement, keySystemsConfigs);
|
|
469
|
-
contentDecryptor.addEventListener("error", (error
|
|
465
|
+
contentDecryptor.addEventListener("error", (error) => {
|
|
470
466
|
res(error);
|
|
471
467
|
});
|
|
472
468
|
setTimeout(() => {
|
|
@@ -248,7 +248,7 @@ export interface ISessionEventListenerCallbacks {
|
|
|
248
248
|
*/
|
|
249
249
|
onKeyUpdate: (val: IKeyUpdateValue) => void;
|
|
250
250
|
onWarning: (val: IPlayerError) => void;
|
|
251
|
-
|
|
251
|
+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
|
|
252
252
|
onError: (val: unknown | BlacklistedSessionError) => void;
|
|
253
253
|
}
|
|
254
254
|
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect, vi } from "vitest";
|
|
2
2
|
|
|
3
|
-
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
4
|
-
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
5
|
-
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
6
|
-
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
7
|
-
|
|
8
3
|
import cleanOldLoadedSessions from "../clean_old_loaded_sessions";
|
|
9
4
|
import type LoadedSessionsStore from "../loaded_sessions_store";
|
|
10
5
|
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import { describe, it, expect, vi } from "vitest";
|
|
2
|
+
import type ICleanOldStoredPersistentInfo from "../clean_old_stored_persistent_info";
|
|
3
|
+
import type PersistentSessionsStore from "../persistent_sessions_store";
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
5
|
-
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
6
|
-
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
7
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
8
|
-
|
|
9
|
-
function createPersistentSessionsStore() {
|
|
5
|
+
function createPersistentSessionsStore(): PersistentSessionsStore {
|
|
10
6
|
return {
|
|
11
7
|
getLength(): number {
|
|
12
8
|
return 3;
|
|
@@ -14,7 +10,7 @@ function createPersistentSessionsStore() {
|
|
|
14
10
|
deleteOldSessions(): void {
|
|
15
11
|
return;
|
|
16
12
|
},
|
|
17
|
-
};
|
|
13
|
+
} as unknown as PersistentSessionsStore;
|
|
18
14
|
}
|
|
19
15
|
|
|
20
16
|
const emptyPersistentSessionsStore = {
|
|
@@ -27,7 +23,7 @@ const emptyPersistentSessionsStore = {
|
|
|
27
23
|
deleteOldSessions(): void {
|
|
28
24
|
return;
|
|
29
25
|
},
|
|
30
|
-
};
|
|
26
|
+
} as unknown as PersistentSessionsStore;
|
|
31
27
|
|
|
32
28
|
/**
|
|
33
29
|
* Call `cleanOldStoredPersistentInfo` with the given persistentSessionsStore
|
|
@@ -35,16 +31,18 @@ const emptyPersistentSessionsStore = {
|
|
|
35
31
|
* @param {Object} persistentSessionsStore
|
|
36
32
|
* @param {number} limit
|
|
37
33
|
*/
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
async function checkNothingHappen(
|
|
35
|
+
persistentSessionsStore: PersistentSessionsStore,
|
|
36
|
+
limit: number,
|
|
37
|
+
) {
|
|
40
38
|
const mockDeleteLast = vi.spyOn(persistentSessionsStore, "deleteOldSessions");
|
|
41
39
|
const mockLogInfo = vi.fn();
|
|
42
40
|
vi.doMock("../../../../log", () => ({
|
|
43
41
|
default: { info: mockLogInfo },
|
|
44
42
|
}));
|
|
45
43
|
const cleanOldStoredPersistentInfo = (
|
|
46
|
-
|
|
47
|
-
).default;
|
|
44
|
+
await vi.importActual("../clean_old_stored_persistent_info")
|
|
45
|
+
).default as typeof ICleanOldStoredPersistentInfo;
|
|
48
46
|
cleanOldStoredPersistentInfo(persistentSessionsStore, limit);
|
|
49
47
|
expect(mockDeleteLast).not.toHaveBeenCalled();
|
|
50
48
|
expect(mockLogInfo).not.toHaveBeenCalled();
|
|
@@ -59,8 +57,7 @@ async function checkNothingHappen(persistentSessionsStore: any, limit: number) {
|
|
|
59
57
|
* @param {number} numberToRemove
|
|
60
58
|
*/
|
|
61
59
|
async function checkRemoved(
|
|
62
|
-
|
|
63
|
-
persistentSessionsStore: any,
|
|
60
|
+
persistentSessionsStore: PersistentSessionsStore,
|
|
64
61
|
limit: number,
|
|
65
62
|
numberToRemove: number,
|
|
66
63
|
) {
|
|
@@ -70,8 +67,8 @@ async function checkRemoved(
|
|
|
70
67
|
default: { info: mockLogInfo },
|
|
71
68
|
}));
|
|
72
69
|
const cleanOldStoredPersistentInfo = (
|
|
73
|
-
|
|
74
|
-
).default;
|
|
70
|
+
await vi.importActual("../clean_old_stored_persistent_info")
|
|
71
|
+
).default as typeof ICleanOldStoredPersistentInfo;
|
|
75
72
|
cleanOldStoredPersistentInfo(persistentSessionsStore, limit);
|
|
76
73
|
expect(mockDeleteLast).toHaveBeenCalledTimes(1);
|
|
77
74
|
expect(mockDeleteLast).toHaveBeenCalledWith(numberToRemove);
|
|
@@ -282,12 +282,13 @@ export default class PersistentSessionsStore {
|
|
|
282
282
|
}
|
|
283
283
|
break;
|
|
284
284
|
|
|
285
|
-
case 3:
|
|
285
|
+
case 3: {
|
|
286
286
|
const formatted = initData.values.getFormattedValues();
|
|
287
287
|
if (areInitializationValuesCompatible(formatted, entry.values)) {
|
|
288
288
|
return i;
|
|
289
289
|
}
|
|
290
290
|
break;
|
|
291
|
+
}
|
|
291
292
|
|
|
292
293
|
case 2: {
|
|
293
294
|
const { initData: concatInitData, initDataHash: concatHash } =
|
|
@@ -25,7 +25,7 @@ import type {
|
|
|
25
25
|
} from "../../core/adaptive";
|
|
26
26
|
import AdaptiveRepresentationSelector from "../../core/adaptive";
|
|
27
27
|
import CmcdDataBuilder from "../../core/cmcd";
|
|
28
|
-
import { ManifestFetcher,
|
|
28
|
+
import { ManifestFetcher, SegmentQueueCreator } from "../../core/fetchers";
|
|
29
29
|
import createContentTimeBoundariesObserver from "../../core/main/common/create_content_time_boundaries_observer";
|
|
30
30
|
import DecipherabilityFreezeDetector from "../../core/main/common/DecipherabilityFreezeDetector";
|
|
31
31
|
import SegmentSinksStore from "../../core/segment_sinks";
|
|
@@ -429,7 +429,7 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
|
|
|
429
429
|
bufferOptions,
|
|
430
430
|
);
|
|
431
431
|
|
|
432
|
-
const
|
|
432
|
+
const segmentQueueCreator = new SegmentQueueCreator(
|
|
433
433
|
transport,
|
|
434
434
|
this._cmcdDataBuilder,
|
|
435
435
|
segmentRequestOptions,
|
|
@@ -478,7 +478,7 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
|
|
|
478
478
|
autoPlay: shouldPlay,
|
|
479
479
|
manifest,
|
|
480
480
|
representationEstimator,
|
|
481
|
-
|
|
481
|
+
segmentQueueCreator,
|
|
482
482
|
speed,
|
|
483
483
|
bufferOptions: subBufferOptions,
|
|
484
484
|
};
|
|
@@ -538,7 +538,7 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
|
|
|
538
538
|
mediaSource,
|
|
539
539
|
playbackObserver,
|
|
540
540
|
representationEstimator,
|
|
541
|
-
|
|
541
|
+
segmentQueueCreator,
|
|
542
542
|
speed,
|
|
543
543
|
} = args;
|
|
544
544
|
|
|
@@ -761,14 +761,14 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
|
|
|
761
761
|
this._onFatalError(err);
|
|
762
762
|
});
|
|
763
763
|
|
|
764
|
-
|
|
764
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
765
765
|
const self = this;
|
|
766
766
|
StreamOrchestrator(
|
|
767
767
|
{ manifest, initialPeriod },
|
|
768
768
|
coreObserver,
|
|
769
769
|
representationEstimator,
|
|
770
770
|
segmentSinksStore,
|
|
771
|
-
|
|
771
|
+
segmentQueueCreator,
|
|
772
772
|
bufferOptions,
|
|
773
773
|
handleStreamOrchestratorCallbacks(),
|
|
774
774
|
cancelSignal,
|
|
@@ -1223,7 +1223,7 @@ interface IBufferingMediaSettings {
|
|
|
1223
1223
|
/** Estimate the right Representation. */
|
|
1224
1224
|
representationEstimator: IRepresentationEstimator;
|
|
1225
1225
|
/** Module to facilitate segment fetching. */
|
|
1226
|
-
|
|
1226
|
+
segmentQueueCreator: SegmentQueueCreator;
|
|
1227
1227
|
/** Last wanted playback rate. */
|
|
1228
1228
|
speed: IReadOnlySharedReference<number>;
|
|
1229
1229
|
/** `MediaSource` element on which the media will be buffered. */
|
|
@@ -741,7 +741,7 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
|
|
|
741
741
|
break;
|
|
742
742
|
}
|
|
743
743
|
|
|
744
|
-
case WorkerMessageType.ManifestUpdate:
|
|
744
|
+
case WorkerMessageType.ManifestUpdate: {
|
|
745
745
|
if (this._currentContentInfo?.contentId !== msgData.contentId) {
|
|
746
746
|
return;
|
|
747
747
|
}
|
|
@@ -761,6 +761,7 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
|
|
|
761
761
|
this._updateCodecSupport(manifest);
|
|
762
762
|
this.trigger("manifestUpdate", msgData.value.updates);
|
|
763
763
|
break;
|
|
764
|
+
}
|
|
764
765
|
|
|
765
766
|
case WorkerMessageType.UpdatePlaybackRate:
|
|
766
767
|
if (this._currentContentInfo?.contentId !== msgData.contentId) {
|
|
@@ -893,7 +894,7 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
|
|
|
893
894
|
break;
|
|
894
895
|
}
|
|
895
896
|
|
|
896
|
-
case WorkerMessageType.DiscontinuityUpdate:
|
|
897
|
+
case WorkerMessageType.DiscontinuityUpdate: {
|
|
897
898
|
if (
|
|
898
899
|
this._currentContentInfo?.contentId !== msgData.contentId ||
|
|
899
900
|
this._currentContentInfo.manifest === null
|
|
@@ -915,6 +916,7 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
|
|
|
915
916
|
position: msgData.value.position,
|
|
916
917
|
});
|
|
917
918
|
break;
|
|
919
|
+
}
|
|
918
920
|
|
|
919
921
|
case WorkerMessageType.PushTextData: {
|
|
920
922
|
if (this._currentContentInfo?.contentId !== msgData.contentId) {
|
|
@@ -1733,7 +1735,7 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
|
|
|
1733
1735
|
clearSignal: this._currentMediaSourceCanceller.signal,
|
|
1734
1736
|
},
|
|
1735
1737
|
);
|
|
1736
|
-
} catch (
|
|
1738
|
+
} catch (_err) {
|
|
1737
1739
|
const error = new OtherError(
|
|
1738
1740
|
"NONE",
|
|
1739
1741
|
"Unknown error when creating the MediaSource",
|
|
@@ -1922,18 +1924,11 @@ function bindNumberReferencesToWorker(
|
|
|
1922
1924
|
(newVal) => {
|
|
1923
1925
|
// NOTE: The TypeScript checks have already been made by this function's
|
|
1924
1926
|
// overload, but the body here is not aware of that.
|
|
1925
|
-
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
1926
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
1927
|
-
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
1928
|
-
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
1929
1927
|
sendMessage(worker, {
|
|
1930
1928
|
type: MainThreadMessageType.ReferenceUpdate,
|
|
1929
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
|
1931
1930
|
value: { name: ref[1] as any, newVal: newVal as any },
|
|
1932
1931
|
});
|
|
1933
|
-
/* eslint-enable @typescript-eslint/no-unsafe-assignment */
|
|
1934
|
-
/* eslint-enable @typescript-eslint/no-explicit-any */
|
|
1935
|
-
/* eslint-enable @typescript-eslint/no-unsafe-call */
|
|
1936
|
-
/* eslint-enable @typescript-eslint/no-unsafe-member-access */
|
|
1937
1932
|
},
|
|
1938
1933
|
{ clearSignal: cancellationSignal, emitCurrentValue: true },
|
|
1939
1934
|
);
|
|
@@ -1952,7 +1947,7 @@ function formatWorkerError(sentError: ISentError): IPlayerError {
|
|
|
1952
1947
|
),
|
|
1953
1948
|
);
|
|
1954
1949
|
case "MediaError":
|
|
1955
|
-
|
|
1950
|
+
// eslint-disable-next-line
|
|
1956
1951
|
return new MediaError(sentError.code as any, sentError.reason, {
|
|
1957
1952
|
tracks: sentError.tracks,
|
|
1958
1953
|
});
|