summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Mack <zonque@gmail.com>2013-04-18 10:37:50 +0200
committerTakashi Iwai <tiwai@suse.de>2013-04-18 11:45:11 +0200
commit886f0cc3c274643de464e646535afb4ceee1d816 (patch)
tree831e0eb98dba25dc3f5a4ba8cb5ebec1c22c0080
parent697f8c296ccb4b38cec930782b5ef1419aaf4245 (diff)
downloadalsa-lib-886f0cc3c274643de464e646535afb4ceee1d816.tar.gz
bring pcm.h and pcm.c in sync with the kernel list
In particular, this adds definitions and descriptions for G.723 and DSD types. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--include/pcm.h14
-rw-r--r--src/pcm/pcm.c12
2 files changed, 25 insertions, 1 deletions
diff --git a/include/pcm.h b/include/pcm.h
index d94ba90d..e440030f 100644
--- a/include/pcm.h
+++ b/include/pcm.h
@@ -199,7 +199,19 @@ typedef enum _snd_pcm_format {
SND_PCM_FORMAT_U18_3LE,
/** Unsigned 18bit Big Endian in 3bytes format */
SND_PCM_FORMAT_U18_3BE,
- SND_PCM_FORMAT_LAST = SND_PCM_FORMAT_U18_3BE,
+ /* G.723 (ADPCM) 24 kbit/s, 8 samples in 3 bytes */
+ SND_PCM_FORMAT_G723_24,
+ /* G.723 (ADPCM) 24 kbit/s, 1 sample in 1 byte */
+ SND_PCM_FORMAT_G723_24_1B,
+ /* G.723 (ADPCM) 40 kbit/s, 8 samples in 3 bytes */
+ SND_PCM_FORMAT_G723_40,
+ /* G.723 (ADPCM) 40 kbit/s, 1 sample in 1 byte */
+ SND_PCM_FORMAT_G723_40_1B,
+ /* Direct Stream Digital (DSD) in 1-byte samples (x8) */
+ SND_PCM_FORMAT_DSD_U8,
+ /* Direct Stream Digital (DSD) in 2-byte samples (x16) */
+ SND_PCM_FORMAT_DSD_U16_LE,
+ SND_PCM_FORMAT_LAST = SND_PCM_FORMAT_DSD_U16_LE,
#if __BYTE_ORDER == __LITTLE_ENDIAN
/** Signed 16 bit CPU endian */
diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
index 2a87a7be..438fb3fd 100644
--- a/src/pcm/pcm.c
+++ b/src/pcm/pcm.c
@@ -1558,6 +1558,12 @@ static const char *const snd_pcm_format_names[] = {
FORMAT(S18_3BE),
FORMAT(U18_3LE),
FORMAT(U18_3BE),
+ FORMAT(G723_24),
+ FORMAT(G723_24_1B),
+ FORMAT(G723_40),
+ FORMAT(G723_40_1B),
+ FORMAT(DSD_U8),
+ FORMAT(DSD_U16_LE),
};
static const char *const snd_pcm_format_aliases[SND_PCM_FORMAT_LAST+1] = {
@@ -1611,6 +1617,12 @@ static const char *const snd_pcm_format_descriptions[] = {
FORMATD(S18_3BE, "Signed 18 bit Big Endian in 3bytes"),
FORMATD(U18_3LE, "Unsigned 18 bit Little Endian in 3bytes"),
FORMATD(U18_3BE, "Unsigned 18 bit Big Endian in 3bytes"),
+ FORMATD(G723_24, "G.723 (ADPCM) 24 kbit/s, 8 samples in 3 bytes"),
+ FORMATD(G723_24_1B, "G.723 (ADPCM) 24 kbit/s, 1 sample in 1 byte"),
+ FORMATD(G723_40, "G.723 (ADPCM) 40 kbit/s, 8 samples in 3 bytes"),
+ FORMATD(G723_40_1B, "G.723 (ADPCM) 40 kbit/s, 1 sample in 1 byte"),
+ FORMATD(DSD_U8, "Direct Stream Digital, 1-byte (x8), oldest bit in MSB"),
+ FORMATD(DSD_U16_LE, "Direct Stream Digital, 2-byte (x16), little endian, oldest bits in MSB"),
};
static const char *const snd_pcm_type_names[] = {