diff options
author | Thomas Klausner <tk@giga.or.at> | 2020-02-29 09:56:10 +0100 |
---|---|---|
committer | Max Kellermann <max@musicpd.org> | 2020-02-29 10:05:29 +0100 |
commit | 7a68b1e71fd2f29478b95a5116ab0792f218f9ff (patch) | |
tree | dd91eb9f5d1d6ad8ba4dcde43106c3c47e157dcb | |
parent | d5468dfe89acb85885d2f8017a66bdecdfcbb758 (diff) |
Adapt SolarisOutputPlugin.cxx to be usable on NetBSD.
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | src/output/plugins/SolarisOutputPlugin.cxx | 11 |
2 files changed, 10 insertions, 3 deletions
@@ -1,6 +1,8 @@ ver 0.21.21 (not yet released) * decoder - gme: ignore empty tags +* output + - solaris: port to NetBSD ver 0.21.20 (2020/02/16) * decoder diff --git a/src/output/plugins/SolarisOutputPlugin.cxx b/src/output/plugins/SolarisOutputPlugin.cxx index d6323d5aa..5176f7ac4 100644 --- a/src/output/plugins/SolarisOutputPlugin.cxx +++ b/src/output/plugins/SolarisOutputPlugin.cxx @@ -22,22 +22,23 @@ #include "system/FileDescriptor.hxx" #include "system/Error.hxx" +#include <sys/ioctl.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <fcntl.h> #include <errno.h> -#ifdef __sun +#if defined(__sun) #include <sys/audio.h> #include <sys/stropts.h> +#elif defined(__NetBSD__) +#include <sys/audioio.h> #else /* some fake declarations that allow build this plugin on systems other than Solaris, just to see if it compiles */ -#include <sys/ioctl.h> - #ifndef I_FLUSH #define I_FLUSH 0 #endif @@ -147,7 +148,11 @@ SolarisOutput::Play(const void *chunk, size_t size) void SolarisOutput::Cancel() noexcept { +#if defined(AUDIO_FLUSH) + ioctl(fd.Get(), AUDIO_FLUSH); +#elif defined(I_FLUSH) ioctl(fd.Get(), I_FLUSH); +#endif } const struct AudioOutputPlugin solaris_output_plugin = { |