From 4c4d436a668ac9c651a4adb14b50d5d6e4bf6154 Mon Sep 17 00:00:00 2001 From: Stu Leak Date: Mon, 29 Dec 2025 02:34:22 -0500 Subject: [PATCH] feat(benchmark): Respect user quality preference when applying recommendations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- main.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/main.go b/main.go index 0d4dd6d..10c15c4 100644 --- a/main.go +++ b/main.go @@ -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()