proxy: per-footage presets, audio in proxies, configurable ffmpeg path
- Footage can store custom proxy parameters (width/height/crf/preset/ extension/audio) that override the global settings; they are serialized with the project and used by every generation entry point via Footage::GetEffectiveProxyParams() - Proxies now include the source audio streams (AAC) unless disabled; the proxy filename records the audio flag and offline audio rendering decodes from the proxy when present - ProxyTask resolves ffmpeg from the new FFmpegPath config key first, then PATH, then common install locations (e.g. Homebrew on macOS), instead of relying on PATH only; the error message points at the preferences when no executable is found - ProxyTask::BuildArguments() is extracted for testability - Add ProxyIncludeAudio and FFmpegPath config defaults - Add regression tests for the filename audio marker, config-backed params, ffmpeg resolution, argument building, and custom-param persistence
This commit is contained in:
@@ -611,11 +611,7 @@ void ProjectExplorer::GenerateProxiesForSelectedFootage()
|
||||
continue;
|
||||
}
|
||||
|
||||
ProxyManager::ProxyParams params;
|
||||
params.width = OLIVE_CONFIG("ProxyWidth").value<int>();
|
||||
params.height = OLIVE_CONFIG("ProxyHeight").value<int>();
|
||||
params.crf = OLIVE_CONFIG("ProxyCRF").value<int>();
|
||||
params.preset = OLIVE_CONFIG("ProxyPreset").toString();
|
||||
ProxyManager::ProxyParams params = item->GetEffectiveProxyParams();
|
||||
const ProxyManager::Proxy proxy =
|
||||
ProxyManager::instance()->GetOrStartProxy(
|
||||
item->project()->cache_path(), item->filename(),
|
||||
|
||||
Reference in New Issue
Block a user