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
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { IAdaptation, IPeriod, IRepresentation } from "
|
|
2
|
-
import type { IFreezingStatus, IRebufferingStatus, ObservationPosition } from "
|
|
3
|
-
import type SegmentSinksStore from "
|
|
1
|
+
import type { IAdaptation, IPeriod, IRepresentation } from "../../manifest";
|
|
2
|
+
import type { IFreezingStatus, IRebufferingStatus, ObservationPosition } from "../../playback_observer";
|
|
3
|
+
import type SegmentSinksStore from "../segment_sinks";
|
|
4
4
|
/**
|
|
5
5
|
* Set when there is a freeze which seems to be specifically linked to a,
|
|
6
6
|
* or multiple, content's `Representation` despite no attribute of it
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FreezeResolver.d.ts","sourceRoot":"","sources":["../../../../src/core/entry/FreezeResolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,iBAAiB,MAAM,kBAAkB,CAAC;AAiDtD;;;;;;GAMG;AACH,MAAM,WAAW,wCAAwC;IACvD,IAAI,EAAE,uBAAuB,CAAC;IAC9B,qCAAqC;IACrC,KAAK,EAAE,KAAK,CAAC;QACX,UAAU,EAAE,WAAW,CAAC;QACxB,MAAM,EAAE,OAAO,CAAC;QAChB,cAAc,EAAE,eAAe,CAAC;KACjC,CAAC,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE;QACL;;;WAGG;QACH,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,IAAI,CAAC;CACb;AAED,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,GACzB,wCAAwC,GACxC,sBAAsB,GACtB,uBAAuB,CAAC;AAE5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,qEAAqE;IACrE,OAAO,CAAC,kBAAkB,CAAoB;IAE9C,8EAA8E;IAC9E,OAAO,CAAC,gBAAgB,CAKtB;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB,CAAgB;IAE1C;;;;OAIG;IACH,OAAO,CAAC,iBAAiB,CAKhB;IAET;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,uCAAuC,CAAgB;gBAEnD,iBAAiB,EAAE,iBAAiB;IAWhD;;;;;;;;;;;;OAYG;IACI,gBAAgB,CACrB,WAAW,EAAE,0BAA0B,GACtC,iBAAiB,GAAG,IAAI;IAqF3B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,qCAAqC;IAwD7C;;;;;;;;;OASG;IACH,OAAO,CAAC,2BAA2B;IA0GnC;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;CA4C9B;AA4ED,2DAA2D;AAC3D,MAAM,WAAW,0BAA0B;IACzC,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,WAAW,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACvC;;;;;;OAMG;IACH,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC;;;;OAIG;IACH,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,kEAAkE;IAClE,WAAW,EAAE,OAAO,CAAC;CACtB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { config } from "
|
|
2
|
-
import log from "
|
|
3
|
-
import getMonotonicTimeStamp from "
|
|
1
|
+
import { config } from "../../experimental";
|
|
2
|
+
import log from "../../log";
|
|
3
|
+
import getMonotonicTimeStamp from "../../utils/monotonic_timestamp";
|
|
4
4
|
/**
|
|
5
5
|
* "Freezing" is a complex situation indicating that playback is not advancing
|
|
6
6
|
* despite no valid reason for it not to.
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type { IRepresentationEstimator } from "
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
1
|
+
import type { IContentInitializationData } from "../../main_thread/types";
|
|
2
|
+
import type { IManifest } from "../../manifest";
|
|
3
|
+
import type { IMediaSourceInterface } from "../../mse";
|
|
4
|
+
import type { IRepresentationEstimator } from "../adaptive";
|
|
5
|
+
import type { IRepresentationEstimatorThrottlers } from "../adaptive/adaptive_representation_selector";
|
|
6
|
+
import CmcdDataBuilder from "../cmcd";
|
|
7
|
+
import type { IManifestRefreshSettings } from "../fetchers";
|
|
8
|
+
import { ManifestFetcher, SegmentQueueCreator } from "../fetchers";
|
|
9
|
+
import type { IThumbnailFetcher } from "../fetchers/thumbnails/thumbnail_fetcher";
|
|
10
|
+
import SegmentSinksStore from "../segment_sinks";
|
|
11
|
+
import type { ICoreMessage } from "../types";
|
|
12
|
+
import CoreTextDisplayerInterface from "./core_text_displayer_interface";
|
|
13
|
+
import FreezeResolver from "./FreezeResolver";
|
|
11
14
|
import TrackChoiceSetter from "./track_choice_setter";
|
|
12
|
-
import WorkerTextDisplayerInterface from "./worker_text_displayer_interface";
|
|
13
15
|
/**
|
|
14
16
|
* Class facilitating the workflows behind loading a new content for the
|
|
15
17
|
* RxPlayer Core:
|
|
@@ -73,7 +75,9 @@ export default class ContentPreparer {
|
|
|
73
75
|
* initialized.
|
|
74
76
|
* @returns {Promise.<Object>}
|
|
75
77
|
*/
|
|
76
|
-
initializeNewContent(
|
|
78
|
+
initializeNewContent(sendMessage: (msg: ICoreMessage, transferables?: Transferable[]) => void, context: IContentInitializationData,
|
|
79
|
+
/** Allows to filter which Representations can be choosen. */
|
|
80
|
+
throttlers: IRepresentationEstimatorThrottlers): Promise<IManifest>;
|
|
77
81
|
/**
|
|
78
82
|
* Get information on the current content prepared through the
|
|
79
83
|
* `initializeNewContent` method, or `null` if no content is currently
|
|
@@ -90,12 +94,15 @@ export default class ContentPreparer {
|
|
|
90
94
|
*/
|
|
91
95
|
scheduleManifestRefresh(settings: IManifestRefreshSettings): void;
|
|
92
96
|
/**
|
|
93
|
-
*
|
|
97
|
+
* Change the MediaSource attached for the current content.
|
|
98
|
+
* It is assumed that main thread is already notified that such a reload is
|
|
99
|
+
* happening.
|
|
94
100
|
*
|
|
95
101
|
* The returned Promise resolves when it restarts being ready.
|
|
102
|
+
* @param {Function} sendMessage
|
|
96
103
|
* @returns {Promise}
|
|
97
104
|
*/
|
|
98
|
-
reloadMediaSource(): Promise<void>;
|
|
105
|
+
reloadMediaSource(sendMessage: (msg: ICoreMessage, transferables?: Transferable[]) => void): Promise<void>;
|
|
99
106
|
/**
|
|
100
107
|
* Dispose all resources linked to the currently preopared content if one and
|
|
101
108
|
* stop linking it to this `ContentPreparer`.
|
|
@@ -153,7 +160,7 @@ export interface IPreparedContentData {
|
|
|
153
160
|
*/
|
|
154
161
|
segmentSinksStore: SegmentSinksStore;
|
|
155
162
|
/** Allows to send timed text media data so it can be rendered. */
|
|
156
|
-
|
|
163
|
+
coreTextSender: CoreTextDisplayerInterface | null;
|
|
157
164
|
/**
|
|
158
165
|
* Allows to create `SegmentQueue` which simplifies complex media segment
|
|
159
166
|
* fetching.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content_preparer.d.ts","sourceRoot":"","sources":["../../../../src/core/entry/content_preparer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAQvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,8CAA8C,CAAC;AACvG,OAAO,eAAe,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,iBAAiB,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAwC,YAAY,EAAE,MAAM,UAAU,CAAC;AAEnF,OAAO,0BAA0B,MAAM,iCAAiC,CAAC;AACzE,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AAMtD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAA8B;IACrD;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CAAgB;IACzC;;;;OAIG;IACH,OAAO,CAAC,4BAA4B,CAAgB;IAEpD,uBAAuB;IACvB,OAAO,CAAC,SAAS,CAAU;IAE3B;;;;;;;;OAQG;gBACS,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE;IAQ/C;;;;;;;;;;;OAWG;IACI,oBAAoB,CACzB,WAAW,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,YAAY,EAAE,KAAK,IAAI,EACxE,OAAO,EAAE,0BAA0B;IACnC,6DAA6D;IAC7D,UAAU,EAAE,kCAAkC,GAC7C,OAAO,CAAC,SAAS,CAAC;IA2LrB;;;;;OAKG;IACI,iBAAiB,IAAI,oBAAoB,GAAG,IAAI;IAIvD;;;;;;OAMG;IACI,uBAAuB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI;IAIxE;;;;;;;;OAQG;IACI,iBAAiB,CACtB,WAAW,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,YAAY,EAAE,KAAK,IAAI,GACvE,OAAO,CAAC,IAAI,CAAC;IA4ChB;;;OAGG;IACI,qBAAqB;CAI7B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC;;;;OAIG;IACH,6BAA6B,EAAE,OAAO,CAAC;IACvC;;;OAGG;IACH,WAAW,EAAE,qBAAqB,CAAC;IACnC,0DAA0D;IAC1D,eAAe,EAAE,eAAe,CAAC;IACjC;;;;OAIG;IACH,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B;;;OAGG;IACH,cAAc,EAAE,cAAc,CAAC;IAC/B;;;OAGG;IACH,uBAAuB,EAAE,wBAAwB,CAAC;IAClD;;;OAGG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,kEAAkE;IAClE,cAAc,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAClD;;;OAGG;IACH,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,uCAAuC;IACvC,kBAAkB,EAAE,iBAAiB,CAAC;IACtC;;;OAGG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;IACrC;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAC;CACzB"}
|
|
@@ -1,25 +1,22 @@
|
|
|
1
|
-
import { MediaSource_ } from "
|
|
2
|
-
import features from "
|
|
3
|
-
import log from "
|
|
4
|
-
import { createRepresentationFilterFromFnString } from "
|
|
5
|
-
import MainMediaSourceInterface from "
|
|
6
|
-
import WorkerMediaSourceInterface from "
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import FreezeResolver from "../common/FreezeResolver";
|
|
19
|
-
import { limitVideoResolution, throttleVideoBitrate } from "./globals";
|
|
20
|
-
import sendMessage, { formatErrorForSender } from "./send_message";
|
|
1
|
+
import { MediaSource_ } from "../../compat/browser_compatibility_types";
|
|
2
|
+
import features from "../../features";
|
|
3
|
+
import log from "../../log";
|
|
4
|
+
import { createRepresentationFilterFromFnString } from "../../manifest";
|
|
5
|
+
import MainMediaSourceInterface from "../../mse/main_media_source_interface";
|
|
6
|
+
import WorkerMediaSourceInterface from "../../mse/worker_media_source_interface";
|
|
7
|
+
import idGenerator from "../../utils/id_generator";
|
|
8
|
+
import isNullOrUndefined from "../../utils/is_null_or_undefined";
|
|
9
|
+
import TaskCanceller from "../../utils/task_canceller";
|
|
10
|
+
import createAdaptiveRepresentationSelector from "../adaptive";
|
|
11
|
+
import CmcdDataBuilder from "../cmcd";
|
|
12
|
+
import { ManifestFetcher, SegmentQueueCreator } from "../fetchers";
|
|
13
|
+
import CdnPrioritizer from "../fetchers/cdn_prioritizer";
|
|
14
|
+
import createThumbnailFetcher from "../fetchers/thumbnails/thumbnail_fetcher";
|
|
15
|
+
import SegmentSinksStore from "../segment_sinks";
|
|
16
|
+
import CoreTextDisplayerInterface from "./core_text_displayer_interface";
|
|
17
|
+
import FreezeResolver from "./FreezeResolver";
|
|
21
18
|
import TrackChoiceSetter from "./track_choice_setter";
|
|
22
|
-
import
|
|
19
|
+
import { formatErrorForSender } from "./utils";
|
|
23
20
|
/** Function allowing to associate a unique identifier to all created `MediaSource` */
|
|
24
21
|
const generateMediaSourceId = idGenerator();
|
|
25
22
|
/**
|
|
@@ -70,7 +67,9 @@ export default class ContentPreparer {
|
|
|
70
67
|
* initialized.
|
|
71
68
|
* @returns {Promise.<Object>}
|
|
72
69
|
*/
|
|
73
|
-
initializeNewContent(context
|
|
70
|
+
initializeNewContent(sendMessage, context,
|
|
71
|
+
/** Allows to filter which Representations can be choosen. */
|
|
72
|
+
throttlers) {
|
|
74
73
|
return new Promise((res, rej) => {
|
|
75
74
|
var _a, _b;
|
|
76
75
|
this.disposeCurrentContent();
|
|
@@ -78,35 +77,36 @@ export default class ContentPreparer {
|
|
|
78
77
|
const currentMediaSourceCanceller = new TaskCanceller();
|
|
79
78
|
this._currentMediaSourceCanceller = currentMediaSourceCanceller;
|
|
80
79
|
currentMediaSourceCanceller.linkToSignal(contentCanceller.signal);
|
|
81
|
-
const { contentId, url, hasText, transportOptions, useMseInWorker, enableRepresentationAvoidance, } = context;
|
|
80
|
+
const { contentId, url, hasText, transportOptions, useMseInWorker, enableRepresentationAvoidance, transport, } = context;
|
|
82
81
|
let manifest = null;
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
const transportFn = features.transports[transport];
|
|
83
|
+
if (typeof transportFn !== "function") {
|
|
84
|
+
rej(new Error(`transport "${transport}" not supported. ` +
|
|
85
|
+
"Did you add the corresponding feature?"));
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
85
88
|
const representationFilter = typeof transportOptions.representationFilter === "string"
|
|
86
89
|
? createRepresentationFilterFromFnString(transportOptions.representationFilter)
|
|
87
|
-
:
|
|
88
|
-
const
|
|
90
|
+
: transportOptions.representationFilter;
|
|
91
|
+
const transportPipelines = transportFn(Object.assign(Object.assign({}, transportOptions), { representationFilter }));
|
|
89
92
|
const cmcdDataBuilder = context.cmcd === undefined ? null : new CmcdDataBuilder(context.cmcd);
|
|
90
|
-
const manifestFetcher = new ManifestFetcher(url === undefined ? undefined : [url],
|
|
93
|
+
const manifestFetcher = new ManifestFetcher(url === undefined ? undefined : [url], transportPipelines, Object.assign({ cmcdDataBuilder }, context.manifestRetryOptions));
|
|
91
94
|
const representationEstimator = createAdaptiveRepresentationSelector({
|
|
92
95
|
initialBitrates: {
|
|
93
96
|
audio: (_a = context.initialAudioBitrate) !== null && _a !== void 0 ? _a : 0,
|
|
94
97
|
video: (_b = context.initialVideoBitrate) !== null && _b !== void 0 ? _b : 0,
|
|
95
98
|
},
|
|
96
99
|
lowLatencyMode: transportOptions.lowLatencyMode,
|
|
97
|
-
throttlers
|
|
98
|
-
limitResolution: { video: limitVideoResolution },
|
|
99
|
-
throttleBitrate: { video: throttleVideoBitrate },
|
|
100
|
-
},
|
|
100
|
+
throttlers,
|
|
101
101
|
});
|
|
102
102
|
const unbindRejectOnCancellation = currentMediaSourceCanceller.signal.register((error) => {
|
|
103
103
|
rej(error);
|
|
104
104
|
});
|
|
105
105
|
const cdnPrioritizer = new CdnPrioritizer(contentCanceller.signal);
|
|
106
|
-
const segmentQueueCreator = new SegmentQueueCreator(
|
|
107
|
-
const fetchThumbnailData = createThumbnailFetcher(
|
|
106
|
+
const segmentQueueCreator = new SegmentQueueCreator(transportPipelines, cdnPrioritizer, cmcdDataBuilder, context.segmentRetryOptions);
|
|
107
|
+
const fetchThumbnailData = createThumbnailFetcher(transportPipelines.thumbnails, cdnPrioritizer);
|
|
108
108
|
const trackChoiceSetter = new TrackChoiceSetter();
|
|
109
|
-
const [mediaSource, segmentSinksStore,
|
|
109
|
+
const [mediaSource, segmentSinksStore, coreTextSender] = createMediaSourceInterfaceAndSegmentSinksStore(sendMessage, contentId, {
|
|
110
110
|
useMseInWorker,
|
|
111
111
|
hasVideo: this._hasVideo,
|
|
112
112
|
hasText,
|
|
@@ -124,7 +124,7 @@ export default class ContentPreparer {
|
|
|
124
124
|
segmentSinksStore,
|
|
125
125
|
segmentQueueCreator,
|
|
126
126
|
fetchThumbnailData,
|
|
127
|
-
|
|
127
|
+
coreTextSender,
|
|
128
128
|
trackChoiceSetter,
|
|
129
129
|
useMseInWorker,
|
|
130
130
|
};
|
|
@@ -136,7 +136,7 @@ export default class ContentPreparer {
|
|
|
136
136
|
});
|
|
137
137
|
manifestFetcher.addEventListener("warning", (err) => {
|
|
138
138
|
sendMessage({
|
|
139
|
-
type: "warning" /*
|
|
139
|
+
type: "warning" /* CoreMessageType.Warning */,
|
|
140
140
|
contentId,
|
|
141
141
|
value: formatErrorForSender(err),
|
|
142
142
|
});
|
|
@@ -154,7 +154,7 @@ export default class ContentPreparer {
|
|
|
154
154
|
}, currentMediaSourceCanceller.signal);
|
|
155
155
|
manifestFetcher.addEventListener("error", (err) => {
|
|
156
156
|
sendMessage({
|
|
157
|
-
type: "error" /*
|
|
157
|
+
type: "error" /* CoreMessageType.Error */,
|
|
158
158
|
contentId,
|
|
159
159
|
value: formatErrorForSender(err),
|
|
160
160
|
});
|
|
@@ -168,25 +168,19 @@ export default class ContentPreparer {
|
|
|
168
168
|
return;
|
|
169
169
|
}
|
|
170
170
|
updateCodecSupportInWorkerMode(manifest);
|
|
171
|
-
const sentManifest = manifest.getMetadataSnapshot();
|
|
172
171
|
manifest.addEventListener("manifestUpdate", (updates) => {
|
|
173
172
|
if (manifest === null) {
|
|
174
173
|
// TODO log warn?
|
|
175
174
|
return;
|
|
176
175
|
}
|
|
177
|
-
// Remove `periods` key to reduce cost of an unnecessary manifest
|
|
178
|
-
// clone.
|
|
179
|
-
const snapshot = objectAssign(manifest.getMetadataSnapshot(), {
|
|
180
|
-
periods: [],
|
|
181
|
-
});
|
|
182
176
|
sendMessage({
|
|
183
|
-
type: "manifest-update" /*
|
|
177
|
+
type: "manifest-update" /* CoreMessageType.ManifestUpdate */,
|
|
184
178
|
contentId,
|
|
185
|
-
value: { manifest
|
|
179
|
+
value: { manifest, updates },
|
|
186
180
|
});
|
|
187
181
|
}, contentCanceller.signal);
|
|
188
182
|
unbindRejectOnCancellation();
|
|
189
|
-
res(
|
|
183
|
+
res(manifest);
|
|
190
184
|
}
|
|
191
185
|
});
|
|
192
186
|
}
|
|
@@ -211,27 +205,30 @@ export default class ContentPreparer {
|
|
|
211
205
|
(_a = this._currentContent) === null || _a === void 0 ? void 0 : _a.manifestFetcher.scheduleManualRefresh(settings);
|
|
212
206
|
}
|
|
213
207
|
/**
|
|
214
|
-
*
|
|
208
|
+
* Change the MediaSource attached for the current content.
|
|
209
|
+
* It is assumed that main thread is already notified that such a reload is
|
|
210
|
+
* happening.
|
|
215
211
|
*
|
|
216
212
|
* The returned Promise resolves when it restarts being ready.
|
|
213
|
+
* @param {Function} sendMessage
|
|
217
214
|
* @returns {Promise}
|
|
218
215
|
*/
|
|
219
|
-
reloadMediaSource() {
|
|
216
|
+
reloadMediaSource(sendMessage) {
|
|
220
217
|
this._currentMediaSourceCanceller.cancel();
|
|
221
218
|
if (this._currentContent === null) {
|
|
222
219
|
return Promise.reject(new Error("CP: No content anymore"));
|
|
223
220
|
}
|
|
224
221
|
this._currentContent.trackChoiceSetter.reset();
|
|
225
222
|
this._currentMediaSourceCanceller = new TaskCanceller();
|
|
226
|
-
const [mediaSourceInterface, segmentSinksStore,
|
|
223
|
+
const [mediaSourceInterface, segmentSinksStore, coreTextSender] = createMediaSourceInterfaceAndSegmentSinksStore(sendMessage, this._currentContent.contentId, {
|
|
227
224
|
useMseInWorker: this._currentContent.useMseInWorker,
|
|
228
225
|
hasVideo: this._hasVideo,
|
|
229
|
-
hasText: this._currentContent.
|
|
226
|
+
hasText: this._currentContent.coreTextSender !== null,
|
|
230
227
|
}, this._currentMediaSourceCanceller.signal);
|
|
231
228
|
this._currentContent.mediaSource = mediaSourceInterface;
|
|
232
229
|
this._currentContent.segmentSinksStore = segmentSinksStore;
|
|
233
230
|
this._currentContent.freezeResolver = new FreezeResolver(segmentSinksStore);
|
|
234
|
-
this._currentContent.
|
|
231
|
+
this._currentContent.coreTextSender = coreTextSender;
|
|
235
232
|
return new Promise((res, rej) => {
|
|
236
233
|
mediaSourceInterface.addEventListener("mediaSourceOpen", function () {
|
|
237
234
|
res();
|
|
@@ -254,6 +251,7 @@ export default class ContentPreparer {
|
|
|
254
251
|
}
|
|
255
252
|
}
|
|
256
253
|
/**
|
|
254
|
+
* @param {Function} sendMessage
|
|
257
255
|
* @param {string} contentId
|
|
258
256
|
* @param {Object} capabilities
|
|
259
257
|
* @param {boolean} capabilities.useMseInWorker
|
|
@@ -262,7 +260,7 @@ export default class ContentPreparer {
|
|
|
262
260
|
* @param {Object} cancelSignal
|
|
263
261
|
* @returns {Array.<Object>}
|
|
264
262
|
*/
|
|
265
|
-
function createMediaSourceInterfaceAndSegmentSinksStore(contentId, capabilities, cancelSignal) {
|
|
263
|
+
function createMediaSourceInterfaceAndSegmentSinksStore(sendMessage, contentId, capabilities, cancelSignal) {
|
|
266
264
|
let mediaSourceInterface;
|
|
267
265
|
if (capabilities.useMseInWorker) {
|
|
268
266
|
const mainMediaSource = new MainMediaSourceInterface(generateMediaSourceId());
|
|
@@ -280,7 +278,7 @@ function createMediaSourceInterfaceAndSegmentSinksStore(contentId, capabilities,
|
|
|
280
278
|
});
|
|
281
279
|
}
|
|
282
280
|
sendMessage({
|
|
283
|
-
type: "attach-media-source" /*
|
|
281
|
+
type: "attach-media-source" /* CoreMessageType.AttachMediaSource */,
|
|
284
282
|
contentId,
|
|
285
283
|
value: sentMediaSourceLink,
|
|
286
284
|
mediaSourceId: mediaSourceInterface.id,
|
|
@@ -290,7 +288,7 @@ function createMediaSourceInterfaceAndSegmentSinksStore(contentId, capabilities,
|
|
|
290
288
|
mediaSourceInterface = new WorkerMediaSourceInterface(generateMediaSourceId(), contentId, sendMessage);
|
|
291
289
|
}
|
|
292
290
|
const textSender = capabilities.hasText
|
|
293
|
-
? new
|
|
291
|
+
? new CoreTextDisplayerInterface(contentId, sendMessage)
|
|
294
292
|
: null;
|
|
295
293
|
const { hasVideo } = capabilities;
|
|
296
294
|
const segmentSinksStore = new SegmentSinksStore(mediaSourceInterface, hasVideo, textSender);
|
package/dist/{commonjs/core/main/common → es2017/core/entry}/content_time_boundaries_observer.d.ts
RENAMED
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import type { IStreamOrchestratorPlaybackObservation, IBufferType } from "
|
|
17
|
-
import type { IManifest, IAdaptation, IPeriod } from "
|
|
18
|
-
import type { IReadOnlyPlaybackObserver } from "
|
|
19
|
-
import type { IPlayerError } from "
|
|
20
|
-
import EventEmitter from "
|
|
16
|
+
import type { IStreamOrchestratorPlaybackObservation, IBufferType } from "../../core/types";
|
|
17
|
+
import type { IManifest, IAdaptation, IPeriod } from "../../manifest";
|
|
18
|
+
import type { IReadOnlyPlaybackObserver } from "../../playback_observer";
|
|
19
|
+
import type { IPlayerError } from "../../public_types";
|
|
20
|
+
import EventEmitter from "../../utils/event_emitter";
|
|
21
21
|
/**
|
|
22
22
|
* Observes what's being played and take care of media events relating to time
|
|
23
23
|
* boundaries:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content_time_boundaries_observer.d.ts","sourceRoot":"","sources":["../../../../src/core/entry/content_time_boundaries_observer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,sCAAsC,EACtC,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EAEX,OAAO,EACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAMrD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,YAAY,CAAC,mCAAmC,CAAC;IAC1G,mFAAmF;IACnF,OAAO,CAAC,UAAU,CAAgB;IAElC,oDAAoD;IACpD,OAAO,CAAC,cAAc,CAAuC;IAE7D,2DAA2D;IAC3D,OAAO,CAAC,SAAS,CAAY;IAE7B,uEAAuE;IACvE,OAAO,CAAC,0BAA0B,CAA4B;IAE9D,kEAAkE;IAClE,OAAO,CAAC,eAAe,CAAgB;IAEvC;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB,CAAgB;IAE5C;;;OAGG;gBAED,QAAQ,EAAE,SAAS,EACnB,gBAAgB,EAAE,yBAAyB,CAAC,sCAAsC,CAAC,EACnF,WAAW,EAAE,WAAW,EAAE;IA6D5B;;;;OAIG;IACI,oBAAoB,IAAI,0BAA0B;IAIzD;;;;;;;;;;;;OAYG;IACI,kBAAkB,CACvB,UAAU,EAAE,WAAW,EACvB,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,WAAW,GAAG,IAAI,GAC7B,IAAI;IA+BP;;;;;;;;;OASG;IACI,sBAAsB,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAI7E;;;;;;;;;OASG;IACI,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAItE;;;;;;;;OAQG;IACI,4BAA4B,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAQlE;;;;;;;;;;OAUG;IACI,0BAA0B,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAQhE;;;OAGG;IACI,OAAO;IAKd,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,mBAAmB;IAkC3B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,6BAA6B;IAYrC,OAAO,CAAC,iBAAiB;CAc1B;AAED,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;OAUG;IACH,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,mCAAmC;IAClD,mDAAmD;IACnD,OAAO,EAAE,YAAY,CAAC;IACtB,0DAA0D;IAC1D,YAAY,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,oBAAoB,EAAE,0BAA0B,CAAC;IACjD;;;;;;;;;OASG;IACH,WAAW,EAAE,IAAI,CAAC;IAClB;;;;;;;;;OASG;IACH,YAAY,EAAE,IAAI,CAAC;CACpB;AAgPD,MAAM,MAAM,uCAAuC,GAAG,IAAI,CACxD,sCAAsC,EACtC,UAAU,CACX,CAAC"}
|
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { MediaError } from "
|
|
17
|
-
import EventEmitter from "
|
|
18
|
-
import isNullOrUndefined from "
|
|
19
|
-
import queueMicrotask from "
|
|
20
|
-
import SortedList from "
|
|
21
|
-
import TaskCanceller from "
|
|
16
|
+
import { MediaError } from "../../errors";
|
|
17
|
+
import EventEmitter from "../../utils/event_emitter";
|
|
18
|
+
import isNullOrUndefined from "../../utils/is_null_or_undefined";
|
|
19
|
+
import queueMicrotask from "../../utils/queue_microtask";
|
|
20
|
+
import SortedList from "../../utils/sorted_list";
|
|
21
|
+
import TaskCanceller from "../../utils/task_canceller";
|
|
22
22
|
/**
|
|
23
23
|
* Observes what's being played and take care of media events relating to time
|
|
24
24
|
* boundaries:
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { IMainThreadMessage } from "../../main_thread/types";
|
|
2
|
+
import SharedReference from "../../utils/reference";
|
|
3
|
+
import type { ICoreMessage, IResolutionInfo } from "../types";
|
|
4
|
+
export type IMessageReceiverCallback = (evt: {
|
|
5
|
+
data: IMainThreadMessage;
|
|
6
|
+
}) => void;
|
|
7
|
+
/**
|
|
8
|
+
* Initialize a `CoreEntry`, which is the part of the RxPlayer acting as an
|
|
9
|
+
* entry point to all its "core" code.
|
|
10
|
+
*
|
|
11
|
+
* Its role is to receive and react to messages coming from "main thead", which
|
|
12
|
+
* may include loading and playing a content, and to send back messages for the main
|
|
13
|
+
* thread.
|
|
14
|
+
* @param {Function} setMessageReceiver - Declares the function that will
|
|
15
|
+
* receive messages coming from the "main thread" part of the RxPlayer logic.
|
|
16
|
+
* @param {Function} sendMessage - Function allowing to send messages to the
|
|
17
|
+
* "main thread" part of the RxPlayer logic.
|
|
18
|
+
*/
|
|
19
|
+
export default function initializeCoreEntry(setMessageReceiver: (cb: IMessageReceiverCallback) => void, sendMessage: (msg: ICoreMessage, transferables?: Transferable[]) => void): void;
|
|
20
|
+
/**
|
|
21
|
+
* Collection of so-called "references": values configuring playback that may
|
|
22
|
+
* be updated at any time and that the CoreEntry should react on.
|
|
23
|
+
*/
|
|
24
|
+
export interface ICoreReferences {
|
|
25
|
+
limitVideoResolution: SharedReference<IResolutionInfo>;
|
|
26
|
+
/** Max buffer size after the current position, in seconds (we GC further up). */
|
|
27
|
+
maxBufferAhead: SharedReference<number>;
|
|
28
|
+
/** Max buffer size before the current position, in seconds (we GC further down). */
|
|
29
|
+
maxBufferBehind: SharedReference<number>;
|
|
30
|
+
/** Buffer maximum size in kiloBytes at which we stop downloading */
|
|
31
|
+
maxVideoBufferSize: SharedReference<number>;
|
|
32
|
+
throttleVideoBitrate: SharedReference<number>;
|
|
33
|
+
/** Buffer "goal" at which we stop downloading new segments. */
|
|
34
|
+
wantedBufferAhead: SharedReference<number>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=core_entry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core_entry.d.ts","sourceRoot":"","sources":["../../../../src/core/entry/core_entry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,kBAAkB,EAGnB,MAAM,yBAAyB,CAAC;AAajC,OAAO,eAAe,MAAM,uBAAuB,CAAC;AAQpD,OAAO,KAAK,EACV,YAAY,EAEZ,eAAe,EAChB,MAAM,UAAU,CAAC;AAUlB,MAAM,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,KAAK,IAAI,CAAC;AAEnF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,kBAAkB,EAAE,CAAC,EAAE,EAAE,wBAAwB,KAAK,IAAI,EAC1D,WAAW,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,YAAY,EAAE,KAAK,IAAI,GACvE,IAAI,CA6YN;AA2vBD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IACvD,iFAAiF;IACjF,cAAc,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACxC,oFAAoF;IACpF,eAAe,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACzC,oEAAoE;IACpE,kBAAkB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC5C,oBAAoB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9C,+DAA+D;IAC/D,iBAAiB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CAC5C"}
|