Background media hashing service, owned by the engine (see Engine::getMediaHashService).
Hash jobs are drained from a FIFO queue by a pool of dedicated FFmpeg workers (separate from the
main singleton worker), so hashing very large files never blocks media probing, transcoding,
preview seeking, or export. Each worker instance costs ~20MB of memory, so the pool is capped by
Settings::setMediaHashMaxWorkers (default 5). Workers are created lazily and all idle workers
are terminated after an idle timeout, mirroring the audio sample extraction worker lifecycle.
Background media hashing service, owned by the engine (see
Engine::getMediaHashService).Hash jobs are drained from a FIFO queue by a pool of dedicated FFmpeg workers (separate from the main singleton worker), so hashing very large files never blocks media probing, transcoding, preview seeking, or export. Each worker instance costs ~20MB of memory, so the pool is capped by
Settings::setMediaHashMaxWorkers(default 5). Workers are created lazily and all idle workers are terminated after an idle timeout, mirroring the audio sample extraction worker lifecycle.