diff --git a/src/output/Thread.cxx b/src/output/Thread.cxx index 554bf82cd..91d7dccd7 100644 --- a/src/output/Thread.cxx +++ b/src/output/Thread.cxx @@ -97,14 +97,14 @@ AudioOutput::Open(const AudioFormat in_audio_format, const MusicPipe &pipe) prepared_replay_gain_filter, prepared_other_replay_gain_filter, prepared_filter); - - if (mixer != nullptr && mixer->IsPlugin(software_mixer_plugin)) - software_mixer_set_filter(*mixer, volume_filter.Get()); } catch (const std::runtime_error &e) { std::throw_with_nested(FormatRuntimeError("Failed to open filter for \"%s\" [%s]", name, plugin.name)); } + if (mixer != nullptr && mixer->IsPlugin(software_mixer_plugin)) + software_mixer_set_filter(*mixer, volume_filter.Get()); + const auto cf = f.WithMask(config_audio_format); if (open && cf != filter_audio_format) {