At Fri, 26 Oct 2007 19:18:42 +0600, Alexander E. Patrakov wrote: > > Hello, > > I am writing an application that uses ALSA, and I don't want to write > code to support all possible sample formats. On IRC, I asked whether it > is OK to support only S24 format internally and rely on the "plug" to do > the required conversion. I got a positive answer, but, when testing my > application against my SAA7134-based tuner as a capture device, found > that it doesn't work. > > The problem is also reproducible with "arecord". Given that plughw:1 > refers to a SAA7134-based tuner (which obviously doesn't support S24_LE > natively), running the following command > > arecord -vvv -f S24_LE -c 2 -r 32000 -D plughw:1 /dev/null > > produces the following output: > > ALSA lib pcm_mmap.c:369:(snd_pcm_mmap) mmap failed: Invalid argument > arecord: set_params:961: Unable to install hw params: > ACCESS: RW_INTERLEAVED > FORMAT: S24_LE > SUBFORMAT: STD > SAMPLE_BITS: 32 > FRAME_BITS: 64 > CHANNELS: 2 > RATE: 32000 > PERIOD_TIME: 125000 > PERIOD_SIZE: 4000 > PERIOD_BYTES: 32000 > PERIODS: 4 > BUFFER_TIME: 500000 > BUFFER_SIZE: 16000 > BUFFER_BYTES: 128000 > TICK_TIME: 4000 Well, apparently something wrong with mmap, then. Does the device really support 24bit format? S24_LE isn't 3bytes format but packed into the lower 3 bytes in 4 byte frames. Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel