From 886f0cc3c274643de464e646535afb4ceee1d816 Mon Sep 17 00:00:00 2001 From: Daniel Mack Date: Thu, 18 Apr 2013 10:37:50 +0200 Subject: [PATCH] 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 Signed-off-by: Takashi Iwai --- include/pcm.h | 14 +++++++++++++- src/pcm/pcm.c | 12 ++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/include/pcm.h b/include/pcm.h index d94ba90..e440030 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 2a87a7b..438fb3f 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[] = { -- 1.7.11.7