[alsa-devel] [Q] playing / recording mono on a stereo-only hardware
Guennadi Liakhovetski
g.liakhovetski at gmx.de
Fri Feb 5 11:14:44 CET 2010
On Fri, 5 Feb 2010, Raymond Yau wrote:
> 2010/2/5 Guennadi Liakhovetski <g.liakhovetski at gmx.de>
>
> > On Thu, 4 Feb 2010, Raymond Yau wrote:
> >
> > I would see your reply sooner, if you used reply-to-all.
> >
> > > if LIBASOUND_DEBUG = 1 cannot tell you which parameter fail in
> > hw_params() ,
> > > you will need to define RULES_DEBUG in alsa-kernel/core/pcm_native.c and
> > > compile driver with debug=verbose
> > >
> > > -#undef RULES_DEBUG
> > > +#define RULES DEBUG 1
> >
> > That's already on too. Not sure what you mean by "compile driver with
> > debug=verbose," supposedly, some kernel ALSA debug parameter. Since this
> > is my driver, I can certainly add any debugging there, but it seems
> > obvious to me, that the kernel is still getting a mono configuration,
> > which shouldn't be the cae.
> >
> > > you can find out how ALSA refine the hw parameters by examing the system
> > log
> >
> > If you mean "dmesg" output, then, as I said, there isn't much to look for
> > there - the kernel is configured for mono...
> >
> > Thanks
> > Guennadi
> >
>
>
> your output is quite different from mine
>
> arecord -v -f cd -c 1 -d 30 -r 8000 -Dplughw:1,0 any.wav
> Recording WAVE 'any.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono
> Plug PCM: Route conversion PCM (sformat=S16_LE)
> Transformation table:
> 0 <- 0*0.5 + 1*0.5
> Its setup is:
> stream : CAPTURE
> access : RW_INTERLEAVED
> format : S16_LE
> subformat : STD
> channels : 1
> rate : 8000
> exact rate : 8000 (8000/1)
> msbits : 16
> buffer_size : 3968
> period_size : 992
> period_time : 124000
> tstamp_mode : NONE
> period_step : 1
> avail_min : 992
> period_event : 0
> start_threshold : 1
> stop_threshold : 3968
> silence_threshold: 0
> silence_size : 0
> boundary : 2080374784
> Slave: Hardware PCM card 1 'HDA Intel' device 0 subdevice 0
> Its setup is:
> stream : CAPTURE
> access : MMAP_INTERLEAVED
> format : S16_LE
> subformat : STD
> channels : 2
Of course, in my case set_params() in aplay.c exit earlier as
snd_pcm_hw_params() returns an error - see
Unable to install hw params:
message in my log. Maybe you could try current alsa-lib and alsa-util
versions?
Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
More information about the Alsa-devel
mailing list