diff options
author | Max Kellermann <max@musicpd.org> | 2018-01-23 16:28:56 +0100 |
---|---|---|
committer | Max Kellermann <max@musicpd.org> | 2018-01-23 16:28:56 +0100 |
commit | f762e8034f838b6087f6ea2e2010d3a23415f53c (patch) | |
tree | 1a46053bc59368c5bd765353019974ad791b3603 /test | |
parent | bb1e369f304b86fae73ef36b7686e2836971c0c7 (diff) |
test/NullMixerListener: new class to fix -Wnull-dereference
Diffstat (limited to 'test')
-rw-r--r-- | test/NullMixerListener.hxx | 30 | ||||
-rw-r--r-- | test/read_mixer.cxx | 4 | ||||
-rw-r--r-- | test/run_output.cxx | 11 |
3 files changed, 41 insertions, 4 deletions
diff --git a/test/NullMixerListener.hxx b/test/NullMixerListener.hxx new file mode 100644 index 000000000..ed3986f41 --- /dev/null +++ b/test/NullMixerListener.hxx @@ -0,0 +1,30 @@ +/* + * Copyright 2003-2018 The Music Player Daemon Project + * http://www.musicpd.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef NULL_MIXER_LISTENER_HXX +#define NULL_MIXER_LISTENER_HXX + +#include "mixer/Listener.hxx" + +class NullMixerListener : public MixerListener { +public: + void OnMixerVolumeChanged(Mixer &, int) override {} +}; + +#endif diff --git a/test/read_mixer.cxx b/test/read_mixer.cxx index 4c7efabe3..9919b9c4c 100644 --- a/test/read_mixer.cxx +++ b/test/read_mixer.cxx @@ -18,6 +18,7 @@ */ #include "config.h" +#include "NullMixerListener.hxx" #include "mixer/MixerControl.hxx" #include "mixer/MixerList.hxx" #include "filter/FilterRegistry.hxx" @@ -50,9 +51,10 @@ try { EventLoop event_loop; + NullMixerListener mixer_listener; Mixer *mixer = mixer_new(event_loop, alsa_mixer_plugin, *(AudioOutput *)nullptr, - *(MixerListener *)nullptr, + mixer_listener, ConfigBlock()); mixer_open(mixer); diff --git a/test/run_output.cxx b/test/run_output.cxx index 43272591c..27e65cbc9 100644 --- a/test/run_output.cxx +++ b/test/run_output.cxx @@ -18,6 +18,7 @@ */ #include "config.h" +#include "NullMixerListener.hxx" #include "output/Internal.hxx" #include "output/OutputPlugin.hxx" #include "output/Client.hxx" @@ -64,7 +65,9 @@ filter_plugin_by_name(gcc_unused const char *name) noexcept } static AudioOutput * -load_audio_output(EventLoop &event_loop, AudioOutputClient &client, +load_audio_output(EventLoop &event_loop, + NullMixerListener &mixer_listener, + AudioOutputClient &client, const char *name) { const auto *param = config_find_block(ConfigBlockOption::AUDIO_OUTPUT, @@ -74,7 +77,7 @@ load_audio_output(EventLoop &event_loop, AudioOutputClient &client, name); return audio_output_new(event_loop, ReplayGainConfig(), *param, - *(MixerListener *)nullptr, + mixer_listener, client); } @@ -144,8 +147,10 @@ try { /* initialize the audio output */ + NullMixerListener mixer_listener; DummyAudioOutputClient client; - AudioOutput *ao = load_audio_output(event_loop, client, argv[2]); + AudioOutput *ao = load_audio_output(event_loop, mixer_listener, + client, argv[2]); /* parse the audio format */ |