Here's a patch which adds support for S24_3LE and byte-swapped S16 and
S32 to softvol. I've tested S24_3LE and byte-swapped S16 on powerpc
with snd-usb-audio. All other cases are untested so far.
(Config at http://blog.blackdown.de/static/alsa/USB-Audio.conf)
Signed-off-by: Juergen Kreileder <jk@blackdown.de>
Fixed the bug producing silent tones with some combinations of plugins.
The internal buffer handling is now better (cleaner) integrated with
snd_pcm_generic_*().
- added link/unlink/link_fd fast_ops callbacks
- moved code from snd_pcm_link to pcm_hw.c
- moved "empty" routines pointing to slave to pcm_generic.c
- introduced snd_pcm_generic_t
The softvol PCM plugin is added. It applies the software volume attenuation,
which may be useful for codecs without volume controls.
Currently, the control is only mono. The attenuation is applied to all
channels equally. The control is probed and automatically created
when not exists yet.