summaryrefslogtreecommitdiffstats
path: root/libao2/audio_out.c
diff options
context:
space:
mode:
Diffstat (limited to 'libao2/audio_out.c')
-rw-r--r--libao2/audio_out.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/libao2/audio_out.c b/libao2/audio_out.c
index afa239ccd8..3f7ae08656 100644
--- a/libao2/audio_out.c
+++ b/libao2/audio_out.c
@@ -5,7 +5,30 @@
#include "audio_out.h"
+#ifdef USE_OSS_AUDIO
#include <sys/soundcard.h> /* AFMT_* */
+#endif
+
+
+#ifndef AFMT_U8
+# define AFMT_MU_LAW 0x00000001
+# define AFMT_A_LAW 0x00000002
+# define AFMT_IMA_ADPCM 0x00000004
+# define AFMT_U8 0x00000008
+# define AFMT_S16_LE 0x00000010 /* Little endian signed
+16*/
+# define AFMT_S16_BE 0x00000020 /* Big endian signed 16
+*/
+# define AFMT_S8 0x00000040
+# define AFMT_U16_LE 0x00000080 /* Little endian U16 */
+# define AFMT_U16_BE 0x00000100 /* Big endian U16 */
+# define AFMT_MPEG 0x00000200 /* MPEG (2) audio */
+
+/* 32 bit formats (MSB aligned) formats */
+# define AFMT_S32_LE 0x00001000
+# define AFMT_S32_BE 0x00002000
+#endif
+
// there are some globals:
int ao_samplerate=0;
@@ -15,7 +38,9 @@ int ao_bps=0;
int ao_outburst=OUTBURST; // config.h default
int ao_buffersize=-1;
+#ifdef USE_OSS_AUDIO
extern ao_functions_t audio_out_oss;
+#endif
//extern ao_functions_t audio_out_ossold;
extern ao_functions_t audio_out_null;
#ifdef HAVE_ALSA5
@@ -32,10 +57,15 @@ extern ao_functions_t audio_out_null;
#ifdef HAVE_SDL
extern ao_functions_t audio_out_sdl;
#endif
+#ifdef USE_SUN_AUDIO
+extern ao_functions_t audio_out_sun;
+#endif
ao_functions_t* audio_out_drivers[] =
{
+#ifdef USE_OSS_AUDIO
&audio_out_oss,
+#endif
&audio_out_null,
#ifdef HAVE_ALSA5
&audio_out_alsa5,
@@ -51,6 +81,9 @@ ao_functions_t* audio_out_drivers[] =
#ifdef HAVE_SDL
&audio_out_sdl,
#endif
+#ifdef USE_SUN_AUDIO
+ &audio_out_sun,
+#endif
NULL
};