rx-player 4.2.0-dev.2024082600 → 4.2.0-dev.2024090500
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 +12 -3
- package/VERSION +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.js +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 +8 -1
- package/dist/commonjs/compat/can_reuse_media_keys.d.ts +2 -0
- package/dist/commonjs/compat/can_reuse_media_keys.d.ts.map +1 -1
- package/dist/commonjs/compat/can_reuse_media_keys.js +3 -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/cmcd/cmcd_data_builder.js +1 -1
- 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/commonjs/core/{stream/representation/utils/downloading_queue.d.ts → 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/{es2017/core/fetchers/segment/segment_fetcher_creator.d.ts → commonjs/core/fetchers/segment/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 +3 -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/adaptation.d.ts +13 -13
- package/dist/commonjs/manifest/classes/manifest.d.ts.map +1 -1
- package/dist/commonjs/manifest/classes/manifest.js +0 -6
- package/dist/commonjs/manifest/classes/representation.d.ts +20 -12
- package/dist/commonjs/manifest/classes/representation.d.ts.map +1 -1
- 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.js +1 -1
- 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_dash_wasm.d.ts.map +1 -1
- package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.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 +7 -1
- package/dist/es2017/compat/can_reuse_media_keys.d.ts +2 -0
- package/dist/es2017/compat/can_reuse_media_keys.d.ts.map +1 -1
- package/dist/es2017/compat/can_reuse_media_keys.js +4 -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/cmcd/cmcd_data_builder.js +1 -1
- 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/es2017/core/{stream/representation/utils/downloading_queue.d.ts → 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/{commonjs/core/fetchers/segment/segment_fetcher_creator.d.ts → es2017/core/fetchers/segment/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 +3 -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/adaptation.d.ts +13 -13
- package/dist/es2017/manifest/classes/manifest.d.ts.map +1 -1
- package/dist/es2017/manifest/classes/manifest.js +0 -6
- package/dist/es2017/manifest/classes/representation.d.ts +20 -12
- package/dist/es2017/manifest/classes/representation.d.ts.map +1 -1
- 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.js +1 -1
- 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/mpd-parser.wasm +0 -0
- package/dist/rx-player.js +39336 -18
- package/dist/rx-player.min.js +18 -0
- package/dist/worker.js +5 -5
- package/package.json +16 -9
- package/src/__GENERATED_CODE/embedded_dash_wasm.ts +1 -1
- 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 +38 -15
- 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 +9 -0
- package/src/compat/can_reuse_media_keys.ts +4 -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/cmcd/cmcd_data_builder.ts +1 -1
- 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 +3 -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/adaptation.ts +13 -13
- package/src/manifest/classes/manifest.ts +0 -6
- package/src/manifest/classes/representation.ts +20 -12
- 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 +1 -1
- 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/.vscode/settings.json +0 -7
- 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,20 +1,11 @@
|
|
|
1
1
|
import { describe, afterEach, it, expect, vi } from "vitest";
|
|
2
|
-
|
|
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-unsafe-argument */
|
|
8
|
-
/* eslint-disable @typescript-eslint/restrict-template-expressions */
|
|
9
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
10
|
-
|
|
2
|
+
import type IContentDecryptor from "../../content_decryptor";
|
|
3
|
+
import type { ContentDecryptorState as IContentDecryptorState } from "../../types";
|
|
11
4
|
import {
|
|
12
5
|
formatFakeChallengeFromInitData,
|
|
13
6
|
MediaKeySessionImpl,
|
|
14
7
|
MediaKeysImpl,
|
|
15
|
-
// MediaKeySystemAccessImpl,
|
|
16
8
|
mockCompat,
|
|
17
|
-
// testContentDecryptorError,
|
|
18
9
|
} from "./utils";
|
|
19
10
|
|
|
20
11
|
describe("decrypt - global tests - init data", () => {
|
|
@@ -42,22 +33,26 @@ describe("decrypt - global tests - init data", () => {
|
|
|
42
33
|
const mockCreateSession = vi
|
|
43
34
|
.spyOn(MediaKeysImpl.prototype, "createSession")
|
|
44
35
|
.mockReturnValue(mediaKeySession);
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
36
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
37
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
38
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
39
|
+
.default as typeof IContentDecryptor;
|
|
48
40
|
return new Promise<void>((res, rej) => {
|
|
49
41
|
// == vars ==
|
|
50
42
|
const initData = new Uint8Array([54, 55, 75]);
|
|
51
43
|
|
|
52
44
|
// == test ==
|
|
53
45
|
const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
|
|
54
|
-
contentDecryptor.addEventListener(
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
46
|
+
contentDecryptor.addEventListener(
|
|
47
|
+
"stateChange",
|
|
48
|
+
(newState: IContentDecryptorState) => {
|
|
49
|
+
if (newState !== ContentDecryptorState.WaitingForAttachment) {
|
|
50
|
+
rej(new Error(`Unexpected state: ${newState}`));
|
|
51
|
+
}
|
|
52
|
+
contentDecryptor.removeEventListener("stateChange");
|
|
53
|
+
contentDecryptor.attach();
|
|
54
|
+
},
|
|
55
|
+
);
|
|
61
56
|
contentDecryptor.onInitializationData({
|
|
62
57
|
type: "cenc",
|
|
63
58
|
values: [{ systemId: "15", data: initData }],
|
|
@@ -94,22 +89,26 @@ describe("decrypt - global tests - init data", () => {
|
|
|
94
89
|
const mockCreateSession = vi
|
|
95
90
|
.spyOn(MediaKeysImpl.prototype, "createSession")
|
|
96
91
|
.mockReturnValue(mediaKeySession);
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
|
|
92
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
93
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
94
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
95
|
+
.default as typeof IContentDecryptor;
|
|
100
96
|
return new Promise<void>((res, rej) => {
|
|
101
97
|
// == vars ==
|
|
102
98
|
const initData = new Uint8Array([54, 55, 75]);
|
|
103
99
|
|
|
104
100
|
// == test ==
|
|
105
101
|
const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
|
|
106
|
-
contentDecryptor.addEventListener(
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
102
|
+
contentDecryptor.addEventListener(
|
|
103
|
+
"stateChange",
|
|
104
|
+
(newState: IContentDecryptorState) => {
|
|
105
|
+
if (newState !== ContentDecryptorState.WaitingForAttachment) {
|
|
106
|
+
rej(new Error(`Unexpected state: ${newState}`));
|
|
107
|
+
}
|
|
108
|
+
contentDecryptor.removeEventListener("stateChange");
|
|
109
|
+
contentDecryptor.attach();
|
|
110
|
+
},
|
|
111
|
+
);
|
|
113
112
|
contentDecryptor.onInitializationData({
|
|
114
113
|
type: "cenc",
|
|
115
114
|
values: [{ systemId: "15", data: initData }],
|
|
@@ -162,9 +161,10 @@ describe("decrypt - global tests - init data", () => {
|
|
|
162
161
|
.spyOn(MediaKeysImpl.prototype, "createSession")
|
|
163
162
|
.mockImplementation(() => mediaKeySessions[createSessionCallIdx++]);
|
|
164
163
|
|
|
165
|
-
const
|
|
166
|
-
|
|
167
|
-
|
|
164
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
165
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
166
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
167
|
+
.default as typeof IContentDecryptor;
|
|
168
168
|
return new Promise<void>((res, rej) => {
|
|
169
169
|
// == vars ==
|
|
170
170
|
const initDatas = [
|
|
@@ -175,13 +175,16 @@ describe("decrypt - global tests - init data", () => {
|
|
|
175
175
|
|
|
176
176
|
// == test ==
|
|
177
177
|
const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
|
|
178
|
-
contentDecryptor.addEventListener(
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
178
|
+
contentDecryptor.addEventListener(
|
|
179
|
+
"stateChange",
|
|
180
|
+
(newState: IContentDecryptorState) => {
|
|
181
|
+
if (newState !== ContentDecryptorState.WaitingForAttachment) {
|
|
182
|
+
rej(new Error(`Unexpected state: ${newState}`));
|
|
183
|
+
}
|
|
184
|
+
contentDecryptor.removeEventListener("stateChange");
|
|
185
|
+
contentDecryptor.attach();
|
|
186
|
+
},
|
|
187
|
+
);
|
|
185
188
|
contentDecryptor.onInitializationData({
|
|
186
189
|
type: "cenc",
|
|
187
190
|
values: [{ systemId: "15", data: initDatas[0] }],
|
|
@@ -266,22 +269,26 @@ describe("decrypt - global tests - init data", () => {
|
|
|
266
269
|
.spyOn(MediaKeysImpl.prototype, "createSession")
|
|
267
270
|
.mockImplementation(() => mediaKeySessions[createSessionCallIdx++]);
|
|
268
271
|
|
|
269
|
-
const
|
|
270
|
-
|
|
271
|
-
|
|
272
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
273
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
274
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
275
|
+
.default as typeof IContentDecryptor;
|
|
272
276
|
return new Promise<void>((res, rej) => {
|
|
273
277
|
// == vars ==
|
|
274
278
|
const initData = new Uint8Array([54, 55, 75]);
|
|
275
279
|
|
|
276
280
|
// == test ==
|
|
277
281
|
const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
|
|
278
|
-
contentDecryptor.addEventListener(
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
282
|
+
contentDecryptor.addEventListener(
|
|
283
|
+
"stateChange",
|
|
284
|
+
(newState: IContentDecryptorState) => {
|
|
285
|
+
if (newState !== ContentDecryptorState.WaitingForAttachment) {
|
|
286
|
+
rej(new Error(`Unexpected state: ${newState}`));
|
|
287
|
+
}
|
|
288
|
+
contentDecryptor.removeEventListener("stateChange");
|
|
289
|
+
contentDecryptor.attach();
|
|
290
|
+
},
|
|
291
|
+
);
|
|
285
292
|
contentDecryptor.onInitializationData({
|
|
286
293
|
type: "cenc",
|
|
287
294
|
values: [{ systemId: "15", data: initData }],
|
|
@@ -337,22 +344,26 @@ describe("decrypt - global tests - init data", () => {
|
|
|
337
344
|
.spyOn(MediaKeysImpl.prototype, "createSession")
|
|
338
345
|
.mockReturnValue(mediaKeySession);
|
|
339
346
|
|
|
340
|
-
const
|
|
341
|
-
|
|
342
|
-
|
|
347
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
348
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
349
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
350
|
+
.default as typeof IContentDecryptor;
|
|
343
351
|
return new Promise<void>((res, rej) => {
|
|
344
352
|
// == vars ==
|
|
345
353
|
const initData = new Uint8Array([54, 55, 75]);
|
|
346
354
|
|
|
347
355
|
// == test ==
|
|
348
356
|
const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
|
|
349
|
-
contentDecryptor.addEventListener(
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
357
|
+
contentDecryptor.addEventListener(
|
|
358
|
+
"stateChange",
|
|
359
|
+
(newState: IContentDecryptorState) => {
|
|
360
|
+
if (newState !== ContentDecryptorState.WaitingForAttachment) {
|
|
361
|
+
rej(new Error(`Unexpected state: ${newState}`));
|
|
362
|
+
}
|
|
363
|
+
contentDecryptor.removeEventListener("stateChange");
|
|
364
|
+
contentDecryptor.attach();
|
|
365
|
+
},
|
|
366
|
+
);
|
|
356
367
|
const initDataEvent = {
|
|
357
368
|
type: "cenc",
|
|
358
369
|
values: [{ systemId: "15", data: initData }],
|
|
@@ -393,22 +404,26 @@ describe("decrypt - global tests - init data", () => {
|
|
|
393
404
|
.spyOn(MediaKeysImpl.prototype, "createSession")
|
|
394
405
|
.mockReturnValue(mediaKeySession);
|
|
395
406
|
|
|
396
|
-
const
|
|
397
|
-
|
|
398
|
-
|
|
407
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
408
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
409
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
410
|
+
.default as typeof IContentDecryptor;
|
|
399
411
|
return new Promise<void>((res, rej) => {
|
|
400
412
|
// == vars ==
|
|
401
413
|
const initData = new Uint8Array([54, 55, 75]);
|
|
402
414
|
|
|
403
415
|
// == test ==
|
|
404
416
|
const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
|
|
405
|
-
contentDecryptor.addEventListener(
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
417
|
+
contentDecryptor.addEventListener(
|
|
418
|
+
"stateChange",
|
|
419
|
+
(newState: IContentDecryptorState) => {
|
|
420
|
+
if (newState !== ContentDecryptorState.WaitingForAttachment) {
|
|
421
|
+
rej(new Error(`Unexpected state: ${newState}`));
|
|
422
|
+
}
|
|
423
|
+
contentDecryptor.removeEventListener("stateChange");
|
|
424
|
+
contentDecryptor.attach();
|
|
425
|
+
},
|
|
426
|
+
);
|
|
412
427
|
const initDataEvent = {
|
|
413
428
|
type: "cenc",
|
|
414
429
|
values: [{ systemId: "15", data: initData }],
|
|
@@ -460,9 +475,10 @@ describe("decrypt - global tests - init data", () => {
|
|
|
460
475
|
.spyOn(MediaKeysImpl.prototype, "createSession")
|
|
461
476
|
.mockImplementation(() => mediaKeySessions[createSessionCallIdx++]);
|
|
462
477
|
|
|
463
|
-
const
|
|
464
|
-
|
|
465
|
-
|
|
478
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
479
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
480
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
481
|
+
.default as typeof IContentDecryptor;
|
|
466
482
|
return new Promise<void>((res, rej) => {
|
|
467
483
|
// == vars ==
|
|
468
484
|
const initDatas = [
|
|
@@ -480,13 +496,16 @@ describe("decrypt - global tests - init data", () => {
|
|
|
480
496
|
|
|
481
497
|
// == test ==
|
|
482
498
|
const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
|
|
483
|
-
contentDecryptor.addEventListener(
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
499
|
+
contentDecryptor.addEventListener(
|
|
500
|
+
"stateChange",
|
|
501
|
+
(newState: IContentDecryptorState) => {
|
|
502
|
+
if (newState !== ContentDecryptorState.WaitingForAttachment) {
|
|
503
|
+
rej(new Error(`Unexpected state: ${newState}`));
|
|
504
|
+
}
|
|
505
|
+
contentDecryptor.removeEventListener("stateChange");
|
|
506
|
+
contentDecryptor.attach();
|
|
507
|
+
},
|
|
508
|
+
);
|
|
490
509
|
eventTriggers.triggerEncrypted(videoElt, initDataEvents[0]);
|
|
491
510
|
eventTriggers.triggerEncrypted(videoElt, initDataEvents[1]);
|
|
492
511
|
eventTriggers.triggerEncrypted(videoElt, initDataEvents[0]);
|
|
@@ -562,9 +581,10 @@ describe("decrypt - global tests - init data", () => {
|
|
|
562
581
|
.spyOn(MediaKeysImpl.prototype, "createSession")
|
|
563
582
|
.mockImplementation(() => mediaKeySessions[createSessionCallIdx++]);
|
|
564
583
|
|
|
565
|
-
const
|
|
566
|
-
|
|
567
|
-
|
|
584
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
585
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
586
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
587
|
+
.default as typeof IContentDecryptor;
|
|
568
588
|
return new Promise<void>((res, rej) => {
|
|
569
589
|
// == vars ==
|
|
570
590
|
const initData = new Uint8Array([54, 55, 75]);
|
|
@@ -576,13 +596,16 @@ describe("decrypt - global tests - init data", () => {
|
|
|
576
596
|
|
|
577
597
|
// == test ==
|
|
578
598
|
const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
|
|
579
|
-
contentDecryptor.addEventListener(
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
599
|
+
contentDecryptor.addEventListener(
|
|
600
|
+
"stateChange",
|
|
601
|
+
(newState: IContentDecryptorState) => {
|
|
602
|
+
if (newState !== ContentDecryptorState.WaitingForAttachment) {
|
|
603
|
+
rej(new Error(`Unexpected state: ${newState}`));
|
|
604
|
+
}
|
|
605
|
+
contentDecryptor.removeEventListener("stateChange");
|
|
606
|
+
contentDecryptor.attach();
|
|
607
|
+
},
|
|
608
|
+
);
|
|
586
609
|
eventTriggers.triggerEncrypted(videoElt, initDataEvents[0]);
|
|
587
610
|
eventTriggers.triggerEncrypted(videoElt, initDataEvents[1]);
|
|
588
611
|
setTimeout(() => {
|
|
@@ -640,9 +663,10 @@ describe("decrypt - global tests - init data", () => {
|
|
|
640
663
|
.spyOn(MediaKeysImpl.prototype, "createSession")
|
|
641
664
|
.mockImplementation(() => mediaKeySessions[createSessionCallIdx++]);
|
|
642
665
|
|
|
643
|
-
const
|
|
644
|
-
|
|
645
|
-
|
|
666
|
+
const ContentDecryptorState = (await vi.importActual("../../types"))
|
|
667
|
+
.ContentDecryptorState as typeof IContentDecryptorState;
|
|
668
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
669
|
+
.default as typeof IContentDecryptor;
|
|
646
670
|
return new Promise<void>((res, rej) => {
|
|
647
671
|
// == vars ==
|
|
648
672
|
const initDatas = [
|
|
@@ -660,13 +684,16 @@ describe("decrypt - global tests - init data", () => {
|
|
|
660
684
|
|
|
661
685
|
// == test ==
|
|
662
686
|
const contentDecryptor = new ContentDecryptor(videoElt, ksConfig);
|
|
663
|
-
contentDecryptor.addEventListener(
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
687
|
+
contentDecryptor.addEventListener(
|
|
688
|
+
"stateChange",
|
|
689
|
+
(newState: IContentDecryptorState) => {
|
|
690
|
+
if (newState !== ContentDecryptorState.WaitingForAttachment) {
|
|
691
|
+
rej(new Error(`Unexpected state: ${newState}`));
|
|
692
|
+
}
|
|
693
|
+
contentDecryptor.removeEventListener("stateChange");
|
|
694
|
+
contentDecryptor.attach();
|
|
695
|
+
},
|
|
696
|
+
);
|
|
670
697
|
eventTriggers.triggerEncrypted(videoElt, initDataEvents[0]);
|
|
671
698
|
contentDecryptor.onInitializationData(initDataEvents[1]);
|
|
672
699
|
eventTriggers.triggerEncrypted(videoElt, initDataEvents[1]);
|
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
import { describe, beforeEach, afterEach, it, expect, vi } from "vitest";
|
|
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
|
-
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
8
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
9
|
-
/* eslint-disable no-restricted-properties */
|
|
10
|
-
|
|
11
2
|
import type { ICustomMediaKeySystemAccess } from "../../../../compat/eme";
|
|
3
|
+
import type { IKeySystemOption } from "../../../../public_types";
|
|
4
|
+
import type IContentDecryptor from "../../content_decryptor";
|
|
12
5
|
import {
|
|
13
6
|
defaultKSConfig,
|
|
14
7
|
defaultPRRecommendationKSConfig,
|
|
@@ -17,7 +10,7 @@ import {
|
|
|
17
10
|
testContentDecryptorError,
|
|
18
11
|
} from "./utils";
|
|
19
12
|
|
|
20
|
-
|
|
13
|
+
function requestMediaKeySystemAccessNoMediaKeys(
|
|
21
14
|
keySystem: string,
|
|
22
15
|
config: MediaKeySystemConfiguration[],
|
|
23
16
|
): Promise<ICustomMediaKeySystemAccess> {
|
|
@@ -64,21 +57,22 @@ function removeCapabiltiesFromConfig(
|
|
|
64
57
|
* @returns {Promise}
|
|
65
58
|
*/
|
|
66
59
|
async function checkIncompatibleKeySystemsErrorMessage(
|
|
67
|
-
keySystemsConfigs:
|
|
60
|
+
keySystemsConfigs: IKeySystemOption[],
|
|
68
61
|
): Promise<void> {
|
|
69
62
|
const mediaElement = document.createElement("video");
|
|
70
|
-
const ContentDecryptor = (
|
|
71
|
-
.default;
|
|
63
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
64
|
+
.default as typeof IContentDecryptor;
|
|
72
65
|
|
|
73
|
-
const error
|
|
66
|
+
const error = await testContentDecryptorError(
|
|
74
67
|
ContentDecryptor,
|
|
75
68
|
mediaElement,
|
|
76
69
|
keySystemsConfigs,
|
|
77
70
|
);
|
|
78
|
-
expect(error).not.toBe(null);
|
|
79
71
|
expect(error.message).toEqual(incompatibleMKSAErrorMessage);
|
|
80
72
|
expect(error.name).toEqual("EncryptedMediaError");
|
|
81
|
-
expect(error.code).toEqual(
|
|
73
|
+
expect((error as Error & { code?: string | undefined }).code).toEqual(
|
|
74
|
+
"INCOMPATIBLE_KEYSYSTEMS",
|
|
75
|
+
);
|
|
82
76
|
}
|
|
83
77
|
|
|
84
78
|
describe("decrypt - global tests - media key system access", () => {
|
|
@@ -420,7 +414,7 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
420
414
|
requestMediaKeySystemAccess: mockRequestMediaKeySystemAccess,
|
|
421
415
|
});
|
|
422
416
|
await checkIncompatibleKeySystemsErrorMessage([
|
|
423
|
-
{ type: "foo", getLicense: neverCalledFn
|
|
417
|
+
{ type: "foo", getLicense: neverCalledFn },
|
|
424
418
|
]);
|
|
425
419
|
expect(mockRequestMediaKeySystemAccess).toHaveBeenCalledTimes(2);
|
|
426
420
|
expect(mockRequestMediaKeySystemAccess).toHaveBeenNthCalledWith(
|
|
@@ -446,7 +440,6 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
446
440
|
{
|
|
447
441
|
type: "foo",
|
|
448
442
|
getLicense: neverCalledFn,
|
|
449
|
-
persistentLicenseConfig: undefined,
|
|
450
443
|
},
|
|
451
444
|
]);
|
|
452
445
|
expect(mockRequestMediaKeySystemAccess).toHaveBeenCalledTimes(2);
|
|
@@ -965,20 +958,20 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
965
958
|
it("should successfully create a MediaKeySystemAccess if given the right configuration", async () => {
|
|
966
959
|
const mockRequestMediaKeySystemAccess = vi
|
|
967
960
|
.fn()
|
|
968
|
-
.mockImplementation((keyType, conf) => {
|
|
961
|
+
.mockImplementation((keyType: string, conf: MediaKeySystemConfiguration[]) => {
|
|
969
962
|
return requestMediaKeySystemAccessNoMediaKeys(keyType, conf);
|
|
970
963
|
});
|
|
971
964
|
mockCompat({
|
|
972
965
|
requestMediaKeySystemAccess: mockRequestMediaKeySystemAccess,
|
|
973
966
|
});
|
|
974
|
-
const ContentDecryptor = (
|
|
975
|
-
.default;
|
|
967
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
968
|
+
.default as typeof IContentDecryptor;
|
|
976
969
|
return new Promise<void>((res, rej) => {
|
|
977
970
|
const config = [{ type: "com.widevine.alpha", getLicense: neverCalledFn }];
|
|
978
971
|
|
|
979
972
|
const mediaElement = document.createElement("video");
|
|
980
973
|
const contentDecryptor = new ContentDecryptor(mediaElement, config);
|
|
981
|
-
contentDecryptor.addEventListener("error", (error
|
|
974
|
+
contentDecryptor.addEventListener("error", (error) => {
|
|
982
975
|
rej(error);
|
|
983
976
|
});
|
|
984
977
|
setTimeout(() => {
|
|
@@ -995,7 +988,7 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
995
988
|
it("should successfully create a MediaKeySystemAccess if given multiple configurations where one works", async () => {
|
|
996
989
|
const mockRequestMediaKeySystemAccess = vi
|
|
997
990
|
.fn()
|
|
998
|
-
.mockImplementation((keyType, conf) => {
|
|
991
|
+
.mockImplementation((keyType: string, conf: MediaKeySystemConfiguration[]) => {
|
|
999
992
|
if (keyType === "some-other-working-key-system") {
|
|
1000
993
|
return requestMediaKeySystemAccessNoMediaKeys(keyType, conf);
|
|
1001
994
|
}
|
|
@@ -1004,8 +997,8 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
1004
997
|
mockCompat({
|
|
1005
998
|
requestMediaKeySystemAccess: mockRequestMediaKeySystemAccess,
|
|
1006
999
|
});
|
|
1007
|
-
const ContentDecryptor = (
|
|
1008
|
-
.default;
|
|
1000
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
1001
|
+
.default as typeof IContentDecryptor;
|
|
1009
1002
|
return new Promise<void>((res, rej) => {
|
|
1010
1003
|
const config = [
|
|
1011
1004
|
{ type: "com.widevine.alpha", getLicense: neverCalledFn },
|
|
@@ -1014,7 +1007,7 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
1014
1007
|
|
|
1015
1008
|
const mediaElement = document.createElement("video");
|
|
1016
1009
|
const contentDecryptor = new ContentDecryptor(mediaElement, config);
|
|
1017
|
-
contentDecryptor.addEventListener("error", (error
|
|
1010
|
+
contentDecryptor.addEventListener("error", (error) => {
|
|
1018
1011
|
rej(error);
|
|
1019
1012
|
});
|
|
1020
1013
|
setTimeout(() => {
|
|
@@ -1040,20 +1033,20 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
1040
1033
|
});
|
|
1041
1034
|
|
|
1042
1035
|
it("should not continue to check if the ContentDecryptor is disposed from", async () => {
|
|
1043
|
-
let contentDecryptor:
|
|
1036
|
+
let contentDecryptor: IContentDecryptor | null = null;
|
|
1044
1037
|
let rmksHasBeenCalled = false;
|
|
1045
1038
|
const mockRequestMediaKeySystemAccess = vi.fn().mockImplementation(() => {
|
|
1046
1039
|
return Promise.resolve().then(() => {
|
|
1047
1040
|
rmksHasBeenCalled = true;
|
|
1048
|
-
contentDecryptor
|
|
1041
|
+
contentDecryptor?.dispose();
|
|
1049
1042
|
return Promise.reject("nope");
|
|
1050
1043
|
});
|
|
1051
1044
|
});
|
|
1052
1045
|
mockCompat({
|
|
1053
1046
|
requestMediaKeySystemAccess: mockRequestMediaKeySystemAccess,
|
|
1054
1047
|
});
|
|
1055
|
-
const ContentDecryptor = (
|
|
1056
|
-
.default;
|
|
1048
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
1049
|
+
.default as typeof IContentDecryptor;
|
|
1057
1050
|
return new Promise<void>((res, rej) => {
|
|
1058
1051
|
const mediaElement = document.createElement("video");
|
|
1059
1052
|
|
|
@@ -1063,7 +1056,7 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
1063
1056
|
{ type: "baz", getLicense: neverCalledFn },
|
|
1064
1057
|
];
|
|
1065
1058
|
contentDecryptor = new ContentDecryptor(mediaElement, config);
|
|
1066
|
-
contentDecryptor.addEventListener("error", (error
|
|
1059
|
+
contentDecryptor.addEventListener("error", (error) => {
|
|
1067
1060
|
rej(error);
|
|
1068
1061
|
});
|
|
1069
1062
|
setTimeout(() => {
|
|
@@ -1088,8 +1081,8 @@ describe("decrypt - global tests - media key system access", () => {
|
|
|
1088
1081
|
mockCompat({
|
|
1089
1082
|
requestMediaKeySystemAccess: mockRequestMediaKeySystemAccess,
|
|
1090
1083
|
});
|
|
1091
|
-
const ContentDecryptor = (
|
|
1092
|
-
.default;
|
|
1084
|
+
const ContentDecryptor = (await vi.importActual("../../content_decryptor"))
|
|
1085
|
+
.default as typeof IContentDecryptor;
|
|
1093
1086
|
return new Promise<void>((res, rej) => {
|
|
1094
1087
|
const mediaElement = document.createElement("video");
|
|
1095
1088
|
|