This is a follow-on to the topic started in e-mail 62e4a031-f175-70bc-099f-441fa0623a9f@gmail.com on the alsa-users reflector; I also posted this e-mail on that reflector, but I suspect that there are more people here who would immediately understand the behaviour described below, and can point me to the right documentation.
--------
I have a machine on which the following works for reading audio: device: default [which is actually hw:0,0,0] rate: 44100 [which is all that the raw device supports]
And the following does not work: device: plug:default rate: 8000
Everything else is identical in the two scenarios.
So I am trying to find detailed documentation about the "plug" plugin, to see why it doesn't seem to do what the minimal description I've been able to find suggests. That is, from what little I've been able to find, it seemed like the second scenario should work if the first one does: behind the scenes it would take the 44100 output from the default device and downsample to 8000, and make that available to the snd_pcm_readX() functions. But that is not what's happening, since the second scenario fails: snd_pcm_readX() blocks (even in non-blocking mode).
Somewhere there has to be a detailed, technical description of precisely what the plug plugin does; can someone please provide a suggestion where to look?
Doc