[alsa-devel] Sample rates above 192000

Mike Looijmans mike.looijmans at topic.nl
Wed Apr 17 10:21:20 CEST 2013

I'm trying to use "my" hardware at a 204800 sample rate. I've changed 
the DAI and codec limits to match. If I limit them to anything below 
192kHz, everything behaves as expected and I can record at up to that 
rate, also if that rate is not a multiple of 48k or 44k1 (using 
"SNDRV_PCM_RATE_KNOT" constant).

When I specifiy anything over 192000, I bump onto some ceiling, and I 
cannot figure out what's causing it. I patched alsa-utils to allow 
 >192000 already (there is a silly check on that in aplay.c which bails 
out early without asking the driver).

# arecord -D hw:ADC8 --duration=5 -f S32_LE -c 2 -r 204800 
Recording WAVE '/tmp/recording.wav' : Signed 32 bit Little Endian, Rate 
204800 Hz, Stereo
Warning: rate is not accurate (requested = 204800Hz, got = 192000Hz)
          please, try the plug plugin
# arecord -D hw:ADC8 --duration=5 -f S32_LE -c 2 -r 192000 
Recording WAVE '/tmp/recording.wav' : Signed 32 bit Little Endian, Rate 
192000 Hz, Stereo

I also tried a "grep" on the kernel (i'm still on 2.3.7 though) source 
files on "192000" but found nothing that would limit the sample rate to 
that. I'm running out of ideas. How can I break this limit? Or where in 
the kernel can I find the part that calculates the max rate?


More information about the Alsa-devel mailing list