ref: a0c500527daa6a8638eabac382810b1c42f442a2
parent: e186a8512f9372f3cd358547a0d6d9edc0e4522f
author: Gregory Maxwell <[email protected]>
date: Wed May 16 12:49:49 EDT 2012
soundcard.h autodetection
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,6 +12,6 @@
opusenc_LDADD = $(OGG_LIBS) $(Opus_LIBS) -lm
opusdec_SOURCES = src/opus_header.c src/wav_io.c src/wave_out.c src/opusdec.c src/resample.c src/diag_range.c
-opusdec_LDADD = $(OGG_LIBS) $(Opus_LIBS) -lm
+opusdec_LDADD = $(OGG_LIBS) $(Opus_LIBS) $(OSS_LIBS) -lm
#TESTS = FIXME
--- a/configure.ac
+++ b/configure.ac
@@ -215,6 +215,26 @@
obtain a copy.])
fi
+dnl check for OSS
+HAVE_OSS=no
+AC_CHECK_HEADERS([sys/soundcard.h soundcard.h machine/soundcard.h],[
+ HAVE_OSS=yes
+ break
+])
+if test x$HAVE_OSS != xyes; then
+ AC_MSG_WARN([OSS audio support not found -- no direct audio output in opusdec])
+fi
+
+dnl OpenBSD needs -lossaudio to use the oss interface
+OSS_LIBS=
+case "$host_os" in
+ openbsd*)
+ OSS_LIBS='-lossaudio'
+ ;;
+esac
+AC_SUBST(OSS_LIBS)
+
+
AC_OUTPUT([Makefile])
AC_MSG_RESULT([
--- a/src/opusdec.c
+++ b/src/opusdec.c
@@ -61,8 +61,14 @@
#include "wave_out.c"
#endif
+#if defined HAVE_SYS_SOUNDCARD_H || defined HAVE_MACHINE_SOUNDCARD_H || HAVE_SOUNDCARD_H
#ifdef HAVE_SYS_SOUNDCARD_H
-#include <sys/soundcard.h>
+# include <sys/soundcard.h>
+#elif HAVE_MACHINE_SOUNDCARD_H
+# include <machine/soundcard.h>
+#else
+# include <soundcard.h>
+#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>