rx-player 3.33.0 → 3.33.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/VERSION +1 -1
- package/dist/_esm5.processed/core/api/public_api.js +2 -2
- package/dist/_esm5.processed/manifest/manifest.js +1 -0
- package/dist/_esm5.processed/utils/retry_promise_with_backoff.d.ts +11 -0
- package/dist/_esm5.processed/utils/retry_promise_with_backoff.js +18 -4
- package/dist/mpd-parser.wasm +0 -0
- package/dist/rx-player.d.ts +1 -1
- package/dist/rx-player.js +24 -9
- package/dist/rx-player.min.d.ts +1 -1
- package/dist/rx-player.min.js +1 -1
- package/package.json +6 -6
- package/.editorconfig +0 -22
- package/.eslintrc.js +0 -406
- package/.github/workflows/checks.yml +0 -101
- package/.github/workflows/perfs.yml +0 -22
- package/.github/workflows/sonarcloud_analysis.yml +0 -20
- package/CONTRIBUTING.md +0 -272
- package/FILES.md +0 -283
- package/jest.config.js +0 -73
- package/manifest.mpd +0 -149
- package/scripts/README.md +0 -11
- package/scripts/build/constants.d.ts +0 -53
- package/scripts/build/generate_build.js +0 -190
- package/scripts/build/templates/experimental/features/index.d.ts +0 -16
- package/scripts/build/templates/experimental/features/index.js +0 -16
- package/scripts/build/templates/experimental/index.d.ts +0 -16
- package/scripts/build/templates/experimental/index.js +0 -16
- package/scripts/build/templates/experimental/tools/VideoThumbnailLoader/index.d.ts +0 -18
- package/scripts/build/templates/experimental/tools/VideoThumbnailLoader/index.js +0 -18
- package/scripts/build/templates/experimental/tools/index.d.ts +0 -16
- package/scripts/build/templates/experimental/tools/index.js +0 -16
- package/scripts/build/templates/features/index.d.ts +0 -16
- package/scripts/build/templates/features/index.js +0 -16
- package/scripts/build/templates/logger/index.d.ts +0 -17
- package/scripts/build/templates/logger/index.js +0 -17
- package/scripts/build/templates/minimal/index.d.ts +0 -17
- package/scripts/build/templates/minimal/index.js +0 -17
- package/scripts/build/templates/tools/TextTrackRenderer.d.ts +0 -18
- package/scripts/build/templates/tools/TextTrackRenderer.js +0 -18
- package/scripts/build/templates/tools/index.d.ts +0 -16
- package/scripts/build/templates/tools/index.js +0 -16
- package/scripts/build/templates/tools/string-utils.d.ts +0 -18
- package/scripts/build/templates/tools/string-utils.js +0 -18
- package/scripts/build/templates/types/index.d.ts +0 -16
- package/scripts/build/templates/types/index.js +0 -15
- package/scripts/canal-release.patch +0 -316
- package/scripts/check_nodejs_import_compatibility.js +0 -60
- package/scripts/deploy_new_demo +0 -123
- package/scripts/fast_demo_build.js +0 -129
- package/scripts/generate_certificate +0 -19
- package/scripts/generate_demo_list.js +0 -105
- package/scripts/generate_documentation_list.js +0 -109
- package/scripts/generate_full_demo.js +0 -201
- package/scripts/generate_standalone_demo.js +0 -82
- package/scripts/launch_static_server.js +0 -163
- package/scripts/list-npm-scripts.js +0 -207
- package/scripts/make-dev-releases +0 -90
- package/scripts/report_build_sizes +0 -96
- package/scripts/run_standalone_demo.js +0 -27
- package/scripts/start_demo_web_server.js +0 -44
- package/scripts/update-version +0 -48
- package/scripts/update_gh-pages_demo +0 -132
- package/scripts/update_gh-pages_doc +0 -106
- package/scripts/utils/display_webpack_errors.js +0 -33
- package/scripts/utils/get_human_readable_hours.js +0 -14
- package/scripts/wasm-strip.js +0 -359
- package/sonar-project.properties +0 -7
- package/src/README.md +0 -136
- package/src/compat/README.md +0 -29
- package/src/compat/__tests__/add_text_track.test.ts +0 -176
- package/src/compat/__tests__/browser_compatibility_types.test.ts +0 -152
- package/src/compat/__tests__/browser_version.test.ts +0 -84
- package/src/compat/__tests__/can_patch_isobmff.test.ts +0 -50
- package/src/compat/__tests__/can_rely_on_video_visibility_and_size.test.ts +0 -78
- package/src/compat/__tests__/can_reuse_media_keys.test.ts +0 -31
- package/src/compat/__tests__/change_source_buffer_type.test.ts +0 -60
- package/src/compat/__tests__/clear_element_src.test.ts +0 -252
- package/src/compat/__tests__/enable_audio_track.test.ts +0 -341
- package/src/compat/__tests__/fullscreen.test.ts +0 -286
- package/src/compat/__tests__/is_codec_supported.test.ts +0 -78
- package/src/compat/__tests__/is_offline.test.ts +0 -65
- package/src/compat/__tests__/is_seeking_approximate.test.ts +0 -48
- package/src/compat/__tests__/is_vtt_cue.test.ts +0 -71
- package/src/compat/__tests__/make_vtt_cue.test.ts +0 -97
- package/src/compat/__tests__/patch_webkit_source_buffer.test.ts +0 -144
- package/src/compat/__tests__/remove_cue.test.ts +0 -229
- package/src/compat/__tests__/should_favour_custom_safari_EME.test.ts +0 -128
- package/src/compat/__tests__/should_reload_media_source_on_decipherability_update.test.ts +0 -50
- package/src/compat/__tests__/should_renew_media_key_system_access.test.ts +0 -55
- package/src/compat/__tests__/should_unset_media_keys.test.ts +0 -53
- package/src/compat/__tests__/should_validate_metadata.test.ts +0 -53
- package/src/compat/__tests__/should_wait_for_data_before_loaded.test.ts +0 -121
- package/src/compat/__tests__/should_wait_for_have_enough_data.test.ts +0 -36
- package/src/compat/add_class_name.ts +0 -41
- package/src/compat/add_text_track.ts +0 -58
- package/src/compat/browser_compatibility_types.ts +0 -222
- package/src/compat/browser_detection.ts +0 -172
- package/src/compat/browser_version.ts +0 -44
- package/src/compat/can_patch_isobmff.ts +0 -30
- package/src/compat/can_rely_on_video_visibility_and_size.ts +0 -52
- package/src/compat/can_reuse_media_keys.ts +0 -20
- package/src/compat/change_source_buffer_type.ts +0 -66
- package/src/compat/clear_element_src.ts +0 -55
- package/src/compat/eme/close_session.ts +0 -111
- package/src/compat/eme/constants.ts +0 -21
- package/src/compat/eme/custom_key_system_access.ts +0 -67
- package/src/compat/eme/custom_media_keys/ie11_media_keys.ts +0 -186
- package/src/compat/eme/custom_media_keys/index.ts +0 -28
- package/src/compat/eme/custom_media_keys/moz_media_keys_constructor.ts +0 -88
- package/src/compat/eme/custom_media_keys/ms_media_keys_constructor.ts +0 -69
- package/src/compat/eme/custom_media_keys/old_webkit_media_keys.ts +0 -235
- package/src/compat/eme/custom_media_keys/types.ts +0 -67
- package/src/compat/eme/custom_media_keys/webkit_media_keys.ts +0 -308
- package/src/compat/eme/custom_media_keys/webkit_media_keys_constructor.ts +0 -50
- package/src/compat/eme/eme-api-implementation.ts +0 -318
- package/src/compat/eme/generate_key_request.ts +0 -162
- package/src/compat/eme/get_init_data.ts +0 -159
- package/src/compat/eme/get_uuid_kid_from_keystatus_kid.ts +0 -37
- package/src/compat/eme/get_webkit_fairplay_initdata.ts +0 -75
- package/src/compat/eme/index.ts +0 -47
- package/src/compat/eme/load_session.ts +0 -67
- package/src/compat/enable_audio_track.ts +0 -33
- package/src/compat/event_listeners.ts +0 -566
- package/src/compat/fullscreen.ts +0 -87
- package/src/compat/get_start_date.ts +0 -48
- package/src/compat/has_issues_with_high_media_source_duration.ts +0 -27
- package/src/compat/index.ts +0 -87
- package/src/compat/is_codec_supported.ts +0 -40
- package/src/compat/is_debug_mode_enabled.ts +0 -12
- package/src/compat/is_node.ts +0 -18
- package/src/compat/is_offline.ts +0 -44
- package/src/compat/is_seeking_approximate.ts +0 -32
- package/src/compat/is_vtt_cue.ts +0 -30
- package/src/compat/make_vtt_cue.ts +0 -51
- package/src/compat/on_height_width_change.ts +0 -119
- package/src/compat/patch_webkit_source_buffer.ts +0 -89
- package/src/compat/remove_cue.ts +0 -64
- package/src/compat/should_favour_custom_safari_EME.ts +0 -34
- package/src/compat/should_prevent_seeking_at_0_initially.ts +0 -19
- package/src/compat/should_reload_media_source_on_decipherability_update.ts +0 -32
- package/src/compat/should_renew_media_key_system_access.ts +0 -26
- package/src/compat/should_unset_media_keys.ts +0 -27
- package/src/compat/should_validate_metadata.ts +0 -27
- package/src/compat/should_wait_for_data_before_loaded.ts +0 -35
- package/src/compat/should_wait_for_have_enough_data.ts +0 -17
- package/src/config.ts +0 -32
- package/src/core/README.md +0 -56
- package/src/core/adaptive/README.md +0 -147
- package/src/core/adaptive/__tests__/buffer_based_chooser.test.ts +0 -548
- package/src/core/adaptive/adaptive_representation_selector.ts +0 -916
- package/src/core/adaptive/buffer_based_chooser.ts +0 -264
- package/src/core/adaptive/guess_based_chooser.ts +0 -309
- package/src/core/adaptive/index.ts +0 -45
- package/src/core/adaptive/network_analyzer.ts +0 -419
- package/src/core/adaptive/utils/__tests__/bandwith_estimator.test.ts +0 -134
- package/src/core/adaptive/utils/__tests__/ewma.test.ts +0 -79
- package/src/core/adaptive/utils/__tests__/filter_by_bitrate.test.ts +0 -56
- package/src/core/adaptive/utils/__tests__/filter_by_width.test.ts +0 -60
- package/src/core/adaptive/utils/__tests__/get_buffer_levels.test.ts +0 -48
- package/src/core/adaptive/utils/__tests__/select_optimal_representation.test.ts +0 -243
- package/src/core/adaptive/utils/bandwidth_estimator.ts +0 -88
- package/src/core/adaptive/utils/ewma.ts +0 -59
- package/src/core/adaptive/utils/filter_by_bitrate.ts +0 -46
- package/src/core/adaptive/utils/filter_by_width.ts +0 -49
- package/src/core/adaptive/utils/get_buffer_levels.ts +0 -50
- package/src/core/adaptive/utils/last_estimate_storage.ts +0 -79
- package/src/core/adaptive/utils/pending_requests_store.ts +0 -147
- package/src/core/adaptive/utils/representation_score_calculator.ts +0 -168
- package/src/core/adaptive/utils/select_optimal_representation.ts +0 -54
- package/src/core/api/README.md +0 -36
- package/src/core/api/__tests__/option_utils.test.ts +0 -1668
- package/src/core/api/__tests__/public_api.test.ts +0 -857
- package/src/core/api/__tests__/utils.test.ts +0 -195
- package/src/core/api/debug/buffer_graph.ts +0 -244
- package/src/core/api/debug/buffer_size_graph.ts +0 -130
- package/src/core/api/debug/constants.ts +0 -2
- package/src/core/api/debug/index.ts +0 -3
- package/src/core/api/debug/modules/general_info.ts +0 -213
- package/src/core/api/debug/modules/segment_buffer_content.ts +0 -155
- package/src/core/api/debug/modules/segment_buffer_size.ts +0 -48
- package/src/core/api/debug/render.ts +0 -40
- package/src/core/api/debug/utils.ts +0 -103
- package/src/core/api/index.ts +0 -27
- package/src/core/api/option_utils.ts +0 -700
- package/src/core/api/playback_observer.ts +0 -994
- package/src/core/api/public_api.ts +0 -3247
- package/src/core/api/tracks_management/__tests__/media_element_track_choice_manager.test.ts +0 -184
- package/src/core/api/tracks_management/media_element_track_choice_manager.ts +0 -975
- package/src/core/api/tracks_management/track_choice_manager.ts +0 -1280
- package/src/core/api/utils.ts +0 -216
- package/src/core/decrypt/README.md +0 -22
- package/src/core/decrypt/__tests__/__global__/get_license.test.ts +0 -422
- package/src/core/decrypt/__tests__/__global__/init_data.test.ts +0 -677
- package/src/core/decrypt/__tests__/__global__/media_key_system_access.test.ts +0 -528
- package/src/core/decrypt/__tests__/__global__/media_keys.test.ts +0 -343
- package/src/core/decrypt/__tests__/__global__/server_certificate.test.ts +0 -264
- package/src/core/decrypt/__tests__/__global__/utils.ts +0 -491
- package/src/core/decrypt/attach_media_keys.ts +0 -121
- package/src/core/decrypt/clear_on_stop.ts +0 -47
- package/src/core/decrypt/content_decryptor.ts +0 -1246
- package/src/core/decrypt/create_or_load_session.ts +0 -133
- package/src/core/decrypt/create_session.ts +0 -214
- package/src/core/decrypt/dispose_decryption_resources.ts +0 -54
- package/src/core/decrypt/find_key_system.ts +0 -376
- package/src/core/decrypt/get_key_system_configuration.ts +0 -51
- package/src/core/decrypt/get_media_keys.ts +0 -147
- package/src/core/decrypt/index.ts +0 -36
- package/src/core/decrypt/init_media_keys.ts +0 -60
- package/src/core/decrypt/session_events_listener.ts +0 -386
- package/src/core/decrypt/set_server_certificate.ts +0 -105
- package/src/core/decrypt/types.ts +0 -404
- package/src/core/decrypt/utils/__tests__/are_init_values_compatible.test.ts +0 -261
- package/src/core/decrypt/utils/__tests__/clean_old_loaded_sessions.test.ts +0 -158
- package/src/core/decrypt/utils/__tests__/clean_old_stored_persistent_info.test.ts +0 -133
- package/src/core/decrypt/utils/are_init_values_compatible.ts +0 -140
- package/src/core/decrypt/utils/check_key_statuses.ts +0 -193
- package/src/core/decrypt/utils/clean_old_loaded_sessions.ts +0 -45
- package/src/core/decrypt/utils/clean_old_stored_persistent_info.ts +0 -48
- package/src/core/decrypt/utils/get_drm_system_id.ts +0 -42
- package/src/core/decrypt/utils/init_data_values_container.ts +0 -119
- package/src/core/decrypt/utils/is_session_usable.ts +0 -62
- package/src/core/decrypt/utils/key_id_comparison.ts +0 -57
- package/src/core/decrypt/utils/key_session_record.ts +0 -174
- package/src/core/decrypt/utils/loaded_sessions_store.ts +0 -505
- package/src/core/decrypt/utils/media_keys_infos_store.ts +0 -85
- package/src/core/decrypt/utils/persistent_sessions_store.ts +0 -358
- package/src/core/decrypt/utils/serializable_bytes.ts +0 -59
- package/src/core/decrypt/utils/server_certificate_store.ts +0 -133
- package/src/core/fetchers/README.md +0 -84
- package/src/core/fetchers/cdn_prioritizer.ts +0 -207
- package/src/core/fetchers/index.ts +0 -38
- package/src/core/fetchers/manifest/index.ts +0 -28
- package/src/core/fetchers/manifest/manifest_fetcher.ts +0 -798
- package/src/core/fetchers/segment/__tests__/task_prioritizer.test.ts +0 -763
- package/src/core/fetchers/segment/index.ts +0 -28
- package/src/core/fetchers/segment/prioritized_segment_fetcher.ts +0 -113
- package/src/core/fetchers/segment/segment_fetcher.ts +0 -482
- package/src/core/fetchers/segment/segment_fetcher_creator.ts +0 -129
- package/src/core/fetchers/segment/task_prioritizer.ts +0 -455
- package/src/core/fetchers/utils/error_selector.ts +0 -38
- package/src/core/fetchers/utils/schedule_request.ts +0 -493
- package/src/core/init/README.md +0 -81
- package/src/core/init/directfile_content_initializer.ts +0 -310
- package/src/core/init/index.ts +0 -22
- package/src/core/init/media_source_content_initializer.ts +0 -878
- package/src/core/init/types.ts +0 -266
- package/src/core/init/utils/__tests__/are_same_stream_events.test.ts +0 -84
- package/src/core/init/utils/__tests__/refresh_scheduled_events_list.test.ts +0 -94
- package/src/core/init/utils/content_time_boundaries_observer.ts +0 -646
- package/src/core/init/utils/create_media_source.ts +0 -139
- package/src/core/init/utils/create_stream_playback_observer.ts +0 -132
- package/src/core/init/utils/end_of_stream.ts +0 -108
- package/src/core/init/utils/get_initial_time.ts +0 -165
- package/src/core/init/utils/get_loaded_reference.ts +0 -82
- package/src/core/init/utils/initial_seek_and_play.ts +0 -237
- package/src/core/init/utils/initialize_content_decryption.ts +0 -172
- package/src/core/init/utils/media_source_duration_updater.ts +0 -349
- package/src/core/init/utils/rebuffering_controller.ts +0 -642
- package/src/core/init/utils/stream_events_emitter/are_same_stream_events.ts +0 -42
- package/src/core/init/utils/stream_events_emitter/index.ts +0 -22
- package/src/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.ts +0 -74
- package/src/core/init/utils/stream_events_emitter/stream_events_emitter.ts +0 -252
- package/src/core/init/utils/stream_events_emitter/types.ts +0 -46
- package/src/core/init/utils/throw_on_media_error.ts +0 -74
- package/src/core/segment_buffers/README.md +0 -219
- package/src/core/segment_buffers/garbage_collector.ts +0 -177
- package/src/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.ts +0 -650
- package/src/core/segment_buffers/implementations/audio_video/index.ts +0 -18
- package/src/core/segment_buffers/implementations/image/image_segment_buffer.ts +0 -152
- package/src/core/segment_buffers/implementations/image/index.ts +0 -18
- package/src/core/segment_buffers/implementations/index.ts +0 -20
- package/src/core/segment_buffers/implementations/text/html/__tests__/utils.test.ts +0 -343
- package/src/core/segment_buffers/implementations/text/html/html_text_segment_buffer.ts +0 -527
- package/src/core/segment_buffers/implementations/text/html/index.ts +0 -24
- package/src/core/segment_buffers/implementations/text/html/parsers.ts +0 -49
- package/src/core/segment_buffers/implementations/text/html/text_track_cues_store.ts +0 -391
- package/src/core/segment_buffers/implementations/text/html/types.ts +0 -23
- package/src/core/segment_buffers/implementations/text/html/update_proportional_elements.ts +0 -93
- package/src/core/segment_buffers/implementations/text/html/utils.ts +0 -139
- package/src/core/segment_buffers/implementations/text/native/index.ts +0 -19
- package/src/core/segment_buffers/implementations/text/native/native_text_segment_buffer.ts +0 -340
- package/src/core/segment_buffers/implementations/text/native/parsers.ts +0 -47
- package/src/core/segment_buffers/implementations/types.ts +0 -386
- package/src/core/segment_buffers/implementations/utils/manual_time_ranges.ts +0 -80
- package/src/core/segment_buffers/index.ts +0 -67
- package/src/core/segment_buffers/inventory/buffered_history.ts +0 -131
- package/src/core/segment_buffers/inventory/index.ts +0 -30
- package/src/core/segment_buffers/inventory/segment_inventory.ts +0 -1111
- package/src/core/segment_buffers/inventory/types.ts +0 -35
- package/src/core/segment_buffers/segment_buffers_store.ts +0 -383
- package/src/core/stream/README.md +0 -59
- package/src/core/stream/adaptation/adaptation_stream.ts +0 -378
- package/src/core/stream/adaptation/index.ts +0 -20
- package/src/core/stream/adaptation/types.ts +0 -199
- package/src/core/stream/adaptation/utils/create_representation_estimator.ts +0 -114
- package/src/core/stream/index.ts +0 -38
- package/src/core/stream/orchestrator/README.md +0 -349
- package/src/core/stream/orchestrator/get_time_ranges_for_content.ts +0 -70
- package/src/core/stream/orchestrator/index.ts +0 -30
- package/src/core/stream/orchestrator/stream_orchestrator.ts +0 -664
- package/src/core/stream/period/index.ts +0 -20
- package/src/core/stream/period/period_stream.ts +0 -469
- package/src/core/stream/period/types.ts +0 -132
- package/src/core/stream/period/utils/get_adaptation_switch_strategy.ts +0 -287
- package/src/core/stream/representation/README.md +0 -16
- package/src/core/stream/representation/index.ts +0 -20
- package/src/core/stream/representation/representation_stream.ts +0 -474
- package/src/core/stream/representation/types.ts +0 -292
- package/src/core/stream/representation/utils/append_segment_to_buffer.ts +0 -77
- package/src/core/stream/representation/utils/check_for_discontinuity.ts +0 -305
- package/src/core/stream/representation/utils/downloading_queue.ts +0 -603
- package/src/core/stream/representation/utils/force_garbage_collection.ts +0 -113
- package/src/core/stream/representation/utils/get_buffer_status.ts +0 -322
- package/src/core/stream/representation/utils/get_needed_segments.ts +0 -617
- package/src/core/stream/representation/utils/get_segment_priority.ts +0 -43
- package/src/core/stream/representation/utils/push_init_segment.ts +0 -85
- package/src/core/stream/representation/utils/push_media_segment.ts +0 -113
- package/src/default_config.ts +0 -1293
- package/src/errors/README.md +0 -6
- package/src/errors/__tests__/assertion_error.test.ts +0 -26
- package/src/errors/__tests__/encrypted_media_error.test.ts +0 -45
- package/src/errors/__tests__/error_message.test.ts +0 -23
- package/src/errors/__tests__/format_error.test.ts +0 -62
- package/src/errors/__tests__/is_known_error.test.ts +0 -65
- package/src/errors/__tests__/media_error.test.ts +0 -55
- package/src/errors/__tests__/network_error.test.ts +0 -84
- package/src/errors/__tests__/other_error.test.ts +0 -53
- package/src/errors/__tests__/request_error.test.ts +0 -45
- package/src/errors/assertion_error.ts +0 -40
- package/src/errors/custom_loader_error.ts +0 -57
- package/src/errors/encrypted_media_error.ts +0 -71
- package/src/errors/error_codes.ts +0 -149
- package/src/errors/error_message.ts +0 -30
- package/src/errors/format_error.ts +0 -39
- package/src/errors/index.ts +0 -52
- package/src/errors/is_known_error.ts +0 -35
- package/src/errors/media_error.ts +0 -118
- package/src/errors/network_error.ts +0 -74
- package/src/errors/other_error.ts +0 -50
- package/src/errors/request_error.ts +0 -76
- package/src/experimental/README.md +0 -16
- package/src/experimental/features/__tests__/dash_wasm.test.ts +0 -44
- package/src/experimental/features/__tests__/debug_element.test.ts +0 -12
- package/src/experimental/features/__tests__/index.test.ts +0 -19
- package/src/experimental/features/__tests__/local.test.ts +0 -35
- package/src/experimental/features/__tests__/metaplaylist.test.ts +0 -35
- package/src/experimental/features/dash_wasm.ts +0 -41
- package/src/experimental/features/debug_element.ts +0 -13
- package/src/experimental/features/index.ts +0 -20
- package/src/experimental/features/local.ts +0 -28
- package/src/experimental/features/metaplaylist.ts +0 -28
- package/src/experimental/index.ts +0 -5
- package/src/experimental/tools/VideoThumbnailLoader/features/dash.ts +0 -23
- package/src/experimental/tools/VideoThumbnailLoader/features/metaplaylist.ts +0 -23
- package/src/experimental/tools/VideoThumbnailLoader/index.ts +0 -25
- package/src/experimental/tools/VideoThumbnailLoader/load_and_push_segment.ts +0 -77
- package/src/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.ts +0 -75
- package/src/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.ts +0 -54
- package/src/experimental/tools/VideoThumbnailLoader/types.ts +0 -39
- package/src/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.ts +0 -423
- package/src/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader_error.ts +0 -34
- package/src/experimental/tools/createMetaplaylist/get_duration_from_manifest.ts +0 -141
- package/src/experimental/tools/createMetaplaylist/index.ts +0 -72
- package/src/experimental/tools/index.ts +0 -27
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/capabilities.test.ts +0 -37
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/DRMInfos.test.ts +0 -140
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/HDCPPolicy.test.ts +0 -153
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/decodingInfos.test.ts +0 -405
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/defaultCodecFinder.test.ts +0 -136
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaContentType.test.ts +0 -294
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaDisplayInfos.test.ts +0 -189
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/utils.test.ts +0 -361
- package/src/experimental/tools/mediaCapabilitiesProber/api/index.ts +0 -184
- package/src/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.ts +0 -136
- package/src/experimental/tools/mediaCapabilitiesProber/capabilities.ts +0 -169
- package/src/experimental/tools/mediaCapabilitiesProber/index.ts +0 -18
- package/src/experimental/tools/mediaCapabilitiesProber/log.ts +0 -21
- package/src/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.ts +0 -67
- package/src/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.ts +0 -89
- package/src/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.ts +0 -100
- package/src/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.ts +0 -66
- package/src/experimental/tools/mediaCapabilitiesProber/probers/index.ts +0 -44
- package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.ts +0 -66
- package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.ts +0 -100
- package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.ts +0 -105
- package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.ts +0 -54
- package/src/experimental/tools/mediaCapabilitiesProber/types.ts +0 -75
- package/src/experimental/tools/mediaCapabilitiesProber/utils.ts +0 -107
- package/src/experimental/tools/parseBIFThumbnails.ts +0 -39
- package/src/features/README.md +0 -11
- package/src/features/__tests__/add_features.test.ts +0 -69
- package/src/features/__tests__/initialize_features.test.ts +0 -674
- package/src/features/add_features.ts +0 -37
- package/src/features/features_object.ts +0 -37
- package/src/features/index.ts +0 -40
- package/src/features/initialize_features.ts +0 -136
- package/src/features/list/__tests__/bif_parser.test.ts +0 -30
- package/src/features/list/__tests__/dash.test.ts +0 -41
- package/src/features/list/__tests__/directfile.test.ts +0 -35
- package/src/features/list/__tests__/eme.test.ts +0 -28
- package/src/features/list/__tests__/html_sami_parser.test.ts +0 -33
- package/src/features/list/__tests__/html_srt_parser.test.ts +0 -33
- package/src/features/list/__tests__/html_text_buffer.test.ts +0 -29
- package/src/features/list/__tests__/html_ttml_parser.test.ts +0 -33
- package/src/features/list/__tests__/html_vtt_parser.test.ts +0 -33
- package/src/features/list/__tests__/image_buffer.test.ts +0 -28
- package/src/features/list/__tests__/index.test.ts +0 -55
- package/src/features/list/__tests__/native_sami_parser.test.ts +0 -33
- package/src/features/list/__tests__/native_srt_parser.test.ts +0 -33
- package/src/features/list/__tests__/native_text_buffer.test.ts +0 -29
- package/src/features/list/__tests__/native_ttml_parser.test.ts +0 -33
- package/src/features/list/__tests__/native_vtt_parser.test.ts +0 -33
- package/src/features/list/__tests__/smooth.test.ts +0 -36
- package/src/features/list/bif_parser.ts +0 -31
- package/src/features/list/dash.ts +0 -36
- package/src/features/list/directfile.ts +0 -35
- package/src/features/list/eme.ts +0 -29
- package/src/features/list/html_sami_parser.ts +0 -31
- package/src/features/list/html_srt_parser.ts +0 -31
- package/src/features/list/html_text_buffer.ts +0 -29
- package/src/features/list/html_ttml_parser.ts +0 -31
- package/src/features/list/html_vtt_parser.ts +0 -31
- package/src/features/list/image_buffer.ts +0 -29
- package/src/features/list/index.ts +0 -32
- package/src/features/list/native_sami_parser.ts +0 -32
- package/src/features/list/native_srt_parser.ts +0 -32
- package/src/features/list/native_text_buffer.ts +0 -30
- package/src/features/list/native_ttml_parser.ts +0 -32
- package/src/features/list/native_vtt_parser.ts +0 -32
- package/src/features/list/smooth.ts +0 -32
- package/src/features/types.ts +0 -183
- package/src/index.ts +0 -38
- package/src/log.ts +0 -22
- package/src/manifest/README.md +0 -55
- package/src/manifest/__tests__/adaptation.test.ts +0 -485
- package/src/manifest/__tests__/manifest.test.ts +0 -428
- package/src/manifest/__tests__/period.test.ts +0 -769
- package/src/manifest/__tests__/representation.test.ts +0 -297
- package/src/manifest/__tests__/update_period_in_place.test.ts +0 -1074
- package/src/manifest/__tests__/update_periods.test.ts +0 -845
- package/src/manifest/adaptation.ts +0 -294
- package/src/manifest/index.ts +0 -67
- package/src/manifest/manifest.ts +0 -811
- package/src/manifest/period.ts +0 -211
- package/src/manifest/representation.ts +0 -451
- package/src/manifest/representation_index/__tests__/static.test.ts +0 -74
- package/src/manifest/representation_index/index.ts +0 -31
- package/src/manifest/representation_index/static.ts +0 -158
- package/src/manifest/representation_index/types.ts +0 -433
- package/src/manifest/types.ts +0 -33
- package/src/manifest/update_period_in_place.ts +0 -142
- package/src/manifest/update_periods.ts +0 -201
- package/src/manifest/utils.ts +0 -60
- package/src/minimal.ts +0 -34
- package/src/parsers/README.md +0 -12
- package/src/parsers/containers/isobmff/constants.ts +0 -24
- package/src/parsers/containers/isobmff/create_box.ts +0 -81
- package/src/parsers/containers/isobmff/drm/index.ts +0 -17
- package/src/parsers/containers/isobmff/drm/playready.ts +0 -45
- package/src/parsers/containers/isobmff/get_box.ts +0 -278
- package/src/parsers/containers/isobmff/index.ts +0 -51
- package/src/parsers/containers/isobmff/read.ts +0 -105
- package/src/parsers/containers/isobmff/take_pssh_out.ts +0 -101
- package/src/parsers/containers/isobmff/utils.ts +0 -555
- package/src/parsers/containers/matroska/index.ts +0 -21
- package/src/parsers/containers/matroska/utils.ts +0 -313
- package/src/parsers/images/bif.ts +0 -128
- package/src/parsers/manifest/dash/common/__tests__/attach_trickmode_track.test.ts +0 -65
- package/src/parsers/manifest/dash/common/__tests__/convert_supplemental_codecs.test.ts +0 -37
- package/src/parsers/manifest/dash/common/__tests__/flatten_overlapping_period.test.ts +0 -162
- package/src/parsers/manifest/dash/common/__tests__/get_clock_offset.test.ts +0 -65
- package/src/parsers/manifest/dash/common/__tests__/get_http_utc-timing_url.test.ts +0 -165
- package/src/parsers/manifest/dash/common/__tests__/get_periods_time_infos.test.ts +0 -118
- package/src/parsers/manifest/dash/common/__tests__/manifest_bounds_calculator.test.ts +0 -290
- package/src/parsers/manifest/dash/common/__tests__/parse_availability_start_time.test.ts +0 -63
- package/src/parsers/manifest/dash/common/attach_trickmode_track.ts +0 -55
- package/src/parsers/manifest/dash/common/convert_supplemental_codecs.ts +0 -32
- package/src/parsers/manifest/dash/common/flatten_overlapping_periods.ts +0 -87
- package/src/parsers/manifest/dash/common/get_clock_offset.ts +0 -41
- package/src/parsers/manifest/dash/common/get_hdr_information.ts +0 -94
- package/src/parsers/manifest/dash/common/get_http_utc-timing_url.ts +0 -46
- package/src/parsers/manifest/dash/common/get_minimum_and_maximum_positions.ts +0 -39
- package/src/parsers/manifest/dash/common/get_periods_time_infos.ts +0 -91
- package/src/parsers/manifest/dash/common/index.ts +0 -40
- package/src/parsers/manifest/dash/common/indexes/__tests__/tokens.test.ts +0 -60
- package/src/parsers/manifest/dash/common/indexes/base.ts +0 -444
- package/src/parsers/manifest/dash/common/indexes/get_init_segment.ts +0 -55
- package/src/parsers/manifest/dash/common/indexes/get_segments_from_timeline.ts +0 -148
- package/src/parsers/manifest/dash/common/indexes/index.ts +0 -39
- package/src/parsers/manifest/dash/common/indexes/list.ts +0 -338
- package/src/parsers/manifest/dash/common/indexes/template.ts +0 -652
- package/src/parsers/manifest/dash/common/indexes/timeline/__tests__/parse_s_element.test.ts +0 -115
- package/src/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.ts +0 -54
- package/src/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.ts +0 -102
- package/src/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.ts +0 -66
- package/src/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.ts +0 -153
- package/src/parsers/manifest/dash/common/indexes/timeline/index.ts +0 -21
- package/src/parsers/manifest/dash/common/indexes/timeline/parse_s_element.ts +0 -72
- package/src/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.ts +0 -1049
- package/src/parsers/manifest/dash/common/indexes/tokens.ts +0 -127
- package/src/parsers/manifest/dash/common/indexes/utils.ts +0 -32
- package/src/parsers/manifest/dash/common/infer_adaptation_type.ts +0 -142
- package/src/parsers/manifest/dash/common/manifest_bounds_calculator.ts +0 -165
- package/src/parsers/manifest/dash/common/parse_adaptation_sets.ts +0 -569
- package/src/parsers/manifest/dash/common/parse_availability_start_time.ts +0 -35
- package/src/parsers/manifest/dash/common/parse_mpd.ts +0 -399
- package/src/parsers/manifest/dash/common/parse_periods.ts +0 -363
- package/src/parsers/manifest/dash/common/parse_representation_index.ts +0 -199
- package/src/parsers/manifest/dash/common/parse_representations.ts +0 -352
- package/src/parsers/manifest/dash/common/resolve_base_urls.ts +0 -58
- package/src/parsers/manifest/dash/index.ts +0 -22
- package/src/parsers/manifest/dash/js-parser/__tests__/parse_from_document.test.ts +0 -45
- package/src/parsers/manifest/dash/js-parser/index.ts +0 -18
- package/src/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.ts +0 -381
- package/src/parsers/manifest/dash/js-parser/node_parsers/BaseURL.ts +0 -35
- package/src/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.ts +0 -49
- package/src/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.ts +0 -94
- package/src/parsers/manifest/dash/js-parser/node_parsers/EventStream.ts +0 -117
- package/src/parsers/manifest/dash/js-parser/node_parsers/Initialization.ts +0 -48
- package/src/parsers/manifest/dash/js-parser/node_parsers/MPD.ts +0 -180
- package/src/parsers/manifest/dash/js-parser/node_parsers/Period.ts +0 -152
- package/src/parsers/manifest/dash/js-parser/node_parsers/Representation.ts +0 -234
- package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.ts +0 -112
- package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentList.ts +0 -50
- package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.ts +0 -98
- package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.ts +0 -35
- package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.ts +0 -63
- package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/AdaptationSet.test.ts +0 -407
- package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/ContentComponent.test.ts +0 -67
- package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/ContentProtection.test.ts +0 -223
- package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/Initialization.test.ts +0 -139
- package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/SegmentTimeline.test.ts +0 -119
- package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/SegmentURL.test.ts +0 -205
- package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/utils.test.ts +0 -218
- package/src/parsers/manifest/dash/js-parser/node_parsers/utils.ts +0 -384
- package/src/parsers/manifest/dash/js-parser/parse_from_document.ts +0 -129
- package/src/parsers/manifest/dash/node_parser_types.ts +0 -431
- package/src/parsers/manifest/dash/parsers_types.ts +0 -91
- package/src/parsers/manifest/dash/wasm-parser/Cargo.lock +0 -25
- package/src/parsers/manifest/dash/wasm-parser/Cargo.toml +0 -16
- package/src/parsers/manifest/dash/wasm-parser/README.md +0 -267
- package/src/parsers/manifest/dash/wasm-parser/index.ts +0 -21
- package/src/parsers/manifest/dash/wasm-parser/rs/errors.rs +0 -28
- package/src/parsers/manifest/dash/wasm-parser/rs/events.rs +0 -373
- package/src/parsers/manifest/dash/wasm-parser/rs/lib.rs +0 -85
- package/src/parsers/manifest/dash/wasm-parser/rs/processor/attributes.rs +0 -414
- package/src/parsers/manifest/dash/wasm-parser/rs/processor/mod.rs +0 -472
- package/src/parsers/manifest/dash/wasm-parser/rs/processor/s_element.rs +0 -72
- package/src/parsers/manifest/dash/wasm-parser/rs/reader.rs +0 -17
- package/src/parsers/manifest/dash/wasm-parser/rs/reportable.rs +0 -147
- package/src/parsers/manifest/dash/wasm-parser/rs/utils.rs +0 -217
- package/src/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.ts +0 -477
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.ts +0 -343
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.ts +0 -38
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.ts +0 -53
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.ts +0 -62
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.ts +0 -144
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/MPD.ts +0 -183
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/Period.ts +0 -180
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/Representation.ts +0 -215
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.ts +0 -44
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.ts +0 -115
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.ts +0 -61
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.ts +0 -133
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.ts +0 -70
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/XLink.ts +0 -66
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/index.ts +0 -17
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/root.ts +0 -66
- package/src/parsers/manifest/dash/wasm-parser/ts/parsers_stack.ts +0 -80
- package/src/parsers/manifest/dash/wasm-parser/ts/types.ts +0 -298
- package/src/parsers/manifest/dash/wasm-parser/ts/utils.ts +0 -47
- package/src/parsers/manifest/index.ts +0 -17
- package/src/parsers/manifest/local/index.ts +0 -25
- package/src/parsers/manifest/local/parse_local_manifest.ts +0 -164
- package/src/parsers/manifest/local/representation_index.ts +0 -246
- package/src/parsers/manifest/local/types.ts +0 -291
- package/src/parsers/manifest/metaplaylist/index.ts +0 -28
- package/src/parsers/manifest/metaplaylist/metaplaylist_parser.ts +0 -335
- package/src/parsers/manifest/metaplaylist/representation_index.ts +0 -251
- package/src/parsers/manifest/smooth/create_parser.ts +0 -699
- package/src/parsers/manifest/smooth/get_codecs.ts +0 -55
- package/src/parsers/manifest/smooth/index.ts +0 -26
- package/src/parsers/manifest/smooth/parse_C_nodes.ts +0 -69
- package/src/parsers/manifest/smooth/parse_protection_node.ts +0 -72
- package/src/parsers/manifest/smooth/representation_index.ts +0 -704
- package/src/parsers/manifest/smooth/utils/add_segment_infos.ts +0 -77
- package/src/parsers/manifest/smooth/utils/parseBoolean.ts +0 -31
- package/src/parsers/manifest/smooth/utils/reduceChildren.ts +0 -36
- package/src/parsers/manifest/smooth/utils/tokens.ts +0 -46
- package/src/parsers/manifest/types.ts +0 -395
- package/src/parsers/manifest/utils/__tests__/get_first_time_from_adaptations.test.ts +0 -161
- package/src/parsers/manifest/utils/__tests__/get_last_time_from_adaptation.test.ts +0 -161
- package/src/parsers/manifest/utils/__tests__/index_helpers.test.ts +0 -55
- package/src/parsers/manifest/utils/__tests__/update_segment_timeline.test.ts +0 -546
- package/src/parsers/manifest/utils/check_manifest_ids.ts +0 -83
- package/src/parsers/manifest/utils/clear_timeline_from_position.ts +0 -74
- package/src/parsers/manifest/utils/get_first_time_from_adaptation.ts +0 -48
- package/src/parsers/manifest/utils/get_last_time_from_adaptation.ts +0 -50
- package/src/parsers/manifest/utils/get_maximum_positions.ts +0 -87
- package/src/parsers/manifest/utils/get_minimum_position.ts +0 -80
- package/src/parsers/manifest/utils/index_helpers.ts +0 -204
- package/src/parsers/manifest/utils/update_segment_timeline.ts +0 -141
- package/src/parsers/texttracks/index.ts +0 -21
- package/src/parsers/texttracks/sami/html.ts +0 -219
- package/src/parsers/texttracks/sami/native.ts +0 -192
- package/src/parsers/texttracks/srt/__tests__/find_end_of_cue_block.test.ts +0 -99
- package/src/parsers/texttracks/srt/__tests__/get_cue_blocks.test.ts +0 -119
- package/src/parsers/texttracks/srt/__tests__/parse_cue.test.ts +0 -123
- package/src/parsers/texttracks/srt/__tests__/parse_timestamp.test.ts +0 -36
- package/src/parsers/texttracks/srt/find_end_of_cue_block.ts +0 -46
- package/src/parsers/texttracks/srt/get_cue_blocks.ts +0 -49
- package/src/parsers/texttracks/srt/html.ts +0 -182
- package/src/parsers/texttracks/srt/native.ts +0 -74
- package/src/parsers/texttracks/srt/parse_cue.ts +0 -76
- package/src/parsers/texttracks/srt/parse_timestamp.ts +0 -37
- package/src/parsers/texttracks/ttml/__tests__/resolve_styles_inheritance.test.ts +0 -248
- package/src/parsers/texttracks/ttml/get_parameters.ts +0 -106
- package/src/parsers/texttracks/ttml/get_styling.ts +0 -146
- package/src/parsers/texttracks/ttml/get_time_delimiters.ts +0 -49
- package/src/parsers/texttracks/ttml/html/__tests__/__global__/html_ttml_parser.test.test.ts +0 -190
- package/src/parsers/texttracks/ttml/html/__tests__/generate_css_test_outline.test.ts +0 -32
- package/src/parsers/texttracks/ttml/html/__tests__/ttml_color_to_css_color.test.ts +0 -62
- package/src/parsers/texttracks/ttml/html/apply_default_ttml_paragraph_style.ts +0 -67
- package/src/parsers/texttracks/ttml/html/apply_extent.ts +0 -65
- package/src/parsers/texttracks/ttml/html/apply_font_size.ts +0 -62
- package/src/parsers/texttracks/ttml/html/apply_line_height.ts +0 -50
- package/src/parsers/texttracks/ttml/html/apply_origin.ts +0 -64
- package/src/parsers/texttracks/ttml/html/apply_padding.ts +0 -141
- package/src/parsers/texttracks/ttml/html/create_element.ts +0 -549
- package/src/parsers/texttracks/ttml/html/generate_css_test_outline.ts +0 -46
- package/src/parsers/texttracks/ttml/html/index.ts +0 -23
- package/src/parsers/texttracks/ttml/html/parse_cue.ts +0 -65
- package/src/parsers/texttracks/ttml/html/parse_ttml_to_div.ts +0 -58
- package/src/parsers/texttracks/ttml/html/ttml_color_to_css_color.ts +0 -68
- package/src/parsers/texttracks/ttml/native/index.ts +0 -23
- package/src/parsers/texttracks/ttml/native/parse_cue.ts +0 -245
- package/src/parsers/texttracks/ttml/native/parse_ttml_to_vtt.ts +0 -39
- package/src/parsers/texttracks/ttml/parse_ttml.ts +0 -206
- package/src/parsers/texttracks/ttml/regexps.ts +0 -65
- package/src/parsers/texttracks/ttml/resolve_styles_inheritance.ts +0 -84
- package/src/parsers/texttracks/ttml/time_parsing.ts +0 -156
- package/src/parsers/texttracks/ttml/xml_utils.ts +0 -166
- package/src/parsers/texttracks/types.ts +0 -34
- package/src/parsers/texttracks/webvtt/__tests__/get_cue_blocks.test.ts +0 -218
- package/src/parsers/texttracks/webvtt/__tests__/get_style_blocks.test.ts +0 -65
- package/src/parsers/texttracks/webvtt/__tests__/parse_cue_block.test.ts +0 -249
- package/src/parsers/texttracks/webvtt/__tests__/parse_timestamp.test.ts +0 -39
- package/src/parsers/texttracks/webvtt/__tests__/utils.test.ts +0 -401
- package/src/parsers/texttracks/webvtt/get_cue_blocks.ts +0 -51
- package/src/parsers/texttracks/webvtt/get_style_blocks.ts +0 -56
- package/src/parsers/texttracks/webvtt/html/__tests__/convert_payload_to_html.test.ts +0 -106
- package/src/parsers/texttracks/webvtt/html/__tests__/create_default_style_elements.test.ts +0 -44
- package/src/parsers/texttracks/webvtt/html/__tests__/create_style_attribute.test.ts +0 -139
- package/src/parsers/texttracks/webvtt/html/__tests__/create_styled_element.test.ts +0 -140
- package/src/parsers/texttracks/webvtt/html/__tests__/parse_style_block.test.ts +0 -345
- package/src/parsers/texttracks/webvtt/html/__tests__/parse_webvtt_to_div.test.ts +0 -181
- package/src/parsers/texttracks/webvtt/html/__tests__/to_html.test.ts +0 -234
- package/src/parsers/texttracks/webvtt/html/convert_payload_to_html.ts +0 -46
- package/src/parsers/texttracks/webvtt/html/create_default_style_elements.ts +0 -26
- package/src/parsers/texttracks/webvtt/html/create_style_attribute.ts +0 -222
- package/src/parsers/texttracks/webvtt/html/create_styled_element.ts +0 -95
- package/src/parsers/texttracks/webvtt/html/index.ts +0 -25
- package/src/parsers/texttracks/webvtt/html/parse_style_block.ts +0 -76
- package/src/parsers/texttracks/webvtt/html/parse_webvtt_to_div.ts +0 -67
- package/src/parsers/texttracks/webvtt/html/to_html.ts +0 -96
- package/src/parsers/texttracks/webvtt/native/index.ts +0 -23
- package/src/parsers/texttracks/webvtt/native/parse_vtt_to_cues.ts +0 -70
- package/src/parsers/texttracks/webvtt/native/set_settings_on_cue.ts +0 -95
- package/src/parsers/texttracks/webvtt/native/to_native_cue.ts +0 -34
- package/src/parsers/texttracks/webvtt/parse_cue_block.ts +0 -128
- package/src/parsers/texttracks/webvtt/parse_timestamp.ts +0 -40
- package/src/parsers/texttracks/webvtt/utils.ts +0 -135
- package/src/public_types.ts +0 -846
- package/src/tools/README.md +0 -4
- package/src/tools/TextTrackRenderer/index.ts +0 -28
- package/src/tools/TextTrackRenderer/text_track_renderer.ts +0 -107
- package/src/tools/index.ts +0 -20
- package/src/tools/string_utils.ts +0 -24
- package/src/transports/README.md +0 -276
- package/src/transports/dash/add_segment_integrity_checks_to_loader.ts +0 -98
- package/src/transports/dash/construct_segment_url.ts +0 -28
- package/src/transports/dash/extract_complete_chunks.ts +0 -66
- package/src/transports/dash/get_events_out_of_emsgs.ts +0 -105
- package/src/transports/dash/image_pipelines.ts +0 -122
- package/src/transports/dash/index.ts +0 -23
- package/src/transports/dash/init_segment_loader.ts +0 -114
- package/src/transports/dash/low_latency_segment_loader.ts +0 -87
- package/src/transports/dash/manifest_parser.ts +0 -325
- package/src/transports/dash/pipelines.ts +0 -72
- package/src/transports/dash/segment_loader.ts +0 -249
- package/src/transports/dash/segment_parser.ts +0 -194
- package/src/transports/dash/text_loader.ts +0 -120
- package/src/transports/dash/text_parser.ts +0 -234
- package/src/transports/index.ts +0 -17
- package/src/transports/local/index.ts +0 -18
- package/src/transports/local/pipelines.ts +0 -100
- package/src/transports/local/segment_loader.ts +0 -198
- package/src/transports/local/segment_parser.ts +0 -101
- package/src/transports/local/text_parser.ts +0 -185
- package/src/transports/metaplaylist/README.md +0 -94
- package/src/transports/metaplaylist/index.ts +0 -23
- package/src/transports/metaplaylist/manifest_loader.ts +0 -62
- package/src/transports/metaplaylist/pipelines.ts +0 -425
- package/src/transports/smooth/extract_timings_infos.ts +0 -142
- package/src/transports/smooth/index.ts +0 -23
- package/src/transports/smooth/isobmff/__tests__/create_boxes.test.ts +0 -231
- package/src/transports/smooth/isobmff/create_audio_init_segment.ts +0 -84
- package/src/transports/smooth/isobmff/create_boxes.ts +0 -481
- package/src/transports/smooth/isobmff/create_init_segment.ts +0 -100
- package/src/transports/smooth/isobmff/create_traf_box.ts +0 -40
- package/src/transports/smooth/isobmff/create_video_init_segment.ts +0 -78
- package/src/transports/smooth/isobmff/get_aaces_header.ts +0 -62
- package/src/transports/smooth/isobmff/index.ts +0 -32
- package/src/transports/smooth/isobmff/parse_tfrf.ts +0 -57
- package/src/transports/smooth/isobmff/parse_tfxd.ts +0 -38
- package/src/transports/smooth/isobmff/patch_segment.ts +0 -171
- package/src/transports/smooth/pipelines.ts +0 -533
- package/src/transports/smooth/segment_loader.ts +0 -288
- package/src/transports/smooth/utils.ts +0 -106
- package/src/transports/types.ts +0 -809
- package/src/transports/utils/__tests__/byte_range.test.ts +0 -35
- package/src/transports/utils/__tests__/check_isobmff_integrity.test.ts +0 -148
- package/src/transports/utils/__tests__/find_complete_box.test.ts +0 -138
- package/src/transports/utils/__tests__/infer_segment_container.test.ts +0 -227
- package/src/transports/utils/byte_range.ts +0 -25
- package/src/transports/utils/call_custom_manifest_loader.ts +0 -147
- package/src/transports/utils/check_isobmff_integrity.ts +0 -50
- package/src/transports/utils/find_complete_box.ts +0 -63
- package/src/transports/utils/generate_manifest_loader.ts +0 -97
- package/src/transports/utils/get_isobmff_timing_infos.ts +0 -86
- package/src/transports/utils/infer_segment_container.ts +0 -56
- package/src/transports/utils/parse_text_track.ts +0 -176
- package/src/typings/README.md +0 -7
- package/src/typings/globals.d.ts +0 -83
- package/src/typings/next-tick.d.ts +0 -23
- package/src/utils/README.md +0 -5
- package/src/utils/__tests__/are_arrays_of_numbers_equal.test.ts +0 -86
- package/src/utils/__tests__/are_codecs_compatible.test.ts +0 -88
- package/src/utils/__tests__/array_find.test.ts +0 -113
- package/src/utils/__tests__/array_find_index.test.ts +0 -113
- package/src/utils/__tests__/array_includes.test.ts +0 -151
- package/src/utils/__tests__/assert.test.ts +0 -237
- package/src/utils/__tests__/assert_unreachable.test.ts +0 -40
- package/src/utils/__tests__/base64.test.ts +0 -147
- package/src/utils/__tests__/byte_parsing.test.ts +0 -267
- package/src/utils/__tests__/deep_merge.test.ts +0 -48
- package/src/utils/__tests__/event_emitter.test.ts +0 -579
- package/src/utils/__tests__/flat_map.test.ts +0 -71
- package/src/utils/__tests__/get_fuzzed_delay.test.ts +0 -32
- package/src/utils/__tests__/hash_buffer.test.ts +0 -105
- package/src/utils/__tests__/id_generator.test.ts +0 -80
- package/src/utils/__tests__/initialization_segment_cache.test.ts +0 -245
- package/src/utils/__tests__/is_non_empty_string.test.ts +0 -41
- package/src/utils/__tests__/is_null_or_undefined.test.ts +0 -33
- package/src/utils/__tests__/list_to_map.test.ts +0 -46
- package/src/utils/__tests__/logger.test.ts +0 -214
- package/src/utils/__tests__/noop.test.ts +0 -23
- package/src/utils/__tests__/object_assign.test.ts +0 -56
- package/src/utils/__tests__/object_values.test.ts +0 -26
- package/src/utils/__tests__/ranges.test.ts +0 -907
- package/src/utils/__tests__/resolve_url.test.ts +0 -100
- package/src/utils/__tests__/simple_set.test.ts +0 -57
- package/src/utils/__tests__/sorted_list.test.ts +0 -335
- package/src/utils/__tests__/starts_with.test.ts +0 -65
- package/src/utils/__tests__/string_parsing.test.ts +0 -267
- package/src/utils/__tests__/uniq.test.ts +0 -134
- package/src/utils/__tests__/warn_once.test.ts +0 -38
- package/src/utils/__tests__/weak_map_memory.test.ts +0 -188
- package/src/utils/are_arrays_of_numbers_equal.ts +0 -39
- package/src/utils/are_codecs_compatible.ts +0 -51
- package/src/utils/array_find.ts +0 -55
- package/src/utils/array_find_index.ts +0 -54
- package/src/utils/array_includes.ts +0 -93
- package/src/utils/assert.ts +0 -65
- package/src/utils/assert_unreachable.ts +0 -45
- package/src/utils/base64.ts +0 -153
- package/src/utils/byte_parsing.ts +0 -256
- package/src/utils/cancellable_sleep.ts +0 -41
- package/src/utils/create_cancellable_promise.ts +0 -69
- package/src/utils/deep_merge.ts +0 -49
- package/src/utils/event_emitter.ts +0 -147
- package/src/utils/flat_map.ts +0 -50
- package/src/utils/get_fuzzed_delay.ts +0 -27
- package/src/utils/hash_buffer.ts +0 -42
- package/src/utils/id_generator.ts +0 -35
- package/src/utils/initialization_segment_cache.ts +0 -68
- package/src/utils/is_non_empty_string.ts +0 -23
- package/src/utils/is_null_or_undefined.ts +0 -27
- package/src/utils/languages/ISO_639-1_to_ISO_639-3.ts +0 -207
- package/src/utils/languages/ISO_639-2_to_ISO_639-3.ts +0 -43
- package/src/utils/languages/__tests__/normalize.test.ts +0 -290
- package/src/utils/languages/index.ts +0 -29
- package/src/utils/languages/normalize.ts +0 -152
- package/src/utils/list_to_map.ts +0 -32
- package/src/utils/logger.ts +0 -100
- package/src/utils/noop.ts +0 -26
- package/src/utils/object_assign.ts +0 -60
- package/src/utils/object_values.ts +0 -31
- package/src/utils/ranges.ts +0 -499
- package/src/utils/reference.ts +0 -390
- package/src/utils/request/fetch.ts +0 -250
- package/src/utils/request/index.ts +0 -38
- package/src/utils/request/xhr.ts +0 -287
- package/src/utils/resolve_url.ts +0 -126
- package/src/utils/retry_promise_with_backoff.ts +0 -95
- package/src/utils/simple_set.ts +0 -67
- package/src/utils/sleep.ts +0 -14
- package/src/utils/slice_uint8array.ts +0 -53
- package/src/utils/sorted_list.ts +0 -240
- package/src/utils/starts_with.ts +0 -42
- package/src/utils/string_parsing.ts +0 -414
- package/src/utils/task_canceller.ts +0 -367
- package/src/utils/uniq.ts +0 -49
- package/src/utils/warn_once.ts +0 -34
- package/src/utils/weak_map_memory.ts +0 -89
- package/src/utils/wrapInPromise.ts +0 -24
- package/tsconfig.json +0 -28
- package/tsconfig.modules.json +0 -36
|
@@ -1,391 +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 assert from "../../../../../utils/assert";
|
|
18
|
-
import {
|
|
19
|
-
ICuesGroup,
|
|
20
|
-
IHTMLCue,
|
|
21
|
-
} from "./types";
|
|
22
|
-
import {
|
|
23
|
-
areNearlyEqual,
|
|
24
|
-
getCuesAfter,
|
|
25
|
-
getCuesBefore,
|
|
26
|
-
removeCuesInfosBetween,
|
|
27
|
-
} from "./utils";
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* first or last IHTMLCue in a group can have a slighlty different start
|
|
31
|
-
* or end time than the start or end time of the ICuesGroup due to parsing
|
|
32
|
-
* approximation.
|
|
33
|
-
* DELTA_CUES_GROUP defines the tolerance level when comparing the start/end
|
|
34
|
-
* of a IHTMLCue to the start/end of a ICuesGroup.
|
|
35
|
-
* Having this value too high may lead to have unwanted subtitle displayed
|
|
36
|
-
* Having this value too low may lead to have subtitles not displayed
|
|
37
|
-
*/
|
|
38
|
-
const DELTA_CUES_GROUP = 1e-3;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* segment_duration / RELATIVE_DELTA_RATIO = relative_delta
|
|
42
|
-
*
|
|
43
|
-
* relative_delta is the tolerance to determine if two segements are the same
|
|
44
|
-
*/
|
|
45
|
-
const RELATIVE_DELTA_RATIO = 5;
|
|
46
|
-
/**
|
|
47
|
-
* Manage the buffer of the HTMLTextSegmentBuffer.
|
|
48
|
-
* Allows to add, remove and recuperate cues at given times.
|
|
49
|
-
* @class TextTrackCuesStore
|
|
50
|
-
*/
|
|
51
|
-
export default class TextTrackCuesStore {
|
|
52
|
-
private _cuesBuffer : ICuesGroup[];
|
|
53
|
-
|
|
54
|
-
constructor() {
|
|
55
|
-
this._cuesBuffer = [];
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Get corresponding cue(s) for the given time.
|
|
60
|
-
* A cue is an object with three properties:
|
|
61
|
-
* - start {Number}: start time for which the cue should be displayed.
|
|
62
|
-
* - end {Number}: end time for which the cue should be displayed.
|
|
63
|
-
* - element {HTMLElement}: The cue to diplay
|
|
64
|
-
*
|
|
65
|
-
* We do not mutate individual cue here.
|
|
66
|
-
* That is, if the ``get`` method returns the same cue's reference than a
|
|
67
|
-
* previous ``get`` call, its properties are guaranteed to have the exact same
|
|
68
|
-
* values than before, if you did not mutate it on your side.
|
|
69
|
-
* The inverse is true, if the values are the same than before, the reference
|
|
70
|
-
* will stay the same (this is useful to easily check if the DOM should be
|
|
71
|
-
* updated, for example).
|
|
72
|
-
*
|
|
73
|
-
* @param {Number} time
|
|
74
|
-
* @returns {Array.<HTMLElement>} - The cues that need to be displayed at that
|
|
75
|
-
* time.
|
|
76
|
-
*/
|
|
77
|
-
get(time : number) : HTMLElement[] {
|
|
78
|
-
const cuesBuffer = this._cuesBuffer;
|
|
79
|
-
const ret = [];
|
|
80
|
-
|
|
81
|
-
// begins at the end as most of the time the player will ask for the last
|
|
82
|
-
// CuesGroup
|
|
83
|
-
for (let cueIdx = cuesBuffer.length - 1; cueIdx >= 0; cueIdx--) {
|
|
84
|
-
const segment = cuesBuffer[cueIdx];
|
|
85
|
-
if (time < segment.end && time >= segment.start) {
|
|
86
|
-
const cues = segment.cues;
|
|
87
|
-
for (let j = 0; j < cues.length; j++) {
|
|
88
|
-
if (time >= cues[j].start && time < cues[j].end) {
|
|
89
|
-
ret.push(cues[j].element);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
// first or last IHTMLCue in a group can have a slighlty different start
|
|
93
|
-
// or end time than the start or end time of the ICuesGroup due to parsing
|
|
94
|
-
// approximation.
|
|
95
|
-
// Add a tolerance of 1ms to fix this issue
|
|
96
|
-
if (ret.length === 0 && cues.length > 0) {
|
|
97
|
-
for (let j = 0; j < cues.length; j++) {
|
|
98
|
-
if (areNearlyEqual(time, cues[j].start, DELTA_CUES_GROUP)
|
|
99
|
-
|| areNearlyEqual(time, cues[j].end, DELTA_CUES_GROUP)
|
|
100
|
-
) {
|
|
101
|
-
ret.push(cues[j].element);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
return ret;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
return [];
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Remove cue from a certain range of time.
|
|
113
|
-
* @param {Number} from
|
|
114
|
-
* @param {Number} to
|
|
115
|
-
*/
|
|
116
|
-
remove(from : number, _to : number) : void {
|
|
117
|
-
if (__ENVIRONMENT__.CURRENT_ENV as number === __ENVIRONMENT__.DEV as number) {
|
|
118
|
-
assert(from >= 0);
|
|
119
|
-
assert(_to >= 0);
|
|
120
|
-
assert(_to > from);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
const to = Math.max(from, _to);
|
|
124
|
-
const cuesBuffer = this._cuesBuffer;
|
|
125
|
-
for (let cueIdx = 0; cueIdx < cuesBuffer.length; cueIdx++) {
|
|
126
|
-
if (cuesBuffer[cueIdx].end > from) {
|
|
127
|
-
// this cuesInfos is concerned by the remove
|
|
128
|
-
const startCuesInfos = cuesBuffer[cueIdx];
|
|
129
|
-
if (startCuesInfos.start >= to) {
|
|
130
|
-
// our cuesInfos is strictly after this interval, we have nothing to do
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
if (startCuesInfos.end >= to) {
|
|
134
|
-
// our cuesInfos ends after `to`, we have to keep the end of it
|
|
135
|
-
if (from <= startCuesInfos.start) {
|
|
136
|
-
// from -> to only remove the start of startCuesInfos
|
|
137
|
-
startCuesInfos.cues = getCuesAfter(startCuesInfos.cues, to);
|
|
138
|
-
startCuesInfos.start = to;
|
|
139
|
-
} else {
|
|
140
|
-
// from -> to is in the middle part of startCuesInfos
|
|
141
|
-
const [ cuesInfos1,
|
|
142
|
-
cuesInfos2 ] = removeCuesInfosBetween(startCuesInfos,
|
|
143
|
-
from,
|
|
144
|
-
to);
|
|
145
|
-
this._cuesBuffer[cueIdx] = cuesInfos1;
|
|
146
|
-
cuesBuffer.splice(cueIdx + 1, 0, cuesInfos2);
|
|
147
|
-
}
|
|
148
|
-
// No cuesInfos can be concerned after this one, we can quit
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
// Else remove all part after `from`
|
|
153
|
-
if (startCuesInfos.start >= from) {
|
|
154
|
-
// all the segment is concerned
|
|
155
|
-
cuesBuffer.splice(cueIdx, 1);
|
|
156
|
-
cueIdx--; // one less element, we have to decrement the loop
|
|
157
|
-
} else {
|
|
158
|
-
// only the end is concerned
|
|
159
|
-
startCuesInfos.cues = getCuesBefore(startCuesInfos.cues, from);
|
|
160
|
-
startCuesInfos.end = Math.max(from, startCuesInfos.start);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* Insert new cues in our text buffer.
|
|
168
|
-
* cues is an array of objects with three properties:
|
|
169
|
-
* - start {Number}: start time for which the cue should be displayed.
|
|
170
|
-
* - end {Number}: end time for which the cue should be displayed.
|
|
171
|
-
* - element {HTMLElement}: The cue to diplay
|
|
172
|
-
*
|
|
173
|
-
* @param {Array.<Object>} cues - CuesGroups, array of objects with the
|
|
174
|
-
* following properties:
|
|
175
|
-
* - start {Number}: the time at which the cue will start to be displayed
|
|
176
|
-
* - end {Number}: the time at which the cue will end to be displayed
|
|
177
|
-
* - cue {HTMLElement}: The cue
|
|
178
|
-
* @param {Number} start - Start time at which the CuesGroup applies.
|
|
179
|
-
* This is different than the start of the first cue to display in it, this
|
|
180
|
-
* has more to do with the time at which the _text segment_ starts.
|
|
181
|
-
* @param {Number} end - End time at which the CuesGroup applies.
|
|
182
|
-
* This is different than the end of the last cue to display in it, this
|
|
183
|
-
* has more to do with the time at which the _text segment_ ends.
|
|
184
|
-
*
|
|
185
|
-
* TODO add securities to ensure that:
|
|
186
|
-
* - the start of a CuesGroup is inferior or equal to the start of the first
|
|
187
|
-
* cue in it
|
|
188
|
-
* - the end of a CuesGroup is superior or equal to the end of the last
|
|
189
|
-
* cue in it
|
|
190
|
-
* If those requirements are not met, we could delete some cues when adding
|
|
191
|
-
* a CuesGroup before/after. Find a solution.
|
|
192
|
-
*/
|
|
193
|
-
insert(cues : IHTMLCue[], start : number, end : number) : void {
|
|
194
|
-
const cuesBuffer = this._cuesBuffer;
|
|
195
|
-
const cuesInfosToInsert = { start, end, cues };
|
|
196
|
-
// it's preferable to have a delta depending on the duration of the segment
|
|
197
|
-
// if the delta is one fifth of the length of the segment:
|
|
198
|
-
// a segment of [0, 2] is the "same" segment as [0, 2.1]
|
|
199
|
-
// but [0, 0.04] is not the "same" segement as [0,04, 0.08]
|
|
200
|
-
const relativeDelta = Math.abs(start - end) / RELATIVE_DELTA_RATIO;
|
|
201
|
-
|
|
202
|
-
/**
|
|
203
|
-
* Called when we found the index of the next cue relative to the cue we
|
|
204
|
-
* want to insert (that is a cue starting after its start or at the same
|
|
205
|
-
* time but ending strictly after its end).
|
|
206
|
-
* Will insert the cue at the right place and update the next cue
|
|
207
|
-
* accordingly.
|
|
208
|
-
* @param {number} indexOfNextCue
|
|
209
|
-
*/
|
|
210
|
-
function onIndexOfNextCueFound(indexOfNextCue : number) : void {
|
|
211
|
-
const nextCue = cuesBuffer[indexOfNextCue];
|
|
212
|
-
if (nextCue === undefined || // no cue
|
|
213
|
-
areNearlyEqual(cuesInfosToInsert.end, nextCue.end, relativeDelta)) // samey end
|
|
214
|
-
{
|
|
215
|
-
// ours: |AAAAA|
|
|
216
|
-
// the current one: |BBBBB|
|
|
217
|
-
// Result: |AAAAA|
|
|
218
|
-
cuesBuffer[indexOfNextCue] = cuesInfosToInsert;
|
|
219
|
-
} else if (nextCue.start >= cuesInfosToInsert.end) {
|
|
220
|
-
// Either
|
|
221
|
-
// ours: |AAAAA|
|
|
222
|
-
// the current one: |BBBBBB|
|
|
223
|
-
// Result: |AAAAA| |BBBBBB|
|
|
224
|
-
// Or:
|
|
225
|
-
// ours: |AAAAA|
|
|
226
|
-
// the current one: |BBBBBB|
|
|
227
|
-
// Result: |AAAAA|BBBBBB|
|
|
228
|
-
// Add ours before
|
|
229
|
-
cuesBuffer.splice(indexOfNextCue, 0, cuesInfosToInsert);
|
|
230
|
-
} else {
|
|
231
|
-
// Either
|
|
232
|
-
// ours: |AAAAA|
|
|
233
|
-
// the current one: |BBBBBBBB|
|
|
234
|
-
// Result: |AAAAABBB|
|
|
235
|
-
// Or:
|
|
236
|
-
// ours: |AAAAA|
|
|
237
|
-
// the current one: |BBBBB|
|
|
238
|
-
// Result: |AAAAABBB|
|
|
239
|
-
nextCue.cues = getCuesAfter(nextCue.cues, cuesInfosToInsert.end);
|
|
240
|
-
nextCue.start = cuesInfosToInsert.end;
|
|
241
|
-
cuesBuffer.splice(indexOfNextCue, 0, cuesInfosToInsert);
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
for (let cueIdx = 0; cueIdx < cuesBuffer.length; cueIdx++) {
|
|
246
|
-
let cuesInfos = cuesBuffer[cueIdx];
|
|
247
|
-
if (start < cuesInfos.end) {
|
|
248
|
-
if (areNearlyEqual(start, cuesInfos.start, relativeDelta)) {
|
|
249
|
-
if (areNearlyEqual(end, cuesInfos.end, relativeDelta)) {
|
|
250
|
-
// exact same segment
|
|
251
|
-
// ours: |AAAAA|
|
|
252
|
-
// the current one: |BBBBB|
|
|
253
|
-
// Result: |AAAAA|
|
|
254
|
-
// Which means:
|
|
255
|
-
// 1. replace the current cue with ours
|
|
256
|
-
cuesBuffer[cueIdx] = cuesInfosToInsert;
|
|
257
|
-
return;
|
|
258
|
-
} else if (end < cuesInfos.end) {
|
|
259
|
-
// our cue overlaps with the current one:
|
|
260
|
-
// ours: |AAAAA|
|
|
261
|
-
// the current one: |BBBBBBBB|
|
|
262
|
-
// Result: |AAAAABBB|
|
|
263
|
-
// Which means:
|
|
264
|
-
// 1. remove some cues at the start of the current one
|
|
265
|
-
// 2. update start of current one
|
|
266
|
-
// 3. add ours before the current one
|
|
267
|
-
cuesInfos.cues = getCuesAfter(cuesInfos.cues, end);
|
|
268
|
-
cuesInfos.start = end;
|
|
269
|
-
cuesBuffer.splice(cueIdx, 0, cuesInfosToInsert);
|
|
270
|
-
return;
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
// our cue goes beyond the current one:
|
|
274
|
-
// ours: |AAAAAAA|
|
|
275
|
-
// the current one: |BBBB|...
|
|
276
|
-
// Result: |AAAAAAA|
|
|
277
|
-
// Here we have to delete any cuesInfos which end before ours end,
|
|
278
|
-
// and see about the following one.
|
|
279
|
-
do {
|
|
280
|
-
cuesBuffer.splice(cueIdx, 1);
|
|
281
|
-
cuesInfos = cuesBuffer[cueIdx];
|
|
282
|
-
} while (cuesInfos !== undefined && end > cuesInfos.end);
|
|
283
|
-
onIndexOfNextCueFound(cueIdx);
|
|
284
|
-
return;
|
|
285
|
-
} else if (start < cuesInfos.start) {
|
|
286
|
-
if (end < cuesInfos.start) {
|
|
287
|
-
// our cue goes strictly before the current one:
|
|
288
|
-
// ours: |AAAAAAA|
|
|
289
|
-
// the current one: |BBBB|
|
|
290
|
-
// Result: |AAAAAAA| |BBBB|
|
|
291
|
-
// Which means:
|
|
292
|
-
// - add ours before the current one
|
|
293
|
-
cuesBuffer.splice(cueIdx, 0, cuesInfosToInsert);
|
|
294
|
-
return;
|
|
295
|
-
} else if (areNearlyEqual(end, cuesInfos.start, relativeDelta)) {
|
|
296
|
-
// our cue goes just before the current one:
|
|
297
|
-
// ours: |AAAAAAA|
|
|
298
|
-
// the current one: |BBBB|
|
|
299
|
-
// Result: |AAAAAAA|BBBB|
|
|
300
|
-
// Which means:
|
|
301
|
-
// - update start time of the current one to be sure
|
|
302
|
-
// - add ours before the current one
|
|
303
|
-
cuesInfos.start = end;
|
|
304
|
-
cuesBuffer.splice(cueIdx, 0, cuesInfosToInsert);
|
|
305
|
-
return;
|
|
306
|
-
} else if (areNearlyEqual(end, cuesInfos.end, relativeDelta)) {
|
|
307
|
-
// ours: |AAAAAAA|
|
|
308
|
-
// the current one: |BBBB|
|
|
309
|
-
// Result: |AAAAAAA|
|
|
310
|
-
// Replace
|
|
311
|
-
cuesBuffer.splice(cueIdx, 1, cuesInfosToInsert);
|
|
312
|
-
return;
|
|
313
|
-
} else if (end < cuesInfos.end) {
|
|
314
|
-
// ours: |AAAAAAA|
|
|
315
|
-
// the current one: |BBBBB|
|
|
316
|
-
// Result: |AAAAAAABB|
|
|
317
|
-
cuesInfos.cues = getCuesAfter(cuesInfos.cues, end);
|
|
318
|
-
cuesInfos.start = end;
|
|
319
|
-
cuesBuffer.splice(cueIdx, 0, cuesInfosToInsert);
|
|
320
|
-
return;
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
// ours: |AAAAAAA|
|
|
324
|
-
// the current one: |BBB|...
|
|
325
|
-
// Result: |AAAAAAA|...
|
|
326
|
-
do {
|
|
327
|
-
cuesBuffer.splice(cueIdx, 1);
|
|
328
|
-
cuesInfos = cuesBuffer[cueIdx];
|
|
329
|
-
} while (cuesInfos !== undefined && end > cuesInfos.end);
|
|
330
|
-
onIndexOfNextCueFound(cueIdx);
|
|
331
|
-
return;
|
|
332
|
-
}
|
|
333
|
-
// else -> start > cuesInfos.start
|
|
334
|
-
|
|
335
|
-
if (areNearlyEqual(cuesInfos.end, end, relativeDelta)) {
|
|
336
|
-
// ours: |AAAAAA|
|
|
337
|
-
// the current one: |BBBBBBBB|
|
|
338
|
-
// Result: |BBAAAAAA|
|
|
339
|
-
cuesInfos.cues = getCuesBefore(cuesInfos.cues, start);
|
|
340
|
-
cuesInfos.end = start;
|
|
341
|
-
cuesBuffer.splice(cueIdx + 1, 0, cuesInfosToInsert);
|
|
342
|
-
return;
|
|
343
|
-
} else if (cuesInfos.end > end) {
|
|
344
|
-
// ours: |AAAAAA|
|
|
345
|
-
// the current one: |BBBBBBBBBBB|
|
|
346
|
-
// Result: |BBAAAAAABBB|
|
|
347
|
-
const [ cuesInfos1,
|
|
348
|
-
cuesInfos2 ] = removeCuesInfosBetween(cuesInfos, start, end);
|
|
349
|
-
this._cuesBuffer[cueIdx] = cuesInfos1;
|
|
350
|
-
cuesBuffer.splice(cueIdx + 1, 0, cuesInfosToInsert);
|
|
351
|
-
cuesBuffer.splice(cueIdx + 2, 0, cuesInfos2);
|
|
352
|
-
return;
|
|
353
|
-
} else {
|
|
354
|
-
// ours: |AAAAAA|
|
|
355
|
-
// the current one: |BBBBB|...
|
|
356
|
-
// Result: |BBAAAAAA|...
|
|
357
|
-
cuesInfos.cues = getCuesBefore(cuesInfos.cues, start);
|
|
358
|
-
cuesInfos.end = start;
|
|
359
|
-
|
|
360
|
-
const nextCueIdx = cueIdx + 1;
|
|
361
|
-
cuesInfos = cuesBuffer[nextCueIdx];
|
|
362
|
-
while (cuesInfos !== undefined && end > cuesInfos.end) {
|
|
363
|
-
cuesBuffer.splice(nextCueIdx, 1);
|
|
364
|
-
cuesInfos = cuesBuffer[nextCueIdx];
|
|
365
|
-
}
|
|
366
|
-
onIndexOfNextCueFound(nextCueIdx);
|
|
367
|
-
return;
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
if (cuesBuffer.length) {
|
|
373
|
-
const lastCue = cuesBuffer[cuesBuffer.length - 1];
|
|
374
|
-
if (areNearlyEqual(lastCue.end, start, relativeDelta)) {
|
|
375
|
-
// Match the end of the previous cue to the start of the following one
|
|
376
|
-
// if they are close enough. If there is a small gap between two segments
|
|
377
|
-
// it can lead to having no subtitles for a short time, this is noticeable when
|
|
378
|
-
// two successive segments displays the same text, making it diseappear
|
|
379
|
-
// and reappear quickly, which gives the impression of blinking
|
|
380
|
-
//
|
|
381
|
-
// ours: |AAAAA|
|
|
382
|
-
// the current one: |BBBBB|...
|
|
383
|
-
// Result: |BBBBBBBAAAAA|
|
|
384
|
-
lastCue.end = start;
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
// no cues group has the end after our current start.
|
|
388
|
-
// These cues should be the last one
|
|
389
|
-
cuesBuffer.push(cuesInfosToInsert);
|
|
390
|
-
}
|
|
391
|
-
}
|
|
@@ -1,23 +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
|
-
export interface IHTMLCue { start : number;
|
|
18
|
-
end : number;
|
|
19
|
-
element : HTMLElement; }
|
|
20
|
-
|
|
21
|
-
export interface ICuesGroup { start : number;
|
|
22
|
-
end : number;
|
|
23
|
-
cues : IHTMLCue[]; }
|
|
@@ -1,93 +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
|
-
/**
|
|
18
|
-
* Update size of element which are proportional to the current text track
|
|
19
|
-
* element.
|
|
20
|
-
* Returns `true` if at least a single styling information is proportional,
|
|
21
|
-
* `false` otherwise.
|
|
22
|
-
* @param {number} currentHeight
|
|
23
|
-
* @param {number} currentWidth
|
|
24
|
-
* @param {Object} resolution
|
|
25
|
-
* @param {HTMLElement} textTrackElement
|
|
26
|
-
* @returns {boolean}
|
|
27
|
-
*/
|
|
28
|
-
export default function updateProportionalElements(
|
|
29
|
-
currentHeight : number,
|
|
30
|
-
currentWidth : number,
|
|
31
|
-
resolution : { columns : number; rows : number },
|
|
32
|
-
textTrackElement : HTMLElement
|
|
33
|
-
) : boolean {
|
|
34
|
-
const cellUnit = [ currentWidth / resolution.columns,
|
|
35
|
-
currentHeight / resolution.rows];
|
|
36
|
-
|
|
37
|
-
const proportElts = textTrackElement.getElementsByClassName("proportional-style");
|
|
38
|
-
for (let eltIdx = 0; eltIdx < proportElts.length; eltIdx++) {
|
|
39
|
-
const elt = proportElts[eltIdx];
|
|
40
|
-
if (elt instanceof HTMLElement) {
|
|
41
|
-
const fontSizeVal = elt.getAttribute("data-proportional-font-size");
|
|
42
|
-
if (fontSizeVal !== null && !isNaN(+fontSizeVal)) {
|
|
43
|
-
elt.style.fontSize = String(+fontSizeVal * cellUnit[1]) + "px";
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const widthVal = elt.getAttribute("data-proportional-width");
|
|
47
|
-
if (widthVal !== null && !isNaN(+widthVal)) {
|
|
48
|
-
elt.style.width = String(+widthVal * cellUnit[0]) + "px";
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
const heightVal = elt.getAttribute("data-proportional-height");
|
|
52
|
-
if (heightVal !== null && !isNaN(+heightVal)) {
|
|
53
|
-
elt.style.height = String(+heightVal * cellUnit[1]) + "px";
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
const lineHeightVal = elt.getAttribute("data-proportional-line-height");
|
|
57
|
-
if (lineHeightVal !== null && !isNaN(+lineHeightVal)) {
|
|
58
|
-
elt.style.lineHeight = String(+lineHeightVal * cellUnit[1]) + "px";
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
const leftVal = elt.getAttribute("data-proportional-left");
|
|
62
|
-
if (leftVal !== null && !isNaN(+leftVal)) {
|
|
63
|
-
elt.style.left = String(+leftVal * cellUnit[0]) + "px";
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
const topVal = elt.getAttribute("data-proportional-top");
|
|
67
|
-
if (topVal !== null && !isNaN(+topVal)) {
|
|
68
|
-
elt.style.top = String(+topVal * cellUnit[1]) + "px";
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
const paddingTopVal = elt.getAttribute("data-proportional-padding-top");
|
|
72
|
-
if (paddingTopVal !== null && !isNaN(+paddingTopVal)) {
|
|
73
|
-
elt.style.paddingTop = String(+paddingTopVal * cellUnit[1]) + "px";
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
const paddingBottomVal = elt.getAttribute("data-proportional-padding-bottom");
|
|
77
|
-
if (paddingBottomVal !== null && !isNaN(+paddingBottomVal)) {
|
|
78
|
-
elt.style.paddingBottom = String(+paddingBottomVal * cellUnit[1]) + "px";
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
const paddingLeftVal = elt.getAttribute("data-proportional-padding-left");
|
|
82
|
-
if (paddingLeftVal !== null && !isNaN(+paddingLeftVal)) {
|
|
83
|
-
elt.style.paddingLeft = String(+paddingLeftVal * cellUnit[0]) + "px";
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
const paddingRightVal = elt.getAttribute("data-proportional-padding-right");
|
|
87
|
-
if (paddingRightVal !== null && !isNaN(+paddingRightVal)) {
|
|
88
|
-
elt.style.paddingRight = String(+paddingRightVal * cellUnit[0]) + "px";
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
return proportElts.length > 0;
|
|
93
|
-
}
|
|
@@ -1,139 +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 {
|
|
18
|
-
ICuesGroup,
|
|
19
|
-
IHTMLCue,
|
|
20
|
-
} from "./types";
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Maximum time difference, in seconds, between two text segment's start times
|
|
24
|
-
* and/or end times for them to be considered the same in the
|
|
25
|
-
* HTMLTextSegmentBuffer (used for the "html" textTrackMode).
|
|
26
|
-
*
|
|
27
|
-
* For example for two segments s1 and s2 which have a start time respectively
|
|
28
|
-
* of st1 and st2 and end time of et1 and et2:
|
|
29
|
-
* - if both the absolute difference between st1 and st2 AND the one between
|
|
30
|
-
* et1 and et2 is inferior or equal to the MAX_DELTA_BUFFER_TIME, s1 and s2
|
|
31
|
-
* are considered to target the exact same time. As a consequence, if s2 is
|
|
32
|
-
* added after s1 in the buffer, s1 will be completely replaced by it and
|
|
33
|
-
* vice-versa.
|
|
34
|
-
* - if only one of the two (absolute difference between st1 and st2 OR et1
|
|
35
|
-
* and et2) is inferior to the MAX_DELTA_BUFFER_TIME then the last added
|
|
36
|
-
* is not completely considered the same. It WILL still replace - either
|
|
37
|
-
* partially or completely (depending on the sign of the other difference) -
|
|
38
|
-
* the previously added segment.
|
|
39
|
-
* - if both differences are strictly superior to the MAX_DELTA_BUFFER_TIME,
|
|
40
|
-
* then they are not considered to have the same start nor the same end.
|
|
41
|
-
* They can still overlap however, and MIGHT thus still replace partially
|
|
42
|
-
* or completely each other.
|
|
43
|
-
*
|
|
44
|
-
* Setting a value too low might lead to two segments targeting the same time,
|
|
45
|
-
* both being present in the buffer. In worst case scenarios, this could lead
|
|
46
|
-
* to indicate that an unwanted text track is still here (theorically though,
|
|
47
|
-
* this is a case that should never happen for reasons that might be too long
|
|
48
|
-
* to explain here).
|
|
49
|
-
*
|
|
50
|
-
* Setting a value too high might lead to two segments targeting different times
|
|
51
|
-
* to be wrongly believed to target the same time. In worst case scenarios, this
|
|
52
|
-
* could lead to wanted text tracks being removed.
|
|
53
|
-
*
|
|
54
|
-
* When comparing 2 segments s1 and s2, you may want to take into account the duration
|
|
55
|
-
* of the segments:
|
|
56
|
-
* - if s1 is [0, 2] and s2 is [0, 2.1] s1 and s2 can be considered as nearly equal as
|
|
57
|
-
* there is a relative difference of: (2.1-2) / 2 = 5%;
|
|
58
|
-
* Formula: (end_s1 - end_s2) / duration_s2 = relative_difference
|
|
59
|
-
* - if s1 is [0, 0.04] and s2 is [0.04, 0.08] s1 and s2 may not considered as nearly
|
|
60
|
-
* equal as there is a relative difference of: (0.04-0.08) / 0.04 = 100%
|
|
61
|
-
*
|
|
62
|
-
* To compare relatively to the duration of a segment you can provide and additional
|
|
63
|
-
* parameter "delta" that remplace MAX_DELTA_BUFFER_TIME.
|
|
64
|
-
* If parameter "delta" is higher than MAX_DELTA_BUFFER_TIME, MAX_DELTA_BUFFER_TIME
|
|
65
|
-
* is used instead of delta. This ensure that segments are nearly equal when comparing
|
|
66
|
-
* relatively AND absolutely.
|
|
67
|
-
*
|
|
68
|
-
* @type Number
|
|
69
|
-
*/
|
|
70
|
-
const MAX_DELTA_BUFFER_TIME = 0.2;
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* @see MAX_DELTA_BUFFER_TIME
|
|
74
|
-
* @param {Number} a
|
|
75
|
-
* @param {Number} b
|
|
76
|
-
* @param {Number} delta
|
|
77
|
-
* @returns {Boolean}
|
|
78
|
-
*/
|
|
79
|
-
export function areNearlyEqual(
|
|
80
|
-
a : number, b : number, delta: number = MAX_DELTA_BUFFER_TIME) : boolean {
|
|
81
|
-
return Math.abs(a - b) <= Math.min(delta, MAX_DELTA_BUFFER_TIME);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Get all cues which have data before the given time.
|
|
86
|
-
* @param {Object} cues
|
|
87
|
-
* @param {Number} time
|
|
88
|
-
* @returns {Array.<Object>}
|
|
89
|
-
*/
|
|
90
|
-
export function getCuesBefore(cues : IHTMLCue[], time : number) : IHTMLCue[] {
|
|
91
|
-
for (let i = cues.length - 1; i >= 0; i--) {
|
|
92
|
-
const cue = cues[i];
|
|
93
|
-
if (cue.start < time) {
|
|
94
|
-
return cues.slice(0, i + 1);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return [];
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Get all cues which have data after the given time.
|
|
102
|
-
* @param {Object} cues
|
|
103
|
-
* @param {Number} time
|
|
104
|
-
* @returns {Array.<Object>}
|
|
105
|
-
*/
|
|
106
|
-
export function getCuesAfter(cues : IHTMLCue[], time : number) : IHTMLCue[] {
|
|
107
|
-
for (let i = 0; i < cues.length; i++) {
|
|
108
|
-
const cue = cues[i];
|
|
109
|
-
if (cue.end > time) {
|
|
110
|
-
return cues.slice(i, cues.length);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
return [];
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* @param {Object} cuesInfos
|
|
118
|
-
* @param {Number} start
|
|
119
|
-
* @param {Number} end
|
|
120
|
-
* @returns {Array.<Object>}
|
|
121
|
-
*/
|
|
122
|
-
export function removeCuesInfosBetween(
|
|
123
|
-
cuesInfos : ICuesGroup,
|
|
124
|
-
start : number,
|
|
125
|
-
end : number
|
|
126
|
-
) : [ICuesGroup, ICuesGroup] {
|
|
127
|
-
const endCuesInfos1 = Math.max(cuesInfos.start, start);
|
|
128
|
-
const cues1 = getCuesBefore(cuesInfos.cues, start);
|
|
129
|
-
const cuesInfos1 = { start: cuesInfos.start,
|
|
130
|
-
end: endCuesInfos1,
|
|
131
|
-
cues: cues1 };
|
|
132
|
-
|
|
133
|
-
const startCuesInfos2 = Math.min(end, cuesInfos.end);
|
|
134
|
-
const cues2 = getCuesAfter(cuesInfos.cues, end);
|
|
135
|
-
const cuesInfos2 = { start: startCuesInfos2,
|
|
136
|
-
end: cuesInfos.end,
|
|
137
|
-
cues: cues2 };
|
|
138
|
-
return [cuesInfos1, cuesInfos2];
|
|
139
|
-
}
|
|
@@ -1,19 +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 NativeTextSegmentBuffer from "./native_text_segment_buffer";
|
|
18
|
-
|
|
19
|
-
export default NativeTextSegmentBuffer;
|