Mercurial > mplayer.hg
view libao2/afmt.c @ 7050:a5b2b377ab50
changed spdif default from "hw:0,2" to general alias "iec958"
based on a patch by Benedikt Hunz <hunz@hunz.org>
corrected typo in ugly spdif-warning message
added 32/20bit modes for 'high-end'-soundcards
disabled hw-mixer-access for big-endian machines
(mplayer seems to screw up hw-mixer on LinuxPPC running ALSA
needs more testing, but its safer to disable it for now.)
author | joyping |
---|---|
date | Tue, 20 Aug 2002 14:15:25 +0000 |
parents | e9bd97d5c5cc |
children | c8677169cc2c |
line wrap: on
line source
#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"); } // return number of bits for 1 sample in one channel, or 8 bits for compressed int audio_out_format_bits(int format){ switch (format) { /* 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 32; #endif #ifdef AFMT_S32_BE case AFMT_S32_BE: return 32; #endif case AFMT_U16_LE: case AFMT_U16_BE: case AFMT_S16_LE: case AFMT_S16_BE: return 16;//16 bits case AFMT_MU_LAW: case AFMT_A_LAW: case AFMT_IMA_ADPCM: case AFMT_S8: case AFMT_U8: case AFMT_MPEG: case AFMT_AC3: default: return 8;//default 1 byte } return 8; }