rx-player 4.4.0 → 4.4.1-dev.2025101500
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 +7 -0
- package/README.md +52 -113
- package/VERSION +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/{main/common → entry}/FreezeResolver.d.ts +3 -3
- package/dist/commonjs/core/entry/FreezeResolver.d.ts.map +1 -0
- package/dist/commonjs/core/{main/common → entry}/FreezeResolver.js +3 -3
- package/dist/{es2017/core/main/worker → commonjs/core/entry}/content_preparer.d.ts +22 -15
- package/dist/commonjs/core/entry/content_preparer.d.ts.map +1 -0
- package/dist/commonjs/core/{main/worker → entry}/content_preparer.js +62 -64
- package/dist/{es2017/core/main/common → commonjs/core/entry}/content_time_boundaries_observer.d.ts +5 -5
- package/dist/commonjs/core/entry/content_time_boundaries_observer.d.ts.map +1 -0
- package/dist/commonjs/core/{main/common → entry}/content_time_boundaries_observer.js +6 -6
- package/dist/commonjs/core/entry/core_entry.d.ts +36 -0
- package/dist/commonjs/core/entry/core_entry.d.ts.map +1 -0
- package/dist/commonjs/core/{main/worker/worker_main.js → entry/core_entry.js} +192 -153
- package/dist/commonjs/core/{main/worker/worker_text_displayer_interface.d.ts → entry/core_text_displayer_interface.d.ts} +11 -11
- package/dist/commonjs/core/entry/core_text_displayer_interface.d.ts.map +1 -0
- package/dist/commonjs/core/{main/worker/worker_text_displayer_interface.js → entry/core_text_displayer_interface.js} +22 -22
- package/dist/commonjs/core/{main/common → entry}/create_content_time_boundaries_observer.d.ts +6 -6
- package/dist/commonjs/core/entry/create_content_time_boundaries_observer.d.ts.map +1 -0
- package/dist/commonjs/core/{main/common → entry}/create_content_time_boundaries_observer.js +1 -1
- package/dist/commonjs/core/{main/common → entry}/get_buffered_data_per_media_buffer.d.ts +4 -4
- package/dist/commonjs/core/entry/get_buffered_data_per_media_buffer.d.ts.map +1 -0
- package/dist/commonjs/core/{main/common → entry}/get_buffered_data_per_media_buffer.js +1 -1
- package/dist/{es2017/core/main/common → commonjs/core/entry}/get_thumbnail_data.d.ts +3 -3
- package/dist/commonjs/core/entry/get_thumbnail_data.d.ts.map +1 -0
- package/dist/commonjs/core/{main/common → entry}/get_thumbnail_data.js +2 -2
- package/dist/commonjs/core/entry/index.d.ts +5 -0
- package/dist/commonjs/core/entry/index.d.ts.map +1 -0
- package/dist/commonjs/core/entry/index.js +4 -0
- package/dist/{es2017/core/main/common → commonjs/core/entry}/synchronize_sinks_on_observation.d.ts +2 -2
- package/dist/commonjs/core/entry/synchronize_sinks_on_observation.d.ts.map +1 -0
- package/dist/commonjs/core/{main/worker → entry}/track_choice_setter.d.ts +4 -4
- package/dist/commonjs/core/entry/track_choice_setter.d.ts.map +1 -0
- package/dist/commonjs/core/{main/worker → entry}/track_choice_setter.js +4 -4
- package/dist/commonjs/core/entry/utils.d.ts +3 -0
- package/dist/commonjs/core/entry/utils.d.ts.map +1 -0
- package/dist/commonjs/core/entry/utils.js +11 -0
- package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.d.ts.map +1 -1
- package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.js +17 -0
- package/dist/commonjs/core/types.d.ts +519 -1
- package/dist/commonjs/core/types.d.ts.map +1 -1
- package/dist/commonjs/core/types.js +1 -0
- package/dist/commonjs/experimental/features/local.d.ts.map +1 -1
- package/dist/commonjs/experimental/features/local.js +7 -1
- package/dist/commonjs/experimental/features/metaplaylist.d.ts.map +1 -1
- package/dist/commonjs/experimental/features/metaplaylist.js +7 -1
- package/dist/commonjs/experimental/features/multi_thread.d.ts.map +1 -1
- package/dist/commonjs/experimental/features/multi_thread.js +6 -2
- 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 +7 -1
- package/dist/commonjs/features/list/dash_wasm.d.ts.map +1 -1
- package/dist/commonjs/features/list/dash_wasm.js +7 -1
- package/dist/commonjs/features/list/media_source_main.d.ts.map +1 -1
- package/dist/commonjs/features/list/media_source_main.js +7 -1
- package/dist/commonjs/features/list/smooth.d.ts.map +1 -1
- package/dist/commonjs/features/list/smooth.js +7 -1
- package/dist/commonjs/features/types.d.ts +20 -4
- 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 +39 -42
- package/dist/commonjs/main_thread/core_interface/base.d.ts +13 -0
- package/dist/commonjs/main_thread/core_interface/base.d.ts.map +1 -0
- package/dist/commonjs/main_thread/core_interface/base.js +32 -0
- package/dist/commonjs/main_thread/core_interface/monothread.d.ts +13 -0
- package/dist/commonjs/main_thread/core_interface/monothread.d.ts.map +1 -0
- package/dist/commonjs/main_thread/core_interface/monothread.js +56 -0
- package/dist/commonjs/main_thread/core_interface/multithread.d.ts +25 -0
- package/dist/commonjs/main_thread/core_interface/multithread.d.ts.map +1 -0
- package/dist/commonjs/main_thread/core_interface/multithread.js +67 -0
- package/dist/commonjs/main_thread/core_interface/types.d.ts +6 -0
- package/dist/commonjs/main_thread/core_interface/types.d.ts.map +1 -0
- package/dist/commonjs/main_thread/core_interface/types.js +2 -0
- package/dist/commonjs/main_thread/init/media_source_content_initializer.d.ts +166 -108
- 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 +1492 -919
- 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 +2 -1
- 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 +537 -0
- 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 +18 -4
- 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/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 +31 -27
- package/dist/commonjs/parsers/manifest/smooth/parse_C_nodes.d.ts +3 -2
- package/dist/commonjs/parsers/manifest/smooth/parse_C_nodes.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/smooth/parse_C_nodes.js +16 -7
- package/dist/commonjs/parsers/manifest/smooth/parse_protection_node.d.ts +3 -2
- package/dist/commonjs/parsers/manifest/smooth/parse_protection_node.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/smooth/parse_protection_node.js +37 -6
- 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 +3 -2
- package/dist/commonjs/parsers/manifest/smooth/utils/reduceChildren.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/smooth/utils/reduceChildren.js +28 -5
- package/dist/{es2017/playback_observer/worker_playback_observer.d.ts → commonjs/playback_observer/core_playback_observer.d.ts} +8 -8
- package/dist/commonjs/playback_observer/core_playback_observer.d.ts.map +1 -0
- package/dist/commonjs/playback_observer/{worker_playback_observer.js → core_playback_observer.js} +13 -13
- package/dist/commonjs/transports/smooth/pipelines.d.ts.map +1 -1
- package/dist/commonjs/transports/smooth/pipelines.js +25 -3
- package/dist/commonjs/worker_entry_point.js +62 -2
- 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/{main/common → entry}/FreezeResolver.d.ts +3 -3
- package/dist/es2017/core/entry/FreezeResolver.d.ts.map +1 -0
- package/dist/es2017/core/{main/common → entry}/FreezeResolver.js +3 -3
- package/dist/{commonjs/core/main/worker → es2017/core/entry}/content_preparer.d.ts +22 -15
- package/dist/es2017/core/entry/content_preparer.d.ts.map +1 -0
- package/dist/es2017/core/{main/worker → entry}/content_preparer.js +53 -55
- package/dist/{commonjs/core/main/common → es2017/core/entry}/content_time_boundaries_observer.d.ts +5 -5
- package/dist/es2017/core/entry/content_time_boundaries_observer.d.ts.map +1 -0
- package/dist/es2017/core/{main/common → entry}/content_time_boundaries_observer.js +6 -6
- package/dist/es2017/core/entry/core_entry.d.ts +36 -0
- package/dist/es2017/core/entry/core_entry.d.ts.map +1 -0
- package/dist/es2017/core/{main/worker/worker_main.js → entry/core_entry.js} +153 -114
- package/dist/es2017/core/{main/worker/worker_text_displayer_interface.d.ts → entry/core_text_displayer_interface.d.ts} +11 -11
- package/dist/es2017/core/entry/core_text_displayer_interface.d.ts.map +1 -0
- package/dist/es2017/core/{main/worker/worker_text_displayer_interface.js → entry/core_text_displayer_interface.js} +10 -10
- package/dist/es2017/core/{main/common → entry}/create_content_time_boundaries_observer.d.ts +6 -6
- package/dist/es2017/core/entry/create_content_time_boundaries_observer.d.ts.map +1 -0
- package/dist/es2017/core/{main/common → entry}/create_content_time_boundaries_observer.js +1 -1
- package/dist/es2017/core/{main/common → entry}/get_buffered_data_per_media_buffer.d.ts +4 -4
- package/dist/es2017/core/entry/get_buffered_data_per_media_buffer.d.ts.map +1 -0
- package/dist/es2017/core/{main/common → entry}/get_buffered_data_per_media_buffer.js +1 -1
- package/dist/{commonjs/core/main/common → es2017/core/entry}/get_thumbnail_data.d.ts +3 -3
- package/dist/es2017/core/entry/get_thumbnail_data.d.ts.map +1 -0
- package/dist/es2017/core/{main/common → entry}/get_thumbnail_data.js +2 -2
- package/dist/es2017/core/entry/index.d.ts +5 -0
- package/dist/es2017/core/entry/index.d.ts.map +1 -0
- package/dist/es2017/core/entry/index.js +2 -0
- package/dist/{commonjs/core/main/common → es2017/core/entry}/synchronize_sinks_on_observation.d.ts +2 -2
- package/dist/es2017/core/entry/synchronize_sinks_on_observation.d.ts.map +1 -0
- package/dist/es2017/core/{main/worker → entry}/track_choice_setter.d.ts +4 -4
- package/dist/es2017/core/entry/track_choice_setter.d.ts.map +1 -0
- package/dist/es2017/core/{main/worker → entry}/track_choice_setter.js +4 -4
- package/dist/es2017/core/entry/utils.d.ts +3 -0
- package/dist/es2017/core/entry/utils.d.ts.map +1 -0
- package/dist/es2017/core/entry/utils.js +8 -0
- package/dist/es2017/core/stream/orchestrator/stream_orchestrator.d.ts.map +1 -1
- package/dist/es2017/core/stream/orchestrator/stream_orchestrator.js +18 -1
- package/dist/es2017/core/types.d.ts +519 -1
- package/dist/es2017/core/types.d.ts.map +1 -1
- package/dist/es2017/core/types.js +1 -0
- package/dist/es2017/experimental/features/local.d.ts.map +1 -1
- package/dist/es2017/experimental/features/local.js +7 -1
- package/dist/es2017/experimental/features/metaplaylist.d.ts.map +1 -1
- package/dist/es2017/experimental/features/metaplaylist.js +7 -1
- package/dist/es2017/experimental/features/multi_thread.d.ts.map +1 -1
- package/dist/es2017/experimental/features/multi_thread.js +6 -2
- 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 +7 -1
- package/dist/es2017/features/list/dash_wasm.d.ts.map +1 -1
- package/dist/es2017/features/list/dash_wasm.js +7 -1
- package/dist/es2017/features/list/media_source_main.d.ts.map +1 -1
- package/dist/es2017/features/list/media_source_main.js +7 -1
- package/dist/es2017/features/list/smooth.d.ts.map +1 -1
- package/dist/es2017/features/list/smooth.js +7 -1
- package/dist/es2017/features/types.d.ts +20 -4
- 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 +40 -43
- package/dist/es2017/main_thread/core_interface/base.d.ts +13 -0
- package/dist/es2017/main_thread/core_interface/base.d.ts.map +1 -0
- package/dist/es2017/main_thread/core_interface/base.js +28 -0
- package/dist/es2017/main_thread/core_interface/monothread.d.ts +13 -0
- package/dist/es2017/main_thread/core_interface/monothread.d.ts.map +1 -0
- package/dist/es2017/main_thread/core_interface/monothread.js +32 -0
- package/dist/es2017/main_thread/core_interface/multithread.d.ts +25 -0
- package/dist/es2017/main_thread/core_interface/multithread.d.ts.map +1 -0
- package/dist/es2017/main_thread/core_interface/multithread.js +45 -0
- package/dist/es2017/main_thread/core_interface/types.d.ts +6 -0
- package/dist/es2017/main_thread/core_interface/types.d.ts.map +1 -0
- package/dist/es2017/main_thread/core_interface/types.js +1 -0
- package/dist/es2017/main_thread/init/media_source_content_initializer.d.ts +166 -108
- 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 +1405 -760
- 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 +2 -1
- 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 +537 -0
- 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 +16 -4
- 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/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 +31 -27
- package/dist/es2017/parsers/manifest/smooth/parse_C_nodes.d.ts +3 -2
- package/dist/es2017/parsers/manifest/smooth/parse_C_nodes.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/smooth/parse_C_nodes.js +16 -7
- package/dist/es2017/parsers/manifest/smooth/parse_protection_node.d.ts +3 -2
- package/dist/es2017/parsers/manifest/smooth/parse_protection_node.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/smooth/parse_protection_node.js +15 -6
- 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 +3 -2
- package/dist/es2017/parsers/manifest/smooth/utils/reduceChildren.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/smooth/utils/reduceChildren.js +6 -5
- package/dist/{commonjs/playback_observer/worker_playback_observer.d.ts → es2017/playback_observer/core_playback_observer.d.ts} +8 -8
- package/dist/es2017/playback_observer/core_playback_observer.d.ts.map +1 -0
- package/dist/es2017/playback_observer/{worker_playback_observer.js → core_playback_observer.js} +2 -2
- package/dist/es2017/transports/smooth/pipelines.d.ts.map +1 -1
- package/dist/es2017/transports/smooth/pipelines.js +25 -3
- package/dist/es2017/worker_entry_point.js +62 -2
- package/dist/rx-player.js +21882 -19021
- package/dist/rx-player.min.js +20 -20
- package/dist/worker.js +8 -8
- package/package.json +1 -1
- package/src/README.md +88 -198
- package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
- package/src/core/{main/common → entry}/FreezeResolver.ts +7 -7
- package/src/core/{main → entry}/README.md +1 -1
- package/src/core/{main/worker → entry}/content_preparer.ts +77 -76
- package/src/core/{main/common → entry}/content_time_boundaries_observer.ts +10 -10
- package/src/core/{main/worker/worker_main.ts → entry/core_entry.ts} +223 -149
- package/src/core/{main/worker/worker_text_displayer_interface.ts → entry/core_text_displayer_interface.ts} +26 -26
- package/src/core/{main/common → entry}/create_content_time_boundaries_observer.ts +7 -7
- package/src/core/{main/common → entry}/get_buffered_data_per_media_buffer.ts +6 -6
- package/src/core/{main/common → entry}/get_thumbnail_data.ts +5 -5
- package/src/core/entry/index.ts +4 -0
- package/src/core/{main/common → entry}/synchronize_sinks_on_observation.ts +2 -2
- package/src/core/{main/worker → entry}/track_choice_setter.ts +7 -7
- package/src/core/entry/utils.ts +11 -0
- package/src/core/stream/orchestrator/stream_orchestrator.ts +26 -1
- package/src/core/types.ts +631 -3
- package/src/experimental/features/__tests__/local.test.ts +11 -2
- package/src/experimental/features/__tests__/metaplaylist.test.ts +11 -2
- package/src/experimental/features/__tests__/multi_thread.test.ts +8 -3
- package/src/experimental/features/local.ts +7 -1
- package/src/experimental/features/metaplaylist.ts +7 -1
- package/src/experimental/features/multi_thread.ts +6 -2
- package/src/features/features_object.ts +1 -1
- package/src/features/list/__tests__/dash.test.ts +12 -3
- package/src/features/list/__tests__/smooth.test.ts +11 -2
- package/src/features/list/dash.ts +7 -1
- package/src/features/list/dash_wasm.ts +7 -1
- package/src/features/list/media_source_main.ts +7 -1
- package/src/features/list/smooth.ts +7 -1
- package/src/features/types.ts +23 -4
- package/src/main_thread/README.md +8 -0
- package/src/main_thread/api/public_api.ts +46 -48
- package/src/main_thread/core_interface/README.md +22 -0
- package/src/main_thread/core_interface/base.ts +36 -0
- package/src/main_thread/core_interface/monothread.ts +46 -0
- package/src/main_thread/core_interface/multithread.ts +49 -0
- package/src/main_thread/core_interface/types.ts +5 -0
- package/src/main_thread/init/media_source_content_initializer.ts +2034 -1152
- package/src/main_thread/init/utils/create_core_playback_observer.ts +2 -1
- package/src/main_thread/init/utils/update_manifest_codec_support.ts +1 -1
- package/src/main_thread/types.ts +610 -0
- package/src/manifest/utils.ts +20 -4
- package/src/mse/worker_media_source_interface.ts +35 -35
- package/src/parsers/manifest/smooth/create_parser.ts +40 -34
- package/src/parsers/manifest/smooth/parse_C_nodes.ts +19 -8
- package/src/parsers/manifest/smooth/parse_protection_node.ts +17 -9
- package/src/parsers/manifest/smooth/utils/parseBoolean.ts +1 -1
- package/src/parsers/manifest/smooth/utils/reduceChildren.ts +10 -7
- package/src/playback_observer/{worker_playback_observer.ts → core_playback_observer.ts} +13 -13
- package/src/transports/smooth/pipelines.ts +25 -5
- package/src/worker_entry_point.ts +71 -2
- package/dist/commonjs/core/main/common/FreezeResolver.d.ts.map +0 -1
- package/dist/commonjs/core/main/common/content_time_boundaries_observer.d.ts.map +0 -1
- package/dist/commonjs/core/main/common/create_content_time_boundaries_observer.d.ts.map +0 -1
- package/dist/commonjs/core/main/common/get_buffered_data_per_media_buffer.d.ts.map +0 -1
- package/dist/commonjs/core/main/common/get_thumbnail_data.d.ts.map +0 -1
- package/dist/commonjs/core/main/common/synchronize_sinks_on_observation.d.ts.map +0 -1
- package/dist/commonjs/core/main/worker/content_preparer.d.ts.map +0 -1
- package/dist/commonjs/core/main/worker/globals.d.ts +0 -14
- package/dist/commonjs/core/main/worker/globals.d.ts.map +0 -1
- package/dist/commonjs/core/main/worker/globals.js +0 -26
- package/dist/commonjs/core/main/worker/index.d.ts +0 -3
- package/dist/commonjs/core/main/worker/index.d.ts.map +0 -1
- package/dist/commonjs/core/main/worker/index.js +0 -4
- package/dist/commonjs/core/main/worker/send_message.d.ts +0 -4
- package/dist/commonjs/core/main/worker/send_message.d.ts.map +0 -1
- package/dist/commonjs/core/main/worker/send_message.js +0 -23
- package/dist/commonjs/core/main/worker/track_choice_setter.d.ts.map +0 -1
- package/dist/commonjs/core/main/worker/worker_main.d.ts +0 -2
- package/dist/commonjs/core/main/worker/worker_main.d.ts.map +0 -1
- package/dist/commonjs/core/main/worker/worker_text_displayer_interface.d.ts.map +0 -1
- package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts +0 -308
- package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts.map +0 -1
- package/dist/commonjs/main_thread/init/multi_thread_content_initializer.js +0 -1713
- package/dist/commonjs/main_thread/init/send_message.d.ts +0 -3
- package/dist/commonjs/main_thread/init/send_message.d.ts.map +0 -1
- package/dist/commonjs/main_thread/init/send_message.js +0 -13
- package/dist/commonjs/multithread_types.d.ts +0 -915
- package/dist/commonjs/multithread_types.d.ts.map +0 -1
- package/dist/commonjs/multithread_types.js +0 -7
- package/dist/commonjs/playback_observer/worker_playback_observer.d.ts.map +0 -1
- package/dist/es2017/core/main/common/FreezeResolver.d.ts.map +0 -1
- package/dist/es2017/core/main/common/content_time_boundaries_observer.d.ts.map +0 -1
- package/dist/es2017/core/main/common/create_content_time_boundaries_observer.d.ts.map +0 -1
- package/dist/es2017/core/main/common/get_buffered_data_per_media_buffer.d.ts.map +0 -1
- package/dist/es2017/core/main/common/get_thumbnail_data.d.ts.map +0 -1
- package/dist/es2017/core/main/common/synchronize_sinks_on_observation.d.ts.map +0 -1
- package/dist/es2017/core/main/worker/content_preparer.d.ts.map +0 -1
- package/dist/es2017/core/main/worker/globals.d.ts +0 -14
- package/dist/es2017/core/main/worker/globals.d.ts.map +0 -1
- package/dist/es2017/core/main/worker/globals.js +0 -18
- package/dist/es2017/core/main/worker/index.d.ts +0 -3
- package/dist/es2017/core/main/worker/index.d.ts.map +0 -1
- package/dist/es2017/core/main/worker/index.js +0 -2
- package/dist/es2017/core/main/worker/send_message.d.ts +0 -4
- package/dist/es2017/core/main/worker/send_message.d.ts.map +0 -1
- package/dist/es2017/core/main/worker/send_message.js +0 -19
- package/dist/es2017/core/main/worker/track_choice_setter.d.ts.map +0 -1
- package/dist/es2017/core/main/worker/worker_main.d.ts +0 -2
- package/dist/es2017/core/main/worker/worker_main.d.ts.map +0 -1
- package/dist/es2017/core/main/worker/worker_text_displayer_interface.d.ts.map +0 -1
- package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts +0 -308
- package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts.map +0 -1
- package/dist/es2017/main_thread/init/multi_thread_content_initializer.js +0 -1559
- package/dist/es2017/main_thread/init/send_message.d.ts +0 -3
- package/dist/es2017/main_thread/init/send_message.d.ts.map +0 -1
- package/dist/es2017/main_thread/init/send_message.js +0 -10
- package/dist/es2017/multithread_types.d.ts +0 -915
- package/dist/es2017/multithread_types.d.ts.map +0 -1
- package/dist/es2017/multithread_types.js +0 -6
- package/dist/es2017/playback_observer/worker_playback_observer.d.ts.map +0 -1
- package/src/core/main/worker/globals.ts +0 -38
- package/src/core/main/worker/index.ts +0 -2
- package/src/core/main/worker/send_message.ts +0 -28
- package/src/main_thread/init/multi_thread_content_initializer.ts +0 -2330
- package/src/main_thread/init/send_message.ts +0 -15
- package/src/multithread_types.ts +0 -1095
- /package/dist/commonjs/core/{main/common → entry}/synchronize_sinks_on_observation.js +0 -0
- /package/dist/es2017/core/{main/common → entry}/synchronize_sinks_on_observation.js +0 -0
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -10,22 +10,11 @@
|
|
|
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
|
-
|
|
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>
|
|
13
|
+
<a href="https://github.com/canalplus/rx-player/releases"><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" /></a>
|
|
14
|
+
<a href="https://github.com/canalplus/rx-player/actions/workflows/checks.yml"><img src="https://github.com/canalplus/rx-player/actions/workflows/checks.yml/badge.svg" /></a>
|
|
15
|
+
<a href="https://sonarcloud.io/summary/new_code?id=rx-player"><img src="https://sonarcloud.io/api/project_badges/measure?project=rx-player&metric=alert_status" /></a>
|
|
25
16
|
<br /><br />
|
|
26
|
-
<a href="https://nodei.co/npm/rx-player/">
|
|
27
|
-
<img src="https://nodei.co/npm/rx-player.png?compact=true)" />
|
|
28
|
-
</a>
|
|
17
|
+
<a href="https://nodei.co/npm/rx-player/"><img src="https://nodei.co/npm/rx-player.png?compact=true)" /></a>
|
|
29
18
|
</p>
|
|
30
19
|
|
|
31
20
|
The RxPlayer is a library implementing a
|
|
@@ -36,55 +25,32 @@ media player on a browser, by relying on the HTML5
|
|
|
36
25
|
[Encrypted Media extensions](https://en.wikipedia.org/wiki/Encrypted_Media_Extensions)
|
|
37
26
|
browser APIs.
|
|
38
27
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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.
|
|
45
|
-
|
|
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.
|
|
28
|
+
This library only implements the core, non-UI part of a media player - you provide the
|
|
29
|
+
interface while it handles the streaming. See our
|
|
30
|
+
[demo page](https://developers.canal-plus.com/rx-player/) for an example implementation.
|
|
57
31
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
happens during playback.
|
|
32
|
+
Initially built for Canal+'s complex requirements across diverse devices, it prioritizes
|
|
33
|
+
configurability and integration flexibility.
|
|
61
34
|
|
|
62
|
-
|
|
63
|
-
poorly-packaged content or platform quirk should be properly handled with the main goal
|
|
64
|
-
of avoiding playback interruption.
|
|
65
|
-
|
|
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.
|
|
68
|
-
|
|
69
|
-
As such, it can adapt to important memory and performance constraints while still being
|
|
70
|
-
able to retain its many features.
|
|
71
|
-
|
|
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.
|
|
35
|
+
---
|
|
74
36
|
|
|
75
|
-
|
|
76
|
-
|
|
37
|
+
The RxPlayer can be seen as the "engine" providing adaptive streaming capabilities to an
|
|
38
|
+
application:
|
|
77
39
|
|
|
78
|
-
-
|
|
79
|
-
|
|
40
|
+
- Beyond DASH and Smooth Streaming support (and HLS on devices with native support like
|
|
41
|
+
Safari), it handles complex scenarios like multiple DRM keys, fallback mechanisms for
|
|
42
|
+
undecipherable or undecodable qualities, most subtitle formats and advanced heuristics
|
|
43
|
+
to keep the playback going.
|
|
80
44
|
|
|
81
|
-
|
|
82
|
-
|
|
45
|
+
- Multi-threaded architecture: core logic can be offloaded to a separate thread, keeping
|
|
46
|
+
the player from blocking your application and vice-versa.
|
|
83
47
|
|
|
84
|
-
|
|
48
|
+
- Production-tested across a wide device range: from low-end set-top boxes to high-end
|
|
49
|
+
computers, with optimizations for constrained environments.
|
|
85
50
|
|
|
86
|
-
|
|
87
|
-
|
|
51
|
+
- Highly configurable with
|
|
52
|
+
[a well-documented API](https://developers.canal-plus.com/rx-player/doc/api/Overview.html):
|
|
53
|
+
player behavior can be controlled at a granular level.
|
|
88
54
|
|
|
89
55
|
## How to use it?
|
|
90
56
|
|
|
@@ -104,13 +70,8 @@ yarn add rx-player
|
|
|
104
70
|
You can then directly import and use the RxPlayer in your code:
|
|
105
71
|
|
|
106
72
|
```js
|
|
107
|
-
// import it ES6 style:
|
|
108
73
|
import RxPlayer from "rx-player";
|
|
109
74
|
|
|
110
|
-
// same in CommonJS style:
|
|
111
|
-
// const RxPlayer = require("rx-player");
|
|
112
|
-
|
|
113
|
-
// instantiate it
|
|
114
75
|
const player = new RxPlayer({
|
|
115
76
|
videoElement: document.querySelector("video"),
|
|
116
77
|
});
|
|
@@ -134,8 +95,8 @@ To be able to play with the player without needing to perform any setup we also
|
|
|
134
95
|
multiple live-editable demos:
|
|
135
96
|
|
|
136
97
|
- [Playing a clear DASH content](https://codesandbox.io/s/rx-player-classic-wc38j)
|
|
137
|
-
- [Playing an encrypted DASH content](https://codesandbox.io/
|
|
138
|
-
- [Playing an RxPlayer-specific MetaPlaylist content](https://codesandbox.io/
|
|
98
|
+
- [Playing an encrypted DASH content](https://codesandbox.io/p/sandbox/rx-player-drm-forked-nf6tnx)
|
|
99
|
+
- [Playing an RxPlayer-specific MetaPlaylist content](https://codesandbox.io/p/sandbox/rx-player-metaplaylist-forked-4ww55x)
|
|
139
100
|
|
|
140
101
|
### Minimal Builds
|
|
141
102
|
|
|
@@ -155,7 +116,7 @@ RxPlayer.addFeatures([DASH, EME]);
|
|
|
155
116
|
|
|
156
117
|
## API
|
|
157
118
|
|
|
158
|
-
We documented the API in every little
|
|
119
|
+
We documented the API in every little detail in
|
|
159
120
|
[the API documentation](https://developers.canal-plus.com/rx-player/doc/api/Overview.html).
|
|
160
121
|
|
|
161
122
|
You can also refer to the documentation of our previous versions
|
|
@@ -177,72 +138,50 @@ Demo pages for our previous versions are also available
|
|
|
177
138
|
|
|
178
139
|
## Contribute
|
|
179
140
|
|
|
180
|
-
|
|
181
|
-
at the root of this repository.
|
|
182
|
-
|
|
183
|
-
### Dependencies
|
|
184
|
-
|
|
185
|
-
After cloning our repo, you should first install our dependencies via either
|
|
141
|
+
After cloning our repo, you should first install our dependencies via
|
|
186
142
|
[npm](https://www.npmjs.com/):
|
|
187
143
|
|
|
188
144
|
```sh
|
|
189
145
|
npm install
|
|
190
146
|
```
|
|
191
147
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
### A need for an advanced media player
|
|
195
|
-
|
|
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...).
|
|
200
|
-
|
|
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.
|
|
148
|
+
You can then run the `list` script to see the different scripts provided to test your
|
|
149
|
+
modifications, run a demo locally etc.:
|
|
204
150
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
151
|
+
```sh
|
|
152
|
+
npm run list
|
|
153
|
+
```
|
|
208
154
|
|
|
209
|
-
|
|
210
|
-
|
|
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.
|
|
155
|
+
Details on how to contribute is written in the [CONTRIBUTING.md file](./CONTRIBUTING.md)
|
|
156
|
+
at the root of this repository.
|
|
217
157
|
|
|
218
|
-
|
|
158
|
+
## Features
|
|
219
159
|
|
|
220
|
-
|
|
221
|
-
quickly support avanced features when we - or the community - needed them. Amongst those:
|
|
160
|
+
Key features:
|
|
222
161
|
|
|
223
|
-
-
|
|
224
|
-
contents and more
|
|
162
|
+
- live and VoD DASH (including low-latency) / Smooth / HLS* / Downloaded contents / MP4* /
|
|
163
|
+
WebM\* contents and more.
|
|
225
164
|
|
|
226
|
-
-
|
|
227
|
-
|
|
228
|
-
|
|
165
|
+
- advanced encryption configuration: multiple keys in a single or separate licenses for a
|
|
166
|
+
given content, automatic fallbacks on undecipherable contents, persistent licenses,
|
|
167
|
+
complex `MediaKeySystemConfiguration`.
|
|
229
168
|
|
|
230
|
-
-
|
|
169
|
+
- TTML, WebVTT, SAMI and SRT subtitles.
|
|
231
170
|
|
|
232
|
-
- support
|
|
171
|
+
- multi-threading support.
|
|
233
172
|
|
|
234
|
-
-
|
|
235
|
-
|
|
173
|
+
- extensive APIs: audio-only, video track selection, manual garbage collection of
|
|
174
|
+
segments, Peer-To-Peer integration, quality filtering...
|
|
236
175
|
|
|
237
|
-
-
|
|
238
|
-
|
|
176
|
+
- adaptive streaming algorithms: both a network-based for quick start-up and buffer-based
|
|
177
|
+
to provide the best quality possible.
|
|
239
178
|
|
|
240
|
-
-
|
|
241
|
-
|
|
179
|
+
- complex segment scheduling logic: prioritizing closer media segments while making sure
|
|
180
|
+
that the bandwidth usage is always optimal and the rebuffering risks always low.
|
|
242
181
|
|
|
243
|
-
-
|
|
182
|
+
- heuristics to ensure playback stays smooth, the RxPlayer monitors playback and take
|
|
183
|
+
actions if the current device has issues while decoding the stream.
|
|
244
184
|
|
|
245
|
-
-
|
|
246
|
-
that the bandwidth usage is always optimal and the rebuffering risks always low.
|
|
185
|
+
- optional WebAssembly-based MPD parser for DASH contents (for very large Manifests).
|
|
247
186
|
|
|
248
187
|
\* In "directfile" mode, on compatible browsers
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
4.4.
|
|
1
|
+
4.4.1-dev.2025101500
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedded_worker.d.ts","sourceRoot":"","sources":["../../../src/__GENERATED_CODE/embedded_worker.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"embedded_worker.d.ts","sourceRoot":"","sources":["../../../src/__GENERATED_CODE/embedded_worker.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,IAAI,MAAk/4U,CAAC;AAC7/4U,OAAO,EAAE,IAAI,IAAI,eAAe,EAAE,CAAC;AACnC,eAAe,IAAI,CAAC"}
|