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
|
@@ -1,74 +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 log from "../../../log";
|
|
18
|
-
import StaticRepresentationIndex from "../static";
|
|
19
|
-
|
|
20
|
-
describe("manifest - StaticRepresentationIndex", () => {
|
|
21
|
-
it("should return no init segment", () => {
|
|
22
|
-
const staticRI = new StaticRepresentationIndex({ media: "foo" });
|
|
23
|
-
expect(staticRI.getInitSegment()).toBe(null);
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it("should return a single segment with the maximum duration and the right url", () => {
|
|
27
|
-
const staticRI = new StaticRepresentationIndex({ media: "foo" });
|
|
28
|
-
expect(staticRI.getSegments()).toEqual([{ id: "0",
|
|
29
|
-
complete: true,
|
|
30
|
-
isInit: false,
|
|
31
|
-
number: 0,
|
|
32
|
-
time: 0,
|
|
33
|
-
duration: Number.MAX_VALUE,
|
|
34
|
-
end: Number.MAX_VALUE,
|
|
35
|
-
timescale: 1,
|
|
36
|
-
privateInfos: {},
|
|
37
|
-
url: "foo" }]);
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
it("should return no first position", () => {
|
|
41
|
-
const staticRI = new StaticRepresentationIndex({ media: "foo" });
|
|
42
|
-
expect(staticRI.getFirstAvailablePosition()).toBe(undefined);
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
it("should return no last position", () => {
|
|
46
|
-
const staticRI = new StaticRepresentationIndex({ media: "foo" });
|
|
47
|
-
expect(staticRI.getLastAvailablePosition()).toBe(undefined);
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
it("should never be refreshed", () => {
|
|
51
|
-
const staticRI = new StaticRepresentationIndex({ media: "foo" });
|
|
52
|
-
expect(staticRI.shouldRefresh()).toBe(false);
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
it("should never have a discontinuity", () => {
|
|
56
|
-
const staticRI = new StaticRepresentationIndex({ media: "foo" });
|
|
57
|
-
expect(staticRI.checkDiscontinuity()).toBe(null);
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
it("should never be awaiting segments", () => {
|
|
61
|
-
const staticRI = new StaticRepresentationIndex({ media: "foo" });
|
|
62
|
-
expect(staticRI.awaitSegmentBetween()).toBe(false);
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
it("should never replace and warn when trying to do so", () => {
|
|
66
|
-
const spy = jest.fn();
|
|
67
|
-
jest.spyOn(log, "warn").mockImplementation(spy);
|
|
68
|
-
const staticRI = new StaticRepresentationIndex({ media: "foo" });
|
|
69
|
-
|
|
70
|
-
staticRI._replace();
|
|
71
|
-
|
|
72
|
-
expect(spy).toHaveBeenCalledTimes(1);
|
|
73
|
-
});
|
|
74
|
-
});
|
|
@@ -1,31 +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 StaticRepresentationIndex from "./static";
|
|
18
|
-
import {
|
|
19
|
-
IBaseContentInfos,
|
|
20
|
-
IMetaPlaylistPrivateInfos,
|
|
21
|
-
IRepresentationIndex,
|
|
22
|
-
ISegment,
|
|
23
|
-
} from "./types";
|
|
24
|
-
|
|
25
|
-
export {
|
|
26
|
-
IBaseContentInfos,
|
|
27
|
-
IMetaPlaylistPrivateInfos,
|
|
28
|
-
IRepresentationIndex,
|
|
29
|
-
ISegment,
|
|
30
|
-
StaticRepresentationIndex,
|
|
31
|
-
};
|
|
@@ -1,158 +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 log from "../../log";
|
|
18
|
-
import {
|
|
19
|
-
IRepresentationIndex,
|
|
20
|
-
ISegment,
|
|
21
|
-
} from "./types";
|
|
22
|
-
|
|
23
|
-
export interface IStaticRepresentationIndexInfos { media: string }
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Simple RepresentationIndex implementation for static files.
|
|
27
|
-
* @class StaticRepresentationIndex
|
|
28
|
-
*/
|
|
29
|
-
export default class StaticRepresentationIndex implements IRepresentationIndex {
|
|
30
|
-
/** URL at which the content is available. */
|
|
31
|
-
private readonly _url : string;
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* @param {Object} infos
|
|
35
|
-
*/
|
|
36
|
-
constructor(infos : IStaticRepresentationIndexInfos) {
|
|
37
|
-
this._url = infos.media;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Static contents do not have any initialization segments.
|
|
42
|
-
* Just return null.
|
|
43
|
-
* @returns {null}
|
|
44
|
-
*/
|
|
45
|
-
getInitSegment() : null {
|
|
46
|
-
return null;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Returns the only Segment available here.
|
|
51
|
-
* @returns {Array.<Object>}
|
|
52
|
-
*/
|
|
53
|
-
getSegments() : ISegment[] {
|
|
54
|
-
return [{ id: "0",
|
|
55
|
-
isInit: false,
|
|
56
|
-
number: 0,
|
|
57
|
-
url: this._url,
|
|
58
|
-
time: 0,
|
|
59
|
-
end: Number.MAX_VALUE,
|
|
60
|
-
duration: Number.MAX_VALUE,
|
|
61
|
-
complete: true,
|
|
62
|
-
privateInfos: {},
|
|
63
|
-
timescale: 1 }];
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Returns first position in index.
|
|
68
|
-
* @returns {undefined}
|
|
69
|
-
*/
|
|
70
|
-
getFirstAvailablePosition() : undefined {
|
|
71
|
-
return ;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Returns last position in index.
|
|
76
|
-
* @returns {undefined}
|
|
77
|
-
*/
|
|
78
|
-
getLastAvailablePosition() : undefined {
|
|
79
|
-
return ;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Returns the absolute end in seconds this RepresentationIndex can reach once
|
|
84
|
-
* all segments are available.
|
|
85
|
-
* @returns {number|null|undefined}
|
|
86
|
-
*/
|
|
87
|
-
getEnd() : undefined {
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Returns:
|
|
93
|
-
* - `true` if in the given time interval, at least one new segment is
|
|
94
|
-
* expected to be available in the future.
|
|
95
|
-
* - `false` either if all segments in that time interval are already
|
|
96
|
-
* available for download or if none will ever be available for it.
|
|
97
|
-
* - `undefined` when it is not possible to tell.
|
|
98
|
-
*
|
|
99
|
-
* Always `false` in a `StaticRepresentationIndex` because all segments should
|
|
100
|
-
* be directly available.
|
|
101
|
-
* @returns {boolean}
|
|
102
|
-
*/
|
|
103
|
-
awaitSegmentBetween(): false {
|
|
104
|
-
return false;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Returns false as a static file never need to be refreshed.
|
|
109
|
-
* @returns {Boolean}
|
|
110
|
-
*/
|
|
111
|
-
shouldRefresh() : false {
|
|
112
|
-
return false;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* @returns {null}
|
|
117
|
-
*/
|
|
118
|
-
checkDiscontinuity() : null {
|
|
119
|
-
return null;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Returns true as a static file should never need lose availability.
|
|
124
|
-
* @returns {Boolean}
|
|
125
|
-
*/
|
|
126
|
-
isSegmentStillAvailable() : true {
|
|
127
|
-
return true;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* @returns {Boolean}
|
|
132
|
-
*/
|
|
133
|
-
canBeOutOfSyncError() : false {
|
|
134
|
-
return false;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* @returns {Boolean}
|
|
139
|
-
*/
|
|
140
|
-
isStillAwaitingFutureSegments() : false {
|
|
141
|
-
return false;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* @returns {Boolean}
|
|
146
|
-
*/
|
|
147
|
-
isInitialized() : true {
|
|
148
|
-
return true;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
_replace() : void {
|
|
152
|
-
log.warn("Tried to replace a static RepresentationIndex");
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
_update() : void {
|
|
156
|
-
log.warn("Tried to update a static RepresentationIndex");
|
|
157
|
-
}
|
|
158
|
-
}
|
|
@@ -1,433 +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 { IEMSG } from "../../parsers/containers/isobmff";
|
|
23
|
-
import {
|
|
24
|
-
ILocalIndexSegment,
|
|
25
|
-
ILocalManifestInitSegmentLoader,
|
|
26
|
-
ILocalManifestSegmentLoader,
|
|
27
|
-
} from "../../parsers/manifest/local";
|
|
28
|
-
import { IPlayerError } from "../../public_types";
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Supplementary information specific to Smooth Initialization segments.
|
|
32
|
-
* Contains every information needed to generate an initialization segment.
|
|
33
|
-
*/
|
|
34
|
-
export interface ISmoothInitSegmentPrivateInfos {
|
|
35
|
-
/**
|
|
36
|
-
* Timescale the segments are in, in the Manifest.
|
|
37
|
-
* Needed because Smooth segment are created in JS based on timing information
|
|
38
|
-
* as found in the Manifest.
|
|
39
|
-
*/
|
|
40
|
-
timescale : number;
|
|
41
|
-
codecPrivateData? : string | undefined;
|
|
42
|
-
bitsPerSample? : number | undefined;
|
|
43
|
-
channels? : number | undefined;
|
|
44
|
-
packetSize? : number | undefined;
|
|
45
|
-
samplingRate? : number | undefined;
|
|
46
|
-
protection? : { keyId : Uint8Array } | undefined;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Supplementary information specific to Smooth media segments (that is, every
|
|
51
|
-
* segments but the initialization segment).
|
|
52
|
-
*/
|
|
53
|
-
export interface ISmoothMediaSegmentPrivateInfos {
|
|
54
|
-
/**
|
|
55
|
-
* Start time of the segment as announced in the Manifest, in the same
|
|
56
|
-
* timescale than the one indicated through `ISmoothInitSegmentPrivateInfos`.
|
|
57
|
-
*/
|
|
58
|
-
time : number;
|
|
59
|
-
/**
|
|
60
|
-
* Duration of the segment as announced in the Manifest, in the same timescale
|
|
61
|
-
* than the one indicated through `ISmoothInitSegmentPrivateInfos`.
|
|
62
|
-
*/
|
|
63
|
-
duration : number;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/** Describes a given "real" Manifest for MetaPlaylist's segments. */
|
|
67
|
-
export interface IBaseContentInfos { manifest: Manifest;
|
|
68
|
-
period: Period;
|
|
69
|
-
adaptation: Adaptation;
|
|
70
|
-
representation: Representation; }
|
|
71
|
-
|
|
72
|
-
/** Supplementary information needed for segments in the "metaplaylist" transport. */
|
|
73
|
-
export interface IMetaPlaylistPrivateInfos {
|
|
74
|
-
/** The original transport protocol (e.g. "dash", "smooth" etc.) */
|
|
75
|
-
transportType : string;
|
|
76
|
-
/** The context this segment is in. */
|
|
77
|
-
baseContent : IBaseContentInfos;
|
|
78
|
-
/** The segment originally created by this transport's RepresentationIndex. */
|
|
79
|
-
originalSegment : ISegment;
|
|
80
|
-
contentStart : number;
|
|
81
|
-
contentEnd? : number | undefined;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Supplementary information needed for initialization segments of the "local"
|
|
86
|
-
* transport.
|
|
87
|
-
*/
|
|
88
|
-
export interface ILocalManifestInitSegmentPrivateInfos {
|
|
89
|
-
/** Callback used to load that segment. */
|
|
90
|
-
load : ILocalManifestInitSegmentLoader;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/** Supplementary information needed for media segments of the "local" transport. */
|
|
94
|
-
export interface ILocalManifestSegmentPrivateInfos {
|
|
95
|
-
/** Callback used to load that segment. */
|
|
96
|
-
load : ILocalManifestSegmentLoader;
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Exact same segment than the one given in a local manifest.
|
|
100
|
-
* Stored (with at best the same reference than in it) to facilitate the job
|
|
101
|
-
* of retrieving the wanted segment (this task will generally be done by the
|
|
102
|
-
* content downloader tool) when the RxPlayer asks for it.
|
|
103
|
-
*/
|
|
104
|
-
segment : ILocalIndexSegment;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Supplementary information that can be added to any segment depending on the
|
|
109
|
-
* tranport logic used.
|
|
110
|
-
* Called "private" as it won't be read or exploited by any code in the core
|
|
111
|
-
* logic of the player. That information is only here to be retrieved and
|
|
112
|
-
* exploited by the corresponding transport logic.
|
|
113
|
-
*/
|
|
114
|
-
export interface IPrivateInfos {
|
|
115
|
-
/** Smooth-specific information allowing to generate an initialization segment. */
|
|
116
|
-
smoothInitSegment? : ISmoothInitSegmentPrivateInfos;
|
|
117
|
-
|
|
118
|
-
/** Smooth-specific information linked to all Smooth media segments. */
|
|
119
|
-
smoothMediaSegment? : ISmoothMediaSegmentPrivateInfos;
|
|
120
|
-
|
|
121
|
-
/** Information that should be present on all MetaPlaylist segments. */
|
|
122
|
-
metaplaylistInfos? : IMetaPlaylistPrivateInfos;
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* Local Manifest-specific information allowing to request the
|
|
126
|
-
* initialization segment.
|
|
127
|
-
*/
|
|
128
|
-
localManifestInitSegment? : ILocalManifestInitSegmentPrivateInfos;
|
|
129
|
-
|
|
130
|
-
/** Local Manifest-specific information allowing to request any media segment. */
|
|
131
|
-
localManifestSegment? : ILocalManifestSegmentPrivateInfos;
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* Function allowing to know if a given emsg's event name has been
|
|
135
|
-
* explicitely authorized.
|
|
136
|
-
*/
|
|
137
|
-
isEMSGWhitelisted? : ((evt: IEMSG) => boolean);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
/** Represent a single Segment from a Representation. */
|
|
141
|
-
export interface ISegment {
|
|
142
|
-
/** ID of the Segment. Should be unique for this Representation. */
|
|
143
|
-
id : string;
|
|
144
|
-
/**
|
|
145
|
-
* If true, this segment is an initialization segment with no decodable data.
|
|
146
|
-
*
|
|
147
|
-
* Those types of segment contain no decodable data and are only there for
|
|
148
|
-
* initialization purposes, such as giving initial infos to the decoder on
|
|
149
|
-
* subsequent media segments that will be pushed.
|
|
150
|
-
*
|
|
151
|
-
* Note that if `isInit` is false, it only means that the segment contains
|
|
152
|
-
* decodable media, it can also contain important initialization information.
|
|
153
|
-
*
|
|
154
|
-
* Also, a segment which would contain both all initialization data and the
|
|
155
|
-
* decodable data would have `isInit` set to `false` as it is not purely an
|
|
156
|
-
* initialization segment.
|
|
157
|
-
*
|
|
158
|
-
* Segments which are not purely an initialization segments are called "media
|
|
159
|
-
* segments" in the code.
|
|
160
|
-
*/
|
|
161
|
-
isInit : boolean;
|
|
162
|
-
/**
|
|
163
|
-
* Store supplementary information on a segment that can be later exploited by
|
|
164
|
-
* the transport logic.
|
|
165
|
-
*/
|
|
166
|
-
privateInfos : IPrivateInfos;
|
|
167
|
-
/**
|
|
168
|
-
* Estimated time, in seconds, at which the concerned segment should be
|
|
169
|
-
* offseted when decoded.
|
|
170
|
-
*/
|
|
171
|
-
timestampOffset? : number | undefined;
|
|
172
|
-
/**
|
|
173
|
-
* Estimated start time for the segment, in seconds.
|
|
174
|
-
* Note that some rounding errors and some differences between what the
|
|
175
|
-
* Manifest says and what the content really is might make that time not
|
|
176
|
-
* exact.
|
|
177
|
-
*
|
|
178
|
-
* `0` for initialization segments.
|
|
179
|
-
*/
|
|
180
|
-
time : number;
|
|
181
|
-
/**
|
|
182
|
-
* Estimated end time for the segment, in seconds.
|
|
183
|
-
* Note that some rounding errors and some differences between what the
|
|
184
|
-
* Manifest says and what the content really is might make that time not
|
|
185
|
-
* exact.
|
|
186
|
-
*
|
|
187
|
-
* `0` for initialization segments.
|
|
188
|
-
*/
|
|
189
|
-
end : number;
|
|
190
|
-
/**
|
|
191
|
-
* Estimated duration for the segment, in seconds.
|
|
192
|
-
*
|
|
193
|
-
* Note that this may not reflect the exact segment duration:
|
|
194
|
-
*
|
|
195
|
-
* 1. In some very specific cases, segments might be generated and served
|
|
196
|
-
* progressively. In this case, the full duration of a segment might not
|
|
197
|
-
* be yet known and thus this property only reflect the currently known
|
|
198
|
-
* `duration` of the segment, which may be inferior to its final duration.
|
|
199
|
-
*
|
|
200
|
-
* You can know if we're in that case when the `complete` property of
|
|
201
|
-
* this same segment is set to `false`.
|
|
202
|
-
*
|
|
203
|
-
* 2. some rounding errors and some differences between what the
|
|
204
|
-
* Manifest says and what the content really is might make that time not
|
|
205
|
-
* exact.
|
|
206
|
-
*
|
|
207
|
-
* `0` for initialization segments.
|
|
208
|
-
*/
|
|
209
|
-
duration : number;
|
|
210
|
-
/**
|
|
211
|
-
* Always set to 1 for API compatibility with v3.X.X.
|
|
212
|
-
* This was intended for conversion of the `time` and `duration` properties
|
|
213
|
-
* into seconds.
|
|
214
|
-
*
|
|
215
|
-
* As both are always in seconds now, this property became unneeded.
|
|
216
|
-
*/
|
|
217
|
-
timescale : 1;
|
|
218
|
-
/**
|
|
219
|
-
* If `false`, this segment's `duration` property may not be the duration of
|
|
220
|
-
* the full segment as it could still be in the process of being generated
|
|
221
|
-
* on the server-side (when this `ISegment` had been constructed).
|
|
222
|
-
*
|
|
223
|
-
* Note that if the `duration` is sure to be the final one, `complete`
|
|
224
|
-
* should be set to `true` even if the segment is still being
|
|
225
|
-
* generated.
|
|
226
|
-
*/
|
|
227
|
-
complete : boolean;
|
|
228
|
-
/**
|
|
229
|
-
* Optional relative or absolute URL to load the resource.
|
|
230
|
-
*
|
|
231
|
-
* If the URL is absolute (it contains the scheme at the beginning), it is the
|
|
232
|
-
* complete URL on which the resource should be requested.
|
|
233
|
-
*
|
|
234
|
-
* If the URL is relative (it does not contain a scheme at the beginning), it
|
|
235
|
-
* should be relative to the chosen CDN that should be recuperated through
|
|
236
|
-
* another mean
|
|
237
|
-
*
|
|
238
|
-
* If `null`, it means either:
|
|
239
|
-
*
|
|
240
|
-
* - that there is no way to reach the resource through a URL.
|
|
241
|
-
*
|
|
242
|
-
* - that there may be an URL, but is already communicated through another
|
|
243
|
-
* mean, like the currently chosen CDN.
|
|
244
|
-
*
|
|
245
|
-
* An empty string is equivalent to indicating that the chosen CDN's URL
|
|
246
|
-
* should be directly requested instead.
|
|
247
|
-
* In that way, it is equivalent to setting it to `null`.
|
|
248
|
-
*/
|
|
249
|
-
url : string | null;
|
|
250
|
-
|
|
251
|
-
/**
|
|
252
|
-
* Optional byte range to retrieve the Segment from its URL(s).
|
|
253
|
-
* TODO this should probably moved to `privateInfos` as this is
|
|
254
|
-
* transport-specific metadata only useful for performing requests, but it is
|
|
255
|
-
* sadly documented in the API, so moving it is actuall a v3.X.X breaking
|
|
256
|
-
* change.
|
|
257
|
-
*/
|
|
258
|
-
range? : [number, number] | undefined;
|
|
259
|
-
/**
|
|
260
|
-
* If set, the corresponding byte-range in the downloaded segment will
|
|
261
|
-
* contain an index describing other Segments
|
|
262
|
-
* TODO this should probably moved to `privateInfos` as this is
|
|
263
|
-
* transport-specific metadata only useful for performing requests, but it is
|
|
264
|
-
* sadly documented in the API, so moving it is actuall a v3.X.X breaking
|
|
265
|
-
* change.
|
|
266
|
-
*/
|
|
267
|
-
indexRange? : [number, number] | undefined;
|
|
268
|
-
/**
|
|
269
|
-
* Optional number of the Segment.
|
|
270
|
-
* TODO this should probably moved to `privateInfos` as this is
|
|
271
|
-
* transport-specific metadata only useful for performing requests, but it is
|
|
272
|
-
* sadly documented in the API, so moving it is actuall a v3.X.X breaking
|
|
273
|
-
* change.
|
|
274
|
-
*/
|
|
275
|
-
number? : number | undefined;
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
/** Interface that should be implemented by any Representation's `index` value. */
|
|
279
|
-
export interface IRepresentationIndex {
|
|
280
|
-
/**
|
|
281
|
-
* Returns Segment object for the initialization segment, allowing to do the
|
|
282
|
-
* Init Segment request.
|
|
283
|
-
*
|
|
284
|
-
* `null` if there's no initialization segment.
|
|
285
|
-
* @returns {Object}
|
|
286
|
-
*/
|
|
287
|
-
getInitSegment() : ISegment|null;
|
|
288
|
-
|
|
289
|
-
/**
|
|
290
|
-
* Returns an array of Segments needed for the amount of time given.
|
|
291
|
-
* @param {number} up - The first wanted position, in seconds.
|
|
292
|
-
* @param {number} duration - The amount of time in seconds you want from the
|
|
293
|
-
* starting position given in `up`.
|
|
294
|
-
* @returns {Array.<Object>} - The list of segments corresponding to your
|
|
295
|
-
* wanted range.
|
|
296
|
-
*/
|
|
297
|
-
getSegments(up : number, duration : number) : ISegment[];
|
|
298
|
-
|
|
299
|
-
/**
|
|
300
|
-
* Returns `true` if, from the given situation, the manifest has to be
|
|
301
|
-
* refreshed.
|
|
302
|
-
* @param {number} up - Beginning time in seconds of the range that is
|
|
303
|
-
* currently wanted.
|
|
304
|
-
* @param {number} to - Ending time in seconds of the range that is
|
|
305
|
-
* currently wanted.
|
|
306
|
-
* @returns {Boolean}
|
|
307
|
-
*/
|
|
308
|
-
shouldRefresh(up : number, to : number) : boolean;
|
|
309
|
-
|
|
310
|
-
/**
|
|
311
|
-
* Returns the starting time, in seconds, of the earliest segment currently
|
|
312
|
-
* available in this index.
|
|
313
|
-
* Returns `null` if nothing is in the index
|
|
314
|
-
* Returns `undefined` if we cannot know this value.
|
|
315
|
-
* @returns {Number|null}
|
|
316
|
-
*/
|
|
317
|
-
getFirstAvailablePosition() : number | null | undefined;
|
|
318
|
-
|
|
319
|
-
/**
|
|
320
|
-
* Returns the ending time, in seconds, of the last playable position
|
|
321
|
-
* currently available in this index.
|
|
322
|
-
* Returns `null` if nothing is in the index
|
|
323
|
-
* Returns `undefined` if we cannot know this value.
|
|
324
|
-
*
|
|
325
|
-
* The last playable position is generally equivalent to the end of the last
|
|
326
|
-
* segment associated to this index, excepted when it goes over the end limit
|
|
327
|
-
* of the corresponding `Period`, in which case it will be equal to this end
|
|
328
|
-
* instead.
|
|
329
|
-
* @returns {Number|null|undefined}
|
|
330
|
-
*/
|
|
331
|
-
getLastAvailablePosition() : number | null | undefined;
|
|
332
|
-
|
|
333
|
-
/**
|
|
334
|
-
* Returns the ending time, in seconds, of the Representation once it is
|
|
335
|
-
* "finished" (@see isStillAwaitingFutureSegments).
|
|
336
|
-
* Should thus be equivalent to `getLastAvailablePosition` once finished.
|
|
337
|
-
*
|
|
338
|
-
* Returns `null` if nothing is in the index
|
|
339
|
-
* Returns `undefined` if we cannot know this value.
|
|
340
|
-
*
|
|
341
|
-
* @returns {number|undefined}
|
|
342
|
-
*/
|
|
343
|
-
getEnd() : number | null | undefined;
|
|
344
|
-
|
|
345
|
-
/**
|
|
346
|
-
* Returns `true` if a Segment returned by this index is still considered
|
|
347
|
-
* available.
|
|
348
|
-
* Returns `false` if it is not available anymore.
|
|
349
|
-
* Returns `undefined` if we cannot know whether it is still available or not.
|
|
350
|
-
* @param {Object} segment
|
|
351
|
-
* @returns {Boolean|undefined}
|
|
352
|
-
*/
|
|
353
|
-
isSegmentStillAvailable(segment : ISegment) : boolean | undefined;
|
|
354
|
-
|
|
355
|
-
/**
|
|
356
|
-
* Returns true if the `error` given following the request of `segment` can
|
|
357
|
-
* indicate that the index became "de-synchronized" with the server.
|
|
358
|
-
*
|
|
359
|
-
* Reasons for de-synchronizations includes for example Manifest parsing
|
|
360
|
-
* optimizations where a newer version will not be totally parsed. In those
|
|
361
|
-
* conditions, we could be left with doing a segment request for a segment
|
|
362
|
-
* that does not really exists.
|
|
363
|
-
*
|
|
364
|
-
* Note: This API assumes that the user first checked that the segment is
|
|
365
|
-
* still available through `isSegmentStillAvailable`.
|
|
366
|
-
* @param {Error} error
|
|
367
|
-
* @param {Object} segment
|
|
368
|
-
* @returns {Boolean}
|
|
369
|
-
*/
|
|
370
|
-
canBeOutOfSyncError(error : IPlayerError, segment : ISegment) : boolean;
|
|
371
|
-
|
|
372
|
-
/**
|
|
373
|
-
* Checks if the given time - in seconds - is in a discontinuity.
|
|
374
|
-
* That is a "hole" in the stream with no segment defined.
|
|
375
|
-
* If that's the case, return the next available position where a segment
|
|
376
|
-
* should be available.
|
|
377
|
-
* If that's not the case, return `null`.
|
|
378
|
-
* @param {number} time - The time to check if it's in a discontinuity, in
|
|
379
|
-
* seconds.
|
|
380
|
-
* @returns {number | null} - If `null`, no discontinuity is encountered at
|
|
381
|
-
* `time`. If this is a number instead, there is one and that number is the
|
|
382
|
-
* position for which a segment is available in seconds.
|
|
383
|
-
*/
|
|
384
|
-
checkDiscontinuity(time : number) : number | null;
|
|
385
|
-
|
|
386
|
-
/**
|
|
387
|
-
* Returns `false` if the last segments in this index have already been
|
|
388
|
-
* generated so that we can freely go to the next period.
|
|
389
|
-
* Returns `true` if the index is still waiting on future segments to be
|
|
390
|
-
* generated.
|
|
391
|
-
* @returns {boolean}
|
|
392
|
-
*/
|
|
393
|
-
isStillAwaitingFutureSegments() : boolean;
|
|
394
|
-
|
|
395
|
-
/**
|
|
396
|
-
* Returns `true` if this index has all the data it needs to give the list
|
|
397
|
-
* of available segments.
|
|
398
|
-
* Returns `false` if you first should load its initialization segment (or
|
|
399
|
-
* the initialization segment's associated index file) to get the list of
|
|
400
|
-
* available segments.
|
|
401
|
-
*
|
|
402
|
-
* Most index don't rely on the initialization segment to give an index and
|
|
403
|
-
* as such, this method should return `true` directly.
|
|
404
|
-
* However in some index, the segment lists might only be known after the
|
|
405
|
-
* initialization has been loaded. In those case, it should return `false`
|
|
406
|
-
* until the corresponding segment list is known, at which point it can return
|
|
407
|
-
* `true`.
|
|
408
|
-
*
|
|
409
|
-
* You can use any ad-hoc mean you want to "initialize" an index.
|
|
410
|
-
* This is usually done by adding supplementary methods (like one named
|
|
411
|
-
* `initialize`) to that `RepresentationIndex` and calling it directly in the
|
|
412
|
-
* segment parsing code.
|
|
413
|
-
* @returns {boolean}
|
|
414
|
-
*/
|
|
415
|
-
isInitialized() : boolean;
|
|
416
|
-
|
|
417
|
-
awaitSegmentBetween(start : number, end : number) : boolean | undefined;
|
|
418
|
-
|
|
419
|
-
/**
|
|
420
|
-
* Replace the index with another one, such as after a Manifest update.
|
|
421
|
-
* @param {Object} newIndex
|
|
422
|
-
*/
|
|
423
|
-
_replace(newIndex : IRepresentationIndex) : void;
|
|
424
|
-
|
|
425
|
-
/**
|
|
426
|
-
* Update the current index with a new, partial, version.
|
|
427
|
-
* Unlike `replace`, this method do not completely overwrite the information
|
|
428
|
-
* about this index's segments, it should mainly add new information about new
|
|
429
|
-
* announced segments.
|
|
430
|
-
* @param {Object} newIndex
|
|
431
|
-
*/
|
|
432
|
-
_update(newIndex : IRepresentationIndex) : void;
|
|
433
|
-
}
|