mirror of
https://github.com/storytold/filmcraft.git
synced 2026-11-02 18:09:21 +00:00
Merge PR #3723: Export: background jobs read their own copy of each file, so playback keeps its decoder
# Conflicts: # crates/engine/src/proxies.rs
This commit is contained in:
@@ -240,7 +240,9 @@ file ──► codecs (MP4/MOV, MKV, audio) demux + decode, GOP-aware see
|
||||
flag), so relinking and undo take effect at once. Media that can't be opened renders the offline
|
||||
slate (`render::offline`) instead of failing. With proxies enabled, an item with a proxy reads
|
||||
it through `ProxySource`, which reports the original's size. Export always uses
|
||||
`MediaPool::full_res_provider`. See [project-files.md](project-files.md#media-offline-relinking-proxies-ingest).
|
||||
`MediaPool::full_res_provider`. Background jobs (exports, Render Previews, proxies) open their
|
||||
own copy of each file they can stream (`MediaPool::own_source`, `PoolProvider::own_sources`),
|
||||
so they never take turns with the monitors on one decoder. See [project-files.md](project-files.md#media-offline-relinking-proxies-ingest).
|
||||
- **Seeking.** `codecs::Mp4Source` seeks to the preceding sync sample and decodes forward, caching
|
||||
every frame of the GOP. Sequential playback reuses the decoder. Decoders implement
|
||||
`codecs::VideoDecoder`. `register_video_decoder` puts a factory in front of the built-in ones, so a
|
||||
|
||||
Reference in New Issue
Block a user