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/package.json
CHANGED
package/src/README.md
CHANGED
|
@@ -34,13 +34,13 @@ it:
|
|
|
34
34
|
-------------------------|- RxPlayer Main Thread ---------------------------
|
|
35
35
|
|
|
|
36
36
|
Front-facing API v
|
|
37
|
-
+---------------------------------------+
|
|
38
|
-
| Public API |uses|
|
|
39
|
-
| (./main_thread/api)
|
|
40
|
-
+---------------------------------------+
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
Initialize | creates
|
|
37
|
+
+---------------------------------------+ +----------------------+
|
|
38
|
+
| Public API | uses | TracksStore |
|
|
39
|
+
| (./main_thread/api) |----->|(./main_thread/tracks_|
|
|
40
|
+
+---------------------------------------+ |store) |
|
|
41
|
+
| +----------------------+
|
|
42
|
+
| Facilitate track switching
|
|
43
|
+
Initialize | creates for the API
|
|
44
44
|
playback and |
|
|
45
45
|
create/connect | Negotiate content
|
|
46
46
|
modules v decryption
|
|
@@ -52,41 +52,49 @@ it:
|
|
|
52
52
|
|(./main_thread/init)| creates | Text Displayer |
|
|
53
53
|
| | --------------------------->|(./main_thread/te |
|
|
54
54
|
+--------------------+ |xt_displayer) |
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
| |
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
|
65
|
-
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
|
89
|
-
|
|
|
55
|
+
| ^ +------------------+
|
|
56
|
+
V | ^
|
|
57
|
+
+--------------------------------+ |
|
|
58
|
+
| CoreInterface | Link `main_thread` |
|
|
59
|
+
| (./main_thread/core_interface) | to `core` logic |
|
|
60
|
+
+--------------------------------+ |
|
|
61
|
+
| ^ |
|
|
62
|
+
| | |
|
|
63
|
+
| | |
|
|
64
|
+
| | Message exchanges |
|
|
65
|
+
| | |
|
|
66
|
+
| | |
|
|
67
|
+
---|--|----------- RxPlayer Core (May run in a WebWorker) ----------------
|
|
68
|
+
| | |
|
|
69
|
+
| | |
|
|
70
|
+
| | |
|
|
71
|
+
| | Exchange messages with the main |
|
|
72
|
+
V | thread and process them. |
|
|
73
|
+
+-----------------------+ +--------------------------+ |
|
|
74
|
+
| Core Entry |------------>| Manifest Fetcher | |
|
|
75
|
+
| (./core/entry) | creates |(./core/fetchers/manifest)| |
|
|
76
|
+
+-----------------------+ +--------------------------+ |
|
|
77
|
+
| Creates | Load and | |
|
|
78
|
+
V | refresh the | Ask to load |
|
|
79
|
+
+-------------------+ | Manifest | and parse the |
|
|
80
|
+
| | | creates | Manifest |
|
|
81
|
+
| CMCD data builder | | v |
|
|
82
|
+
| (./core/cmcd) | | +--------------------+ | ` Internet
|
|
83
|
+
| | | | | request | ` ,,,,,
|
|
84
|
+
+-------------------+ | | transport |--------------+---`-->( CDN )
|
|
85
|
+
Perform data collection | | (./transport) | | ` `````
|
|
86
|
+
for the "Common Media | | |<-----+ | `
|
|
87
|
+
Client Data" (CMCD) | +--------------------+ \ |
|
|
88
|
+
scheme. | Abstract the streaming \ |
|
|
89
|
+
| protocol (e.g. DASH) \ |
|
|
90
|
+
| \ |
|
|
91
|
+
Stream (./core/stream) | \ +
|
|
92
|
+
+------------------------|---------------------------------+ \ \
|
|
93
|
+
| v | \ \
|
|
94
|
+
| Create PeriodStreams +----------------------------+ | Ask to\ \
|
|
95
|
+
| based on the position | StreamOrchestrator | | load \ \
|
|
96
|
+
| and settings |(./core/stream/orchestrator)| | and \ \
|
|
97
|
+
| +----------------------------+ | parse \ \
|
|
90
98
|
| | | | | segments \ \
|
|
91
99
|
| | creates | | | \ \
|
|
92
100
|
| | | | | \ +
|
|
@@ -150,7 +158,7 @@ Stream (./core/stream) | \ |
|
|
|
150
158
|
+-----------------------+ +-------------------------+ |
|
|
151
159
|
Actually pushes | MediaSource | | TextDisplayer | |
|
|
152
160
|
audio and video | Interface | | Message sender |-----+
|
|
153
|
-
data to the right | (./mse) | | (./core/
|
|
161
|
+
data to the right | (./mse) | | (./core/enry) |
|
|
154
162
|
low-level buffers +-----------------------+ +-------------------------+
|
|
155
163
|
Small interface
|
|
156
164
|
facilitating communication
|
|
@@ -207,161 +215,43 @@ For the subdirectories and files in this directory not represented in that schem
|
|
|
207
215
|
RxPlayer which will run in the WebWorker (and which will have to be loaded separately by
|
|
208
216
|
the application).
|
|
209
217
|
|
|
210
|
-
##
|
|
218
|
+
## Directfile mode
|
|
211
219
|
|
|
212
|
-
|
|
213
|
-
|
|
220
|
+
The RxPlayer can also play content already natively decodable by the browser, e.g. mp4
|
|
221
|
+
files or HLS playlists on Safari.
|
|
214
222
|
|
|
215
|
-
|
|
216
|
-
"multithread mode"). Yet, to be more exact we need to separate those three cases:
|
|
223
|
+
When playing such content, the code path is slightly different and simpler:
|
|
217
224
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
`DirectfileContentInitializer` is called by the API to start-up such contents and a
|
|
252
|
-
specialized `MediaElementTracksStore` is handling tracks specifically for directfile
|
|
253
|
-
contents (as they are handled differently than for other code paths, here trough API
|
|
254
|
-
exposed by the browser).
|
|
255
|
-
|
|
256
|
-
2. A second code path, we may call the "monothreaded code path" apply for non-directfile
|
|
257
|
-
contents (so, contents which rely on the MSE API instead) loaded in monothreaded mode,
|
|
258
|
-
which is the default.
|
|
259
|
-
|
|
260
|
-
It is much closer to the schema of the previous chapter:
|
|
261
|
-
|
|
262
|
-
```
|
|
263
|
-
+---------------------------------------------+
|
|
264
|
-
| Application/UI |
|
|
265
|
-
+---------------------------------------------+
|
|
266
|
-
|
|
|
267
|
-
| call RxPlayer API
|
|
268
|
-
|
|
|
269
|
-
-------------------------|- RxPlayer Main Thread ---------------------------
|
|
270
|
-
|
|
|
271
|
-
Front-facing API v
|
|
272
|
-
+---------------------------------------+ +--------------------+
|
|
273
|
-
| Public API |uses| TracksStore |
|
|
274
|
-
| (./main_thread/api) |--->|(./main_thread/track|
|
|
275
|
-
+---------------------------------------+ |s_store) |
|
|
276
|
-
| +--------------------+
|
|
277
|
-
| Facilitate track switching
|
|
278
|
-
Manage playback of | creates for the API
|
|
279
|
-
contents relying |
|
|
280
|
-
on a MediaSource, |
|
|
281
|
-
all in main thread v
|
|
282
|
-
+---------------------------------------+
|
|
283
|
-
| MediaSourceContentInitializer | ----> ... Some other RxPlayer
|
|
284
|
-
| (./main_thread/init) | modules not in ./core
|
|
285
|
-
+---------------------------------------+
|
|
286
|
-
|
|
|
287
|
-
Actually load and parse |
|
|
288
|
-
the right manifest and | creates
|
|
289
|
-
media segments |
|
|
290
|
-
(here in main thread) V
|
|
291
|
-
+--------------------------------------+
|
|
292
|
-
| Core modules |
|
|
293
|
-
| (./core) |
|
|
294
|
-
+--------------------------------------+
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
As you can see, the part of `./main_thread/init` run by the API is this time different
|
|
298
|
-
(`MediaSourceContentInitializer`) and the track handling also goes to a differently
|
|
299
|
-
named `TracksStore` when compared to directfile contents.
|
|
300
|
-
|
|
301
|
-
I also summarized all core modules into a single block, you can refer to the previous
|
|
302
|
-
chapter to have some examples of what they are (you can look at modules in the `./core`
|
|
303
|
-
directory in that schema - or at the `./core` directory itself).
|
|
304
|
-
|
|
305
|
-
3. A third code path, the "multithreaded code path" apply for non-directfile contents (so,
|
|
306
|
-
contents which rely on MSE API instead) loaded in "multithread mode" (which has to be
|
|
307
|
-
explicitely enabled by the application).
|
|
308
|
-
|
|
309
|
-
Here you get all the complexity of the previous chapter, with two threads running. To
|
|
310
|
-
repeat the schema than the one used for the other code paths here, you would have
|
|
311
|
-
something like:
|
|
312
|
-
|
|
313
|
-
```
|
|
314
|
-
+---------------------------------------------+
|
|
315
|
-
| Application/UI |
|
|
316
|
-
+---------------------------------------------+
|
|
317
|
-
|
|
|
318
|
-
| call RxPlayer API
|
|
319
|
-
|
|
|
320
|
-
-------------------------|----- RxPlayer Main Thread ---------------------------
|
|
321
|
-
|
|
|
322
|
-
Front-facing API v
|
|
323
|
-
+---------------------------------------+ +--------------------+
|
|
324
|
-
| Public API |uses| TracksStore |
|
|
325
|
-
| (./main_thread/api) |--->|(./main_thread/track|
|
|
326
|
-
+---------------------------------------+ |s_store) |
|
|
327
|
-
| +--------------------+
|
|
328
|
-
| Facilitate track switching
|
|
329
|
-
Manage playback of | creates for the API
|
|
330
|
-
contents relying |
|
|
331
|
-
on a MediaSource, |
|
|
332
|
-
in multiple threads v
|
|
333
|
-
+---------------------------------------+
|
|
334
|
-
| MultiThreadContentInitializer | ----> ... Some other RxPlayer
|
|
335
|
-
| (./main_thread/init) | modules not in ./core
|
|
336
|
-
+---------------------------------------+
|
|
337
|
-
| ^
|
|
338
|
-
| | postMessage exchanges
|
|
339
|
-
| |
|
|
340
|
-
------------------------|--|- RxPlayer WebWorker --------------------------
|
|
341
|
-
| |
|
|
342
|
-
Actually load and parse | |
|
|
343
|
-
the right manifest and | |
|
|
344
|
-
media segments | |
|
|
345
|
-
(here in a Worker) V |
|
|
346
|
-
+--+--------------------------------+--+
|
|
347
|
-
| | Worker Main | |
|
|
348
|
-
| | (./core/main/worker) | |
|
|
349
|
-
| +--------------------------------+ |
|
|
350
|
-
| Core modules |
|
|
351
|
-
| (./core) |
|
|
352
|
-
+--------------------------------------+
|
|
353
|
-
```
|
|
354
|
-
|
|
355
|
-
This time, the part of `./main_thread/init` run by the API is the
|
|
356
|
-
`MultiThreadContentInitializer` and the track handling also goes through the
|
|
357
|
-
`TracksStore`, like for the monothreaded code path.
|
|
358
|
-
|
|
359
|
-
The main difference however is that now all core modules are running completely in a
|
|
360
|
-
WebWorker, meaning in another thread. It is the role of the
|
|
361
|
-
`MultiThreadContentInitializer` to send message to it and to process most of the
|
|
362
|
-
messages the WebWorker sends back.
|
|
363
|
-
|
|
364
|
-
Because this time, the core also has to reception and send backs messages from and to
|
|
365
|
-
the main thread, there's a supplementary core module involved than on the "monothreaded
|
|
366
|
-
code path", the "Worker Main". It then however relies on the exact same other core
|
|
367
|
-
modules than for the "monothreaded code path".
|
|
225
|
+
```
|
|
226
|
+
+---------------------------------------------+
|
|
227
|
+
| Application/UI |
|
|
228
|
+
+---------------------------------------------+
|
|
229
|
+
|
|
|
230
|
+
| call RxPlayer API
|
|
231
|
+
|
|
|
232
|
+
-------------------------|--- RxPlayer Main Thread ----------------------------
|
|
233
|
+
|
|
|
234
|
+
Front-facing API v
|
|
235
|
+
+---------------------------------------+ +-------------------------+
|
|
236
|
+
| Public API | uses | MediaElementTracksStore |
|
|
237
|
+
| (./main_thread/api) |----->|(./main_thread/tracks_sto|
|
|
238
|
+
+---------------------------------------+ |re) |
|
|
239
|
+
| +-------------------------+
|
|
240
|
+
Manage playback of | creates Handle track switching
|
|
241
|
+
a "directfile" | using directly the media
|
|
242
|
+
content V element's API (`audioTracks`,
|
|
243
|
+
+---------------------------------------+ `textTracks` etc.)
|
|
244
|
+
| DirectfileContentInitializer |
|
|
245
|
+
| (./main_thread/init) |
|
|
246
|
+
+---------------------------------------+
|
|
247
|
+
|
|
|
248
|
+
V
|
|
249
|
+
... Some other RxPlayer modules
|
|
250
|
+
(All running in main thread)
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
As you can see, everything runs in main thread, a specialized module called the
|
|
254
|
+
`DirectfileContentInitializer` is called by the API to start-up such contents and a
|
|
255
|
+
specialized `MediaElementTracksStore` is handling tracks specifically for directfile
|
|
256
|
+
contents (as they are handled differently than for other code paths, here trough API
|
|
257
|
+
exposed by the browser).
|