77 lines
2.4 KiB
Text
77 lines
2.4 KiB
Text
$NetBSD: patch-aa,v 1.5 2014/09/14 12:48:35 shattered Exp $
|
|
|
|
--- src/pcm.cc.orig 2007-03-15 18:22:14.000000000 +0000
|
|
+++ src/pcm.cc
|
|
@@ -7,10 +7,12 @@
|
|
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
-#ifdef __NetBSD__
|
|
-# include <machine/byte_swap.h>
|
|
-#elif __FreeBSD__
|
|
+#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
|
|
# include <sys/endian.h>
|
|
+#elif defined(__sun)
|
|
+# include <sys/byteorder.h>
|
|
+# define bswap_16 BSWAP_16
|
|
+# define bswap_32 BSWAP_32
|
|
#else
|
|
# include <byteswap.h>
|
|
#endif
|
|
@@ -26,6 +28,11 @@ using std::cerr;
|
|
# include "pcm-alsa.h"
|
|
#endif
|
|
|
|
+#if defined(__NetBSD__)
|
|
+# define __BYTE_ORDER _BYTE_ORDER
|
|
+# define __BIG_ENDIAN _BIG_ENDIAN
|
|
+# define __LITTLE_ENDIAN _LITTLE_ENDIAN
|
|
+#endif
|
|
|
|
#ifndef __BYTE_ORDER
|
|
# error "undefined endianness"
|
|
@@ -48,7 +55,7 @@ PCM::create (const char* name, pcm_type_
|
|
if (strcmp (tmp, "default") == 0)
|
|
tmp = "plughw:0,0";
|
|
#else
|
|
-# if defined(__NetBSD__) || defined(__FreeBSD__)
|
|
+# if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
|
|
if (strcmp (tmp, "default") == 0)
|
|
tmp = "/dev/dsp";
|
|
# else
|
|
@@ -172,7 +179,7 @@ PCM::swap_buffer (void* buffer, size_t f
|
|
case S16: {
|
|
int16_t* tmp_buffer = (int16_t*) buffer;
|
|
for (size_t i = n; i != 0; i--) {
|
|
-#if defined(__NetBSD__) || defined(__FreeBSD__)
|
|
+#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
|
|
*tmp_buffer = bswap16 (*tmp_buffer);
|
|
#else
|
|
*tmp_buffer = bswap_16 (*tmp_buffer);
|
|
@@ -184,7 +191,7 @@ PCM::swap_buffer (void* buffer, size_t f
|
|
case S32: {
|
|
int32_t* tmp_buffer = (int32_t*) buffer;
|
|
for (size_t i = n; i != 0; i--) {
|
|
-#if defined(__NetBSD__) || defined(__FreeBSD__)
|
|
+#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
|
|
*tmp_buffer = bswap32 (*tmp_buffer);
|
|
#else
|
|
*tmp_buffer = bswap_32 (*tmp_buffer);
|
|
@@ -200,7 +207,7 @@ uint16_t
|
|
PCM::uint16_to_le (uint16_t i) const
|
|
{
|
|
#if __BYTE_ORDER == __BIG_ENDIAN
|
|
-# if defined(__NetBSD__) || defined(__FreeBSD__)
|
|
+# if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
|
|
return bswap16 (i);
|
|
# else
|
|
return bswap_16 (i);
|
|
@@ -215,7 +222,7 @@ uint32_t
|
|
PCM::uint32_to_le (uint32_t i) const
|
|
{
|
|
#if __BYTE_ORDER == __BIG_ENDIAN
|
|
-# if defined(__NetBSD__) || defined(__FreeBSD__)
|
|
+# if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
|
|
return bswap32 (i);
|
|
# else
|
|
return bswap_32 (i);
|