On 2017/01/31 15:10, Christopher Zimmermann <[email protected]> wrote:
> Hi,
>
> I use mpd on OpenBSD. Here is a patch I use to build the OpenBSD port
> of mpd.
>
> * adds sndio mixer support
This fails with several compiler warnings:
CXX src/mixer/plugins/libmixer_plugins_a-SndioMixerPlugin.o
src/mixer/plugins/SndioMixerPlugin.cxx: In constructor
'SndioMixer::SndioMixer(SndioOutput&, MixerListener&)':
src/mixer/plugins/SndioMixerPlugin.cxx:36:3: error: declaration of 'listener'
shadows a member of 'SndioMixer' [-Werror=shadow]
:Mixer(sndio_mixer_plugin, listener), output(output)
^
In file included from src/mixer/plugins/SndioMixerPlugin.cxx:23:0:
src/mixer/MixerInternal.hxx:34:17: note: shadowed declaration is here
MixerListener &listener;
^~~~~~~~
src/mixer/plugins/SndioMixerPlugin.cxx:36:3: error: declaration of 'output'
shadows a member of 'SndioMixer' [-Werror=shadow]
:Mixer(sndio_mixer_plugin, listener), output(output)
^
src/mixer/plugins/SndioMixerPlugin.cxx:32:15: note: shadowed declaration is here
SndioOutput &output;
^~~~~~
cc1plus: all warnings being treated as errors
Makefile:9611: recipe for target
'src/mixer/plugins/libmixer_plugins_a-SndioMixerPlugin.o' failed
make[1]: *** [src/mixer/plugins/libmixer_plugins_a-SndioMixerPlugin.o] Error 1
CXX src/output/plugins/liboutput_plugins_a-SndioOutputPlugin.o
src/output/plugins/SndioOutputPlugin.cxx: In function 'void
SndioMixerCallback(void*, unsigned int)':
src/output/plugins/SndioOutputPlugin.cxx:41:6: error: no previous declaration
for 'void SndioMixerCallback(void*, unsigned int)'
[-Werror=missing-declarations]
void SndioMixerCallback(void *arg, unsigned int volume) {
^~~~~~~~~~~~~~~~~~
Also I don't like the heavy header dependencies in your modified
SndioOutputPlugin.hxx. Please don't publish that class here; maybe
rather in an "internal" header or add some lighter wrapper functions
like the Pulse plugin does.
Use nullptr instead of NULL.
> * increments the glibc++ version quirk in CommandError.cxx to a date
> that includes the OpenBSD glibc++ (gcc 4.9.4).
This looks suspicious, because it may match on GCC 5 or 6 as well.
Unfortunately, libstdc++ versions are chaotic - they are date tags,
but 4.9 bug fix releases may be younger than 5.x or 6.x releases.
I don't want to exchange improved 4.9 support for worse 5.x/6.x
support. But matching the exact 4.9.4 version would be an acceptable
kludge for me.
_______________________________________________
mpd-devel mailing list
[email protected]
http://mailman.blarg.de/listinfo/mpd-devel