summaryrefslogtreecommitdiffstats
path: root/libao2/audio_out.c
diff options
context:
space:
mode:
authorpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-06-04 17:40:56 +0000
committerpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-06-04 17:40:56 +0000
commit43243ae9e389fa3e802ac498bf10a2443dd0fe25 (patch)
treef986116bc72fb7e155f2f1d82f73707c5cd25b83 /libao2/audio_out.c
parent3058747324ff1207d12a4e9c373d545460e15413 (diff)
downloadmpv-43243ae9e389fa3e802ac498bf10a2443dd0fe25.tar.bz2
mpv-43243ae9e389fa3e802ac498bf10a2443dd0fe25.tar.xz
add alsa support by al3x
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@996 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libao2/audio_out.c')
-rw-r--r--libao2/audio_out.c30
1 files changed, 27 insertions, 3 deletions
diff --git a/libao2/audio_out.c b/libao2/audio_out.c
index a5671102d1..ee7c8589b9 100644
--- a/libao2/audio_out.c
+++ b/libao2/audio_out.c
@@ -1,4 +1,3 @@
-
#include <stdio.h>
#include <stdlib.h>
@@ -6,6 +5,8 @@
#include "audio_out.h"
+#include <sys/soundcard.h> /* AFMT_* */
+
// there are some globals:
int ao_samplerate=0;
int ao_channels=0;
@@ -16,9 +17,10 @@ int ao_buffersize=-1;
extern ao_functions_t audio_out_oss;
//extern ao_functions_t audio_out_ossold;
-//extern ao_functions_t audio_out_alsa;
-//extern ao_functions_t audio_out_esd;
extern ao_functions_t audio_out_null;
+extern ao_functions_t audio_out_alsa5;
+extern ao_functions_t audio_out_alsa9;
+extern ao_functions_t audio_out_esd;
#ifdef HAVE_SDL
extern ao_functions_t audio_out_sdl;
#endif
@@ -27,9 +29,31 @@ ao_functions_t* audio_out_drivers[] =
{
&audio_out_oss,
&audio_out_null,
+ &audio_out_alsa5,
+// &audio_out_alsa9,
+// &audio_out_esd,
#ifdef HAVE_SDL
&audio_out_sdl,
#endif
NULL
};
+char *audio_out_format_name(int format)
+{
+ switch (format)
+ {
+ case AFMT_S8:
+ return("signed 8-bit");
+ case AFMT_U8:
+ return("unsigned 8-bit");
+ case AFMT_U16_LE:
+ return("unsigned 16-bit (little-endian)");
+ case AFMT_U16_BE:
+ return("unsigned 16-bit (big-endian)");
+ case AFMT_S16_LE:
+ return("signed 16-bit (little-endian)");
+ case AFMT_S16_BE:
+ return("unsigned 16-bit (big-endian)");
+ }
+ return("unknown");
+}