Mercurial > mplayer.hg
diff libao2/afmt.c @ 6026:16e33d66b813
added audio_out_format_bits to calc len alignment
author | iive |
---|---|
date | Thu, 09 May 2002 07:39:33 +0000 |
parents | 2c3ab498ac90 |
children | e9bd97d5c5cc |
line wrap: on
line diff
--- a/libao2/afmt.c Thu May 09 00:45:36 2002 +0000 +++ b/libao2/afmt.c Thu May 09 07:39:33 2002 +0000 @@ -45,3 +45,40 @@ } 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; +} \ No newline at end of file