rx-player 4.4.1-dev.2025101500 → 4.4.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 +3 -1
- package/README.md +111 -50
- package/VERSION +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +1 -1
- package/dist/commonjs/core/{entry → main/common}/FreezeResolver.d.ts +3 -3
- package/dist/commonjs/core/main/common/FreezeResolver.d.ts.map +1 -0
- package/dist/commonjs/core/{entry → main/common}/FreezeResolver.js +3 -3
- package/dist/commonjs/core/{entry → main/common}/content_time_boundaries_observer.d.ts +5 -5
- package/dist/commonjs/core/main/common/content_time_boundaries_observer.d.ts.map +1 -0
- package/dist/commonjs/core/{entry → main/common}/content_time_boundaries_observer.js +6 -6
- package/dist/{es2017/core/entry → commonjs/core/main/common}/create_content_time_boundaries_observer.d.ts +6 -6
- package/dist/commonjs/core/main/common/create_content_time_boundaries_observer.d.ts.map +1 -0
- package/dist/commonjs/core/{entry → main/common}/create_content_time_boundaries_observer.js +1 -1
- package/dist/{es2017/core/entry → commonjs/core/main/common}/get_buffered_data_per_media_buffer.d.ts +4 -4
- package/dist/commonjs/core/main/common/get_buffered_data_per_media_buffer.d.ts.map +1 -0
- package/dist/commonjs/core/{entry → main/common}/get_buffered_data_per_media_buffer.js +1 -1
- package/dist/{es2017/core/entry → commonjs/core/main/common}/get_thumbnail_data.d.ts +3 -3
- package/dist/commonjs/core/main/common/get_thumbnail_data.d.ts.map +1 -0
- package/dist/commonjs/core/{entry → main/common}/get_thumbnail_data.js +2 -2
- package/dist/{es2017/core/entry → commonjs/core/main/common}/synchronize_sinks_on_observation.d.ts +2 -2
- package/dist/commonjs/core/main/common/synchronize_sinks_on_observation.d.ts.map +1 -0
- package/dist/{es2017/core/entry → commonjs/core/main/worker}/content_preparer.d.ts +15 -22
- package/dist/commonjs/core/main/worker/content_preparer.d.ts.map +1 -0
- package/dist/commonjs/core/{entry → main/worker}/content_preparer.js +64 -62
- package/dist/commonjs/core/main/worker/globals.d.ts +14 -0
- package/dist/commonjs/core/main/worker/globals.d.ts.map +1 -0
- package/dist/commonjs/core/main/worker/globals.js +26 -0
- package/dist/commonjs/core/main/worker/index.d.ts +3 -0
- package/dist/commonjs/core/main/worker/index.d.ts.map +1 -0
- package/dist/commonjs/core/main/worker/index.js +4 -0
- package/dist/commonjs/core/main/worker/send_message.d.ts +4 -0
- package/dist/commonjs/core/main/worker/send_message.d.ts.map +1 -0
- package/dist/commonjs/core/main/worker/send_message.js +23 -0
- package/dist/{es2017/core/entry → commonjs/core/main/worker}/track_choice_setter.d.ts +4 -4
- package/dist/commonjs/core/main/worker/track_choice_setter.d.ts.map +1 -0
- package/dist/commonjs/core/{entry → main/worker}/track_choice_setter.js +4 -4
- package/dist/commonjs/core/main/worker/worker_main.d.ts +2 -0
- package/dist/commonjs/core/main/worker/worker_main.d.ts.map +1 -0
- package/dist/commonjs/core/{entry/core_entry.js → main/worker/worker_main.js} +153 -192
- package/dist/commonjs/core/{entry/core_text_displayer_interface.d.ts → main/worker/worker_text_displayer_interface.d.ts} +11 -11
- package/dist/commonjs/core/main/worker/worker_text_displayer_interface.d.ts.map +1 -0
- package/dist/commonjs/core/{entry/core_text_displayer_interface.js → main/worker/worker_text_displayer_interface.js} +22 -22
- package/dist/commonjs/core/types.d.ts +1 -519
- package/dist/commonjs/core/types.d.ts.map +1 -1
- package/dist/commonjs/core/types.js +0 -1
- package/dist/commonjs/experimental/features/local.d.ts.map +1 -1
- package/dist/commonjs/experimental/features/local.js +1 -7
- package/dist/commonjs/experimental/features/metaplaylist.d.ts.map +1 -1
- package/dist/commonjs/experimental/features/metaplaylist.js +1 -7
- package/dist/commonjs/experimental/features/multi_thread.d.ts.map +1 -1
- package/dist/commonjs/experimental/features/multi_thread.js +2 -6
- package/dist/commonjs/features/features_object.js +1 -1
- package/dist/commonjs/features/list/dash.d.ts.map +1 -1
- package/dist/commonjs/features/list/dash.js +1 -7
- package/dist/commonjs/features/list/dash_wasm.d.ts.map +1 -1
- package/dist/commonjs/features/list/dash_wasm.js +1 -7
- package/dist/commonjs/features/list/media_source_main.d.ts.map +1 -1
- package/dist/commonjs/features/list/media_source_main.js +1 -7
- package/dist/commonjs/features/list/smooth.d.ts.map +1 -1
- package/dist/commonjs/features/list/smooth.js +1 -7
- package/dist/commonjs/features/types.d.ts +4 -20
- package/dist/commonjs/features/types.d.ts.map +1 -1
- package/dist/commonjs/main_thread/api/public_api.d.ts.map +1 -1
- package/dist/commonjs/main_thread/api/public_api.js +44 -40
- package/dist/commonjs/main_thread/init/media_source_content_initializer.d.ts +108 -166
- package/dist/commonjs/main_thread/init/media_source_content_initializer.d.ts.map +1 -1
- package/dist/commonjs/main_thread/init/media_source_content_initializer.js +918 -1491
- package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts +308 -0
- package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -0
- package/dist/commonjs/main_thread/init/multi_thread_content_initializer.js +1713 -0
- package/dist/commonjs/main_thread/init/send_message.d.ts +3 -0
- package/dist/commonjs/main_thread/init/send_message.d.ts.map +1 -0
- package/dist/commonjs/main_thread/init/send_message.js +13 -0
- package/dist/commonjs/main_thread/init/utils/create_core_playback_observer.d.ts.map +1 -1
- package/dist/commonjs/main_thread/init/utils/create_core_playback_observer.js +1 -2
- package/dist/commonjs/main_thread/init/utils/update_manifest_codec_support.d.ts +1 -1
- package/dist/commonjs/main_thread/init/utils/update_manifest_codec_support.d.ts.map +1 -1
- package/dist/commonjs/main_thread/types.d.ts +0 -537
- package/dist/commonjs/main_thread/types.d.ts.map +1 -1
- package/dist/commonjs/manifest/utils.d.ts.map +1 -1
- package/dist/commonjs/manifest/utils.js +4 -18
- package/dist/commonjs/mse/worker_media_source_interface.d.ts +2 -2
- package/dist/commonjs/mse/worker_media_source_interface.d.ts.map +1 -1
- package/dist/commonjs/mse/worker_media_source_interface.js +12 -12
- package/dist/commonjs/multithread_types.d.ts +915 -0
- package/dist/commonjs/multithread_types.d.ts.map +1 -0
- package/dist/commonjs/multithread_types.js +7 -0
- package/dist/commonjs/parsers/manifest/smooth/create_parser.d.ts +1 -1
- package/dist/commonjs/parsers/manifest/smooth/create_parser.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/smooth/create_parser.js +27 -31
- package/dist/commonjs/parsers/manifest/smooth/parse_C_nodes.d.ts +2 -3
- package/dist/commonjs/parsers/manifest/smooth/parse_C_nodes.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/smooth/parse_C_nodes.js +7 -16
- package/dist/commonjs/parsers/manifest/smooth/parse_protection_node.d.ts +2 -3
- package/dist/commonjs/parsers/manifest/smooth/parse_protection_node.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/smooth/parse_protection_node.js +6 -37
- package/dist/commonjs/parsers/manifest/smooth/utils/parseBoolean.d.ts +1 -1
- package/dist/commonjs/parsers/manifest/smooth/utils/parseBoolean.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/smooth/utils/reduceChildren.d.ts +2 -3
- package/dist/commonjs/parsers/manifest/smooth/utils/reduceChildren.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/smooth/utils/reduceChildren.js +5 -28
- package/dist/commonjs/playback_observer/media_element_playback_observer.d.ts +28 -8
- package/dist/commonjs/playback_observer/media_element_playback_observer.d.ts.map +1 -1
- package/dist/commonjs/playback_observer/media_element_playback_observer.js +146 -64
- package/dist/{es2017/playback_observer/core_playback_observer.d.ts → commonjs/playback_observer/worker_playback_observer.d.ts} +8 -8
- package/dist/commonjs/playback_observer/worker_playback_observer.d.ts.map +1 -0
- package/dist/commonjs/playback_observer/{core_playback_observer.js → worker_playback_observer.js} +13 -13
- package/dist/commonjs/transports/smooth/pipelines.d.ts.map +1 -1
- package/dist/commonjs/transports/smooth/pipelines.js +3 -25
- package/dist/commonjs/worker_entry_point.js +2 -62
- package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
- package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
- package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
- package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
- package/dist/es2017/core/{entry → main/common}/FreezeResolver.d.ts +3 -3
- package/dist/es2017/core/main/common/FreezeResolver.d.ts.map +1 -0
- package/dist/es2017/core/{entry → main/common}/FreezeResolver.js +3 -3
- package/dist/es2017/core/{entry → main/common}/content_time_boundaries_observer.d.ts +5 -5
- package/dist/es2017/core/main/common/content_time_boundaries_observer.d.ts.map +1 -0
- package/dist/es2017/core/{entry → main/common}/content_time_boundaries_observer.js +6 -6
- package/dist/{commonjs/core/entry → es2017/core/main/common}/create_content_time_boundaries_observer.d.ts +6 -6
- package/dist/es2017/core/main/common/create_content_time_boundaries_observer.d.ts.map +1 -0
- package/dist/es2017/core/{entry → main/common}/create_content_time_boundaries_observer.js +1 -1
- package/dist/{commonjs/core/entry → es2017/core/main/common}/get_buffered_data_per_media_buffer.d.ts +4 -4
- package/dist/es2017/core/main/common/get_buffered_data_per_media_buffer.d.ts.map +1 -0
- package/dist/es2017/core/{entry → main/common}/get_buffered_data_per_media_buffer.js +1 -1
- package/dist/{commonjs/core/entry → es2017/core/main/common}/get_thumbnail_data.d.ts +3 -3
- package/dist/es2017/core/main/common/get_thumbnail_data.d.ts.map +1 -0
- package/dist/es2017/core/{entry → main/common}/get_thumbnail_data.js +2 -2
- package/dist/{commonjs/core/entry → es2017/core/main/common}/synchronize_sinks_on_observation.d.ts +2 -2
- package/dist/es2017/core/main/common/synchronize_sinks_on_observation.d.ts.map +1 -0
- package/dist/{commonjs/core/entry → es2017/core/main/worker}/content_preparer.d.ts +15 -22
- package/dist/es2017/core/main/worker/content_preparer.d.ts.map +1 -0
- package/dist/es2017/core/{entry → main/worker}/content_preparer.js +55 -53
- package/dist/es2017/core/main/worker/globals.d.ts +14 -0
- package/dist/es2017/core/main/worker/globals.d.ts.map +1 -0
- package/dist/es2017/core/main/worker/globals.js +18 -0
- package/dist/es2017/core/main/worker/index.d.ts +3 -0
- package/dist/es2017/core/main/worker/index.d.ts.map +1 -0
- package/dist/es2017/core/main/worker/index.js +2 -0
- package/dist/es2017/core/main/worker/send_message.d.ts +4 -0
- package/dist/es2017/core/main/worker/send_message.d.ts.map +1 -0
- package/dist/es2017/core/main/worker/send_message.js +19 -0
- package/dist/{commonjs/core/entry → es2017/core/main/worker}/track_choice_setter.d.ts +4 -4
- package/dist/es2017/core/main/worker/track_choice_setter.d.ts.map +1 -0
- package/dist/es2017/core/{entry → main/worker}/track_choice_setter.js +4 -4
- package/dist/es2017/core/main/worker/worker_main.d.ts +2 -0
- package/dist/es2017/core/main/worker/worker_main.d.ts.map +1 -0
- package/dist/es2017/core/{entry/core_entry.js → main/worker/worker_main.js} +114 -153
- package/dist/es2017/core/{entry/core_text_displayer_interface.d.ts → main/worker/worker_text_displayer_interface.d.ts} +11 -11
- package/dist/es2017/core/main/worker/worker_text_displayer_interface.d.ts.map +1 -0
- package/dist/es2017/core/{entry/core_text_displayer_interface.js → main/worker/worker_text_displayer_interface.js} +10 -10
- package/dist/es2017/core/types.d.ts +1 -519
- package/dist/es2017/core/types.d.ts.map +1 -1
- package/dist/es2017/core/types.js +0 -1
- package/dist/es2017/experimental/features/local.d.ts.map +1 -1
- package/dist/es2017/experimental/features/local.js +1 -7
- package/dist/es2017/experimental/features/metaplaylist.d.ts.map +1 -1
- package/dist/es2017/experimental/features/metaplaylist.js +1 -7
- package/dist/es2017/experimental/features/multi_thread.d.ts.map +1 -1
- package/dist/es2017/experimental/features/multi_thread.js +2 -6
- package/dist/es2017/features/features_object.js +1 -1
- package/dist/es2017/features/list/dash.d.ts.map +1 -1
- package/dist/es2017/features/list/dash.js +1 -7
- package/dist/es2017/features/list/dash_wasm.d.ts.map +1 -1
- package/dist/es2017/features/list/dash_wasm.js +1 -7
- package/dist/es2017/features/list/media_source_main.d.ts.map +1 -1
- package/dist/es2017/features/list/media_source_main.js +1 -7
- package/dist/es2017/features/list/smooth.d.ts.map +1 -1
- package/dist/es2017/features/list/smooth.js +1 -7
- package/dist/es2017/features/types.d.ts +4 -20
- package/dist/es2017/features/types.d.ts.map +1 -1
- package/dist/es2017/main_thread/api/public_api.d.ts.map +1 -1
- package/dist/es2017/main_thread/api/public_api.js +45 -41
- package/dist/es2017/main_thread/init/media_source_content_initializer.d.ts +108 -166
- package/dist/es2017/main_thread/init/media_source_content_initializer.d.ts.map +1 -1
- package/dist/es2017/main_thread/init/media_source_content_initializer.js +760 -1405
- package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts +308 -0
- package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -0
- package/dist/es2017/main_thread/init/multi_thread_content_initializer.js +1559 -0
- package/dist/es2017/main_thread/init/send_message.d.ts +3 -0
- package/dist/es2017/main_thread/init/send_message.d.ts.map +1 -0
- package/dist/es2017/main_thread/init/send_message.js +10 -0
- package/dist/es2017/main_thread/init/utils/create_core_playback_observer.d.ts.map +1 -1
- package/dist/es2017/main_thread/init/utils/create_core_playback_observer.js +1 -2
- package/dist/es2017/main_thread/init/utils/update_manifest_codec_support.d.ts +1 -1
- package/dist/es2017/main_thread/init/utils/update_manifest_codec_support.d.ts.map +1 -1
- package/dist/es2017/main_thread/types.d.ts +0 -537
- package/dist/es2017/main_thread/types.d.ts.map +1 -1
- package/dist/es2017/manifest/utils.d.ts.map +1 -1
- package/dist/es2017/manifest/utils.js +4 -16
- package/dist/es2017/mse/worker_media_source_interface.d.ts +2 -2
- package/dist/es2017/mse/worker_media_source_interface.d.ts.map +1 -1
- package/dist/es2017/mse/worker_media_source_interface.js +12 -12
- package/dist/es2017/multithread_types.d.ts +915 -0
- package/dist/es2017/multithread_types.d.ts.map +1 -0
- package/dist/es2017/multithread_types.js +6 -0
- package/dist/es2017/parsers/manifest/smooth/create_parser.d.ts +1 -1
- package/dist/es2017/parsers/manifest/smooth/create_parser.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/smooth/create_parser.js +27 -31
- package/dist/es2017/parsers/manifest/smooth/parse_C_nodes.d.ts +2 -3
- package/dist/es2017/parsers/manifest/smooth/parse_C_nodes.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/smooth/parse_C_nodes.js +7 -16
- package/dist/es2017/parsers/manifest/smooth/parse_protection_node.d.ts +2 -3
- package/dist/es2017/parsers/manifest/smooth/parse_protection_node.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/smooth/parse_protection_node.js +6 -15
- package/dist/es2017/parsers/manifest/smooth/utils/parseBoolean.d.ts +1 -1
- package/dist/es2017/parsers/manifest/smooth/utils/parseBoolean.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/smooth/utils/reduceChildren.d.ts +2 -3
- package/dist/es2017/parsers/manifest/smooth/utils/reduceChildren.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/smooth/utils/reduceChildren.js +5 -6
- package/dist/es2017/playback_observer/media_element_playback_observer.d.ts +28 -8
- package/dist/es2017/playback_observer/media_element_playback_observer.d.ts.map +1 -1
- package/dist/es2017/playback_observer/media_element_playback_observer.js +144 -64
- package/dist/{commonjs/playback_observer/core_playback_observer.d.ts → es2017/playback_observer/worker_playback_observer.d.ts} +8 -8
- package/dist/es2017/playback_observer/worker_playback_observer.d.ts.map +1 -0
- package/dist/es2017/playback_observer/{core_playback_observer.js → worker_playback_observer.js} +2 -2
- package/dist/es2017/transports/smooth/pipelines.d.ts.map +1 -1
- package/dist/es2017/transports/smooth/pipelines.js +3 -25
- package/dist/es2017/worker_entry_point.js +2 -62
- package/dist/mpd-parser.wasm +0 -0
- package/dist/rx-player.js +19165 -21886
- package/dist/rx-player.min.js +20 -20
- package/dist/worker.js +8 -8
- package/eslint.config.mjs +647 -348
- package/package.json +6 -6
- package/src/README.md +198 -88
- package/src/__GENERATED_CODE/embedded_dash_wasm.ts +1 -1
- package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
- package/src/core/{entry → main}/README.md +1 -1
- package/src/core/{entry → main/common}/FreezeResolver.ts +7 -7
- package/src/core/{entry → main/common}/content_time_boundaries_observer.ts +10 -10
- package/src/core/{entry → main/common}/create_content_time_boundaries_observer.ts +7 -7
- package/src/core/{entry → main/common}/get_buffered_data_per_media_buffer.ts +6 -6
- package/src/core/{entry → main/common}/get_thumbnail_data.ts +5 -5
- package/src/core/{entry → main/common}/synchronize_sinks_on_observation.ts +2 -2
- package/src/core/{entry → main/worker}/content_preparer.ts +76 -77
- package/src/core/main/worker/globals.ts +38 -0
- package/src/core/main/worker/index.ts +2 -0
- package/src/core/main/worker/send_message.ts +28 -0
- package/src/core/{entry → main/worker}/track_choice_setter.ts +7 -7
- package/src/core/{entry/core_entry.ts → main/worker/worker_main.ts} +149 -223
- package/src/core/{entry/core_text_displayer_interface.ts → main/worker/worker_text_displayer_interface.ts} +26 -26
- package/src/core/types.ts +3 -631
- package/src/experimental/features/__tests__/local.test.ts +2 -11
- package/src/experimental/features/__tests__/metaplaylist.test.ts +2 -11
- package/src/experimental/features/__tests__/multi_thread.test.ts +3 -8
- package/src/experimental/features/local.ts +1 -7
- package/src/experimental/features/metaplaylist.ts +1 -7
- package/src/experimental/features/multi_thread.ts +2 -6
- package/src/features/features_object.ts +1 -1
- package/src/features/list/__tests__/dash.test.ts +3 -12
- package/src/features/list/__tests__/smooth.test.ts +2 -11
- package/src/features/list/dash.ts +1 -7
- package/src/features/list/dash_wasm.ts +1 -7
- package/src/features/list/media_source_main.ts +1 -7
- package/src/features/list/smooth.ts +1 -7
- package/src/features/types.ts +4 -23
- package/src/main_thread/README.md +0 -8
- package/src/main_thread/api/public_api.ts +51 -47
- package/src/main_thread/init/media_source_content_initializer.ts +1164 -2046
- package/src/main_thread/init/multi_thread_content_initializer.ts +2330 -0
- package/src/main_thread/init/send_message.ts +15 -0
- package/src/main_thread/init/utils/create_core_playback_observer.ts +1 -2
- package/src/main_thread/init/utils/update_manifest_codec_support.ts +1 -1
- package/src/main_thread/types.ts +0 -610
- package/src/manifest/utils.ts +4 -20
- package/src/mse/worker_media_source_interface.ts +35 -35
- package/src/multithread_types.ts +1095 -0
- package/src/parsers/manifest/smooth/create_parser.ts +34 -40
- package/src/parsers/manifest/smooth/parse_C_nodes.ts +8 -19
- package/src/parsers/manifest/smooth/parse_protection_node.ts +9 -17
- package/src/parsers/manifest/smooth/utils/parseBoolean.ts +1 -1
- package/src/parsers/manifest/smooth/utils/reduceChildren.ts +7 -10
- package/src/playback_observer/media_element_playback_observer.ts +177 -73
- package/src/playback_observer/{core_playback_observer.ts → worker_playback_observer.ts} +13 -13
- package/src/transports/smooth/pipelines.ts +5 -25
- package/src/worker_entry_point.ts +2 -71
- package/dist/commonjs/core/entry/FreezeResolver.d.ts.map +0 -1
- package/dist/commonjs/core/entry/content_preparer.d.ts.map +0 -1
- package/dist/commonjs/core/entry/content_time_boundaries_observer.d.ts.map +0 -1
- package/dist/commonjs/core/entry/core_entry.d.ts +0 -36
- package/dist/commonjs/core/entry/core_entry.d.ts.map +0 -1
- package/dist/commonjs/core/entry/core_text_displayer_interface.d.ts.map +0 -1
- package/dist/commonjs/core/entry/create_content_time_boundaries_observer.d.ts.map +0 -1
- package/dist/commonjs/core/entry/get_buffered_data_per_media_buffer.d.ts.map +0 -1
- package/dist/commonjs/core/entry/get_thumbnail_data.d.ts.map +0 -1
- package/dist/commonjs/core/entry/index.d.ts +0 -5
- package/dist/commonjs/core/entry/index.d.ts.map +0 -1
- package/dist/commonjs/core/entry/index.js +0 -4
- package/dist/commonjs/core/entry/synchronize_sinks_on_observation.d.ts.map +0 -1
- package/dist/commonjs/core/entry/track_choice_setter.d.ts.map +0 -1
- package/dist/commonjs/core/entry/utils.d.ts +0 -3
- package/dist/commonjs/core/entry/utils.d.ts.map +0 -1
- package/dist/commonjs/core/entry/utils.js +0 -11
- package/dist/commonjs/main_thread/core_interface/base.d.ts +0 -13
- package/dist/commonjs/main_thread/core_interface/base.d.ts.map +0 -1
- package/dist/commonjs/main_thread/core_interface/base.js +0 -32
- package/dist/commonjs/main_thread/core_interface/monothread.d.ts +0 -13
- package/dist/commonjs/main_thread/core_interface/monothread.d.ts.map +0 -1
- package/dist/commonjs/main_thread/core_interface/monothread.js +0 -56
- package/dist/commonjs/main_thread/core_interface/multithread.d.ts +0 -25
- package/dist/commonjs/main_thread/core_interface/multithread.d.ts.map +0 -1
- package/dist/commonjs/main_thread/core_interface/multithread.js +0 -67
- package/dist/commonjs/main_thread/core_interface/types.d.ts +0 -6
- package/dist/commonjs/main_thread/core_interface/types.d.ts.map +0 -1
- package/dist/commonjs/main_thread/core_interface/types.js +0 -2
- package/dist/commonjs/playback_observer/core_playback_observer.d.ts.map +0 -1
- package/dist/es2017/core/entry/FreezeResolver.d.ts.map +0 -1
- package/dist/es2017/core/entry/content_preparer.d.ts.map +0 -1
- package/dist/es2017/core/entry/content_time_boundaries_observer.d.ts.map +0 -1
- package/dist/es2017/core/entry/core_entry.d.ts +0 -36
- package/dist/es2017/core/entry/core_entry.d.ts.map +0 -1
- package/dist/es2017/core/entry/core_text_displayer_interface.d.ts.map +0 -1
- package/dist/es2017/core/entry/create_content_time_boundaries_observer.d.ts.map +0 -1
- package/dist/es2017/core/entry/get_buffered_data_per_media_buffer.d.ts.map +0 -1
- package/dist/es2017/core/entry/get_thumbnail_data.d.ts.map +0 -1
- package/dist/es2017/core/entry/index.d.ts +0 -5
- package/dist/es2017/core/entry/index.d.ts.map +0 -1
- package/dist/es2017/core/entry/index.js +0 -2
- package/dist/es2017/core/entry/synchronize_sinks_on_observation.d.ts.map +0 -1
- package/dist/es2017/core/entry/track_choice_setter.d.ts.map +0 -1
- package/dist/es2017/core/entry/utils.d.ts +0 -3
- package/dist/es2017/core/entry/utils.d.ts.map +0 -1
- package/dist/es2017/core/entry/utils.js +0 -8
- package/dist/es2017/main_thread/core_interface/base.d.ts +0 -13
- package/dist/es2017/main_thread/core_interface/base.d.ts.map +0 -1
- package/dist/es2017/main_thread/core_interface/base.js +0 -28
- package/dist/es2017/main_thread/core_interface/monothread.d.ts +0 -13
- package/dist/es2017/main_thread/core_interface/monothread.d.ts.map +0 -1
- package/dist/es2017/main_thread/core_interface/monothread.js +0 -32
- package/dist/es2017/main_thread/core_interface/multithread.d.ts +0 -25
- package/dist/es2017/main_thread/core_interface/multithread.d.ts.map +0 -1
- package/dist/es2017/main_thread/core_interface/multithread.js +0 -45
- package/dist/es2017/main_thread/core_interface/types.d.ts +0 -6
- package/dist/es2017/main_thread/core_interface/types.d.ts.map +0 -1
- package/dist/es2017/main_thread/core_interface/types.js +0 -1
- package/dist/es2017/playback_observer/core_playback_observer.d.ts.map +0 -1
- package/src/core/entry/index.ts +0 -4
- package/src/core/entry/utils.ts +0 -11
- package/src/main_thread/core_interface/README.md +0 -22
- package/src/main_thread/core_interface/base.ts +0 -36
- package/src/main_thread/core_interface/monothread.ts +0 -46
- package/src/main_thread/core_interface/multithread.ts +0 -49
- package/src/main_thread/core_interface/types.ts +0 -5
- /package/dist/commonjs/core/{entry → main/common}/synchronize_sinks_on_observation.js +0 -0
- /package/dist/es2017/core/{entry → main/common}/synchronize_sinks_on_observation.js +0 -0
|
@@ -25,7 +25,6 @@ import getMonotonicTimeStamp from "../../../utils/monotonic_timestamp";
|
|
|
25
25
|
import objectAssign from "../../../utils/object_assign";
|
|
26
26
|
import { hexToBytes } from "../../../utils/string_parsing";
|
|
27
27
|
import { getFilenameIndexInUrl } from "../../../utils/url-utils";
|
|
28
|
-
import { parseXml, type ITNode } from "../../../utils/xml-parser";
|
|
29
28
|
import { createBox } from "../../containers/isobmff";
|
|
30
29
|
import type {
|
|
31
30
|
IParsedAdaptation,
|
|
@@ -45,7 +44,7 @@ import reduceChildren from "./utils/reduceChildren";
|
|
|
45
44
|
import { replaceRepresentationSmoothTokens } from "./utils/tokens";
|
|
46
45
|
|
|
47
46
|
interface IAdaptationParserArguments {
|
|
48
|
-
root:
|
|
47
|
+
root: Element;
|
|
49
48
|
baseUrl: string;
|
|
50
49
|
timescale: number;
|
|
51
50
|
protections: IContentProtectionSmooth[];
|
|
@@ -109,7 +108,7 @@ interface ISmoothParsedQualityLevel {
|
|
|
109
108
|
function createSmoothStreamingParser(
|
|
110
109
|
parserOptions: IHSSParserConfiguration = {},
|
|
111
110
|
): (
|
|
112
|
-
manifest:
|
|
111
|
+
manifest: Document,
|
|
113
112
|
url?: string | undefined,
|
|
114
113
|
manifestReceivedTime?: number | undefined,
|
|
115
114
|
) => IParsedManifest {
|
|
@@ -129,12 +128,12 @@ function createSmoothStreamingParser(
|
|
|
129
128
|
: undefined;
|
|
130
129
|
|
|
131
130
|
/**
|
|
132
|
-
* @param {
|
|
131
|
+
* @param {Element} q
|
|
133
132
|
* @param {string} streamType
|
|
134
133
|
* @return {Object}
|
|
135
134
|
*/
|
|
136
135
|
function parseQualityLevel(
|
|
137
|
-
q:
|
|
136
|
+
q: Element,
|
|
138
137
|
streamType: string,
|
|
139
138
|
): ISmoothParsedQualityLevel | null {
|
|
140
139
|
const customAttributes = reduceChildren<string[]>(
|
|
@@ -146,9 +145,9 @@ function createSmoothStreamingParser(
|
|
|
146
145
|
qNode,
|
|
147
146
|
(cAttrs, cName, cNode) => {
|
|
148
147
|
if (cName === "Attribute") {
|
|
149
|
-
const name = cNode.
|
|
150
|
-
const value = cNode.
|
|
151
|
-
if (
|
|
148
|
+
const name = cNode.getAttribute("Name");
|
|
149
|
+
const value = cNode.getAttribute("Value");
|
|
150
|
+
if (name !== null && value !== null) {
|
|
152
151
|
cAttrs.push(name + "=" + value);
|
|
153
152
|
}
|
|
154
153
|
}
|
|
@@ -168,7 +167,7 @@ function createSmoothStreamingParser(
|
|
|
168
167
|
* @returns {string|undefined}
|
|
169
168
|
*/
|
|
170
169
|
function getAttribute(name: string): string | undefined {
|
|
171
|
-
const attr = q.
|
|
170
|
+
const attr = q.getAttribute(name);
|
|
172
171
|
return attr === null ? undefined : attr;
|
|
173
172
|
}
|
|
174
173
|
|
|
@@ -287,14 +286,14 @@ function createSmoothStreamingParser(
|
|
|
287
286
|
manifestReceivedTime,
|
|
288
287
|
isLive,
|
|
289
288
|
} = args;
|
|
290
|
-
const timescaleAttr = root.
|
|
291
|
-
let _timescale =
|
|
289
|
+
const timescaleAttr = root.getAttribute("Timescale");
|
|
290
|
+
let _timescale = timescaleAttr === null ? timescale : +timescaleAttr;
|
|
292
291
|
if (isNaN(_timescale)) {
|
|
293
292
|
_timescale = timescale;
|
|
294
293
|
}
|
|
295
294
|
|
|
296
|
-
const typeAttribute = root.
|
|
297
|
-
if (
|
|
295
|
+
const typeAttribute = root.getAttribute("Type");
|
|
296
|
+
if (typeAttribute === null) {
|
|
298
297
|
throw new Error("StreamIndex without type.");
|
|
299
298
|
}
|
|
300
299
|
if (!arrayIncludes(SUPPORTED_ADAPTATIONS_TYPE, typeAttribute)) {
|
|
@@ -302,15 +301,15 @@ function createSmoothStreamingParser(
|
|
|
302
301
|
}
|
|
303
302
|
const adaptationType = typeAttribute as IAdaptationType;
|
|
304
303
|
|
|
305
|
-
const subType = root.
|
|
306
|
-
const language = root.
|
|
307
|
-
const UrlAttr = root.
|
|
308
|
-
const UrlPathWithTokens = UrlAttr
|
|
304
|
+
const subType = root.getAttribute("Subtype");
|
|
305
|
+
const language = root.getAttribute("Language");
|
|
306
|
+
const UrlAttr = root.getAttribute("Url");
|
|
307
|
+
const UrlPathWithTokens = UrlAttr === null ? "" : UrlAttr;
|
|
309
308
|
assert(UrlPathWithTokens !== "");
|
|
310
309
|
|
|
311
310
|
const { qualityLevels, cNodes } = reduceChildren<{
|
|
312
311
|
qualityLevels: ISmoothParsedQualityLevel[];
|
|
313
|
-
cNodes:
|
|
312
|
+
cNodes: Element[];
|
|
314
313
|
}>(
|
|
315
314
|
root,
|
|
316
315
|
(res, _name, node) => {
|
|
@@ -453,36 +452,31 @@ function createSmoothStreamingParser(
|
|
|
453
452
|
return parsedAdaptation;
|
|
454
453
|
}
|
|
455
454
|
|
|
456
|
-
function
|
|
457
|
-
|
|
455
|
+
function parseFromDocument(
|
|
456
|
+
doc: Document,
|
|
458
457
|
url?: string,
|
|
459
458
|
manifestReceivedTime?: number,
|
|
460
459
|
): IParsedManifest {
|
|
461
|
-
const parsed = parseXml(xml);
|
|
462
|
-
const root = parsed[parsed.length - 1];
|
|
463
460
|
let baseUrl: string = "";
|
|
464
461
|
if (url !== undefined) {
|
|
465
462
|
const filenameIdx = getFilenameIndexInUrl(url);
|
|
466
463
|
baseUrl = url.substring(0, filenameIdx);
|
|
467
464
|
}
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
typeof root === "string" ||
|
|
471
|
-
root.tagName !== "SmoothStreamingMedia"
|
|
472
|
-
) {
|
|
465
|
+
const root = doc.documentElement;
|
|
466
|
+
if (isNullOrUndefined(root) || root.nodeName !== "SmoothStreamingMedia") {
|
|
473
467
|
throw new Error("document root should be SmoothStreamingMedia");
|
|
474
468
|
}
|
|
475
|
-
const majorVersionAttr = root.
|
|
476
|
-
const minorVersionAttr = root.
|
|
469
|
+
const majorVersionAttr = root.getAttribute("MajorVersion");
|
|
470
|
+
const minorVersionAttr = root.getAttribute("MinorVersion");
|
|
477
471
|
if (
|
|
478
|
-
|
|
479
|
-
|
|
472
|
+
majorVersionAttr === null ||
|
|
473
|
+
minorVersionAttr === null ||
|
|
480
474
|
!/^[2]-[0-2]$/.test(majorVersionAttr + "-" + minorVersionAttr)
|
|
481
475
|
) {
|
|
482
476
|
throw new Error("Version should be 2.0, 2.1 or 2.2");
|
|
483
477
|
}
|
|
484
478
|
|
|
485
|
-
const timescaleAttr = root.
|
|
479
|
+
const timescaleAttr = root.getAttribute("Timescale");
|
|
486
480
|
let timescale = !isNonEmptyString(timescaleAttr) ? 10000000 : +timescaleAttr;
|
|
487
481
|
if (isNaN(timescale)) {
|
|
488
482
|
timescale = 10000000;
|
|
@@ -490,7 +484,7 @@ function createSmoothStreamingParser(
|
|
|
490
484
|
|
|
491
485
|
const { protections, adaptationNodes } = reduceChildren<{
|
|
492
486
|
protections: IContentProtectionSmooth[];
|
|
493
|
-
adaptationNodes:
|
|
487
|
+
adaptationNodes: Element[];
|
|
494
488
|
}>(
|
|
495
489
|
root,
|
|
496
490
|
(res, name, node) => {
|
|
@@ -513,13 +507,13 @@ function createSmoothStreamingParser(
|
|
|
513
507
|
|
|
514
508
|
const initialAdaptations: IParsedAdaptations = {};
|
|
515
509
|
|
|
516
|
-
const isLive = parseBoolean(root.
|
|
510
|
+
const isLive = parseBoolean(root.getAttribute("IsLive"));
|
|
517
511
|
|
|
518
512
|
let timeShiftBufferDepth: number | undefined;
|
|
519
513
|
if (isLive) {
|
|
520
|
-
const dvrWindowLength = root.
|
|
514
|
+
const dvrWindowLength = root.getAttribute("DVRWindowLength");
|
|
521
515
|
if (
|
|
522
|
-
|
|
516
|
+
dvrWindowLength !== null &&
|
|
523
517
|
!isNaN(+dvrWindowLength) &&
|
|
524
518
|
+dvrWindowLength !== 0
|
|
525
519
|
) {
|
|
@@ -528,7 +522,7 @@ function createSmoothStreamingParser(
|
|
|
528
522
|
}
|
|
529
523
|
|
|
530
524
|
const adaptations: IParsedAdaptations = adaptationNodes.reduce(
|
|
531
|
-
(acc: IParsedAdaptations, node:
|
|
525
|
+
(acc: IParsedAdaptations, node: Element) => {
|
|
532
526
|
const adaptation = parseAdaptation({
|
|
533
527
|
root: node,
|
|
534
528
|
baseUrl,
|
|
@@ -628,9 +622,9 @@ function createSmoothStreamingParser(
|
|
|
628
622
|
}
|
|
629
623
|
}
|
|
630
624
|
|
|
631
|
-
const manifestDuration = root.
|
|
625
|
+
const manifestDuration = root.getAttribute("Duration");
|
|
632
626
|
const duration =
|
|
633
|
-
|
|
627
|
+
manifestDuration !== null && +manifestDuration !== 0
|
|
634
628
|
? +manifestDuration / timescale
|
|
635
629
|
: undefined;
|
|
636
630
|
|
|
@@ -700,7 +694,7 @@ function createSmoothStreamingParser(
|
|
|
700
694
|
return manifest;
|
|
701
695
|
}
|
|
702
696
|
|
|
703
|
-
return
|
|
697
|
+
return parseFromDocument;
|
|
704
698
|
}
|
|
705
699
|
|
|
706
700
|
/**
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import isNonEmptyString from "../../../utils/is_non_empty_string";
|
|
18
|
-
import type { ITNode } from "../../../utils/xml-parser";
|
|
19
18
|
|
|
20
19
|
interface IHSSManifestSegment {
|
|
21
20
|
start: number;
|
|
@@ -25,18 +24,13 @@ interface IHSSManifestSegment {
|
|
|
25
24
|
|
|
26
25
|
/**
|
|
27
26
|
* Parse C nodes to build index timeline.
|
|
28
|
-
* @param {
|
|
27
|
+
* @param {Element} nodes
|
|
29
28
|
*/
|
|
30
|
-
export default function parseCNodes(
|
|
31
|
-
nodes: Array<ITNode | string>,
|
|
32
|
-
): IHSSManifestSegment[] {
|
|
29
|
+
export default function parseCNodes(nodes: Element[]): IHSSManifestSegment[] {
|
|
33
30
|
return nodes.reduce<IHSSManifestSegment[]>((timeline, node, i) => {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const dAttr = node.attributes.d ?? null;
|
|
38
|
-
const tAttr = node.attributes.t ?? null;
|
|
39
|
-
const rAttr = node.attributes.r ?? null;
|
|
31
|
+
const dAttr = node.getAttribute("d");
|
|
32
|
+
const tAttr = node.getAttribute("t");
|
|
33
|
+
const rAttr = node.getAttribute("r");
|
|
40
34
|
|
|
41
35
|
const repeatCount = rAttr !== null ? +rAttr - 1 : 0;
|
|
42
36
|
let start = tAttr !== null ? +tAttr : undefined;
|
|
@@ -56,14 +50,9 @@ export default function parseCNodes(
|
|
|
56
50
|
}
|
|
57
51
|
}
|
|
58
52
|
if (duration === undefined || isNaN(duration)) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
nextNodeIdx++;
|
|
63
|
-
nextNodeElt = nodes[nextNodeIdx];
|
|
64
|
-
} while (nextNodeElt !== undefined && typeof nextNodeElt === "string");
|
|
65
|
-
if (nextNodeElt !== undefined) {
|
|
66
|
-
const nextTAttr = nextNodeElt.attributes.t ?? null;
|
|
53
|
+
const nextNode = nodes[i + 1];
|
|
54
|
+
if (nextNode !== undefined) {
|
|
55
|
+
const nextTAttr = nextNode.getAttribute("t");
|
|
67
56
|
const nextStart = isNonEmptyString(nextTAttr) ? +nextTAttr : null;
|
|
68
57
|
if (nextStart === null) {
|
|
69
58
|
throw new Error("Can't build index timeline from Smooth Manifest.");
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
import { base64ToBytes } from "../../../utils/base64";
|
|
18
18
|
import { concat } from "../../../utils/byte_parsing";
|
|
19
19
|
import { hexToBytes } from "../../../utils/string_parsing";
|
|
20
|
-
import type { ITNode } from "../../../utils/xml-parser";
|
|
21
20
|
import { getPlayReadyKIDFromPrivateData } from "../../containers/isobmff";
|
|
22
21
|
|
|
23
22
|
export interface IKeySystem {
|
|
@@ -45,35 +44,28 @@ function createWidevineKeySystem(keyIdBytes: Uint8Array): IKeySystem[] {
|
|
|
45
44
|
|
|
46
45
|
/**
|
|
47
46
|
* Parse "Protection" Node, which contains DRM information
|
|
48
|
-
* @param {
|
|
47
|
+
* @param {Element} protectionNode
|
|
49
48
|
* @returns {Object}
|
|
50
49
|
*/
|
|
51
50
|
export default function parseProtectionNode(
|
|
52
|
-
protectionNode:
|
|
51
|
+
protectionNode: Element,
|
|
53
52
|
keySystemCreator: (keyId: Uint8Array) => IKeySystem[] = createWidevineKeySystem,
|
|
54
53
|
): IContentProtectionSmooth {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
if (subNode.tagName === "ProtectionHeader") {
|
|
61
|
-
header = subNode;
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
if (header === undefined) {
|
|
54
|
+
if (
|
|
55
|
+
protectionNode.firstElementChild === null ||
|
|
56
|
+
protectionNode.firstElementChild.nodeName !== "ProtectionHeader"
|
|
57
|
+
) {
|
|
66
58
|
throw new Error("Protection should have ProtectionHeader child");
|
|
67
59
|
}
|
|
68
|
-
|
|
60
|
+
const header = protectionNode.firstElementChild;
|
|
69
61
|
const privateData = base64ToBytes(
|
|
70
|
-
|
|
62
|
+
header.textContent === null ? "" : header.textContent,
|
|
71
63
|
);
|
|
72
64
|
const keyIdHex = getPlayReadyKIDFromPrivateData(privateData);
|
|
73
65
|
const keyIdBytes = hexToBytes(keyIdHex);
|
|
74
66
|
|
|
75
67
|
// remove possible braces
|
|
76
|
-
const systemIdAttr = header.
|
|
68
|
+
const systemIdAttr = header.getAttribute("SystemID");
|
|
77
69
|
const systemId = (systemIdAttr !== null ? systemIdAttr : "")
|
|
78
70
|
.toLowerCase()
|
|
79
71
|
.replace(/\{|\}/g, "");
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* @param {*} val
|
|
19
19
|
* @returns {Boolean}
|
|
20
20
|
*/
|
|
21
|
-
export default function parseBoolean(val: string | null
|
|
21
|
+
export default function parseBoolean(val: string | null): boolean {
|
|
22
22
|
if (typeof val === "boolean") {
|
|
23
23
|
return val;
|
|
24
24
|
} else if (typeof val === "string") {
|
|
@@ -14,26 +14,23 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import type { ITNode } from "../../../../utils/xml-parser";
|
|
18
|
-
|
|
19
17
|
/**
|
|
20
18
|
* Reduce implementation for the children of the given element.
|
|
21
|
-
* @param {
|
|
19
|
+
* @param {Element} root
|
|
22
20
|
* @param {Function} fn
|
|
23
21
|
* @param {*} init
|
|
24
22
|
* @returns {*}
|
|
25
23
|
*/
|
|
26
24
|
export default function reduceChildren<T>(
|
|
27
|
-
root:
|
|
28
|
-
fn: (accu: T, nodeName: string, nodeElt:
|
|
25
|
+
root: Element,
|
|
26
|
+
fn: (accu: T, nodeName: string, nodeElt: Element) => T,
|
|
29
27
|
init: T,
|
|
30
28
|
): T {
|
|
29
|
+
let node = root.firstElementChild;
|
|
31
30
|
let accumulator = init;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
accumulator = fn(accumulator, elt.tagName, elt);
|
|
31
|
+
while (node !== null) {
|
|
32
|
+
accumulator = fn(accumulator, node.nodeName, node);
|
|
33
|
+
node = node.nextElementSibling;
|
|
37
34
|
}
|
|
38
35
|
return accumulator;
|
|
39
36
|
}
|