[alsa-devel] Rate or plug plugin issue with snd-pcsp
Alexander E. Patrakov
patrakov at gmail.com
Tue Jun 3 09:54:51 CEST 2014
Hello.
While testing application support for weird-rate cards (such as
snd-pcsp), I found a bug in alsa-lib. Alsa-plugins are installed, so the
"libspeex (builtin)" rate converter is used. This bug already exists in
alsa-plugins 1.0.27.2, so not a regression and thus should not block 1.0.28.
$ file test.wav
test.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit,
stereo 32000 Hz
$ aplay -vvv -D plughw:pcsp test.wav
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 32000 Hz, Stereo
aplay: set_params:1297: Unable to install hw params:
ACCESS: RW_INTERLEAVED
FORMAT: S16_LE
SUBFORMAT: STD
SAMPLE_BITS: 16
FRAME_BITS: 32
CHANNELS: 2
RATE: NONE
PERIOD_TIME: (125006 125007)
PERIOD_SIZE: NONE
PERIOD_BYTES: (16000 16004)
PERIODS: (3 4)
BUFFER_TIME: 500000
BUFFER_SIZE: 16000
BUFFER_BYTES: 64000
TICK_TIME: 0
The pcsp device supports the sample rate of 37286 Hz.
Files with 44100 Hz sample rate work fine.
$ aplay -vv -D plughw:pcsp -f cd /dev/zero
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 44100
Hz, Stereo
Plug PCM: Route conversion PCM (sformat=S16_LE)
Transformation table:
0 <- 0*0,5 + 1*0,5
Its setup is:
stream : PLAYBACK
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 44100
exact rate : 44100 (44100/1)
msbits : 16
buffer_size : 22050
period_size : 5512
period_time : 125006
tstamp_mode : NONE
period_step : 1
avail_min : 5512
period_event : 0
start_threshold : 22050
stop_threshold : 22050
silence_threshold: 0
silence_size : 0
boundary : 6206523236469964800
Slave: Rate conversion PCM (37286, sformat=S16_LE)
Converter: libspeex (builtin)
Protocol version: 10002
Its setup is:
stream : PLAYBACK
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 1
rate : 44100
exact rate : 44100 (44100/1)
msbits : 16
buffer_size : 22050
period_size : 5512
period_time : 125006
tstamp_mode : NONE
period_step : 1
avail_min : 5512
period_event : 0
start_threshold : 22050
stop_threshold : 22050
silence_threshold: 0
silence_size : 0
boundary : 6206523236469964800
Slave: Hardware PCM card 2 'pcsp' device 0 subdevice 0
Its setup is:
stream : PLAYBACK
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 1
rate : 37286
exact rate : 37286 (37286/1)
msbits : 16
buffer_size : 18644
period_size : 4661
period_time : 125006
tstamp_mode : NONE
period_step : 1
avail_min : 4661
period_event : 0
start_threshold : 18644
stop_threshold : 18644
silence_threshold: 0
silence_size : 0
boundary : 5247819465793470464
appl_ptr : 0
hw_ptr : 0
#+ | 00%^C
--
Alexander E. Patrakov
More information about the Alsa-devel
mailing list