aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--libao2/Makefile2
-rw-r--r--libao2/afmt.c47
-rw-r--r--libao2/audio_out.c42
3 files changed, 48 insertions, 43 deletions
diff --git a/libao2/Makefile b/libao2/Makefile
index eaec3216e0..778256d464 100644
--- a/libao2/Makefile
+++ b/libao2/Makefile
@@ -4,7 +4,7 @@ include config.mak
LIBNAME = libao2.a
# TODO: moveout ao_sdl.c so it's only used when SDL is detected
-SRCS=audio_out.c ao_mpegpes.c ao_null.c ao_pcm.c $(OPTIONAL_SRCS)
+SRCS=afmt.c audio_out.c ao_mpegpes.c ao_null.c ao_pcm.c $(OPTIONAL_SRCS)
OBJS=$(SRCS:.c=.o)
CFLAGS = $(OPTFLAGS) -I. -I.. $(SDL_INC) $(EXTRA_INC)
diff --git a/libao2/afmt.c b/libao2/afmt.c
new file mode 100644
index 0000000000..44eb522c19
--- /dev/null
+++ b/libao2/afmt.c
@@ -0,0 +1,47 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "../config.h"
+#include "afmt.h"
+
+char *audio_out_format_name(int format)
+{
+ switch (format)
+ {
+ case AFMT_MU_LAW:
+ return("Mu-Law");
+ case AFMT_A_LAW:
+ return("A-Law");
+ case AFMT_IMA_ADPCM:
+ return("Ima-ADPCM");
+ 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("Signed 16-bit (Big-Endian)");
+ case AFMT_MPEG:
+ return("MPEG (2) audio");
+ case AFMT_AC3:
+ return("AC3");
+/*
+ the following two formats are not available with old linux kernel
+ headers (e.g. in 2.2.16)
+*/
+#ifdef AFMT_S32_LE
+ case AFMT_S32_LE:
+ return("Signed 32-bit (Little-Endian)");
+#endif
+#ifdef AFMT_S32_BE
+ case AFMT_S32_BE:
+ return("Signed 32-bit (Big-Endian)");
+#endif
+ }
+ return("Unknown");
+}
diff --git a/libao2/audio_out.c b/libao2/audio_out.c
index 075445488e..0af78067be 100644
--- a/libao2/audio_out.c
+++ b/libao2/audio_out.c
@@ -77,45 +77,3 @@ ao_functions_t* audio_out_drivers[] =
// &audio_out_pss,
NULL
};
-
-char *audio_out_format_name(int format)
-{
- switch (format)
- {
- case AFMT_MU_LAW:
- return("Mu-Law");
- case AFMT_A_LAW:
- return("A-Law");
- case AFMT_IMA_ADPCM:
- return("Ima-ADPCM");
- 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("Signed 16-bit (Big-Endian)");
- case AFMT_MPEG:
- return("MPEG (2) audio");
- case AFMT_AC3:
- return("AC3");
-/*
- the following two formats are not available with old linux kernel
- headers (e.g. in 2.2.16)
-*/
-#ifdef AFMT_S32_LE
- case AFMT_S32_LE:
- return("Signed 32-bit (Little-Endian)");
-#endif
-#ifdef AFMT_S32_BE
- case AFMT_S32_BE:
- return("Signed 32-bit (Big-Endian)");
-#endif
- }
- return("Unknown");
-}