diff options
Diffstat (limited to 'libao2/afmt.c')
-rw-r--r-- | libao2/afmt.c | 47 |
1 files changed, 47 insertions, 0 deletions
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"); +} |