Skip to content

Commit

Permalink
Adapt SolarisOutputPlugin.cxx to be usable on NetBSD.
Browse files Browse the repository at this point in the history
  • Loading branch information
0-wiz-0 authored and MaxKellermann committed Feb 29, 2020
1 parent d5468df commit 7a68b1e
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 3 deletions.
2 changes: 2 additions & 0 deletions NEWS
@@ -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
Expand Down
11 changes: 8 additions & 3 deletions src/output/plugins/SolarisOutputPlugin.cxx
Expand Up @@ -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
Expand Down Expand Up @@ -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 = {
Expand Down

0 comments on commit 7a68b1e

Please sign in to comment.