summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMax Kellermann <max@musicpd.org>2018-01-23 16:28:56 +0100
committerMax Kellermann <max@musicpd.org>2018-01-23 16:28:56 +0100
commitf762e8034f838b6087f6ea2e2010d3a23415f53c (patch)
tree1a46053bc59368c5bd765353019974ad791b3603 /test
parentbb1e369f304b86fae73ef36b7686e2836971c0c7 (diff)
test/NullMixerListener: new class to fix -Wnull-dereference
Diffstat (limited to 'test')
-rw-r--r--test/NullMixerListener.hxx30
-rw-r--r--test/read_mixer.cxx4
-rw-r--r--test/run_output.cxx11
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 */