feat(benchmark): Respect user quality preference when applying recommendations

- Check if user has "slow" or "slower" preset before applying benchmark
- Upgrade benchmark preset to "slow" if user prefers quality
- Prevents benchmark from forcing fast presets on quality-focused users
- Logs quality preference detection for debugging

Fixes issue where benchmark kept switching to fast encoding despite
user preference for higher quality output.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Stu Leak 2025-12-29 02:34:22 -05:00
parent 4e8486a5da
commit 4c4d436a66

View File

@ -2554,6 +2554,15 @@ func (s *appState) applyBenchmarkRecommendation(encoder, preset string) {
if codec := friendlyCodecFromPreset(encoder); codec != "" {
s.convert.VideoCodec = codec
}
// Respect user's quality preference: if they have slow/slower set, upgrade the preset
currentPreset := strings.ToLower(s.convert.EncoderPreset)
if currentPreset == "slow" || currentPreset == "slower" {
// User prefers quality over speed - upgrade benchmark preset to slower
preset = "slow"
logging.Debug(logging.CatSystem, "user prefers quality - upgraded preset to 'slow'")
}
s.convert.EncoderPreset = preset
s.convert.HardwareAccel = hwAccel
s.persistConvertConfig()