diff options
author | iive <iive@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-05-09 07:39:33 +0000 |
---|---|---|
committer | iive <iive@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-05-09 07:39:33 +0000 |
commit | 98f2828d5a758f11c21f300f5ffc28c3d860dd59 (patch) | |
tree | 44c941b3634468d885fcfe6a607ad7d8605be782 /libao2/afmt.c | |
parent | 7151c375c4a07b97d39ee55cf85f63325499063a (diff) | |
download | mpv-98f2828d5a758f11c21f300f5ffc28c3d860dd59.tar.bz2 mpv-98f2828d5a758f11c21f300f5ffc28c3d860dd59.tar.xz |
added audio_out_format_bits to calc len alignment
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6027 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libao2/afmt.c')
-rw-r--r-- | libao2/afmt.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/libao2/afmt.c b/libao2/afmt.c index 44eb522c19..85bbc30ff0 100644 --- a/libao2/afmt.c +++ b/libao2/afmt.c @@ -45,3 +45,40 @@ char *audio_out_format_name(int format) } 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 |