rx-player 3.33.0 → 3.33.1
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 +13 -0
- package/VERSION +1 -1
- package/dist/_esm5.processed/core/api/public_api.js +2 -2
- package/dist/_esm5.processed/manifest/manifest.js +1 -0
- package/dist/_esm5.processed/utils/retry_promise_with_backoff.d.ts +11 -0
- package/dist/_esm5.processed/utils/retry_promise_with_backoff.js +18 -4
- package/dist/mpd-parser.wasm +0 -0
- package/dist/rx-player.d.ts +1 -1
- package/dist/rx-player.js +24 -9
- package/dist/rx-player.min.d.ts +1 -1
- package/dist/rx-player.min.js +1 -1
- package/package.json +6 -6
- package/.editorconfig +0 -22
- package/.eslintrc.js +0 -406
- package/.github/workflows/checks.yml +0 -101
- package/.github/workflows/perfs.yml +0 -22
- package/.github/workflows/sonarcloud_analysis.yml +0 -20
- package/CONTRIBUTING.md +0 -272
- package/FILES.md +0 -283
- package/jest.config.js +0 -73
- package/manifest.mpd +0 -149
- package/scripts/README.md +0 -11
- package/scripts/build/constants.d.ts +0 -53
- package/scripts/build/generate_build.js +0 -190
- package/scripts/build/templates/experimental/features/index.d.ts +0 -16
- package/scripts/build/templates/experimental/features/index.js +0 -16
- package/scripts/build/templates/experimental/index.d.ts +0 -16
- package/scripts/build/templates/experimental/index.js +0 -16
- package/scripts/build/templates/experimental/tools/VideoThumbnailLoader/index.d.ts +0 -18
- package/scripts/build/templates/experimental/tools/VideoThumbnailLoader/index.js +0 -18
- package/scripts/build/templates/experimental/tools/index.d.ts +0 -16
- package/scripts/build/templates/experimental/tools/index.js +0 -16
- package/scripts/build/templates/features/index.d.ts +0 -16
- package/scripts/build/templates/features/index.js +0 -16
- package/scripts/build/templates/logger/index.d.ts +0 -17
- package/scripts/build/templates/logger/index.js +0 -17
- package/scripts/build/templates/minimal/index.d.ts +0 -17
- package/scripts/build/templates/minimal/index.js +0 -17
- package/scripts/build/templates/tools/TextTrackRenderer.d.ts +0 -18
- package/scripts/build/templates/tools/TextTrackRenderer.js +0 -18
- package/scripts/build/templates/tools/index.d.ts +0 -16
- package/scripts/build/templates/tools/index.js +0 -16
- package/scripts/build/templates/tools/string-utils.d.ts +0 -18
- package/scripts/build/templates/tools/string-utils.js +0 -18
- package/scripts/build/templates/types/index.d.ts +0 -16
- package/scripts/build/templates/types/index.js +0 -15
- package/scripts/canal-release.patch +0 -316
- package/scripts/check_nodejs_import_compatibility.js +0 -60
- package/scripts/deploy_new_demo +0 -123
- package/scripts/fast_demo_build.js +0 -129
- package/scripts/generate_certificate +0 -19
- package/scripts/generate_demo_list.js +0 -105
- package/scripts/generate_documentation_list.js +0 -109
- package/scripts/generate_full_demo.js +0 -201
- package/scripts/generate_standalone_demo.js +0 -82
- package/scripts/launch_static_server.js +0 -163
- package/scripts/list-npm-scripts.js +0 -207
- package/scripts/make-dev-releases +0 -90
- package/scripts/report_build_sizes +0 -96
- package/scripts/run_standalone_demo.js +0 -27
- package/scripts/start_demo_web_server.js +0 -44
- package/scripts/update-version +0 -48
- package/scripts/update_gh-pages_demo +0 -132
- package/scripts/update_gh-pages_doc +0 -106
- package/scripts/utils/display_webpack_errors.js +0 -33
- package/scripts/utils/get_human_readable_hours.js +0 -14
- package/scripts/wasm-strip.js +0 -359
- package/sonar-project.properties +0 -7
- package/src/README.md +0 -136
- package/src/compat/README.md +0 -29
- package/src/compat/__tests__/add_text_track.test.ts +0 -176
- package/src/compat/__tests__/browser_compatibility_types.test.ts +0 -152
- package/src/compat/__tests__/browser_version.test.ts +0 -84
- package/src/compat/__tests__/can_patch_isobmff.test.ts +0 -50
- package/src/compat/__tests__/can_rely_on_video_visibility_and_size.test.ts +0 -78
- package/src/compat/__tests__/can_reuse_media_keys.test.ts +0 -31
- package/src/compat/__tests__/change_source_buffer_type.test.ts +0 -60
- package/src/compat/__tests__/clear_element_src.test.ts +0 -252
- package/src/compat/__tests__/enable_audio_track.test.ts +0 -341
- package/src/compat/__tests__/fullscreen.test.ts +0 -286
- package/src/compat/__tests__/is_codec_supported.test.ts +0 -78
- package/src/compat/__tests__/is_offline.test.ts +0 -65
- package/src/compat/__tests__/is_seeking_approximate.test.ts +0 -48
- package/src/compat/__tests__/is_vtt_cue.test.ts +0 -71
- package/src/compat/__tests__/make_vtt_cue.test.ts +0 -97
- package/src/compat/__tests__/patch_webkit_source_buffer.test.ts +0 -144
- package/src/compat/__tests__/remove_cue.test.ts +0 -229
- package/src/compat/__tests__/should_favour_custom_safari_EME.test.ts +0 -128
- package/src/compat/__tests__/should_reload_media_source_on_decipherability_update.test.ts +0 -50
- package/src/compat/__tests__/should_renew_media_key_system_access.test.ts +0 -55
- package/src/compat/__tests__/should_unset_media_keys.test.ts +0 -53
- package/src/compat/__tests__/should_validate_metadata.test.ts +0 -53
- package/src/compat/__tests__/should_wait_for_data_before_loaded.test.ts +0 -121
- package/src/compat/__tests__/should_wait_for_have_enough_data.test.ts +0 -36
- package/src/compat/add_class_name.ts +0 -41
- package/src/compat/add_text_track.ts +0 -58
- package/src/compat/browser_compatibility_types.ts +0 -222
- package/src/compat/browser_detection.ts +0 -172
- package/src/compat/browser_version.ts +0 -44
- package/src/compat/can_patch_isobmff.ts +0 -30
- package/src/compat/can_rely_on_video_visibility_and_size.ts +0 -52
- package/src/compat/can_reuse_media_keys.ts +0 -20
- package/src/compat/change_source_buffer_type.ts +0 -66
- package/src/compat/clear_element_src.ts +0 -55
- package/src/compat/eme/close_session.ts +0 -111
- package/src/compat/eme/constants.ts +0 -21
- package/src/compat/eme/custom_key_system_access.ts +0 -67
- package/src/compat/eme/custom_media_keys/ie11_media_keys.ts +0 -186
- package/src/compat/eme/custom_media_keys/index.ts +0 -28
- package/src/compat/eme/custom_media_keys/moz_media_keys_constructor.ts +0 -88
- package/src/compat/eme/custom_media_keys/ms_media_keys_constructor.ts +0 -69
- package/src/compat/eme/custom_media_keys/old_webkit_media_keys.ts +0 -235
- package/src/compat/eme/custom_media_keys/types.ts +0 -67
- package/src/compat/eme/custom_media_keys/webkit_media_keys.ts +0 -308
- package/src/compat/eme/custom_media_keys/webkit_media_keys_constructor.ts +0 -50
- package/src/compat/eme/eme-api-implementation.ts +0 -318
- package/src/compat/eme/generate_key_request.ts +0 -162
- package/src/compat/eme/get_init_data.ts +0 -159
- package/src/compat/eme/get_uuid_kid_from_keystatus_kid.ts +0 -37
- package/src/compat/eme/get_webkit_fairplay_initdata.ts +0 -75
- package/src/compat/eme/index.ts +0 -47
- package/src/compat/eme/load_session.ts +0 -67
- package/src/compat/enable_audio_track.ts +0 -33
- package/src/compat/event_listeners.ts +0 -566
- package/src/compat/fullscreen.ts +0 -87
- package/src/compat/get_start_date.ts +0 -48
- package/src/compat/has_issues_with_high_media_source_duration.ts +0 -27
- package/src/compat/index.ts +0 -87
- package/src/compat/is_codec_supported.ts +0 -40
- package/src/compat/is_debug_mode_enabled.ts +0 -12
- package/src/compat/is_node.ts +0 -18
- package/src/compat/is_offline.ts +0 -44
- package/src/compat/is_seeking_approximate.ts +0 -32
- package/src/compat/is_vtt_cue.ts +0 -30
- package/src/compat/make_vtt_cue.ts +0 -51
- package/src/compat/on_height_width_change.ts +0 -119
- package/src/compat/patch_webkit_source_buffer.ts +0 -89
- package/src/compat/remove_cue.ts +0 -64
- package/src/compat/should_favour_custom_safari_EME.ts +0 -34
- package/src/compat/should_prevent_seeking_at_0_initially.ts +0 -19
- package/src/compat/should_reload_media_source_on_decipherability_update.ts +0 -32
- package/src/compat/should_renew_media_key_system_access.ts +0 -26
- package/src/compat/should_unset_media_keys.ts +0 -27
- package/src/compat/should_validate_metadata.ts +0 -27
- package/src/compat/should_wait_for_data_before_loaded.ts +0 -35
- package/src/compat/should_wait_for_have_enough_data.ts +0 -17
- package/src/config.ts +0 -32
- package/src/core/README.md +0 -56
- package/src/core/adaptive/README.md +0 -147
- package/src/core/adaptive/__tests__/buffer_based_chooser.test.ts +0 -548
- package/src/core/adaptive/adaptive_representation_selector.ts +0 -916
- package/src/core/adaptive/buffer_based_chooser.ts +0 -264
- package/src/core/adaptive/guess_based_chooser.ts +0 -309
- package/src/core/adaptive/index.ts +0 -45
- package/src/core/adaptive/network_analyzer.ts +0 -419
- package/src/core/adaptive/utils/__tests__/bandwith_estimator.test.ts +0 -134
- package/src/core/adaptive/utils/__tests__/ewma.test.ts +0 -79
- package/src/core/adaptive/utils/__tests__/filter_by_bitrate.test.ts +0 -56
- package/src/core/adaptive/utils/__tests__/filter_by_width.test.ts +0 -60
- package/src/core/adaptive/utils/__tests__/get_buffer_levels.test.ts +0 -48
- package/src/core/adaptive/utils/__tests__/select_optimal_representation.test.ts +0 -243
- package/src/core/adaptive/utils/bandwidth_estimator.ts +0 -88
- package/src/core/adaptive/utils/ewma.ts +0 -59
- package/src/core/adaptive/utils/filter_by_bitrate.ts +0 -46
- package/src/core/adaptive/utils/filter_by_width.ts +0 -49
- package/src/core/adaptive/utils/get_buffer_levels.ts +0 -50
- package/src/core/adaptive/utils/last_estimate_storage.ts +0 -79
- package/src/core/adaptive/utils/pending_requests_store.ts +0 -147
- package/src/core/adaptive/utils/representation_score_calculator.ts +0 -168
- package/src/core/adaptive/utils/select_optimal_representation.ts +0 -54
- package/src/core/api/README.md +0 -36
- package/src/core/api/__tests__/option_utils.test.ts +0 -1668
- package/src/core/api/__tests__/public_api.test.ts +0 -857
- package/src/core/api/__tests__/utils.test.ts +0 -195
- package/src/core/api/debug/buffer_graph.ts +0 -244
- package/src/core/api/debug/buffer_size_graph.ts +0 -130
- package/src/core/api/debug/constants.ts +0 -2
- package/src/core/api/debug/index.ts +0 -3
- package/src/core/api/debug/modules/general_info.ts +0 -213
- package/src/core/api/debug/modules/segment_buffer_content.ts +0 -155
- package/src/core/api/debug/modules/segment_buffer_size.ts +0 -48
- package/src/core/api/debug/render.ts +0 -40
- package/src/core/api/debug/utils.ts +0 -103
- package/src/core/api/index.ts +0 -27
- package/src/core/api/option_utils.ts +0 -700
- package/src/core/api/playback_observer.ts +0 -994
- package/src/core/api/public_api.ts +0 -3247
- package/src/core/api/tracks_management/__tests__/media_element_track_choice_manager.test.ts +0 -184
- package/src/core/api/tracks_management/media_element_track_choice_manager.ts +0 -975
- package/src/core/api/tracks_management/track_choice_manager.ts +0 -1280
- package/src/core/api/utils.ts +0 -216
- package/src/core/decrypt/README.md +0 -22
- package/src/core/decrypt/__tests__/__global__/get_license.test.ts +0 -422
- package/src/core/decrypt/__tests__/__global__/init_data.test.ts +0 -677
- package/src/core/decrypt/__tests__/__global__/media_key_system_access.test.ts +0 -528
- package/src/core/decrypt/__tests__/__global__/media_keys.test.ts +0 -343
- package/src/core/decrypt/__tests__/__global__/server_certificate.test.ts +0 -264
- package/src/core/decrypt/__tests__/__global__/utils.ts +0 -491
- package/src/core/decrypt/attach_media_keys.ts +0 -121
- package/src/core/decrypt/clear_on_stop.ts +0 -47
- package/src/core/decrypt/content_decryptor.ts +0 -1246
- package/src/core/decrypt/create_or_load_session.ts +0 -133
- package/src/core/decrypt/create_session.ts +0 -214
- package/src/core/decrypt/dispose_decryption_resources.ts +0 -54
- package/src/core/decrypt/find_key_system.ts +0 -376
- package/src/core/decrypt/get_key_system_configuration.ts +0 -51
- package/src/core/decrypt/get_media_keys.ts +0 -147
- package/src/core/decrypt/index.ts +0 -36
- package/src/core/decrypt/init_media_keys.ts +0 -60
- package/src/core/decrypt/session_events_listener.ts +0 -386
- package/src/core/decrypt/set_server_certificate.ts +0 -105
- package/src/core/decrypt/types.ts +0 -404
- package/src/core/decrypt/utils/__tests__/are_init_values_compatible.test.ts +0 -261
- package/src/core/decrypt/utils/__tests__/clean_old_loaded_sessions.test.ts +0 -158
- package/src/core/decrypt/utils/__tests__/clean_old_stored_persistent_info.test.ts +0 -133
- package/src/core/decrypt/utils/are_init_values_compatible.ts +0 -140
- package/src/core/decrypt/utils/check_key_statuses.ts +0 -193
- package/src/core/decrypt/utils/clean_old_loaded_sessions.ts +0 -45
- package/src/core/decrypt/utils/clean_old_stored_persistent_info.ts +0 -48
- package/src/core/decrypt/utils/get_drm_system_id.ts +0 -42
- package/src/core/decrypt/utils/init_data_values_container.ts +0 -119
- package/src/core/decrypt/utils/is_session_usable.ts +0 -62
- package/src/core/decrypt/utils/key_id_comparison.ts +0 -57
- package/src/core/decrypt/utils/key_session_record.ts +0 -174
- package/src/core/decrypt/utils/loaded_sessions_store.ts +0 -505
- package/src/core/decrypt/utils/media_keys_infos_store.ts +0 -85
- package/src/core/decrypt/utils/persistent_sessions_store.ts +0 -358
- package/src/core/decrypt/utils/serializable_bytes.ts +0 -59
- package/src/core/decrypt/utils/server_certificate_store.ts +0 -133
- package/src/core/fetchers/README.md +0 -84
- package/src/core/fetchers/cdn_prioritizer.ts +0 -207
- package/src/core/fetchers/index.ts +0 -38
- package/src/core/fetchers/manifest/index.ts +0 -28
- package/src/core/fetchers/manifest/manifest_fetcher.ts +0 -798
- package/src/core/fetchers/segment/__tests__/task_prioritizer.test.ts +0 -763
- package/src/core/fetchers/segment/index.ts +0 -28
- package/src/core/fetchers/segment/prioritized_segment_fetcher.ts +0 -113
- package/src/core/fetchers/segment/segment_fetcher.ts +0 -482
- package/src/core/fetchers/segment/segment_fetcher_creator.ts +0 -129
- package/src/core/fetchers/segment/task_prioritizer.ts +0 -455
- package/src/core/fetchers/utils/error_selector.ts +0 -38
- package/src/core/fetchers/utils/schedule_request.ts +0 -493
- package/src/core/init/README.md +0 -81
- package/src/core/init/directfile_content_initializer.ts +0 -310
- package/src/core/init/index.ts +0 -22
- package/src/core/init/media_source_content_initializer.ts +0 -878
- package/src/core/init/types.ts +0 -266
- package/src/core/init/utils/__tests__/are_same_stream_events.test.ts +0 -84
- package/src/core/init/utils/__tests__/refresh_scheduled_events_list.test.ts +0 -94
- package/src/core/init/utils/content_time_boundaries_observer.ts +0 -646
- package/src/core/init/utils/create_media_source.ts +0 -139
- package/src/core/init/utils/create_stream_playback_observer.ts +0 -132
- package/src/core/init/utils/end_of_stream.ts +0 -108
- package/src/core/init/utils/get_initial_time.ts +0 -165
- package/src/core/init/utils/get_loaded_reference.ts +0 -82
- package/src/core/init/utils/initial_seek_and_play.ts +0 -237
- package/src/core/init/utils/initialize_content_decryption.ts +0 -172
- package/src/core/init/utils/media_source_duration_updater.ts +0 -349
- package/src/core/init/utils/rebuffering_controller.ts +0 -642
- package/src/core/init/utils/stream_events_emitter/are_same_stream_events.ts +0 -42
- package/src/core/init/utils/stream_events_emitter/index.ts +0 -22
- package/src/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.ts +0 -74
- package/src/core/init/utils/stream_events_emitter/stream_events_emitter.ts +0 -252
- package/src/core/init/utils/stream_events_emitter/types.ts +0 -46
- package/src/core/init/utils/throw_on_media_error.ts +0 -74
- package/src/core/segment_buffers/README.md +0 -219
- package/src/core/segment_buffers/garbage_collector.ts +0 -177
- package/src/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.ts +0 -650
- package/src/core/segment_buffers/implementations/audio_video/index.ts +0 -18
- package/src/core/segment_buffers/implementations/image/image_segment_buffer.ts +0 -152
- package/src/core/segment_buffers/implementations/image/index.ts +0 -18
- package/src/core/segment_buffers/implementations/index.ts +0 -20
- package/src/core/segment_buffers/implementations/text/html/__tests__/utils.test.ts +0 -343
- package/src/core/segment_buffers/implementations/text/html/html_text_segment_buffer.ts +0 -527
- package/src/core/segment_buffers/implementations/text/html/index.ts +0 -24
- package/src/core/segment_buffers/implementations/text/html/parsers.ts +0 -49
- package/src/core/segment_buffers/implementations/text/html/text_track_cues_store.ts +0 -391
- package/src/core/segment_buffers/implementations/text/html/types.ts +0 -23
- package/src/core/segment_buffers/implementations/text/html/update_proportional_elements.ts +0 -93
- package/src/core/segment_buffers/implementations/text/html/utils.ts +0 -139
- package/src/core/segment_buffers/implementations/text/native/index.ts +0 -19
- package/src/core/segment_buffers/implementations/text/native/native_text_segment_buffer.ts +0 -340
- package/src/core/segment_buffers/implementations/text/native/parsers.ts +0 -47
- package/src/core/segment_buffers/implementations/types.ts +0 -386
- package/src/core/segment_buffers/implementations/utils/manual_time_ranges.ts +0 -80
- package/src/core/segment_buffers/index.ts +0 -67
- package/src/core/segment_buffers/inventory/buffered_history.ts +0 -131
- package/src/core/segment_buffers/inventory/index.ts +0 -30
- package/src/core/segment_buffers/inventory/segment_inventory.ts +0 -1111
- package/src/core/segment_buffers/inventory/types.ts +0 -35
- package/src/core/segment_buffers/segment_buffers_store.ts +0 -383
- package/src/core/stream/README.md +0 -59
- package/src/core/stream/adaptation/adaptation_stream.ts +0 -378
- package/src/core/stream/adaptation/index.ts +0 -20
- package/src/core/stream/adaptation/types.ts +0 -199
- package/src/core/stream/adaptation/utils/create_representation_estimator.ts +0 -114
- package/src/core/stream/index.ts +0 -38
- package/src/core/stream/orchestrator/README.md +0 -349
- package/src/core/stream/orchestrator/get_time_ranges_for_content.ts +0 -70
- package/src/core/stream/orchestrator/index.ts +0 -30
- package/src/core/stream/orchestrator/stream_orchestrator.ts +0 -664
- package/src/core/stream/period/index.ts +0 -20
- package/src/core/stream/period/period_stream.ts +0 -469
- package/src/core/stream/period/types.ts +0 -132
- package/src/core/stream/period/utils/get_adaptation_switch_strategy.ts +0 -287
- package/src/core/stream/representation/README.md +0 -16
- package/src/core/stream/representation/index.ts +0 -20
- package/src/core/stream/representation/representation_stream.ts +0 -474
- package/src/core/stream/representation/types.ts +0 -292
- package/src/core/stream/representation/utils/append_segment_to_buffer.ts +0 -77
- package/src/core/stream/representation/utils/check_for_discontinuity.ts +0 -305
- package/src/core/stream/representation/utils/downloading_queue.ts +0 -603
- package/src/core/stream/representation/utils/force_garbage_collection.ts +0 -113
- package/src/core/stream/representation/utils/get_buffer_status.ts +0 -322
- package/src/core/stream/representation/utils/get_needed_segments.ts +0 -617
- package/src/core/stream/representation/utils/get_segment_priority.ts +0 -43
- package/src/core/stream/representation/utils/push_init_segment.ts +0 -85
- package/src/core/stream/representation/utils/push_media_segment.ts +0 -113
- package/src/default_config.ts +0 -1293
- package/src/errors/README.md +0 -6
- package/src/errors/__tests__/assertion_error.test.ts +0 -26
- package/src/errors/__tests__/encrypted_media_error.test.ts +0 -45
- package/src/errors/__tests__/error_message.test.ts +0 -23
- package/src/errors/__tests__/format_error.test.ts +0 -62
- package/src/errors/__tests__/is_known_error.test.ts +0 -65
- package/src/errors/__tests__/media_error.test.ts +0 -55
- package/src/errors/__tests__/network_error.test.ts +0 -84
- package/src/errors/__tests__/other_error.test.ts +0 -53
- package/src/errors/__tests__/request_error.test.ts +0 -45
- package/src/errors/assertion_error.ts +0 -40
- package/src/errors/custom_loader_error.ts +0 -57
- package/src/errors/encrypted_media_error.ts +0 -71
- package/src/errors/error_codes.ts +0 -149
- package/src/errors/error_message.ts +0 -30
- package/src/errors/format_error.ts +0 -39
- package/src/errors/index.ts +0 -52
- package/src/errors/is_known_error.ts +0 -35
- package/src/errors/media_error.ts +0 -118
- package/src/errors/network_error.ts +0 -74
- package/src/errors/other_error.ts +0 -50
- package/src/errors/request_error.ts +0 -76
- package/src/experimental/README.md +0 -16
- package/src/experimental/features/__tests__/dash_wasm.test.ts +0 -44
- package/src/experimental/features/__tests__/debug_element.test.ts +0 -12
- package/src/experimental/features/__tests__/index.test.ts +0 -19
- package/src/experimental/features/__tests__/local.test.ts +0 -35
- package/src/experimental/features/__tests__/metaplaylist.test.ts +0 -35
- package/src/experimental/features/dash_wasm.ts +0 -41
- package/src/experimental/features/debug_element.ts +0 -13
- package/src/experimental/features/index.ts +0 -20
- package/src/experimental/features/local.ts +0 -28
- package/src/experimental/features/metaplaylist.ts +0 -28
- package/src/experimental/index.ts +0 -5
- package/src/experimental/tools/VideoThumbnailLoader/features/dash.ts +0 -23
- package/src/experimental/tools/VideoThumbnailLoader/features/metaplaylist.ts +0 -23
- package/src/experimental/tools/VideoThumbnailLoader/index.ts +0 -25
- package/src/experimental/tools/VideoThumbnailLoader/load_and_push_segment.ts +0 -77
- package/src/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.ts +0 -75
- package/src/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.ts +0 -54
- package/src/experimental/tools/VideoThumbnailLoader/types.ts +0 -39
- package/src/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.ts +0 -423
- package/src/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader_error.ts +0 -34
- package/src/experimental/tools/createMetaplaylist/get_duration_from_manifest.ts +0 -141
- package/src/experimental/tools/createMetaplaylist/index.ts +0 -72
- package/src/experimental/tools/index.ts +0 -27
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/capabilities.test.ts +0 -37
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/DRMInfos.test.ts +0 -140
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/HDCPPolicy.test.ts +0 -153
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/decodingInfos.test.ts +0 -405
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/defaultCodecFinder.test.ts +0 -136
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaContentType.test.ts +0 -294
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaDisplayInfos.test.ts +0 -189
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/utils.test.ts +0 -361
- package/src/experimental/tools/mediaCapabilitiesProber/api/index.ts +0 -184
- package/src/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.ts +0 -136
- package/src/experimental/tools/mediaCapabilitiesProber/capabilities.ts +0 -169
- package/src/experimental/tools/mediaCapabilitiesProber/index.ts +0 -18
- package/src/experimental/tools/mediaCapabilitiesProber/log.ts +0 -21
- package/src/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.ts +0 -67
- package/src/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.ts +0 -89
- package/src/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.ts +0 -100
- package/src/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.ts +0 -66
- package/src/experimental/tools/mediaCapabilitiesProber/probers/index.ts +0 -44
- package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.ts +0 -66
- package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.ts +0 -100
- package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.ts +0 -105
- package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.ts +0 -54
- package/src/experimental/tools/mediaCapabilitiesProber/types.ts +0 -75
- package/src/experimental/tools/mediaCapabilitiesProber/utils.ts +0 -107
- package/src/experimental/tools/parseBIFThumbnails.ts +0 -39
- package/src/features/README.md +0 -11
- package/src/features/__tests__/add_features.test.ts +0 -69
- package/src/features/__tests__/initialize_features.test.ts +0 -674
- package/src/features/add_features.ts +0 -37
- package/src/features/features_object.ts +0 -37
- package/src/features/index.ts +0 -40
- package/src/features/initialize_features.ts +0 -136
- package/src/features/list/__tests__/bif_parser.test.ts +0 -30
- package/src/features/list/__tests__/dash.test.ts +0 -41
- package/src/features/list/__tests__/directfile.test.ts +0 -35
- package/src/features/list/__tests__/eme.test.ts +0 -28
- package/src/features/list/__tests__/html_sami_parser.test.ts +0 -33
- package/src/features/list/__tests__/html_srt_parser.test.ts +0 -33
- package/src/features/list/__tests__/html_text_buffer.test.ts +0 -29
- package/src/features/list/__tests__/html_ttml_parser.test.ts +0 -33
- package/src/features/list/__tests__/html_vtt_parser.test.ts +0 -33
- package/src/features/list/__tests__/image_buffer.test.ts +0 -28
- package/src/features/list/__tests__/index.test.ts +0 -55
- package/src/features/list/__tests__/native_sami_parser.test.ts +0 -33
- package/src/features/list/__tests__/native_srt_parser.test.ts +0 -33
- package/src/features/list/__tests__/native_text_buffer.test.ts +0 -29
- package/src/features/list/__tests__/native_ttml_parser.test.ts +0 -33
- package/src/features/list/__tests__/native_vtt_parser.test.ts +0 -33
- package/src/features/list/__tests__/smooth.test.ts +0 -36
- package/src/features/list/bif_parser.ts +0 -31
- package/src/features/list/dash.ts +0 -36
- package/src/features/list/directfile.ts +0 -35
- package/src/features/list/eme.ts +0 -29
- package/src/features/list/html_sami_parser.ts +0 -31
- package/src/features/list/html_srt_parser.ts +0 -31
- package/src/features/list/html_text_buffer.ts +0 -29
- package/src/features/list/html_ttml_parser.ts +0 -31
- package/src/features/list/html_vtt_parser.ts +0 -31
- package/src/features/list/image_buffer.ts +0 -29
- package/src/features/list/index.ts +0 -32
- package/src/features/list/native_sami_parser.ts +0 -32
- package/src/features/list/native_srt_parser.ts +0 -32
- package/src/features/list/native_text_buffer.ts +0 -30
- package/src/features/list/native_ttml_parser.ts +0 -32
- package/src/features/list/native_vtt_parser.ts +0 -32
- package/src/features/list/smooth.ts +0 -32
- package/src/features/types.ts +0 -183
- package/src/index.ts +0 -38
- package/src/log.ts +0 -22
- package/src/manifest/README.md +0 -55
- package/src/manifest/__tests__/adaptation.test.ts +0 -485
- package/src/manifest/__tests__/manifest.test.ts +0 -428
- package/src/manifest/__tests__/period.test.ts +0 -769
- package/src/manifest/__tests__/representation.test.ts +0 -297
- package/src/manifest/__tests__/update_period_in_place.test.ts +0 -1074
- package/src/manifest/__tests__/update_periods.test.ts +0 -845
- package/src/manifest/adaptation.ts +0 -294
- package/src/manifest/index.ts +0 -67
- package/src/manifest/manifest.ts +0 -811
- package/src/manifest/period.ts +0 -211
- package/src/manifest/representation.ts +0 -451
- package/src/manifest/representation_index/__tests__/static.test.ts +0 -74
- package/src/manifest/representation_index/index.ts +0 -31
- package/src/manifest/representation_index/static.ts +0 -158
- package/src/manifest/representation_index/types.ts +0 -433
- package/src/manifest/types.ts +0 -33
- package/src/manifest/update_period_in_place.ts +0 -142
- package/src/manifest/update_periods.ts +0 -201
- package/src/manifest/utils.ts +0 -60
- package/src/minimal.ts +0 -34
- package/src/parsers/README.md +0 -12
- package/src/parsers/containers/isobmff/constants.ts +0 -24
- package/src/parsers/containers/isobmff/create_box.ts +0 -81
- package/src/parsers/containers/isobmff/drm/index.ts +0 -17
- package/src/parsers/containers/isobmff/drm/playready.ts +0 -45
- package/src/parsers/containers/isobmff/get_box.ts +0 -278
- package/src/parsers/containers/isobmff/index.ts +0 -51
- package/src/parsers/containers/isobmff/read.ts +0 -105
- package/src/parsers/containers/isobmff/take_pssh_out.ts +0 -101
- package/src/parsers/containers/isobmff/utils.ts +0 -555
- package/src/parsers/containers/matroska/index.ts +0 -21
- package/src/parsers/containers/matroska/utils.ts +0 -313
- package/src/parsers/images/bif.ts +0 -128
- package/src/parsers/manifest/dash/common/__tests__/attach_trickmode_track.test.ts +0 -65
- package/src/parsers/manifest/dash/common/__tests__/convert_supplemental_codecs.test.ts +0 -37
- package/src/parsers/manifest/dash/common/__tests__/flatten_overlapping_period.test.ts +0 -162
- package/src/parsers/manifest/dash/common/__tests__/get_clock_offset.test.ts +0 -65
- package/src/parsers/manifest/dash/common/__tests__/get_http_utc-timing_url.test.ts +0 -165
- package/src/parsers/manifest/dash/common/__tests__/get_periods_time_infos.test.ts +0 -118
- package/src/parsers/manifest/dash/common/__tests__/manifest_bounds_calculator.test.ts +0 -290
- package/src/parsers/manifest/dash/common/__tests__/parse_availability_start_time.test.ts +0 -63
- package/src/parsers/manifest/dash/common/attach_trickmode_track.ts +0 -55
- package/src/parsers/manifest/dash/common/convert_supplemental_codecs.ts +0 -32
- package/src/parsers/manifest/dash/common/flatten_overlapping_periods.ts +0 -87
- package/src/parsers/manifest/dash/common/get_clock_offset.ts +0 -41
- package/src/parsers/manifest/dash/common/get_hdr_information.ts +0 -94
- package/src/parsers/manifest/dash/common/get_http_utc-timing_url.ts +0 -46
- package/src/parsers/manifest/dash/common/get_minimum_and_maximum_positions.ts +0 -39
- package/src/parsers/manifest/dash/common/get_periods_time_infos.ts +0 -91
- package/src/parsers/manifest/dash/common/index.ts +0 -40
- package/src/parsers/manifest/dash/common/indexes/__tests__/tokens.test.ts +0 -60
- package/src/parsers/manifest/dash/common/indexes/base.ts +0 -444
- package/src/parsers/manifest/dash/common/indexes/get_init_segment.ts +0 -55
- package/src/parsers/manifest/dash/common/indexes/get_segments_from_timeline.ts +0 -148
- package/src/parsers/manifest/dash/common/indexes/index.ts +0 -39
- package/src/parsers/manifest/dash/common/indexes/list.ts +0 -338
- package/src/parsers/manifest/dash/common/indexes/template.ts +0 -652
- package/src/parsers/manifest/dash/common/indexes/timeline/__tests__/parse_s_element.test.ts +0 -115
- package/src/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.ts +0 -54
- package/src/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.ts +0 -102
- package/src/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.ts +0 -66
- package/src/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.ts +0 -153
- package/src/parsers/manifest/dash/common/indexes/timeline/index.ts +0 -21
- package/src/parsers/manifest/dash/common/indexes/timeline/parse_s_element.ts +0 -72
- package/src/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.ts +0 -1049
- package/src/parsers/manifest/dash/common/indexes/tokens.ts +0 -127
- package/src/parsers/manifest/dash/common/indexes/utils.ts +0 -32
- package/src/parsers/manifest/dash/common/infer_adaptation_type.ts +0 -142
- package/src/parsers/manifest/dash/common/manifest_bounds_calculator.ts +0 -165
- package/src/parsers/manifest/dash/common/parse_adaptation_sets.ts +0 -569
- package/src/parsers/manifest/dash/common/parse_availability_start_time.ts +0 -35
- package/src/parsers/manifest/dash/common/parse_mpd.ts +0 -399
- package/src/parsers/manifest/dash/common/parse_periods.ts +0 -363
- package/src/parsers/manifest/dash/common/parse_representation_index.ts +0 -199
- package/src/parsers/manifest/dash/common/parse_representations.ts +0 -352
- package/src/parsers/manifest/dash/common/resolve_base_urls.ts +0 -58
- package/src/parsers/manifest/dash/index.ts +0 -22
- package/src/parsers/manifest/dash/js-parser/__tests__/parse_from_document.test.ts +0 -45
- package/src/parsers/manifest/dash/js-parser/index.ts +0 -18
- package/src/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.ts +0 -381
- package/src/parsers/manifest/dash/js-parser/node_parsers/BaseURL.ts +0 -35
- package/src/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.ts +0 -49
- package/src/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.ts +0 -94
- package/src/parsers/manifest/dash/js-parser/node_parsers/EventStream.ts +0 -117
- package/src/parsers/manifest/dash/js-parser/node_parsers/Initialization.ts +0 -48
- package/src/parsers/manifest/dash/js-parser/node_parsers/MPD.ts +0 -180
- package/src/parsers/manifest/dash/js-parser/node_parsers/Period.ts +0 -152
- package/src/parsers/manifest/dash/js-parser/node_parsers/Representation.ts +0 -234
- package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.ts +0 -112
- package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentList.ts +0 -50
- package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.ts +0 -98
- package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.ts +0 -35
- package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.ts +0 -63
- package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/AdaptationSet.test.ts +0 -407
- package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/ContentComponent.test.ts +0 -67
- package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/ContentProtection.test.ts +0 -223
- package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/Initialization.test.ts +0 -139
- package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/SegmentTimeline.test.ts +0 -119
- package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/SegmentURL.test.ts +0 -205
- package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/utils.test.ts +0 -218
- package/src/parsers/manifest/dash/js-parser/node_parsers/utils.ts +0 -384
- package/src/parsers/manifest/dash/js-parser/parse_from_document.ts +0 -129
- package/src/parsers/manifest/dash/node_parser_types.ts +0 -431
- package/src/parsers/manifest/dash/parsers_types.ts +0 -91
- package/src/parsers/manifest/dash/wasm-parser/Cargo.lock +0 -25
- package/src/parsers/manifest/dash/wasm-parser/Cargo.toml +0 -16
- package/src/parsers/manifest/dash/wasm-parser/README.md +0 -267
- package/src/parsers/manifest/dash/wasm-parser/index.ts +0 -21
- package/src/parsers/manifest/dash/wasm-parser/rs/errors.rs +0 -28
- package/src/parsers/manifest/dash/wasm-parser/rs/events.rs +0 -373
- package/src/parsers/manifest/dash/wasm-parser/rs/lib.rs +0 -85
- package/src/parsers/manifest/dash/wasm-parser/rs/processor/attributes.rs +0 -414
- package/src/parsers/manifest/dash/wasm-parser/rs/processor/mod.rs +0 -472
- package/src/parsers/manifest/dash/wasm-parser/rs/processor/s_element.rs +0 -72
- package/src/parsers/manifest/dash/wasm-parser/rs/reader.rs +0 -17
- package/src/parsers/manifest/dash/wasm-parser/rs/reportable.rs +0 -147
- package/src/parsers/manifest/dash/wasm-parser/rs/utils.rs +0 -217
- package/src/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.ts +0 -477
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.ts +0 -343
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.ts +0 -38
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.ts +0 -53
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.ts +0 -62
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.ts +0 -144
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/MPD.ts +0 -183
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/Period.ts +0 -180
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/Representation.ts +0 -215
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.ts +0 -44
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.ts +0 -115
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.ts +0 -61
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.ts +0 -133
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.ts +0 -70
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/XLink.ts +0 -66
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/index.ts +0 -17
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/root.ts +0 -66
- package/src/parsers/manifest/dash/wasm-parser/ts/parsers_stack.ts +0 -80
- package/src/parsers/manifest/dash/wasm-parser/ts/types.ts +0 -298
- package/src/parsers/manifest/dash/wasm-parser/ts/utils.ts +0 -47
- package/src/parsers/manifest/index.ts +0 -17
- package/src/parsers/manifest/local/index.ts +0 -25
- package/src/parsers/manifest/local/parse_local_manifest.ts +0 -164
- package/src/parsers/manifest/local/representation_index.ts +0 -246
- package/src/parsers/manifest/local/types.ts +0 -291
- package/src/parsers/manifest/metaplaylist/index.ts +0 -28
- package/src/parsers/manifest/metaplaylist/metaplaylist_parser.ts +0 -335
- package/src/parsers/manifest/metaplaylist/representation_index.ts +0 -251
- package/src/parsers/manifest/smooth/create_parser.ts +0 -699
- package/src/parsers/manifest/smooth/get_codecs.ts +0 -55
- package/src/parsers/manifest/smooth/index.ts +0 -26
- package/src/parsers/manifest/smooth/parse_C_nodes.ts +0 -69
- package/src/parsers/manifest/smooth/parse_protection_node.ts +0 -72
- package/src/parsers/manifest/smooth/representation_index.ts +0 -704
- package/src/parsers/manifest/smooth/utils/add_segment_infos.ts +0 -77
- package/src/parsers/manifest/smooth/utils/parseBoolean.ts +0 -31
- package/src/parsers/manifest/smooth/utils/reduceChildren.ts +0 -36
- package/src/parsers/manifest/smooth/utils/tokens.ts +0 -46
- package/src/parsers/manifest/types.ts +0 -395
- package/src/parsers/manifest/utils/__tests__/get_first_time_from_adaptations.test.ts +0 -161
- package/src/parsers/manifest/utils/__tests__/get_last_time_from_adaptation.test.ts +0 -161
- package/src/parsers/manifest/utils/__tests__/index_helpers.test.ts +0 -55
- package/src/parsers/manifest/utils/__tests__/update_segment_timeline.test.ts +0 -546
- package/src/parsers/manifest/utils/check_manifest_ids.ts +0 -83
- package/src/parsers/manifest/utils/clear_timeline_from_position.ts +0 -74
- package/src/parsers/manifest/utils/get_first_time_from_adaptation.ts +0 -48
- package/src/parsers/manifest/utils/get_last_time_from_adaptation.ts +0 -50
- package/src/parsers/manifest/utils/get_maximum_positions.ts +0 -87
- package/src/parsers/manifest/utils/get_minimum_position.ts +0 -80
- package/src/parsers/manifest/utils/index_helpers.ts +0 -204
- package/src/parsers/manifest/utils/update_segment_timeline.ts +0 -141
- package/src/parsers/texttracks/index.ts +0 -21
- package/src/parsers/texttracks/sami/html.ts +0 -219
- package/src/parsers/texttracks/sami/native.ts +0 -192
- package/src/parsers/texttracks/srt/__tests__/find_end_of_cue_block.test.ts +0 -99
- package/src/parsers/texttracks/srt/__tests__/get_cue_blocks.test.ts +0 -119
- package/src/parsers/texttracks/srt/__tests__/parse_cue.test.ts +0 -123
- package/src/parsers/texttracks/srt/__tests__/parse_timestamp.test.ts +0 -36
- package/src/parsers/texttracks/srt/find_end_of_cue_block.ts +0 -46
- package/src/parsers/texttracks/srt/get_cue_blocks.ts +0 -49
- package/src/parsers/texttracks/srt/html.ts +0 -182
- package/src/parsers/texttracks/srt/native.ts +0 -74
- package/src/parsers/texttracks/srt/parse_cue.ts +0 -76
- package/src/parsers/texttracks/srt/parse_timestamp.ts +0 -37
- package/src/parsers/texttracks/ttml/__tests__/resolve_styles_inheritance.test.ts +0 -248
- package/src/parsers/texttracks/ttml/get_parameters.ts +0 -106
- package/src/parsers/texttracks/ttml/get_styling.ts +0 -146
- package/src/parsers/texttracks/ttml/get_time_delimiters.ts +0 -49
- package/src/parsers/texttracks/ttml/html/__tests__/__global__/html_ttml_parser.test.test.ts +0 -190
- package/src/parsers/texttracks/ttml/html/__tests__/generate_css_test_outline.test.ts +0 -32
- package/src/parsers/texttracks/ttml/html/__tests__/ttml_color_to_css_color.test.ts +0 -62
- package/src/parsers/texttracks/ttml/html/apply_default_ttml_paragraph_style.ts +0 -67
- package/src/parsers/texttracks/ttml/html/apply_extent.ts +0 -65
- package/src/parsers/texttracks/ttml/html/apply_font_size.ts +0 -62
- package/src/parsers/texttracks/ttml/html/apply_line_height.ts +0 -50
- package/src/parsers/texttracks/ttml/html/apply_origin.ts +0 -64
- package/src/parsers/texttracks/ttml/html/apply_padding.ts +0 -141
- package/src/parsers/texttracks/ttml/html/create_element.ts +0 -549
- package/src/parsers/texttracks/ttml/html/generate_css_test_outline.ts +0 -46
- package/src/parsers/texttracks/ttml/html/index.ts +0 -23
- package/src/parsers/texttracks/ttml/html/parse_cue.ts +0 -65
- package/src/parsers/texttracks/ttml/html/parse_ttml_to_div.ts +0 -58
- package/src/parsers/texttracks/ttml/html/ttml_color_to_css_color.ts +0 -68
- package/src/parsers/texttracks/ttml/native/index.ts +0 -23
- package/src/parsers/texttracks/ttml/native/parse_cue.ts +0 -245
- package/src/parsers/texttracks/ttml/native/parse_ttml_to_vtt.ts +0 -39
- package/src/parsers/texttracks/ttml/parse_ttml.ts +0 -206
- package/src/parsers/texttracks/ttml/regexps.ts +0 -65
- package/src/parsers/texttracks/ttml/resolve_styles_inheritance.ts +0 -84
- package/src/parsers/texttracks/ttml/time_parsing.ts +0 -156
- package/src/parsers/texttracks/ttml/xml_utils.ts +0 -166
- package/src/parsers/texttracks/types.ts +0 -34
- package/src/parsers/texttracks/webvtt/__tests__/get_cue_blocks.test.ts +0 -218
- package/src/parsers/texttracks/webvtt/__tests__/get_style_blocks.test.ts +0 -65
- package/src/parsers/texttracks/webvtt/__tests__/parse_cue_block.test.ts +0 -249
- package/src/parsers/texttracks/webvtt/__tests__/parse_timestamp.test.ts +0 -39
- package/src/parsers/texttracks/webvtt/__tests__/utils.test.ts +0 -401
- package/src/parsers/texttracks/webvtt/get_cue_blocks.ts +0 -51
- package/src/parsers/texttracks/webvtt/get_style_blocks.ts +0 -56
- package/src/parsers/texttracks/webvtt/html/__tests__/convert_payload_to_html.test.ts +0 -106
- package/src/parsers/texttracks/webvtt/html/__tests__/create_default_style_elements.test.ts +0 -44
- package/src/parsers/texttracks/webvtt/html/__tests__/create_style_attribute.test.ts +0 -139
- package/src/parsers/texttracks/webvtt/html/__tests__/create_styled_element.test.ts +0 -140
- package/src/parsers/texttracks/webvtt/html/__tests__/parse_style_block.test.ts +0 -345
- package/src/parsers/texttracks/webvtt/html/__tests__/parse_webvtt_to_div.test.ts +0 -181
- package/src/parsers/texttracks/webvtt/html/__tests__/to_html.test.ts +0 -234
- package/src/parsers/texttracks/webvtt/html/convert_payload_to_html.ts +0 -46
- package/src/parsers/texttracks/webvtt/html/create_default_style_elements.ts +0 -26
- package/src/parsers/texttracks/webvtt/html/create_style_attribute.ts +0 -222
- package/src/parsers/texttracks/webvtt/html/create_styled_element.ts +0 -95
- package/src/parsers/texttracks/webvtt/html/index.ts +0 -25
- package/src/parsers/texttracks/webvtt/html/parse_style_block.ts +0 -76
- package/src/parsers/texttracks/webvtt/html/parse_webvtt_to_div.ts +0 -67
- package/src/parsers/texttracks/webvtt/html/to_html.ts +0 -96
- package/src/parsers/texttracks/webvtt/native/index.ts +0 -23
- package/src/parsers/texttracks/webvtt/native/parse_vtt_to_cues.ts +0 -70
- package/src/parsers/texttracks/webvtt/native/set_settings_on_cue.ts +0 -95
- package/src/parsers/texttracks/webvtt/native/to_native_cue.ts +0 -34
- package/src/parsers/texttracks/webvtt/parse_cue_block.ts +0 -128
- package/src/parsers/texttracks/webvtt/parse_timestamp.ts +0 -40
- package/src/parsers/texttracks/webvtt/utils.ts +0 -135
- package/src/public_types.ts +0 -846
- package/src/tools/README.md +0 -4
- package/src/tools/TextTrackRenderer/index.ts +0 -28
- package/src/tools/TextTrackRenderer/text_track_renderer.ts +0 -107
- package/src/tools/index.ts +0 -20
- package/src/tools/string_utils.ts +0 -24
- package/src/transports/README.md +0 -276
- package/src/transports/dash/add_segment_integrity_checks_to_loader.ts +0 -98
- package/src/transports/dash/construct_segment_url.ts +0 -28
- package/src/transports/dash/extract_complete_chunks.ts +0 -66
- package/src/transports/dash/get_events_out_of_emsgs.ts +0 -105
- package/src/transports/dash/image_pipelines.ts +0 -122
- package/src/transports/dash/index.ts +0 -23
- package/src/transports/dash/init_segment_loader.ts +0 -114
- package/src/transports/dash/low_latency_segment_loader.ts +0 -87
- package/src/transports/dash/manifest_parser.ts +0 -325
- package/src/transports/dash/pipelines.ts +0 -72
- package/src/transports/dash/segment_loader.ts +0 -249
- package/src/transports/dash/segment_parser.ts +0 -194
- package/src/transports/dash/text_loader.ts +0 -120
- package/src/transports/dash/text_parser.ts +0 -234
- package/src/transports/index.ts +0 -17
- package/src/transports/local/index.ts +0 -18
- package/src/transports/local/pipelines.ts +0 -100
- package/src/transports/local/segment_loader.ts +0 -198
- package/src/transports/local/segment_parser.ts +0 -101
- package/src/transports/local/text_parser.ts +0 -185
- package/src/transports/metaplaylist/README.md +0 -94
- package/src/transports/metaplaylist/index.ts +0 -23
- package/src/transports/metaplaylist/manifest_loader.ts +0 -62
- package/src/transports/metaplaylist/pipelines.ts +0 -425
- package/src/transports/smooth/extract_timings_infos.ts +0 -142
- package/src/transports/smooth/index.ts +0 -23
- package/src/transports/smooth/isobmff/__tests__/create_boxes.test.ts +0 -231
- package/src/transports/smooth/isobmff/create_audio_init_segment.ts +0 -84
- package/src/transports/smooth/isobmff/create_boxes.ts +0 -481
- package/src/transports/smooth/isobmff/create_init_segment.ts +0 -100
- package/src/transports/smooth/isobmff/create_traf_box.ts +0 -40
- package/src/transports/smooth/isobmff/create_video_init_segment.ts +0 -78
- package/src/transports/smooth/isobmff/get_aaces_header.ts +0 -62
- package/src/transports/smooth/isobmff/index.ts +0 -32
- package/src/transports/smooth/isobmff/parse_tfrf.ts +0 -57
- package/src/transports/smooth/isobmff/parse_tfxd.ts +0 -38
- package/src/transports/smooth/isobmff/patch_segment.ts +0 -171
- package/src/transports/smooth/pipelines.ts +0 -533
- package/src/transports/smooth/segment_loader.ts +0 -288
- package/src/transports/smooth/utils.ts +0 -106
- package/src/transports/types.ts +0 -809
- package/src/transports/utils/__tests__/byte_range.test.ts +0 -35
- package/src/transports/utils/__tests__/check_isobmff_integrity.test.ts +0 -148
- package/src/transports/utils/__tests__/find_complete_box.test.ts +0 -138
- package/src/transports/utils/__tests__/infer_segment_container.test.ts +0 -227
- package/src/transports/utils/byte_range.ts +0 -25
- package/src/transports/utils/call_custom_manifest_loader.ts +0 -147
- package/src/transports/utils/check_isobmff_integrity.ts +0 -50
- package/src/transports/utils/find_complete_box.ts +0 -63
- package/src/transports/utils/generate_manifest_loader.ts +0 -97
- package/src/transports/utils/get_isobmff_timing_infos.ts +0 -86
- package/src/transports/utils/infer_segment_container.ts +0 -56
- package/src/transports/utils/parse_text_track.ts +0 -176
- package/src/typings/README.md +0 -7
- package/src/typings/globals.d.ts +0 -83
- package/src/typings/next-tick.d.ts +0 -23
- package/src/utils/README.md +0 -5
- package/src/utils/__tests__/are_arrays_of_numbers_equal.test.ts +0 -86
- package/src/utils/__tests__/are_codecs_compatible.test.ts +0 -88
- package/src/utils/__tests__/array_find.test.ts +0 -113
- package/src/utils/__tests__/array_find_index.test.ts +0 -113
- package/src/utils/__tests__/array_includes.test.ts +0 -151
- package/src/utils/__tests__/assert.test.ts +0 -237
- package/src/utils/__tests__/assert_unreachable.test.ts +0 -40
- package/src/utils/__tests__/base64.test.ts +0 -147
- package/src/utils/__tests__/byte_parsing.test.ts +0 -267
- package/src/utils/__tests__/deep_merge.test.ts +0 -48
- package/src/utils/__tests__/event_emitter.test.ts +0 -579
- package/src/utils/__tests__/flat_map.test.ts +0 -71
- package/src/utils/__tests__/get_fuzzed_delay.test.ts +0 -32
- package/src/utils/__tests__/hash_buffer.test.ts +0 -105
- package/src/utils/__tests__/id_generator.test.ts +0 -80
- package/src/utils/__tests__/initialization_segment_cache.test.ts +0 -245
- package/src/utils/__tests__/is_non_empty_string.test.ts +0 -41
- package/src/utils/__tests__/is_null_or_undefined.test.ts +0 -33
- package/src/utils/__tests__/list_to_map.test.ts +0 -46
- package/src/utils/__tests__/logger.test.ts +0 -214
- package/src/utils/__tests__/noop.test.ts +0 -23
- package/src/utils/__tests__/object_assign.test.ts +0 -56
- package/src/utils/__tests__/object_values.test.ts +0 -26
- package/src/utils/__tests__/ranges.test.ts +0 -907
- package/src/utils/__tests__/resolve_url.test.ts +0 -100
- package/src/utils/__tests__/simple_set.test.ts +0 -57
- package/src/utils/__tests__/sorted_list.test.ts +0 -335
- package/src/utils/__tests__/starts_with.test.ts +0 -65
- package/src/utils/__tests__/string_parsing.test.ts +0 -267
- package/src/utils/__tests__/uniq.test.ts +0 -134
- package/src/utils/__tests__/warn_once.test.ts +0 -38
- package/src/utils/__tests__/weak_map_memory.test.ts +0 -188
- package/src/utils/are_arrays_of_numbers_equal.ts +0 -39
- package/src/utils/are_codecs_compatible.ts +0 -51
- package/src/utils/array_find.ts +0 -55
- package/src/utils/array_find_index.ts +0 -54
- package/src/utils/array_includes.ts +0 -93
- package/src/utils/assert.ts +0 -65
- package/src/utils/assert_unreachable.ts +0 -45
- package/src/utils/base64.ts +0 -153
- package/src/utils/byte_parsing.ts +0 -256
- package/src/utils/cancellable_sleep.ts +0 -41
- package/src/utils/create_cancellable_promise.ts +0 -69
- package/src/utils/deep_merge.ts +0 -49
- package/src/utils/event_emitter.ts +0 -147
- package/src/utils/flat_map.ts +0 -50
- package/src/utils/get_fuzzed_delay.ts +0 -27
- package/src/utils/hash_buffer.ts +0 -42
- package/src/utils/id_generator.ts +0 -35
- package/src/utils/initialization_segment_cache.ts +0 -68
- package/src/utils/is_non_empty_string.ts +0 -23
- package/src/utils/is_null_or_undefined.ts +0 -27
- package/src/utils/languages/ISO_639-1_to_ISO_639-3.ts +0 -207
- package/src/utils/languages/ISO_639-2_to_ISO_639-3.ts +0 -43
- package/src/utils/languages/__tests__/normalize.test.ts +0 -290
- package/src/utils/languages/index.ts +0 -29
- package/src/utils/languages/normalize.ts +0 -152
- package/src/utils/list_to_map.ts +0 -32
- package/src/utils/logger.ts +0 -100
- package/src/utils/noop.ts +0 -26
- package/src/utils/object_assign.ts +0 -60
- package/src/utils/object_values.ts +0 -31
- package/src/utils/ranges.ts +0 -499
- package/src/utils/reference.ts +0 -390
- package/src/utils/request/fetch.ts +0 -250
- package/src/utils/request/index.ts +0 -38
- package/src/utils/request/xhr.ts +0 -287
- package/src/utils/resolve_url.ts +0 -126
- package/src/utils/retry_promise_with_backoff.ts +0 -95
- package/src/utils/simple_set.ts +0 -67
- package/src/utils/sleep.ts +0 -14
- package/src/utils/slice_uint8array.ts +0 -53
- package/src/utils/sorted_list.ts +0 -240
- package/src/utils/starts_with.ts +0 -42
- package/src/utils/string_parsing.ts +0 -414
- package/src/utils/task_canceller.ts +0 -367
- package/src/utils/uniq.ts +0 -49
- package/src/utils/warn_once.ts +0 -34
- package/src/utils/weak_map_memory.ts +0 -89
- package/src/utils/wrapInPromise.ts +0 -24
- package/tsconfig.json +0 -28
- package/tsconfig.modules.json +0 -36
|
@@ -1,404 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2015 CANAL+ Group
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
import Manifest, {
|
|
18
|
-
Adaptation,
|
|
19
|
-
Period,
|
|
20
|
-
Representation,
|
|
21
|
-
} from "../../manifest";
|
|
22
|
-
import { IPlayerError } from "../../public_types";
|
|
23
|
-
import InitDataValuesContainer from "./utils/init_data_values_container";
|
|
24
|
-
import LoadedSessionsStore from "./utils/loaded_sessions_store";
|
|
25
|
-
import PersistentSessionsStore from "./utils/persistent_sessions_store";
|
|
26
|
-
|
|
27
|
-
/** Events sent by the `ContentDecryptor`, in a `{ event: payload }` format. */
|
|
28
|
-
export interface IContentDecryptorEvent {
|
|
29
|
-
/**
|
|
30
|
-
* Event emitted when a major error occured which made the ContentDecryptor
|
|
31
|
-
* stopped.
|
|
32
|
-
* When that event is sent, the `ContentDecryptor` is in the `Error` state and
|
|
33
|
-
* cannot be used anymore.
|
|
34
|
-
*/
|
|
35
|
-
error : Error;
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Event emitted when a minor error occured which the ContentDecryptor can
|
|
39
|
-
* recover from.
|
|
40
|
-
*/
|
|
41
|
-
warning : IPlayerError;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Event emitted when the `ContentDecryptor`'s state changed.
|
|
45
|
-
* States are a central aspect of the `ContentDecryptor`, be sure to check the
|
|
46
|
-
* ContentDecryptorState type.
|
|
47
|
-
*/
|
|
48
|
-
stateChange: ContentDecryptorState;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/** Enumeration of the various "state" the `ContentDecryptor` can be in. */
|
|
52
|
-
export enum ContentDecryptorState {
|
|
53
|
-
/**
|
|
54
|
-
* The `ContentDecryptor` is not yet ready to create key sessions and request
|
|
55
|
-
* licenses.
|
|
56
|
-
* This is is the initial state of the ContentDecryptor.
|
|
57
|
-
*/
|
|
58
|
-
Initializing,
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* The `ContentDecryptor` has been initialized.
|
|
62
|
-
* You should now called the `attach` method when you want to add decryption
|
|
63
|
-
* capabilities to the HTMLMediaElement. The ContentDecryptor won't go to the
|
|
64
|
-
* `ReadyForContent` state until `attach` is called.
|
|
65
|
-
*
|
|
66
|
-
* For compatibility reasons, this should be done after the HTMLMediaElement's
|
|
67
|
-
* src attribute is set.
|
|
68
|
-
*
|
|
69
|
-
* It is also from when this state is reached that the `ContentDecryptor`'s
|
|
70
|
-
* `systemId` property may be known.
|
|
71
|
-
*
|
|
72
|
-
* This state is always coming after the `Initializing` state.
|
|
73
|
-
*/
|
|
74
|
-
WaitingForAttachment,
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Content (encrypted or not) can begin to be pushed on the HTMLMediaElement
|
|
78
|
-
* (this state was needed because some browser quirks sometimes forces us to
|
|
79
|
-
* call EME API before this can be done).
|
|
80
|
-
*
|
|
81
|
-
* This state is always coming after the `WaitingForAttachment` state.
|
|
82
|
-
*/
|
|
83
|
-
ReadyForContent,
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* The `ContentDecryptor` has encountered a fatal error and has been stopped.
|
|
87
|
-
* It is now unusable.
|
|
88
|
-
*/
|
|
89
|
-
Error,
|
|
90
|
-
|
|
91
|
-
/** The `ContentDecryptor` has been disposed of and is now unusable. */
|
|
92
|
-
Disposed,
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/** Information about the encryption initialization data. */
|
|
96
|
-
export interface IProtectionData {
|
|
97
|
-
/**
|
|
98
|
-
* The initialization data type - or the format of the `data` attribute (e.g.
|
|
99
|
-
* "cenc").
|
|
100
|
-
* `undefined` if unknown.
|
|
101
|
-
*/
|
|
102
|
-
type : string | undefined;
|
|
103
|
-
/**
|
|
104
|
-
* The key ids linked to those initialization data.
|
|
105
|
-
* This should be the key ids for the key concerned by the media which have
|
|
106
|
-
* the present initialization data.
|
|
107
|
-
*
|
|
108
|
-
* `undefined` when not known (different from an empty array - which would
|
|
109
|
-
* just mean that there's no key id involved).
|
|
110
|
-
*/
|
|
111
|
-
keyIds? : Uint8Array[] | undefined;
|
|
112
|
-
/** The content linked to that segment protection data. */
|
|
113
|
-
content? : IContent;
|
|
114
|
-
/** Every initialization data for that type. */
|
|
115
|
-
values: IInitDataValue[];
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/** Protection initialization data actually processed by the `ContentDecryptor`. */
|
|
119
|
-
export interface IProcessedProtectionData extends Omit<IProtectionData, "values"> {
|
|
120
|
-
values: InitDataValuesContainer;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Represent the initialization data linked to a key system that can be used to
|
|
125
|
-
* generate the license request.
|
|
126
|
-
*/
|
|
127
|
-
export interface IInitDataValue {
|
|
128
|
-
/**
|
|
129
|
-
* Hex encoded system id, which identifies the key system.
|
|
130
|
-
* https://dashif.org/identifiers/content_protection/
|
|
131
|
-
*
|
|
132
|
-
* If `undefined`, we don't know the system id for that initialization data.
|
|
133
|
-
* In that case, the initialization data might even be a concatenation of
|
|
134
|
-
* the initialization data from multiple system ids.
|
|
135
|
-
*/
|
|
136
|
-
systemId: string | undefined;
|
|
137
|
-
/**
|
|
138
|
-
* The initialization data itself for that type and systemId.
|
|
139
|
-
* For example, with "cenc" initialization data found in an ISOBMFF file,
|
|
140
|
-
* this will be the whole PSSH box.
|
|
141
|
-
*/
|
|
142
|
-
data: Uint8Array;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
export type ILicense = BufferSource |
|
|
146
|
-
ArrayBuffer;
|
|
147
|
-
|
|
148
|
-
/** Segment protection sent by the RxPlayer to the `ContentDecryptor`. */
|
|
149
|
-
export interface IContentProtection {
|
|
150
|
-
/** The content linked to that segment protection data. */
|
|
151
|
-
content : IContent;
|
|
152
|
-
/**
|
|
153
|
-
* Initialization data type.
|
|
154
|
-
* String describing the format of the initialization data sent through this
|
|
155
|
-
* event.
|
|
156
|
-
* https://www.w3.org/TR/eme-initdata-registry/
|
|
157
|
-
*/
|
|
158
|
-
type: string;
|
|
159
|
-
/**
|
|
160
|
-
* The key ids linked to those initialization data.
|
|
161
|
-
* This should be the key ids for the key concerned by the media which have
|
|
162
|
-
* the present initialization data.
|
|
163
|
-
*
|
|
164
|
-
* `undefined` when not known (different from an empty array - which would
|
|
165
|
-
* just mean that there's no key id involved).
|
|
166
|
-
*/
|
|
167
|
-
keyIds : Uint8Array[] | undefined;
|
|
168
|
-
/** Every initialization data for that type. */
|
|
169
|
-
values: Array<{
|
|
170
|
-
/**
|
|
171
|
-
* Hex encoded system id, which identifies the key system.
|
|
172
|
-
* https://dashif.org/identifiers/content_protection/
|
|
173
|
-
*/
|
|
174
|
-
systemId: string;
|
|
175
|
-
/**
|
|
176
|
-
* The initialization data itself for that type and systemId.
|
|
177
|
-
* For example, with "cenc" initialization data found in an ISOBMFF file,
|
|
178
|
-
* this will be the whole PSSH box.
|
|
179
|
-
*/
|
|
180
|
-
data: Uint8Array;
|
|
181
|
-
}>;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
/** Content linked to protection data. */
|
|
185
|
-
export interface IContent {
|
|
186
|
-
/** Manifest object associated to the protection data. */
|
|
187
|
-
manifest : Manifest;
|
|
188
|
-
/** Period object associated to the protection data. */
|
|
189
|
-
period : Period;
|
|
190
|
-
/** Adaptation object associated to the protection data. */
|
|
191
|
-
adaptation : Adaptation;
|
|
192
|
-
/** Representation object associated to the protection data. */
|
|
193
|
-
representation : Representation;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
/** Stores helping to create and retrieve MediaKeySessions. */
|
|
197
|
-
export interface IMediaKeySessionStores {
|
|
198
|
-
/** Retrieve MediaKeySessions already loaded on the current MediaKeys instance. */
|
|
199
|
-
loadedSessionsStore : LoadedSessionsStore;
|
|
200
|
-
/** Retrieve persistent MediaKeySessions already created. */
|
|
201
|
-
persistentSessionsStore : PersistentSessionsStore |
|
|
202
|
-
null;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
/** Enum identifying the way a new MediaKeySession has been loaded. */
|
|
206
|
-
export const enum MediaKeySessionLoadingType {
|
|
207
|
-
/**
|
|
208
|
-
* This MediaKeySession has just been created.
|
|
209
|
-
* This means that it will necessitate a new license request to be generated
|
|
210
|
-
* and performed.
|
|
211
|
-
*/
|
|
212
|
-
Created = "created-session",
|
|
213
|
-
/**
|
|
214
|
-
* This MediaKeySession was an already-opened one that is being reused.
|
|
215
|
-
* Such session had already their license loaded and pushed.
|
|
216
|
-
*/
|
|
217
|
-
LoadedOpenSession = "loaded-open-session",
|
|
218
|
-
/**
|
|
219
|
-
* This MediaKeySession was a persistent MediaKeySession that has been
|
|
220
|
-
* re-loaded.
|
|
221
|
-
* Such session are linked to a persistent license which should have already
|
|
222
|
-
* been fetched.
|
|
223
|
-
*/
|
|
224
|
-
LoadedPersistentSession = "loaded-persistent-session",
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
/** Wrap an Uint8Array and allow serialization of it into base64. */
|
|
228
|
-
interface ByteArrayContainer {
|
|
229
|
-
/**
|
|
230
|
-
* The wrapped data.
|
|
231
|
-
* Here named `initData` even when it's not always initialization data for
|
|
232
|
-
* backward-compatible reasons.
|
|
233
|
-
*/
|
|
234
|
-
initData : Uint8Array;
|
|
235
|
-
|
|
236
|
-
/**
|
|
237
|
-
* Convert it to base64.
|
|
238
|
-
* `toJSON` is specially interpreted by JavaScript engines to be able to rely
|
|
239
|
-
* on it when calling `JSON.stringify` on it or any of its parent objects:
|
|
240
|
-
* https://tc39.es/ecma262/#sec-serializejsonproperty
|
|
241
|
-
*/
|
|
242
|
-
toJSON() : string;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
/**
|
|
246
|
-
* Stored information about a single persistent `MediaKeySession`, when created
|
|
247
|
-
* since the v3.27.0 RxPlayer version included.
|
|
248
|
-
*/
|
|
249
|
-
export interface IPersistentSessionInfoV4 {
|
|
250
|
-
/** Version for this object. */
|
|
251
|
-
version : 4;
|
|
252
|
-
|
|
253
|
-
/** The persisted MediaKeySession's `id`. Used to load it at a later time. */
|
|
254
|
-
sessionId : string;
|
|
255
|
-
|
|
256
|
-
/** Type giving information about the format of the initialization data. */
|
|
257
|
-
initDataType : string | undefined;
|
|
258
|
-
|
|
259
|
-
/** All key ids linked to that `MediaKeySession`. */
|
|
260
|
-
keyIds: Array<ByteArrayContainer | string>;
|
|
261
|
-
|
|
262
|
-
/**
|
|
263
|
-
* Every saved initialization data for that session, used as IDs.
|
|
264
|
-
* Elements are sorted in systemId alphabetical order (putting the `undefined`
|
|
265
|
-
* ones last).
|
|
266
|
-
*/
|
|
267
|
-
values: Array<{
|
|
268
|
-
/**
|
|
269
|
-
* Hex encoded system id, which identifies the key system.
|
|
270
|
-
* https://dashif.org/identifiers/content_protection/
|
|
271
|
-
*
|
|
272
|
-
* If `undefined`, we don't know the system id for that initialization data.
|
|
273
|
-
* In that case, the initialization data might even be a concatenation of
|
|
274
|
-
* the initialization data from multiple system ids.
|
|
275
|
-
*/
|
|
276
|
-
systemId : string | undefined;
|
|
277
|
-
/**
|
|
278
|
-
* A hash of the initialization data (generated by the `hashBuffer` function,
|
|
279
|
-
* at the time of v3.20.1 at least). Allows for a faster comparison than just
|
|
280
|
-
* comparing initialization data multiple times.
|
|
281
|
-
*/
|
|
282
|
-
hash : number;
|
|
283
|
-
/**
|
|
284
|
-
* The initialization data associated to the systemId, wrapped in a
|
|
285
|
-
* container to allow efficient serialization.
|
|
286
|
-
*/
|
|
287
|
-
data : ByteArrayContainer | string;
|
|
288
|
-
}>;
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
/**
|
|
292
|
-
* Stored information about a single persistent `MediaKeySession`, when created
|
|
293
|
-
* from the v3.24.0 RxPlayer version included to the v3.26.2 included.
|
|
294
|
-
*/
|
|
295
|
-
export interface IPersistentSessionInfoV3 {
|
|
296
|
-
/** Version for this object. */
|
|
297
|
-
version : 3;
|
|
298
|
-
|
|
299
|
-
/** The persisted MediaKeySession's `id`. Used to load it at a later time. */
|
|
300
|
-
sessionId : string;
|
|
301
|
-
|
|
302
|
-
/** Type giving information about the format of the initialization data. */
|
|
303
|
-
initDataType : string | undefined;
|
|
304
|
-
|
|
305
|
-
/**
|
|
306
|
-
* Every saved initialization data for that session, used as IDs.
|
|
307
|
-
* Elements are sorted in systemId alphabetical order (putting the `undefined`
|
|
308
|
-
* ones last).
|
|
309
|
-
*/
|
|
310
|
-
values: Array<{
|
|
311
|
-
/**
|
|
312
|
-
* Hex encoded system id, which identifies the key system.
|
|
313
|
-
* https://dashif.org/identifiers/content_protection/
|
|
314
|
-
*
|
|
315
|
-
* If `undefined`, we don't know the system id for that initialization data.
|
|
316
|
-
* In that case, the initialization data might even be a concatenation of
|
|
317
|
-
* the initialization data from multiple system ids.
|
|
318
|
-
*/
|
|
319
|
-
systemId : string | undefined;
|
|
320
|
-
/**
|
|
321
|
-
* A hash of the initialization data (generated by the `hashBuffer` function,
|
|
322
|
-
* at the time of v3.20.1 at least). Allows for a faster comparison than just
|
|
323
|
-
* comparing initialization data multiple times.
|
|
324
|
-
*/
|
|
325
|
-
hash : number;
|
|
326
|
-
/**
|
|
327
|
-
* The initialization data associated to the systemId, wrapped in a
|
|
328
|
-
* container to allow efficient serialization.
|
|
329
|
-
*/
|
|
330
|
-
data : ByteArrayContainer | string;
|
|
331
|
-
}>;
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
/**
|
|
335
|
-
* Stored information about a single persistent `MediaKeySession`, when created
|
|
336
|
-
* between the RxPlayer versions v3.21.0 and v3.21.1 included.
|
|
337
|
-
* The previous implementation (version 1) was fine enough but did not serialize
|
|
338
|
-
* well due to it containing an Uint8Array. This data is now wrapped into a
|
|
339
|
-
* container which will convert it to base64 when linearized through
|
|
340
|
-
* `JSON.stringify`.
|
|
341
|
-
*/
|
|
342
|
-
export interface IPersistentSessionInfoV2 {
|
|
343
|
-
/** Version for this object. */
|
|
344
|
-
version : 2;
|
|
345
|
-
/** The persisted MediaKeySession's `id`. Used to load it at a later time. */
|
|
346
|
-
sessionId : string;
|
|
347
|
-
/**
|
|
348
|
-
* The initialization data associated to the `MediaKeySession`, wrapped in a
|
|
349
|
-
* container to allow efficient linearization.
|
|
350
|
-
*/
|
|
351
|
-
initData : ByteArrayContainer;
|
|
352
|
-
/**
|
|
353
|
-
* A hash of the initialization data (generated by the `hashBuffer` function,
|
|
354
|
-
* at the time of v3.20.1 at least). Allows for a faster comparison than just
|
|
355
|
-
* comparing initialization data multiple times.
|
|
356
|
-
*/
|
|
357
|
-
initDataHash : number;
|
|
358
|
-
/** Type giving information about the format of the initialization data. */
|
|
359
|
-
initDataType? : string | undefined;
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
/**
|
|
363
|
-
* Stored information about a single persistent `MediaKeySession`, when created
|
|
364
|
-
* in the v3.20.1 RxPlayer version.
|
|
365
|
-
* Add sub-par (as in not performant) collision prevention by setting both
|
|
366
|
-
* the hash of the initialization data and the initialization data itself.
|
|
367
|
-
* The hash could be checked first for a fast comparison, then the full data.
|
|
368
|
-
* Had to do this way because this structure is documented in the API as being
|
|
369
|
-
* put in an array with one element per sessionId.
|
|
370
|
-
* We might implement a HashMap in future versions instead.
|
|
371
|
-
*/
|
|
372
|
-
export interface IPersistentSessionInfoV1 {
|
|
373
|
-
/** Version for this object. */
|
|
374
|
-
version : 1;
|
|
375
|
-
/** The persisted MediaKeySession's `id`. Used to load it at a later time. */
|
|
376
|
-
sessionId : string;
|
|
377
|
-
/** The initialization data associated to the `MediaKeySession`, untouched. */
|
|
378
|
-
initData : Uint8Array;
|
|
379
|
-
/**
|
|
380
|
-
* A hash of the initialization data (generated by the `hashBuffer` function,
|
|
381
|
-
* at the time of v3.20.1 at least). Allows for a faster comparison than just
|
|
382
|
-
* comparing initialization data multiple times.
|
|
383
|
-
*/
|
|
384
|
-
initDataHash : number;
|
|
385
|
-
/** Type giving information about the format of the initialization data. */
|
|
386
|
-
initDataType? : string | undefined;
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
/**
|
|
390
|
-
* Stored information about a single persistent `MediaKeySession`, when created
|
|
391
|
-
* in RxPlayer versions before the v3.20.1
|
|
392
|
-
* Here we have no collision detection. We could theorically load the wrong
|
|
393
|
-
* persistent session.
|
|
394
|
-
*/
|
|
395
|
-
export interface IPersistentSessionInfoV0 {
|
|
396
|
-
/** Version for this object. Usually not defined here. */
|
|
397
|
-
version? : undefined;
|
|
398
|
-
/** The persisted MediaKeySession's `id`. Used to load it at a later time. */
|
|
399
|
-
sessionId : string;
|
|
400
|
-
/** This initData is a hash of a real one. Here we don't handle collision. */
|
|
401
|
-
initData : number;
|
|
402
|
-
/** Type giving information about the format of the initialization data. */
|
|
403
|
-
initDataType? : string | undefined;
|
|
404
|
-
}
|
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2015 CANAL+ Group
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
import areInitializationValuesCompatible from "../are_init_values_compatible";
|
|
18
|
-
|
|
19
|
-
describe("decrypt - utils - areInitializationValuesCompatible", () => {
|
|
20
|
-
it("should return false if either initialization data is empty", () => {
|
|
21
|
-
const test1 = areInitializationValuesCompatible([], []);
|
|
22
|
-
const test2 = areInitializationValuesCompatible(
|
|
23
|
-
[],
|
|
24
|
-
[ { systemId: "AA",
|
|
25
|
-
hash: 15,
|
|
26
|
-
data: new Uint8Array([1, 2, 3]) },
|
|
27
|
-
{ systemId: "F054",
|
|
28
|
-
hash: 27,
|
|
29
|
-
data: new Uint8Array([2, 8, 2]) },
|
|
30
|
-
{ systemId: "FA",
|
|
31
|
-
hash: 18,
|
|
32
|
-
data: new Uint8Array([2, 2, 2]) } ]);
|
|
33
|
-
const test3 = areInitializationValuesCompatible(
|
|
34
|
-
[ { systemId: "AA",
|
|
35
|
-
hash: 15,
|
|
36
|
-
data: new Uint8Array([1, 2, 3]) },
|
|
37
|
-
{ systemId: "F054",
|
|
38
|
-
hash: 27,
|
|
39
|
-
data: new Uint8Array([2, 8, 2]) },
|
|
40
|
-
{ systemId: "FA",
|
|
41
|
-
hash: 18,
|
|
42
|
-
data: new Uint8Array([2, 2, 2]) } ],
|
|
43
|
-
[]);
|
|
44
|
-
expect(test1).toEqual(false);
|
|
45
|
-
expect(test2).toEqual(false);
|
|
46
|
-
expect(test3).toEqual(false);
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
it("should return true for equivalent initialization data", () => {
|
|
50
|
-
const test1 = areInitializationValuesCompatible(
|
|
51
|
-
[ { systemId: "F054",
|
|
52
|
-
hash: 27,
|
|
53
|
-
data: new Uint8Array([2, 8, 2]) } ],
|
|
54
|
-
[ { systemId: "F054",
|
|
55
|
-
hash: 27,
|
|
56
|
-
data: new Uint8Array([2, 8, 2]) } ]
|
|
57
|
-
);
|
|
58
|
-
const test2 = areInitializationValuesCompatible(
|
|
59
|
-
|
|
60
|
-
[ { systemId: "AA",
|
|
61
|
-
hash: 15,
|
|
62
|
-
data: new Uint8Array([1, 2, 3]) },
|
|
63
|
-
{ systemId: "F054",
|
|
64
|
-
hash: 27,
|
|
65
|
-
data: new Uint8Array([2, 8, 2]) },
|
|
66
|
-
{ systemId: "FA",
|
|
67
|
-
hash: 18,
|
|
68
|
-
data: new Uint8Array([2, 2, 2]) } ],
|
|
69
|
-
|
|
70
|
-
[ { systemId: "AA",
|
|
71
|
-
hash: 15,
|
|
72
|
-
data: new Uint8Array([1, 2, 3]) },
|
|
73
|
-
{ systemId: "F054",
|
|
74
|
-
hash: 27,
|
|
75
|
-
data: new Uint8Array([2, 8, 2]) },
|
|
76
|
-
{ systemId: "FA",
|
|
77
|
-
hash: 18,
|
|
78
|
-
data: new Uint8Array([2, 2, 2]) } ]);
|
|
79
|
-
expect(test1).toEqual(true);
|
|
80
|
-
expect(test2).toEqual(true);
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
/* eslint-disable max-len */
|
|
84
|
-
it("should return true if the first initializationData is contained in the second", () => {
|
|
85
|
-
/* eslint-enable max-len */
|
|
86
|
-
const test1 = areInitializationValuesCompatible(
|
|
87
|
-
|
|
88
|
-
[ { systemId: "F054",
|
|
89
|
-
hash: 27,
|
|
90
|
-
data: new Uint8Array([2, 8, 2]) },
|
|
91
|
-
{ systemId: "FE",
|
|
92
|
-
hash: 18,
|
|
93
|
-
data: new Uint8Array([4, 4, 2]) } ],
|
|
94
|
-
|
|
95
|
-
[ { systemId: "AA",
|
|
96
|
-
hash: 15,
|
|
97
|
-
data: new Uint8Array([1, 2, 3]) },
|
|
98
|
-
{ systemId: "F054",
|
|
99
|
-
hash: 27,
|
|
100
|
-
data: new Uint8Array([2, 8, 2]) },
|
|
101
|
-
{ systemId: "FA",
|
|
102
|
-
hash: 18,
|
|
103
|
-
data: new Uint8Array([2, 2, 2]) },
|
|
104
|
-
{ systemId: "FE",
|
|
105
|
-
hash: 18,
|
|
106
|
-
data: new Uint8Array([4, 4, 2]) } ]);
|
|
107
|
-
expect(test1).toEqual(true);
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
/* eslint-disable max-len */
|
|
111
|
-
it("should return true if the second initializationData is contained in the first", () => {
|
|
112
|
-
/* eslint-enable max-len */
|
|
113
|
-
const test1 = areInitializationValuesCompatible(
|
|
114
|
-
[ { systemId: "AA",
|
|
115
|
-
hash: 15,
|
|
116
|
-
data: new Uint8Array([1, 2, 3]) },
|
|
117
|
-
{ systemId: "F054",
|
|
118
|
-
hash: 27,
|
|
119
|
-
data: new Uint8Array([2, 8, 2]) },
|
|
120
|
-
{ systemId: "FA",
|
|
121
|
-
hash: 18,
|
|
122
|
-
data: new Uint8Array([2, 2, 2]) },
|
|
123
|
-
{ systemId: "FE",
|
|
124
|
-
hash: 18,
|
|
125
|
-
data: new Uint8Array([4, 4, 2]) } ],
|
|
126
|
-
|
|
127
|
-
[ { systemId: "F054",
|
|
128
|
-
hash: 27,
|
|
129
|
-
data: new Uint8Array([2, 8, 2]) },
|
|
130
|
-
{ systemId: "FE",
|
|
131
|
-
hash: 18,
|
|
132
|
-
data: new Uint8Array([4, 4, 2]) } ]
|
|
133
|
-
);
|
|
134
|
-
expect(test1).toEqual(true);
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
/* eslint-disable max-len */
|
|
138
|
-
it("should return false if initializationData systemIds are different", () => {
|
|
139
|
-
/* eslint-enable max-len */
|
|
140
|
-
const test1 = areInitializationValuesCompatible(
|
|
141
|
-
|
|
142
|
-
[ { systemId: "F054",
|
|
143
|
-
hash: 27,
|
|
144
|
-
data: new Uint8Array([2, 8, 2]) },
|
|
145
|
-
{ systemId: "FE",
|
|
146
|
-
hash: 18,
|
|
147
|
-
data: new Uint8Array([4, 4, 2]) } ],
|
|
148
|
-
|
|
149
|
-
[ { systemId: "AA",
|
|
150
|
-
hash: 15,
|
|
151
|
-
data: new Uint8Array([1, 2, 3]) },
|
|
152
|
-
{ systemId: "BB",
|
|
153
|
-
hash: 27,
|
|
154
|
-
data: new Uint8Array([2, 8, 2]) },
|
|
155
|
-
{ systemId: "CC",
|
|
156
|
-
hash: 18,
|
|
157
|
-
data: new Uint8Array([2, 2, 2]) },
|
|
158
|
-
{ systemId: "DD",
|
|
159
|
-
hash: 18,
|
|
160
|
-
data: new Uint8Array([4, 4, 2]) } ]);
|
|
161
|
-
expect(test1).toEqual(false);
|
|
162
|
-
});
|
|
163
|
-
|
|
164
|
-
/* eslint-disable max-len */
|
|
165
|
-
it("should return false if at least one hash is different", () => {
|
|
166
|
-
/* eslint-enable max-len */
|
|
167
|
-
const test1 = areInitializationValuesCompatible(
|
|
168
|
-
|
|
169
|
-
[ { systemId: "F054",
|
|
170
|
-
hash: 27,
|
|
171
|
-
data: new Uint8Array([2, 8, 2]) },
|
|
172
|
-
{ systemId: "FE",
|
|
173
|
-
hash: 18,
|
|
174
|
-
data: new Uint8Array([4, 4, 2]) } ],
|
|
175
|
-
|
|
176
|
-
[ { systemId: "AA",
|
|
177
|
-
hash: 15,
|
|
178
|
-
data: new Uint8Array([1, 2, 3]) },
|
|
179
|
-
{ systemId: "F054",
|
|
180
|
-
hash: 27,
|
|
181
|
-
data: new Uint8Array([2, 8, 2]) },
|
|
182
|
-
{ systemId: "FA",
|
|
183
|
-
hash: 18,
|
|
184
|
-
data: new Uint8Array([2, 2, 2]) },
|
|
185
|
-
{ systemId: "FE",
|
|
186
|
-
hash: 19,
|
|
187
|
-
data: new Uint8Array([4, 4, 2]) } ]);
|
|
188
|
-
const test2 = areInitializationValuesCompatible(
|
|
189
|
-
|
|
190
|
-
[ { systemId: "F054",
|
|
191
|
-
hash: 27,
|
|
192
|
-
data: new Uint8Array([2, 8, 2]) },
|
|
193
|
-
{ systemId: "FE",
|
|
194
|
-
hash: 18,
|
|
195
|
-
data: new Uint8Array([4, 4, 2]) } ],
|
|
196
|
-
|
|
197
|
-
[ { systemId: "AA",
|
|
198
|
-
hash: 15,
|
|
199
|
-
data: new Uint8Array([1, 2, 3]) },
|
|
200
|
-
{ systemId: "F054",
|
|
201
|
-
hash: 25,
|
|
202
|
-
data: new Uint8Array([2, 8, 2]) },
|
|
203
|
-
{ systemId: "FA",
|
|
204
|
-
hash: 18,
|
|
205
|
-
data: new Uint8Array([2, 2, 2]) },
|
|
206
|
-
{ systemId: "FE",
|
|
207
|
-
hash: 18,
|
|
208
|
-
data: new Uint8Array([4, 4, 2]) } ]);
|
|
209
|
-
expect(test1).toEqual(false);
|
|
210
|
-
expect(test2).toEqual(false);
|
|
211
|
-
});
|
|
212
|
-
|
|
213
|
-
/* eslint-disable max-len */
|
|
214
|
-
it("should return false if init data are different", () => {
|
|
215
|
-
/* eslint-enable max-len */
|
|
216
|
-
const test1 = areInitializationValuesCompatible(
|
|
217
|
-
|
|
218
|
-
[ { systemId: "F054",
|
|
219
|
-
hash: 27,
|
|
220
|
-
data: new Uint8Array([2, 8, 2]) },
|
|
221
|
-
{ systemId: "FE",
|
|
222
|
-
hash: 18,
|
|
223
|
-
data: new Uint8Array([4, 4, 2]) } ],
|
|
224
|
-
|
|
225
|
-
[ { systemId: "AA",
|
|
226
|
-
hash: 15,
|
|
227
|
-
data: new Uint8Array([1, 2, 3]) },
|
|
228
|
-
{ systemId: "F054",
|
|
229
|
-
hash: 27,
|
|
230
|
-
data: new Uint8Array([2, 8, 2]) },
|
|
231
|
-
{ systemId: "FA",
|
|
232
|
-
hash: 18,
|
|
233
|
-
data: new Uint8Array([2, 2, 2]) },
|
|
234
|
-
{ systemId: "FE",
|
|
235
|
-
hash: 18,
|
|
236
|
-
data: new Uint8Array([4, 3, 3]) } ]);
|
|
237
|
-
const test2 = areInitializationValuesCompatible(
|
|
238
|
-
|
|
239
|
-
[ { systemId: "F054",
|
|
240
|
-
hash: 25,
|
|
241
|
-
data: new Uint8Array([2, 9, 2]) },
|
|
242
|
-
{ systemId: "FE",
|
|
243
|
-
hash: 18,
|
|
244
|
-
data: new Uint8Array([4, 4, 2]) } ],
|
|
245
|
-
|
|
246
|
-
[ { systemId: "AA",
|
|
247
|
-
hash: 15,
|
|
248
|
-
data: new Uint8Array([1, 2, 3]) },
|
|
249
|
-
{ systemId: "F054",
|
|
250
|
-
hash: 25,
|
|
251
|
-
data: new Uint8Array([2, 8, 2]) },
|
|
252
|
-
{ systemId: "FA",
|
|
253
|
-
hash: 18,
|
|
254
|
-
data: new Uint8Array([2, 2, 2]) },
|
|
255
|
-
{ systemId: "FE",
|
|
256
|
-
hash: 18,
|
|
257
|
-
data: new Uint8Array([4, 4, 2]) } ]);
|
|
258
|
-
expect(test1).toEqual(false);
|
|
259
|
-
expect(test2).toEqual(false);
|
|
260
|
-
});
|
|
261
|
-
});
|