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
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## v4.4.1 (2025-12-10)
|
|
4
4
|
|
|
5
5
|
### Bug fixes
|
|
6
6
|
|
|
7
|
+
- Fix v4.4.0 regression where the RxPlayer might base itself on the previous content's
|
|
8
|
+
position [#1758]
|
|
7
9
|
- Add resilience to DRM fallback when position is not yet known instead of triggering
|
|
8
10
|
`MEDIA_TIME_NOT_FOUND` error [#1755]
|
|
9
11
|
|
package/README.md
CHANGED
|
@@ -10,11 +10,22 @@
|
|
|
10
10
|
-
|
|
11
11
|
<a href="./CONTRIBUTING.md">🔧 <b>Contributing</b></a>
|
|
12
12
|
<br /><br />
|
|
13
|
-
<a href="https://github.com/canalplus/rx-player/releases"
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
<a href="https://github.com/canalplus/rx-player/releases">
|
|
14
|
+
<img src="https://img.shields.io/badge/dynamic/json.svg?label=Latest%20release&url=https://api.github.com/repos/canalplus/rx-player/releases/latest&query=$.tag_name&colorB=blue" />
|
|
15
|
+
</a>
|
|
16
|
+
<a href="https://github.com/canalplus/rx-player/actions/workflows/checks.yml">
|
|
17
|
+
<img src="https://github.com/canalplus/rx-player/actions/workflows/checks.yml/badge.svg" />
|
|
18
|
+
</a>
|
|
19
|
+
<a href="https://sonarcloud.io/summary/new_code?id=rx-player">
|
|
20
|
+
<img src="https://sonarcloud.io/api/project_badges/measure?project=rx-player&metric=alert_status" />
|
|
21
|
+
</a>
|
|
22
|
+
<a href="https://gitter.im/canalplus/rx-player">
|
|
23
|
+
<img src="https://img.shields.io/gitter/room/canalplus/rx-player.svg" />
|
|
24
|
+
</a>
|
|
16
25
|
<br /><br />
|
|
17
|
-
<a href="https://nodei.co/npm/rx-player/"
|
|
26
|
+
<a href="https://nodei.co/npm/rx-player/">
|
|
27
|
+
<img src="https://nodei.co/npm/rx-player.png?compact=true)" />
|
|
28
|
+
</a>
|
|
18
29
|
</p>
|
|
19
30
|
|
|
20
31
|
The RxPlayer is a library implementing a
|
|
@@ -25,32 +36,55 @@ media player on a browser, by relying on the HTML5
|
|
|
25
36
|
[Encrypted Media extensions](https://en.wikipedia.org/wiki/Encrypted_Media_Extensions)
|
|
26
37
|
browser APIs.
|
|
27
38
|
|
|
28
|
-
|
|
29
|
-
interface while it handles the streaming. See our
|
|
30
|
-
[demo page](https://developers.canal-plus.com/rx-player/) for an example implementation.
|
|
39
|
+
---
|
|
31
40
|
|
|
32
|
-
|
|
33
|
-
|
|
41
|
+
Originally designed to power Canal+ many applications, the RxPlayer is today used in
|
|
42
|
+
production by several companies in multiple countries and runs on most devices where a
|
|
43
|
+
browser can run: Computers, phones, set-top-boxes, smart TVs, game consoles and other
|
|
44
|
+
peculiar environments are all supported and able to profit from its many features.
|
|
34
45
|
|
|
35
|
-
|
|
46
|
+
Its main goals are:
|
|
47
|
+
|
|
48
|
+
- **Stability**: The RxPlayer can play live and On Demand DASH and Smooth contents for
|
|
49
|
+
extended amounts of time, with or without DRM - without any performance, memory or logic
|
|
50
|
+
issue.
|
|
51
|
+
|
|
52
|
+
If you encounter a new issue while using it, we'll be very happy to help fixing it. Any
|
|
53
|
+
encountered bug is put at high priority.
|
|
54
|
+
|
|
55
|
+
- **Quality of experience**: It aims to play the best possible quality without any
|
|
56
|
+
rebuffering.
|
|
57
|
+
|
|
58
|
+
Unsupported codecs and undecipherable qualities (e.g. higher qualities with more drastic
|
|
59
|
+
DRM conditions on untrusted devices) are automatically filtered out, even if this
|
|
60
|
+
happens during playback.
|
|
36
61
|
|
|
37
|
-
The
|
|
38
|
-
|
|
62
|
+
The player is also very resilient: any temporary network issue, fall in bandwidth,
|
|
63
|
+
poorly-packaged content or platform quirk should be properly handled with the main goal
|
|
64
|
+
of avoiding playback interruption.
|
|
39
65
|
|
|
40
|
-
-
|
|
41
|
-
|
|
42
|
-
undecipherable or undecodable qualities, most subtitle formats and advanced heuristics
|
|
43
|
-
to keep the playback going.
|
|
66
|
+
- **Portability**: The RxPlayer has been ported to a lot of devices, some on the lower-end
|
|
67
|
+
of performance and memory capabilities and others on the higher end.
|
|
44
68
|
|
|
45
|
-
|
|
46
|
-
|
|
69
|
+
As such, it can adapt to important memory and performance constraints while still being
|
|
70
|
+
able to retain its many features.
|
|
47
71
|
|
|
48
|
-
-
|
|
49
|
-
|
|
72
|
+
- **Configurability**: The RxPlayer has a plethora of options to let you tweak its
|
|
73
|
+
behavior. You should be able to play any content the way you want, on any device.
|
|
50
74
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
75
|
+
You should also be able to integrate complex supplementary logic like Peer-to-Peer
|
|
76
|
+
solutions.
|
|
77
|
+
|
|
78
|
+
- **Easy to use**: We try hard to make this player easy to integrate and to use in various
|
|
79
|
+
codebases.
|
|
80
|
+
|
|
81
|
+
Even for the more advanced options, we aim to make our documentation as legible and as
|
|
82
|
+
complete as possible.
|
|
83
|
+
|
|
84
|
+
The RxPlayer has probably already all the features you want :)!
|
|
85
|
+
|
|
86
|
+
Even if that's not the case, we will be very pleased to exchange with you on it and look
|
|
87
|
+
forward for external contributions.
|
|
54
88
|
|
|
55
89
|
## How to use it?
|
|
56
90
|
|
|
@@ -70,8 +104,13 @@ yarn add rx-player
|
|
|
70
104
|
You can then directly import and use the RxPlayer in your code:
|
|
71
105
|
|
|
72
106
|
```js
|
|
107
|
+
// import it ES6 style:
|
|
73
108
|
import RxPlayer from "rx-player";
|
|
74
109
|
|
|
110
|
+
// same in CommonJS style:
|
|
111
|
+
// const RxPlayer = require("rx-player");
|
|
112
|
+
|
|
113
|
+
// instantiate it
|
|
75
114
|
const player = new RxPlayer({
|
|
76
115
|
videoElement: document.querySelector("video"),
|
|
77
116
|
});
|
|
@@ -116,7 +155,7 @@ RxPlayer.addFeatures([DASH, EME]);
|
|
|
116
155
|
|
|
117
156
|
## API
|
|
118
157
|
|
|
119
|
-
We documented the API in every little
|
|
158
|
+
We documented the API in every little details in
|
|
120
159
|
[the API documentation](https://developers.canal-plus.com/rx-player/doc/api/Overview.html).
|
|
121
160
|
|
|
122
161
|
You can also refer to the documentation of our previous versions
|
|
@@ -138,50 +177,72 @@ Demo pages for our previous versions are also available
|
|
|
138
177
|
|
|
139
178
|
## Contribute
|
|
140
179
|
|
|
141
|
-
|
|
180
|
+
Details on how to contribute is written in the [CONTRIBUTING.md file](./CONTRIBUTING.md)
|
|
181
|
+
at the root of this repository.
|
|
182
|
+
|
|
183
|
+
### Dependencies
|
|
184
|
+
|
|
185
|
+
After cloning our repo, you should first install our dependencies via either
|
|
142
186
|
[npm](https://www.npmjs.com/):
|
|
143
187
|
|
|
144
188
|
```sh
|
|
145
189
|
npm install
|
|
146
190
|
```
|
|
147
191
|
|
|
148
|
-
|
|
149
|
-
modifications, run a demo locally etc.:
|
|
192
|
+
## Why a new player?
|
|
150
193
|
|
|
151
|
-
|
|
152
|
-
npm run list
|
|
153
|
-
```
|
|
194
|
+
### A need for an advanced media player
|
|
154
195
|
|
|
155
|
-
|
|
156
|
-
|
|
196
|
+
Canal+ Group is a media company with many advanced needs when it comes to media playback:
|
|
197
|
+
it provides both live and VoD stream with multiple encryption requirements, supports a
|
|
198
|
+
very large panel of devices and has many other specificities (like adult content
|
|
199
|
+
restrictions, ad-insertion, Peer-To-Peer integration, low-latency live streaming...).
|
|
157
200
|
|
|
158
|
-
|
|
201
|
+
When the time came to switch from a plugin-based web player approach to an HTML5 one back
|
|
202
|
+
in 2015, no media player had the key features we wanted, and including those needs into an
|
|
203
|
+
already existing media player would not be straightforward either.
|
|
159
204
|
|
|
160
|
-
|
|
205
|
+
The R&D department of Canal+ Group thus started to work on a new featureful media-player:
|
|
206
|
+
the RxPlayer. To both help and profit from the community, it also decided to share it to
|
|
207
|
+
everyone under a permissive open-source licence.
|
|
161
208
|
|
|
162
|
-
|
|
163
|
-
|
|
209
|
+
Now, more than 8 years later, the RxPlayer continues to evolve at the same fast pace to
|
|
210
|
+
include a lot of features and improvements you may not find in other media players. You
|
|
211
|
+
can look at our
|
|
212
|
+
[API documentation](https://developers.canal-plus.com/rx-player/doc/api/Overview.html),
|
|
213
|
+
[tutorials](https://developers.canal-plus.com/rx-player/doc/Getting_Started/Tutorials/Quick_Start.html)
|
|
214
|
+
and our [demo page](https://developers.canal-plus.com/rx-player/) (an RxPlayer instance is
|
|
215
|
+
available in the console through the global `player` variable there) to see if it matches
|
|
216
|
+
your need.
|
|
164
217
|
|
|
165
|
-
|
|
166
|
-
given content, automatic fallbacks on undecipherable contents, persistent licenses,
|
|
167
|
-
complex `MediaKeySystemConfiguration`.
|
|
218
|
+
### A featureful player
|
|
168
219
|
|
|
169
|
-
-
|
|
220
|
+
With the help of a carefully-crafted and well-documented architecture, we were able to
|
|
221
|
+
quickly support avanced features when we - or the community - needed them. Amongst those:
|
|
170
222
|
|
|
171
|
-
-
|
|
223
|
+
- support for live and VoD DASH / Smooth / HLS* / Downloaded contents / MP4* / WebM\*
|
|
224
|
+
contents and more
|
|
172
225
|
|
|
173
|
-
-
|
|
174
|
-
|
|
226
|
+
- support of advanced encryption configuration, such as multiple keys in a single or
|
|
227
|
+
separate licences for a given content (with automatic fallbacks when we found an
|
|
228
|
+
un-decipherable content), persistent licenses, and other device-specific restrictions.
|
|
175
229
|
|
|
176
|
-
-
|
|
177
|
-
to provide the best quality possible.
|
|
230
|
+
- support for low-latency DASH streams
|
|
178
231
|
|
|
179
|
-
-
|
|
180
|
-
|
|
232
|
+
- support of TTML, WebVTT, SAMI and SRT subtitles
|
|
233
|
+
|
|
234
|
+
- an available WebAssembly-based MPD parser for DASH contents, allowing to drastically
|
|
235
|
+
reduce the loading time and memory usage of larger contents.
|
|
181
236
|
|
|
182
|
-
-
|
|
183
|
-
|
|
237
|
+
- advanced APIs for advanced use-cases (audio-only mode, video track selection, manual
|
|
238
|
+
garbage collection of segments, Peer-To-Peer integration, quality filtering...)
|
|
184
239
|
|
|
185
|
-
-
|
|
240
|
+
- advanced adaptive streaming algorithms making use of both a network-based approach (for
|
|
241
|
+
quick start-up) and a buffer-based one (to provide the best quality possible).
|
|
242
|
+
|
|
243
|
+
- advanced optimizations for devices with low memory constraints
|
|
244
|
+
|
|
245
|
+
- a complex segment scheduling logic, prioritizing closer media segments while making sure
|
|
246
|
+
that the bandwidth usage is always optimal and the rebuffering risks always low.
|
|
186
247
|
|
|
187
248
|
\* In "directfile" mode, on compatible browsers
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
4.4.1
|
|
1
|
+
4.4.1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedded_dash_wasm.d.ts","sourceRoot":"","sources":["../../../src/__GENERATED_CODE/embedded_dash_wasm.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"embedded_dash_wasm.d.ts","sourceRoot":"","sources":["../../../src/__GENERATED_CODE/embedded_dash_wasm.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,eAAe,aAA8ssV,CAAC;AACpusV,OAAO,EAAE,eAAe,IAAI,kBAAkB,EAAE,CAAC;AACjD,eAAe,eAAe,CAAC"}
|