rx-player 3.33.0 → 3.33.2
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
package/src/transports/types.ts
DELETED
|
@@ -1,809 +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 { IInbandEvent } from "../core/stream";
|
|
18
|
-
import Manifest, {
|
|
19
|
-
Adaptation,
|
|
20
|
-
ISegment,
|
|
21
|
-
ISupplementaryImageTrack,
|
|
22
|
-
ISupplementaryTextTrack,
|
|
23
|
-
Period,
|
|
24
|
-
Representation,
|
|
25
|
-
} from "../manifest";
|
|
26
|
-
import { ICdnMetadata } from "../parsers/manifest";
|
|
27
|
-
import {
|
|
28
|
-
IBifThumbnail,
|
|
29
|
-
ILoadedManifestFormat,
|
|
30
|
-
IManifestLoader,
|
|
31
|
-
IRepresentationFilter,
|
|
32
|
-
ISegmentLoader as ICustomSegmentLoader,
|
|
33
|
-
IServerSyncInfos,
|
|
34
|
-
} from "../public_types";
|
|
35
|
-
import TaskCanceller, {
|
|
36
|
-
CancellationSignal,
|
|
37
|
-
} from "../utils/task_canceller";
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Interface returned by any transport implementation.
|
|
41
|
-
* @param {Object} options - Options allowing to configure the transport's
|
|
42
|
-
* behavior.
|
|
43
|
-
* @returns {Object} - The "transport pipelines". Those are all APIs for this
|
|
44
|
-
* transport implementation.
|
|
45
|
-
*/
|
|
46
|
-
export type ITransportFunction = (options : ITransportOptions) =>
|
|
47
|
-
ITransportPipelines;
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Every API implemented for a transport implementation, allowing to load and
|
|
51
|
-
* parse the Manifest or any segment.
|
|
52
|
-
*/
|
|
53
|
-
export interface ITransportPipelines {
|
|
54
|
-
/** Functions allowing to load an parse the Manifest for this transport. */
|
|
55
|
-
manifest : ITransportManifestPipeline;
|
|
56
|
-
|
|
57
|
-
/** Functions allowing to load an parse audio segments. */
|
|
58
|
-
audio : ISegmentPipeline<ILoadedAudioVideoSegmentFormat,
|
|
59
|
-
Uint8Array | ArrayBuffer | null>;
|
|
60
|
-
/** Functions allowing to load an parse video segments. */
|
|
61
|
-
video : ISegmentPipeline<ILoadedAudioVideoSegmentFormat,
|
|
62
|
-
Uint8Array | ArrayBuffer | null>;
|
|
63
|
-
/** Functions allowing to load an parse text (e.g. subtitles) segments. */
|
|
64
|
-
text : ISegmentPipeline<ILoadedTextSegmentFormat,
|
|
65
|
-
ITextTrackSegmentData | null>;
|
|
66
|
-
/** Functions allowing to load an parse image (e.g. thumbnails) segments. */
|
|
67
|
-
image : ISegmentPipeline<ILoadedImageSegmentFormat,
|
|
68
|
-
IImageTrackSegmentData | null>;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/** Functions allowing to load and parse the Manifest. */
|
|
72
|
-
export interface ITransportManifestPipeline {
|
|
73
|
-
/**
|
|
74
|
-
* "Loader" of the Manifest pipeline, allowing to request a Manifest so it can
|
|
75
|
-
* later be parsed by the `parseManifest` function.
|
|
76
|
-
*
|
|
77
|
-
* @param {string|undefined} url - URL of the Manifest we want to load.
|
|
78
|
-
* `undefined` if the Manifest doesn't have an URL linked to it, in which case
|
|
79
|
-
* the Manifest should be loaded through another mean.
|
|
80
|
-
* @param {CancellationSignal} cancellationSignal - Signal which will allow to
|
|
81
|
-
* cancel the loading operation if the Manifest is not needed anymore (for
|
|
82
|
-
* example, if the content has just been stopped).
|
|
83
|
-
* When cancelled, the promise returned by this function will reject with a
|
|
84
|
-
* `CancellationError`.
|
|
85
|
-
* @returns {Promise.<Object>} - Promise emitting the loaded Manifest, that
|
|
86
|
-
* then can be parsed through the `parseManifest` function.
|
|
87
|
-
*
|
|
88
|
-
* Rejects in two cases:
|
|
89
|
-
* - The loading operation has been cancelled through the `cancelSignal`
|
|
90
|
-
* given in argument.
|
|
91
|
-
* In that case, this Promise will reject with a `CancellationError`.
|
|
92
|
-
* - The loading operation failed, most likely due to a request error.
|
|
93
|
-
* In that case, this Promise will reject with the corresponding Error.
|
|
94
|
-
*/
|
|
95
|
-
loadManifest : (
|
|
96
|
-
url : string | undefined,
|
|
97
|
-
options : IManifestLoaderOptions,
|
|
98
|
-
cancelSignal : CancellationSignal,
|
|
99
|
-
) => Promise<IRequestedData<ILoadedManifestFormat>>;
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* "Parser" of the Manifest pipeline, allowing to parse a loaded Manifest so
|
|
103
|
-
* it can be exploited by the rest of the RxPlayer's logic.
|
|
104
|
-
*
|
|
105
|
-
* @param {Object} manifestData - Response obtained from the `loadManifest`
|
|
106
|
-
* function.
|
|
107
|
-
* @param {Object} parserOptions - Various options relative to the parsing
|
|
108
|
-
* operation.
|
|
109
|
-
* @param {Function} onWarnings - Callbacks called:
|
|
110
|
-
* - when minor Manifest parsing errors are found
|
|
111
|
-
* - when `scheduleRequest` rejects on requests this function can do
|
|
112
|
-
* without.
|
|
113
|
-
* @param {CancellationSignal} cancelSignal - Cancellation signal which will
|
|
114
|
-
* allow to abort the parsing operation if you do not want the Manifest
|
|
115
|
-
* anymore.
|
|
116
|
-
*
|
|
117
|
-
* That cancellationSignal can be triggered at any time, such as:
|
|
118
|
-
* - after a warning is received
|
|
119
|
-
* - while a request scheduled through the `scheduleRequest` argument is
|
|
120
|
-
* pending.
|
|
121
|
-
*
|
|
122
|
-
* `parseManifest` will interrupt all operations if the signal has been
|
|
123
|
-
* triggered in one of those scenarios, and will automatically reject with
|
|
124
|
-
* the corresponding `CancellationError` instance.
|
|
125
|
-
* @param {Function} scheduleRequest - Allows `parseManifest` to schedule
|
|
126
|
-
* network requests, for example to fetch sub-parts of the Manifest or
|
|
127
|
-
* supplementary resources we can only know of at Manifest parsing time.
|
|
128
|
-
*
|
|
129
|
-
* All requests scheduled through `scheduleRequest` should abort (and the
|
|
130
|
-
* corresponding Promise reject a `CancellationError`) when/if `cancelSignal`
|
|
131
|
-
* is triggered.
|
|
132
|
-
*
|
|
133
|
-
* If a request scheduled through `scheduleRequest` rejects with an error:
|
|
134
|
-
* - either the error was due to a cancellation, in which case
|
|
135
|
-
* `parseManifest` should reject the same error immediately.
|
|
136
|
-
* - either the requested resource was mandatory to parse the Manifest
|
|
137
|
-
* in which case `parseManifest` will reject with the same error.
|
|
138
|
-
* - either the parser can make up for that error, in which case it will
|
|
139
|
-
* just be emitted as a warning and `parseManifest` will continue its
|
|
140
|
-
* operations.
|
|
141
|
-
* @returns {Object | Promise.<Object>} - Returns directly the Manifest data
|
|
142
|
-
* if the parsing can be performed synchronously or through a Promise if it
|
|
143
|
-
* needs to perform network requests first through the `scheduleRequest`
|
|
144
|
-
* function.
|
|
145
|
-
*
|
|
146
|
-
* Throws if an error happens synchronously and rejects if it happens
|
|
147
|
-
* asynchronously.
|
|
148
|
-
*
|
|
149
|
-
* If this error is due to a failed request performed through the
|
|
150
|
-
* `scheduleRequest` argument, then the rejected error should be the same one
|
|
151
|
-
* than the one rejected by `scheduleRequest`.
|
|
152
|
-
*
|
|
153
|
-
* If this error is due to a cancellation instead (indicated through the
|
|
154
|
-
* `cancelSignal` argument), then the rejected error should be the
|
|
155
|
-
* `CancellationError` instance instead.
|
|
156
|
-
*/
|
|
157
|
-
parseManifest : (
|
|
158
|
-
manifestData : IRequestedData<unknown>,
|
|
159
|
-
parserOptions : IManifestParserOptions,
|
|
160
|
-
onWarnings : (warnings : Error[]) => void,
|
|
161
|
-
cancelSignal : CancellationSignal,
|
|
162
|
-
scheduleRequest : IManifestParserRequestScheduler
|
|
163
|
-
) => IManifestParserResult |
|
|
164
|
-
Promise<IManifestParserResult>;
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* @deprecated
|
|
168
|
-
* "Resolves the Manifest's URL, to obtain its true URL.
|
|
169
|
-
* This is a deprecated function which corresponds to an old use case at
|
|
170
|
-
* Canal+ where the URL of the Manifest first need to be parsed from a .wsx
|
|
171
|
-
* file.
|
|
172
|
-
* Thankfully this API should not be used anymore, though to not break
|
|
173
|
-
* compatibility, we have to keep it until a v4.x.x release.
|
|
174
|
-
*
|
|
175
|
-
* @param {string | undefined} url - URL used to obtain the real URL of the
|
|
176
|
-
* Manifest.
|
|
177
|
-
* @param {CancellationSignal} cancelSignal - Cancellation signal which will
|
|
178
|
-
* allow to abort the resolving operation if you do not want the Manifest
|
|
179
|
-
* anymore.
|
|
180
|
-
* When cancelled, the promise returned by this function will reject with a
|
|
181
|
-
* `CancellationError`.
|
|
182
|
-
* @returns {Promise.<string|undefined>} - Promise emitting the "real" URL of
|
|
183
|
-
* the Manifest, that should be loaded by the `loadManifest` function.
|
|
184
|
-
* `undefined` if the URL is either unknown or inexistant.
|
|
185
|
-
*
|
|
186
|
-
* Rejects in two cases:
|
|
187
|
-
*
|
|
188
|
-
* 1. The resolving operation has been aborted through the `cancelSignal`
|
|
189
|
-
* given in argument.
|
|
190
|
-
* In that case, this Promise will reject a `CancellationError`.
|
|
191
|
-
*
|
|
192
|
-
* 2. The resolving operation failed, most likely due to a request error.
|
|
193
|
-
* In that case, this Promise will reject the corresponding Error.
|
|
194
|
-
*/
|
|
195
|
-
resolveManifestUrl? : (
|
|
196
|
-
url : string | undefined,
|
|
197
|
-
cancelSignal : CancellationSignal,
|
|
198
|
-
) => Promise<string | undefined>;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
/**
|
|
202
|
-
* Options given to the `loadManifest` method of an
|
|
203
|
-
* `ITransportManifestPipeline` to configure its behavior.
|
|
204
|
-
*/
|
|
205
|
-
export interface IManifestLoaderOptions {
|
|
206
|
-
/**
|
|
207
|
-
* Timeout, in milliseconds, after which a manifest request should be aborted
|
|
208
|
-
* with the corresponding error.
|
|
209
|
-
*
|
|
210
|
-
* `undefined` means that no timeout will be enforced.
|
|
211
|
-
*/
|
|
212
|
-
timeout? : number | undefined;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
/** Functions allowing to load and parse segments of any type. */
|
|
216
|
-
export interface ISegmentPipeline<
|
|
217
|
-
TLoadedFormat,
|
|
218
|
-
TParsedSegmentDataFormat,
|
|
219
|
-
> {
|
|
220
|
-
loadSegment : ISegmentLoader<TLoadedFormat>;
|
|
221
|
-
parseSegment : ISegmentParser<TLoadedFormat,
|
|
222
|
-
TParsedSegmentDataFormat>;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
/**
|
|
226
|
-
* Segment loader function, allowing to load a segment of any type.
|
|
227
|
-
* @param {string|null} wantedCdn - CDN metadata for the CDN on which the
|
|
228
|
-
* segment should be downloaded.
|
|
229
|
-
* `null` if we do not have such CDN (in which case the segment should be loaded
|
|
230
|
-
* through other means, such as information taken from the segment's content).
|
|
231
|
-
* @param {Object} content - Content linked to the wanted segment.
|
|
232
|
-
* @param {CancellationSignal} cancelSignal - Cancellation signal which will
|
|
233
|
-
* allow to cancel the loading operation if the segment is not needed anymore.
|
|
234
|
-
*
|
|
235
|
-
* When cancelled, this loader should stop any pending operation (such as an
|
|
236
|
-
* HTTP request) and the Promise returned should reject immediately with a
|
|
237
|
-
* `CancellationError`, generated through this CancellationSignal object.
|
|
238
|
-
* @param {Object} callbacks - Callbacks called on various loader events.
|
|
239
|
-
* @returns {Promise.<Object>} - Promise resolving when it has finished loading
|
|
240
|
-
* the segment.
|
|
241
|
-
*/
|
|
242
|
-
export type ISegmentLoader<TLoadedFormat> = (
|
|
243
|
-
wantedCdn : ICdnMetadata | null,
|
|
244
|
-
content : ISegmentContext,
|
|
245
|
-
options : ISegmentLoaderOptions,
|
|
246
|
-
cancelSignal : CancellationSignal,
|
|
247
|
-
callbacks : ISegmentLoaderCallbacks<TLoadedFormat>
|
|
248
|
-
) => Promise<ISegmentLoaderResultSegmentCreated<TLoadedFormat> |
|
|
249
|
-
ISegmentLoaderResultSegmentLoaded<TLoadedFormat> |
|
|
250
|
-
ISegmentLoaderResultChunkedComplete>;
|
|
251
|
-
|
|
252
|
-
/** Options given to an `ISegmentLoader` to configure its behavior. */
|
|
253
|
-
export interface ISegmentLoaderOptions {
|
|
254
|
-
/**
|
|
255
|
-
* Timeout, in milliseconds, after which a segment request should be aborted
|
|
256
|
-
* with the corresponding error.
|
|
257
|
-
*
|
|
258
|
-
* `undefined` means that no timeout will be enforced.
|
|
259
|
-
*/
|
|
260
|
-
timeout? : number | undefined;
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
/**
|
|
264
|
-
* Segment parser function, allowing to parse a chunk (which may be a sub-part
|
|
265
|
-
* of a segment) of any type.
|
|
266
|
-
*
|
|
267
|
-
* This function will throw if it encounters any error it cannot recover from.
|
|
268
|
-
*/
|
|
269
|
-
export type ISegmentParser<
|
|
270
|
-
TLoadedFormat,
|
|
271
|
-
TParsedSegmentDataFormat
|
|
272
|
-
> = (
|
|
273
|
-
/** Attributes of the corresponding loader's response. */
|
|
274
|
-
loadedSegment : {
|
|
275
|
-
/** The loaded segment data. */
|
|
276
|
-
data : TLoadedFormat;
|
|
277
|
-
/**
|
|
278
|
-
* If `true`,`data` is only a "chunk" of the whole segment (which potentially
|
|
279
|
-
* will contain multiple chunks).
|
|
280
|
-
* If `false`, `data` is the data for the whole segment.
|
|
281
|
-
*/
|
|
282
|
-
isChunked : boolean;
|
|
283
|
-
},
|
|
284
|
-
/** Context about the wanted segment. */
|
|
285
|
-
content : ISegmentContext,
|
|
286
|
-
/**
|
|
287
|
-
* "Timescale" obtained from parsing the wanted representation's initialization
|
|
288
|
-
* segment.
|
|
289
|
-
*
|
|
290
|
-
* `undefined` if either no such `timescale` has been parsed yet or if this
|
|
291
|
-
* value doesn't exist for the wanted segment.
|
|
292
|
-
*
|
|
293
|
-
* This value can be useful when parsing the loaded segment's data.
|
|
294
|
-
*/
|
|
295
|
-
initTimescale : number | undefined
|
|
296
|
-
) =>
|
|
297
|
-
/**
|
|
298
|
-
* The parsed data.
|
|
299
|
-
*
|
|
300
|
-
* Can be of two types:
|
|
301
|
-
* - `ISegmentParserParsedInitChunk`: When the parsed chunk was part of an
|
|
302
|
-
* initialization segment.
|
|
303
|
-
* Such segments only serve to initialize the decoder and do not contain
|
|
304
|
-
* any decodable media data.
|
|
305
|
-
* - `ISegmentParserParsedMediaChunk`: When the parsed chunk was part of a
|
|
306
|
-
* media segment.
|
|
307
|
-
* Such segments generally contain decodable media data.
|
|
308
|
-
*/
|
|
309
|
-
ISegmentParserParsedInitChunk<TParsedSegmentDataFormat> |
|
|
310
|
-
ISegmentParserParsedMediaChunk<TParsedSegmentDataFormat>;
|
|
311
|
-
|
|
312
|
-
export interface IManifestParserOptions {
|
|
313
|
-
/**
|
|
314
|
-
* If set, offset to add to `performance.now()` to obtain the current
|
|
315
|
-
* server's time.
|
|
316
|
-
*/
|
|
317
|
-
externalClockOffset : number | undefined;
|
|
318
|
-
/** Original URL used for the full version of the Manifest. */
|
|
319
|
-
originalUrl : string | undefined;
|
|
320
|
-
/** The previous value of the Manifest (when updating). */
|
|
321
|
-
previousManifest : Manifest | null;
|
|
322
|
-
/**
|
|
323
|
-
* If set to `true`, the Manifest parser can perform advanced optimizations
|
|
324
|
-
* to speed-up the parsing process. Those optimizations might lead to a
|
|
325
|
-
* de-synchronization with what is actually on the server, hence the "unsafe"
|
|
326
|
-
* part.
|
|
327
|
-
* To use with moderation and only when needed.
|
|
328
|
-
*/
|
|
329
|
-
unsafeMode : boolean;
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
export interface IManifestParserCallbacks {
|
|
333
|
-
onWarning : (warning : Error) => void;
|
|
334
|
-
|
|
335
|
-
/**
|
|
336
|
-
* @param {Function} performRequest - Function performing the request
|
|
337
|
-
* @param {TaskCanceller} canceller - Interface allowing to cancel the request
|
|
338
|
-
* performed by the `performRequest` argument.
|
|
339
|
-
* @returns {Promise.<Object>}
|
|
340
|
-
*/
|
|
341
|
-
scheduleRequest : (
|
|
342
|
-
performRequest : () => Promise< IRequestedData< Document | string > >,
|
|
343
|
-
canceller : TaskCanceller
|
|
344
|
-
) => Promise< IRequestedData< Document | string > >;
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
/**
|
|
348
|
-
* Function allowing a Manifest parser to perform a request needed for the
|
|
349
|
-
* parsing of the Manifest.
|
|
350
|
-
*
|
|
351
|
-
* @param {Function} performRequest - Function performing the wanted request.
|
|
352
|
-
* Note that this function might be called multiple times depending on the error
|
|
353
|
-
* obtained at the last call.
|
|
354
|
-
*
|
|
355
|
-
* Should resolve with the requested data on success.
|
|
356
|
-
*
|
|
357
|
-
* Rejects in two cases:
|
|
358
|
-
* - The request has been cancelled through the `canceller` given.
|
|
359
|
-
* In that case, this Promise will reject with a `CancellationError`.
|
|
360
|
-
*
|
|
361
|
-
* - The request failed.
|
|
362
|
-
* In that case, this Promise will reject with the corresponding Error.
|
|
363
|
-
*
|
|
364
|
-
* @param {TaskCanceller} canceller - Interface allowing to cancel the request
|
|
365
|
-
* performed by the `performRequest` argument.
|
|
366
|
-
*
|
|
367
|
-
* When triggered, the request should be aborted and the Promise returned by
|
|
368
|
-
* `performRequest` should reject the corresponding `CancellationError`.
|
|
369
|
-
*
|
|
370
|
-
* The Promise returned by that function should in consequence also reject the
|
|
371
|
-
* same `CancellationError`.
|
|
372
|
-
*
|
|
373
|
-
* @returns {Promise.<Object>} - Promise resolving with the requested data on
|
|
374
|
-
* success.
|
|
375
|
-
*
|
|
376
|
-
* Rejects in two cases:
|
|
377
|
-
* - The request has been cancelled through the `canceller` given.
|
|
378
|
-
* In that case, this Promise will reject with a `CancellationError`.
|
|
379
|
-
*
|
|
380
|
-
* - All the attempts to perform the request failed.
|
|
381
|
-
* In that case, this Promise will reject with the Error corresponding to
|
|
382
|
-
* the last performed request.
|
|
383
|
-
*/
|
|
384
|
-
export type IManifestParserRequestScheduler =
|
|
385
|
-
(
|
|
386
|
-
performRequest : () => Promise< IRequestedData< ILoadedManifestFormat > >
|
|
387
|
-
) => Promise< IRequestedData< ILoadedManifestFormat > >;
|
|
388
|
-
|
|
389
|
-
// Either the Manifest can be parsed directly, in which case a
|
|
390
|
-
// IManifestParserResult is returned, either the Manifest parser needs to
|
|
391
|
-
// perform supplementary requests first
|
|
392
|
-
|
|
393
|
-
/** Event emitted when a Manifest has been parsed by a Manifest parser. */
|
|
394
|
-
export interface IManifestParserResult {
|
|
395
|
-
/** The parsed Manifest Object itself. */
|
|
396
|
-
manifest : Manifest;
|
|
397
|
-
/**
|
|
398
|
-
* "Real" URL (post-redirection) at which the Manifest can be refreshed.
|
|
399
|
-
*
|
|
400
|
-
* Note that this doesn't always apply e.g. some Manifest might need multiple
|
|
401
|
-
* URLs to be fetched, some other might need to fetch no URL.
|
|
402
|
-
* This property should only be set when a unique URL is sufficient to
|
|
403
|
-
* retrieve the whole data.
|
|
404
|
-
*/
|
|
405
|
-
url? : string | undefined;
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
/**
|
|
409
|
-
* Allow the parser to ask for loading supplementary ressources while still
|
|
410
|
-
* profiting from the same retries and error management than the loader.
|
|
411
|
-
*/
|
|
412
|
-
export interface IManifestParserRequestNeeded {
|
|
413
|
-
resultType : "request-needed";
|
|
414
|
-
performRequest : IManifestParserRequest;
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
/**
|
|
418
|
-
* Time information for a single segment.
|
|
419
|
-
* Those variables expose the best guess we have on the effective duration and
|
|
420
|
-
* starting time that the corresponding segment should have at decoding time.
|
|
421
|
-
*/
|
|
422
|
-
export interface IChunkTimeInfo {
|
|
423
|
-
/**
|
|
424
|
-
* Difference between the latest and the earliest presentation time
|
|
425
|
-
* available in that chunk, in seconds.
|
|
426
|
-
*
|
|
427
|
-
* If multiple chunks are present in a single segment (e.g. low-latency CMAF
|
|
428
|
-
* chunks, this is only the duration of the current chunk).
|
|
429
|
-
*
|
|
430
|
-
* Either `undefined` or set to `0` for an initialization segment.
|
|
431
|
-
*/
|
|
432
|
-
duration : number | undefined;
|
|
433
|
-
/** Earliest presentation time available in that segment, in seconds. */
|
|
434
|
-
time : number;
|
|
435
|
-
}
|
|
436
|
-
|
|
437
|
-
/** Text track segment data, once parsed. */
|
|
438
|
-
export interface ITextTrackSegmentData {
|
|
439
|
-
/** The text track data, in the format indicated in `type`. */
|
|
440
|
-
data : string;
|
|
441
|
-
/** The format of `data` (examples: "ttml", "srt" or "vtt") */
|
|
442
|
-
type : string;
|
|
443
|
-
/**
|
|
444
|
-
* Language in which the text track is, as a language code.
|
|
445
|
-
* This is mostly needed for "sami" subtitles, to know which cues can / should
|
|
446
|
-
* be parsed.
|
|
447
|
-
*/
|
|
448
|
-
language? : string | undefined;
|
|
449
|
-
/** start time from which the segment apply, in seconds. */
|
|
450
|
-
start? : number | undefined;
|
|
451
|
-
/** end time until which the segment apply, in seconds. */
|
|
452
|
-
end? : number | undefined;
|
|
453
|
-
}
|
|
454
|
-
|
|
455
|
-
/** Format under which image data is decodable by the RxPlayer. */
|
|
456
|
-
export interface IImageTrackSegmentData {
|
|
457
|
-
data : IBifThumbnail[]; // image track data, in the given type
|
|
458
|
-
end : number; // end time time until which the segment apply
|
|
459
|
-
start : number; // start time from which the segment apply
|
|
460
|
-
timescale : number; // timescale to convert the start and end into seconds
|
|
461
|
-
type : string; // the type of the data (example: "bif")
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
export type IManifestParserRequest1 = (
|
|
465
|
-
(
|
|
466
|
-
/**
|
|
467
|
-
* Cancellation signal which will allow to cancel the request if the
|
|
468
|
-
* Manifest is not needed anymore.
|
|
469
|
-
*
|
|
470
|
-
* When cancelled, this parser should stop any pending operation (such as an
|
|
471
|
-
* HTTP request) and the Promise returned should reject immediately after with
|
|
472
|
-
* a `CancellationError`.
|
|
473
|
-
*/
|
|
474
|
-
cancelSignal : CancellationSignal,
|
|
475
|
-
) => Promise< IRequestedData< Document | string > >
|
|
476
|
-
);
|
|
477
|
-
export type IManifestParserRequest = (
|
|
478
|
-
/**
|
|
479
|
-
* Cancellation signal which will allow to cancel the request if the
|
|
480
|
-
* Manifest is not needed anymore.
|
|
481
|
-
*
|
|
482
|
-
* When cancelled, this parser should stop any pending operation (such as an
|
|
483
|
-
* HTTP request) and the Promise returned should reject immediately after with
|
|
484
|
-
* a `CancellationError`.
|
|
485
|
-
*/
|
|
486
|
-
cancelSignal : CancellationSignal,
|
|
487
|
-
) => Promise< IManifestParserResult |
|
|
488
|
-
IManifestParserRequestNeeded >;
|
|
489
|
-
|
|
490
|
-
export interface ITransportAudioVideoSegmentPipeline {
|
|
491
|
-
loadSegment : ISegmentLoader<ILoadedAudioVideoSegmentFormat>;
|
|
492
|
-
parseSegment : ISegmentParser<ILoadedAudioVideoSegmentFormat,
|
|
493
|
-
Uint8Array | ArrayBuffer | null>;
|
|
494
|
-
}
|
|
495
|
-
|
|
496
|
-
export interface ITransportTextSegmentPipeline {
|
|
497
|
-
loadSegment : ISegmentLoader<ILoadedTextSegmentFormat>;
|
|
498
|
-
parseSegment : ISegmentParser<ILoadedTextSegmentFormat,
|
|
499
|
-
ITextTrackSegmentData | null>;
|
|
500
|
-
}
|
|
501
|
-
|
|
502
|
-
export interface ITransportImageSegmentPipeline {
|
|
503
|
-
loadSegment : ISegmentLoader<ILoadedImageSegmentFormat>;
|
|
504
|
-
parseSegment : ISegmentParser<ILoadedImageSegmentFormat,
|
|
505
|
-
IImageTrackSegmentData | null>;
|
|
506
|
-
}
|
|
507
|
-
|
|
508
|
-
export type ITransportSegmentPipeline = ITransportAudioVideoSegmentPipeline |
|
|
509
|
-
ITransportTextSegmentPipeline |
|
|
510
|
-
ITransportImageSegmentPipeline;
|
|
511
|
-
|
|
512
|
-
export type ITransportPipeline = ITransportManifestPipeline |
|
|
513
|
-
ITransportSegmentPipeline;
|
|
514
|
-
|
|
515
|
-
export interface ISegmentContext {
|
|
516
|
-
/** Manifest object related to this segment. */
|
|
517
|
-
manifest : Manifest;
|
|
518
|
-
/** Period object related to this segment. */
|
|
519
|
-
period : Period;
|
|
520
|
-
/** Adaptation object related to this segment. */
|
|
521
|
-
adaptation : Adaptation;
|
|
522
|
-
/** Representation Object related to this segment. */
|
|
523
|
-
representation : Representation;
|
|
524
|
-
/** Segment we want to load. */
|
|
525
|
-
segment : ISegment;
|
|
526
|
-
}
|
|
527
|
-
|
|
528
|
-
export interface ISegmentLoaderCallbacks<T> {
|
|
529
|
-
/**
|
|
530
|
-
* Callback called when new progress information on a segment request is
|
|
531
|
-
* available.
|
|
532
|
-
* The information emitted though this callback can be used to gather
|
|
533
|
-
* metrics on a current, un-terminated, request.
|
|
534
|
-
*/
|
|
535
|
-
onProgress : (info : ISegmentLoadingProgressInformation) => void;
|
|
536
|
-
/**
|
|
537
|
-
* Callback called when a decodable sub-part of the segment is available.
|
|
538
|
-
*
|
|
539
|
-
* Note that this callback is only called if the loader decides to load the
|
|
540
|
-
* wanted segment in a "chunk" mode, that is, when the segment is loaded
|
|
541
|
-
* decodable chunk by decodable chunk, each being a subpart of this same
|
|
542
|
-
* segment.
|
|
543
|
-
*
|
|
544
|
-
* In that case, this callback might be called multiple times for subsequent
|
|
545
|
-
* decodable chunks until the Promise resolves.
|
|
546
|
-
*
|
|
547
|
-
* Not all segments are loaded in a "chunk" mode.
|
|
548
|
-
* The alternatives to this mode are:
|
|
549
|
-
*
|
|
550
|
-
* - when the segment is created locally without needing to perform any
|
|
551
|
-
* request.
|
|
552
|
-
*
|
|
553
|
-
* - when the segment is loaded as a whole.
|
|
554
|
-
*
|
|
555
|
-
* In both of those other cases, the segment data can be retrieved in the
|
|
556
|
-
* Promise returned by the segment loader instead.
|
|
557
|
-
*/
|
|
558
|
-
onNewChunk : (data : T) => void;
|
|
559
|
-
}
|
|
560
|
-
|
|
561
|
-
/** Information related to a pending Segment request progressing. */
|
|
562
|
-
export interface ISegmentLoadingProgressInformation {
|
|
563
|
-
/** Time since the beginning of the request so far, in seconds. */
|
|
564
|
-
duration : number;
|
|
565
|
-
/** Size of the data already downloaded, in bytes. */
|
|
566
|
-
size : number;
|
|
567
|
-
/** Size of whole data to download (data already-loaded included), in bytes. */
|
|
568
|
-
totalSize? : number | undefined;
|
|
569
|
-
}
|
|
570
|
-
|
|
571
|
-
/**
|
|
572
|
-
* Result returned by a segment loader when a segment has been loaded in a
|
|
573
|
-
* "chunk" mode.
|
|
574
|
-
* In that mode, the segment has been divided into multiple decodable chunks
|
|
575
|
-
* each sent in order through the `onNewChunk` callback of the corresponding
|
|
576
|
-
* loader.
|
|
577
|
-
*/
|
|
578
|
-
export interface ISegmentLoaderResultChunkedComplete {
|
|
579
|
-
resultType : "chunk-complete";
|
|
580
|
-
/** Information on the request performed. */
|
|
581
|
-
resultData : IChunkCompleteInformation;
|
|
582
|
-
}
|
|
583
|
-
|
|
584
|
-
/**
|
|
585
|
-
* Result returned by a segment loader when a segment has been loaded
|
|
586
|
-
* by performing a request.
|
|
587
|
-
*/
|
|
588
|
-
export interface ISegmentLoaderResultSegmentLoaded<T> {
|
|
589
|
-
resultType : "segment-loaded";
|
|
590
|
-
/** Segment data and information on the request. */
|
|
591
|
-
resultData : IRequestedData<T>;
|
|
592
|
-
}
|
|
593
|
-
|
|
594
|
-
/**
|
|
595
|
-
* Result returned by a segment loader when a segment has been fully
|
|
596
|
-
* created locally and thus did not depend on a request.
|
|
597
|
-
* TODO merge with ISegmentLoaderResultSegmentLoaded?
|
|
598
|
-
*/
|
|
599
|
-
export interface ISegmentLoaderResultSegmentCreated<T> {
|
|
600
|
-
resultType : "segment-created";
|
|
601
|
-
/** The data iself. */
|
|
602
|
-
resultData : T;
|
|
603
|
-
}
|
|
604
|
-
|
|
605
|
-
/** Data emitted in a `ISegmentLoaderResultChunkedComplete`. */
|
|
606
|
-
export interface IChunkCompleteInformation {
|
|
607
|
-
/** Duration the request took to be performed, in seconds. */
|
|
608
|
-
requestDuration : number | undefined;
|
|
609
|
-
/**
|
|
610
|
-
* "Real" URL (post-redirection) at which the segment was loaded.
|
|
611
|
-
*
|
|
612
|
-
* Note that this doesn't always apply e.g. some segment might need multiple
|
|
613
|
-
* URLs to be fetched, some other might need to fetch no URL.
|
|
614
|
-
* This property should only be set when a unique URL is sufficient to
|
|
615
|
-
* retrieve the whole data.
|
|
616
|
-
*/
|
|
617
|
-
url? : string | undefined;
|
|
618
|
-
/**
|
|
619
|
-
* Time at which the request began in terms of `performance.now`.
|
|
620
|
-
* If fetching the corresponding data necessitated to perform multiple
|
|
621
|
-
* requests, this time corresponds to the first request made.
|
|
622
|
-
*/
|
|
623
|
-
sendingTime? : number | undefined;
|
|
624
|
-
/**
|
|
625
|
-
* Time at which the request ended in terms of `performance.now`.
|
|
626
|
-
* If fetching the corresponding data necessitated to perform multiple
|
|
627
|
-
* requests, this time corresponds to the last request to end.
|
|
628
|
-
*/
|
|
629
|
-
receivedTime? : number | undefined;
|
|
630
|
-
/** Size in bytes of the loaded data. `undefined` if we don't know. */
|
|
631
|
-
size : number | undefined;
|
|
632
|
-
}
|
|
633
|
-
|
|
634
|
-
/** Format of a loaded audio and video segment before parsing. */
|
|
635
|
-
export type ILoadedAudioVideoSegmentFormat = Uint8Array |
|
|
636
|
-
ArrayBuffer |
|
|
637
|
-
null;
|
|
638
|
-
|
|
639
|
-
/** Format of a loaded text segment before parsing. */
|
|
640
|
-
export type ILoadedTextSegmentFormat = Uint8Array |
|
|
641
|
-
ArrayBuffer |
|
|
642
|
-
string |
|
|
643
|
-
null;
|
|
644
|
-
|
|
645
|
-
/** Format of a loaded image segment before parsing. */
|
|
646
|
-
export type ILoadedImageSegmentFormat = Uint8Array |
|
|
647
|
-
ArrayBuffer |
|
|
648
|
-
null;
|
|
649
|
-
|
|
650
|
-
/**
|
|
651
|
-
* Result returned by a segment parser when it parsed a chunk from an init
|
|
652
|
-
* segment (which does not contain media data).
|
|
653
|
-
*/
|
|
654
|
-
export interface ISegmentParserParsedInitChunk<DataType> {
|
|
655
|
-
segmentType : "init";
|
|
656
|
-
/**
|
|
657
|
-
* Initialization segment that can be directly pushed to the corresponding
|
|
658
|
-
* buffer.
|
|
659
|
-
*/
|
|
660
|
-
initializationData : DataType | null;
|
|
661
|
-
/**
|
|
662
|
-
* Timescale metadata found inside this initialization segment.
|
|
663
|
-
* That timescale might be useful when parsing further merdia segments.
|
|
664
|
-
*/
|
|
665
|
-
initTimescale? : number | undefined;
|
|
666
|
-
/**
|
|
667
|
-
* If set to `true`, some protection information has been found in this
|
|
668
|
-
* initialization segment and lead the corresponding `Representation`
|
|
669
|
-
* object to be updated with that new information.
|
|
670
|
-
*
|
|
671
|
-
* In that case, you can re-check any encryption-related information with the
|
|
672
|
-
* `Representation` linked to that segment.
|
|
673
|
-
*
|
|
674
|
-
* In the great majority of cases, this is set to `true` when new content
|
|
675
|
-
* protection initialization data to have been encountered.
|
|
676
|
-
*/
|
|
677
|
-
protectionDataUpdate : boolean;
|
|
678
|
-
/**
|
|
679
|
-
* Size in bytes of `initializationData`.
|
|
680
|
-
* `undefined` if unknown.
|
|
681
|
-
*
|
|
682
|
-
* Note: In some cases, such as when `initializationData` is under a format
|
|
683
|
-
* whose size is difficult to estimate (e.g. a JavaScript object), the
|
|
684
|
-
* `initializationDataSize` may either be set to `undefined` or, if available,
|
|
685
|
-
* to a sensible estimate (e.g. when a JavaScript object wraps large binary
|
|
686
|
-
* data, `initializationDataSize` may refer to that binary data only).
|
|
687
|
-
*/
|
|
688
|
-
initializationDataSize : number | undefined;
|
|
689
|
-
}
|
|
690
|
-
|
|
691
|
-
/**
|
|
692
|
-
* Result returned by a segment parser when it parsed a chunk from a media
|
|
693
|
-
* segment (which contains media data, unlike an initialization segment).
|
|
694
|
-
*/
|
|
695
|
-
export interface ISegmentParserParsedMediaChunk<DataType> {
|
|
696
|
-
segmentType : "media";
|
|
697
|
-
/**
|
|
698
|
-
* Parsed chunk of data that can be decoded.
|
|
699
|
-
* `null` if no data was parsed.
|
|
700
|
-
*/
|
|
701
|
-
chunkData : DataType | null;
|
|
702
|
-
/**
|
|
703
|
-
* Time information on this parsed chunk.
|
|
704
|
-
* `null` if unknown.
|
|
705
|
-
*/
|
|
706
|
-
chunkInfos : IChunkTimeInfo | null;
|
|
707
|
-
/**
|
|
708
|
-
* Size in bytes of `chunkData`.
|
|
709
|
-
* `undefined` if unknown.
|
|
710
|
-
*
|
|
711
|
-
* Note: In some cases, such as when `chunkData` is under a format whose size
|
|
712
|
-
* is difficult to estimate (e.g. a JavaScript object), the `chunkSize` may
|
|
713
|
-
* either be set to `undefined` or, if available, to a sensible estimate (e.g.
|
|
714
|
-
* when a JavaScript object wraps large binary data, `chunkSize` may refer to
|
|
715
|
-
* that binary data only).
|
|
716
|
-
*/
|
|
717
|
-
chunkSize : number | undefined;
|
|
718
|
-
/**
|
|
719
|
-
* time offset, in seconds, to add to the absolute timed data defined in
|
|
720
|
-
* `chunkData` to obtain the "real" wanted effective time.
|
|
721
|
-
*
|
|
722
|
-
* For example:
|
|
723
|
-
* If `chunkData` announces (when parsed by the demuxer or decoder) that the
|
|
724
|
-
* segment begins at 32 seconds, and `chunkOffset` equals to `4`, then the
|
|
725
|
-
* segment should really begin at 36 seconds (32 + 4).
|
|
726
|
-
*
|
|
727
|
-
* Note that `chunkInfos` needs not to be offseted as it should already
|
|
728
|
-
* contain the correct time information.
|
|
729
|
-
*/
|
|
730
|
-
chunkOffset : number;
|
|
731
|
-
/**
|
|
732
|
-
* start and end windows for the segment (part of the chunk respectively
|
|
733
|
-
* before and after that time will be ignored).
|
|
734
|
-
* `undefined` when their is no such limitation.
|
|
735
|
-
*/
|
|
736
|
-
appendWindow : [ number | undefined,
|
|
737
|
-
number | undefined ];
|
|
738
|
-
/**
|
|
739
|
-
* If set and not empty, then "events" have been encountered in this parsed
|
|
740
|
-
* chunks.
|
|
741
|
-
*/
|
|
742
|
-
inbandEvents? : IInbandEvent[] | undefined;
|
|
743
|
-
/**
|
|
744
|
-
* If set to `true`, then parsing this chunk revealed that the current
|
|
745
|
-
* Manifest instance needs to be refreshed.
|
|
746
|
-
*/
|
|
747
|
-
needsManifestRefresh?: boolean;
|
|
748
|
-
/**
|
|
749
|
-
* If set to `true`, some protection information has been found in this
|
|
750
|
-
* media segment and lead the corresponding `Representation` object to be
|
|
751
|
-
* updated with that new information.
|
|
752
|
-
*
|
|
753
|
-
* In that case, you can re-check any encryption-related information with the
|
|
754
|
-
* `Representation` linked to that segment.
|
|
755
|
-
*
|
|
756
|
-
* In the great majority of cases, this is set to `true` when new content
|
|
757
|
-
* protection initialization data to have been encountered.
|
|
758
|
-
*/
|
|
759
|
-
protectionDataUpdate : boolean;
|
|
760
|
-
}
|
|
761
|
-
|
|
762
|
-
/** Describe data loaded through a request. */
|
|
763
|
-
export interface IRequestedData<T> {
|
|
764
|
-
/** The loaded response data. */
|
|
765
|
-
responseData : T;
|
|
766
|
-
/** Duration the request took to be performed, in seconds. */
|
|
767
|
-
requestDuration : number | undefined;
|
|
768
|
-
/**
|
|
769
|
-
* "Real" URL (post-redirection) at which the data can be loaded.
|
|
770
|
-
*
|
|
771
|
-
* Note that this doesn't always apply e.g. some data might need multiple
|
|
772
|
-
* URLs to be fetched, some other might need to fetch no URL.
|
|
773
|
-
* This property should only be set when a unique URL is sufficient to
|
|
774
|
-
* retrieve the whole data.
|
|
775
|
-
*/
|
|
776
|
-
url? : string | undefined;
|
|
777
|
-
/**
|
|
778
|
-
* Time at which the request began in terms of `performance.now`.
|
|
779
|
-
* If fetching the corresponding data necessitated to perform multiple
|
|
780
|
-
* requests, this time corresponds to the first request made.
|
|
781
|
-
*/
|
|
782
|
-
sendingTime? : number | undefined;
|
|
783
|
-
/**
|
|
784
|
-
* Time at which the request ended in terms of `performance.now`.
|
|
785
|
-
* If fetching the corresponding data necessitated to perform multiple
|
|
786
|
-
* requests, this time corresponds to the last request to end.
|
|
787
|
-
*/
|
|
788
|
-
receivedTime? : number | undefined;
|
|
789
|
-
/** Size in bytes of the loaded data. `undefined` if we don't know. */
|
|
790
|
-
size : number | undefined;
|
|
791
|
-
}
|
|
792
|
-
|
|
793
|
-
export interface ITransportOptions {
|
|
794
|
-
aggressiveMode? : boolean | undefined;
|
|
795
|
-
checkMediaSegmentIntegrity? : boolean | undefined;
|
|
796
|
-
lowLatencyMode : boolean;
|
|
797
|
-
manifestLoader?: IManifestLoader | undefined;
|
|
798
|
-
manifestUpdateUrl? : string | undefined;
|
|
799
|
-
referenceDateTime? : number | undefined;
|
|
800
|
-
representationFilter? : IRepresentationFilter | undefined;
|
|
801
|
-
segmentLoader? : ICustomSegmentLoader | undefined;
|
|
802
|
-
serverSyncInfos? : IServerSyncInfos | undefined;
|
|
803
|
-
/* eslint-disable import/no-deprecated */
|
|
804
|
-
supplementaryImageTracks? : ISupplementaryImageTrack[] | undefined;
|
|
805
|
-
supplementaryTextTracks? : ISupplementaryTextTrack[] | undefined;
|
|
806
|
-
/* eslint-enable import/no-deprecated */
|
|
807
|
-
|
|
808
|
-
__priv_patchLastSegmentInSidx? : boolean | undefined;
|
|
809
|
-
}
|