Commit 9250819b authored by Max Kellermann's avatar Max Kellermann

filter/Volume: add volume_filter_prepare()

Circumvent filter_new() with a fake ConfigBlock.
parent 04738636
...@@ -78,6 +78,12 @@ const FilterPlugin volume_filter_plugin = { ...@@ -78,6 +78,12 @@ const FilterPlugin volume_filter_plugin = {
volume_filter_init, volume_filter_init,
}; };
PreparedFilter *
volume_filter_prepare() noexcept
{
return new PreparedVolumeFilter();
}
unsigned unsigned
volume_filter_get(const Filter *_filter) noexcept volume_filter_get(const Filter *_filter) noexcept
{ {
......
...@@ -20,8 +20,12 @@ ...@@ -20,8 +20,12 @@
#ifndef MPD_VOLUME_FILTER_PLUGIN_HXX #ifndef MPD_VOLUME_FILTER_PLUGIN_HXX
#define MPD_VOLUME_FILTER_PLUGIN_HXX #define MPD_VOLUME_FILTER_PLUGIN_HXX
class PreparedFilter;
class Filter; class Filter;
PreparedFilter *
volume_filter_prepare() noexcept;
unsigned unsigned
volume_filter_get(const Filter *filter) noexcept; volume_filter_get(const Filter *filter) noexcept;
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include "filter/plugins/AutoConvertFilterPlugin.hxx" #include "filter/plugins/AutoConvertFilterPlugin.hxx"
#include "filter/plugins/ReplayGainFilterPlugin.hxx" #include "filter/plugins/ReplayGainFilterPlugin.hxx"
#include "filter/plugins/ChainFilterPlugin.hxx" #include "filter/plugins/ChainFilterPlugin.hxx"
#include "filter/plugins/VolumeFilterPlugin.hxx"
#include "config/ConfigError.hxx" #include "config/ConfigError.hxx"
#include "config/ConfigGlobal.hxx" #include "config/ConfigGlobal.hxx"
#include "config/Block.hxx" #include "config/Block.hxx"
...@@ -106,12 +107,6 @@ audio_output_mixer_type(const ConfigBlock &block) noexcept ...@@ -106,12 +107,6 @@ audio_output_mixer_type(const ConfigBlock &block) noexcept
"hardware")); "hardware"));
} }
static PreparedFilter *
CreateVolumeFilter()
{
return filter_new(&volume_filter_plugin, ConfigBlock());
}
static Mixer * static Mixer *
audio_output_load_mixer(EventLoop &event_loop, AudioOutput &ao, audio_output_load_mixer(EventLoop &event_loop, AudioOutput &ao,
const ConfigBlock &block, const ConfigBlock &block,
...@@ -144,7 +139,7 @@ audio_output_load_mixer(EventLoop &event_loop, AudioOutput &ao, ...@@ -144,7 +139,7 @@ audio_output_load_mixer(EventLoop &event_loop, AudioOutput &ao,
assert(mixer != nullptr); assert(mixer != nullptr);
filter_chain_append(filter_chain, "software_mixer", filter_chain_append(filter_chain, "software_mixer",
ao.volume_filter.Set(CreateVolumeFilter())); ao.volume_filter.Set(volume_filter_prepare()));
return mixer; return mixer;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment