[alsa-devel] --separate-channels issues
Takashi,
When I run following commands with 2 pins inputs.
$ arecord -f S16_LE -r 48000 -c 4 -D plughw:0,1 --separate-channels c1.wav c2.wav c3.wav c4.wav
hd c3.wav and c4.wav returns 0 but c1.wav and c2.wav got right data. Such as $ hd c3.wav 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 005ad000
Also, I see trigger Rx start command and then stop command immediately.
Any hint to look into?
Thanks.
---henry
At Tue, 10 May 2011 09:34:40 -0700 (PDT), hong zhang wrote:
Takashi,
When I run following commands with 2 pins inputs.
$ arecord -f S16_LE -r 48000 -c 4 -D plughw:0,1 --separate-channels c1.wav c2.wav c3.wav c4.wav
hd c3.wav and c4.wav returns 0 but c1.wav and c2.wav got right data. Such as $ hd c3.wav 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
005ad000
Use hw:0,1 instead of plughw:0,1. If the hardware really supports the multi-channels, it should work in that way. I guess you didn't notice that the input is 2 channels because plughw covers it.
Also, I see trigger Rx start command and then stop command immediately.
This sounds like a driver issue.
Takashi
Takashi,
If use hw:0,1, no "-c 4" is allowed. That is why I use plughw see following:
arecord -f S16_LE -r 48000 -c 4 -D hw:0,1 --separate-channels c1.wav c2.wav c3.wav c4.wav
Recording raw data 'c1.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Channels 4 arecord: set_params:1048: Access type not available
hw:0,1 works with no "-c" option only. I even try it on my laptop.
---henry
--- On Tue, 5/10/11, Takashi Iwai tiwai@suse.de wrote:
From: Takashi Iwai tiwai@suse.de Subject: Re: [alsa-devel] --separate-channels issues To: "hong zhang" henryzhang62@yahoo.com Cc: alsa-devel@alsa-project.org Date: Tuesday, May 10, 2011, 11:40 AM At Tue, 10 May 2011 09:34:40 -0700 (PDT), hong zhang wrote:
Takashi,
When I run following commands with 2 pins inputs.
$ arecord -f S16_LE -r 48000 -c 4 -D plughw:0,1
--separate-channels c1.wav c2.wav c3.wav c4.wav
hd c3.wav and c4.wav returns 0 but c1.wav and c2.wav
got right data.
Such as $ hd c3.wav 00000000 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 |................|
005ad000
Use hw:0,1 instead of plughw:0,1. If the hardware really supports the multi-channels, it should work in that way. I guess you didn't notice that the input is 2 channels because plughw covers it.
Also, I see trigger Rx start command and then stop
command immediately.
This sounds like a driver issue.
Takashi
At Tue, 10 May 2011 11:21:19 -0700 (PDT), hong zhang wrote:
Takashi,
If use hw:0,1, no "-c 4" is allowed. That is why I use plughw see following:
arecord -f S16_LE -r 48000 -c 4 -D hw:0,1 --separate-channels c1.wav c2.wav c3.wav c4.wav
Recording raw data 'c1.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Channels 4 arecord: set_params:1048: Access type not available
Ah, this is about non-interleaved mode. Can you record the normal 4-channel WAV file without --separate-channels option at all, and does it contain the correct signals for all channels?
If you can record 4-channels interleaved format properly but the conversion via plughw doesn't give all channels, it's a bug in plug layer. Otherwise, it's a driver issue.
Takashi
participants (2)
-
hong zhang
-
Takashi Iwai