On Sun, 4 Mar 2007 01:35:28 +0200 "Maen Suleiman" <maen.suleiman@xxxxxxxxx> wrote: > Hi , > > My hardware uses a 20bit PCM format packed in 32bit, , I am using a > 2.6.12 kernel and such a format doesn't exist, is the following enough > for defining this format: > > 1) defning a new value in 'enum sndrv_pcm_format' > 2) adding new entry to pcm_formats[SNDRV_PCM_FORMAT_LAST+1] array > that describes the new format . > > [SNDRV_PCM_FORMAT_S20_NEW_LE] = { > .width = 20, .phys = 32, .le = 1, .signd = 1, > .silence = {}, > }, I suggest SND_PCM_FORMAT_S20_LE (ie. 20 bits signed data right-aligned in 32 bits frame). I never had a serious look at that code, but you at least also have to add a lot of conversion functions to/from S20_LE in alsa-lib/src/pcm/plugin_ops.h (look for #ifdef CONV_LABELS) which are used by alsa-lib/src/pcm/pcm_linear.c:snd_pcm_linear_convert() and by many other plugins. -- Giuliano. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-devel