From: Jaroslav Kysela Date: Sat, 11 Dec 1999 20:36:13 +0000 (+0000) Subject: Added snd_pcm_get_format_name() to alsa-lib. X-Git-Tag: android-x86-9.0-r1~3438 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=d33c93096ad281511f199f5e2a6b46ff23b3f940;p=android-x86%2Fexternal-alsa-lib.git Added snd_pcm_get_format_name() to alsa-lib. --- diff --git a/include/pcm.h b/include/pcm.h index f277a7a8..be487eb6 100644 --- a/include/pcm.h +++ b/include/pcm.h @@ -57,6 +57,7 @@ int snd_pcm_format_little_endian(int format); int snd_pcm_format_big_endian(int format); int snd_pcm_format_width(int format); /* in bits */ ssize_t snd_pcm_format_size(int format, size_t samples); +const char *snd_pcm_get_format_name(int format); #ifdef __cplusplus } diff --git a/src/pcm/pcm_misc.c b/src/pcm/pcm_misc.c index e3c70485..30a903d3 100644 --- a/src/pcm/pcm_misc.c +++ b/src/pcm/pcm_misc.c @@ -191,3 +191,39 @@ ssize_t snd_pcm_format_size(int format, size_t samples) return -EINVAL; } } + +const char *snd_pcm_get_format_name(int format) +{ + static char *formats[] = { + "Signed 8-bit", + "Unsigned 8-bit", + "Signed 16-bit Little Endian", + "Signed 16-bit Big Endian", + "Unsigned 16-bit Little Endian", + "Unsigned 16-bit Big Endian", + "Signed 24-bit Little Endian", + "Signed 24-bit Big Endian", + "Unsigned 24-bit Little Endian", + "Unsigned 24-bit Big Endian", + "Signed 32-bit Little Endian", + "Signed 32-bit Big Endian", + "Unsigned 32-bit Little Endian", + "Unsigned 32-bit Big Endian", + "Float Little Endian", + "Float Big Endian", + "Float64 Little Endian", + "Float64 Big Endian", + "IEC-958 Little Endian", + "IEC-958 Big Endian", + "Mu-Law", + "A-Law", + "Ima-ADPCM", + "MPEG", + "GSM" + }; + if (format == SND_PCM_SFMT_SPECIAL) + return "Special"; + if (format < 0 || format > SND_PCM_SFMT_GSM) + return "Unknown"; + return formats[format]; +}