[alsa-devel] Sample format coversion bug?
Alexander E. Patrakov
patrakov at ums.usu.ru
Mon Oct 29 16:04:15 CET 2007
Takashi Iwai wrote:
> Does your driver support mmap?
>
It looks like the hardware doesn't accept the default parameters:
patrakov at home:~$ arecord -M -f S16_LE -c 2 -r 32000 -D hw:1 /dev/null
Recording WAVE '/dev/null' : Signed 16 bit Little Endian, Rate 32000 Hz,
Stereo
ALSA lib pcm_mmap.c:369:(snd_pcm_mmap) mmap failed: Invalid argument
arecord: set_params:961: Unable to install hw params:
ACCESS: MMAP_INTERLEAVED
FORMAT: S16_LE
SUBFORMAT: STD
SAMPLE_BITS: 16
FRAME_BITS: 32
CHANNELS: 2
RATE: 32000
PERIOD_TIME: 125000
PERIOD_SIZE: 4000
PERIOD_BYTES: 16000
PERIODS: 4
BUFFER_TIME: 500000
BUFFER_SIZE: 16000
BUFFER_BYTES: 64000
TICK_TIME: 4000
Even though mmap seems to be supported in the driver source (judging
from .info = SNDRV_PCM_INFO_MMAP | other flags), I could not figure out
the parameters that work. Moreover, the driver seems to accept the same
hardware parameters without the mmap, and I could not find parameters
that the driver accepts for mmap.
Also: I have retested my original problem with the virtual ens1370 card
emulated by qemu. The original testcase does work, so the problem seems
to be specific to saa7134, due to non-working mmap access. Could you
please help me transform my observations into something that the v4l
development list will accept as a good bug report?
One more question: since plug doesn't work at all on devices without
mmap available, does this mean that I should scrap my original idea
about using plug to convert everything into S24?
--
Alexander E. Patrakov
More information about the Alsa-devel
mailing list