[alsa-devel] [Q] playing / recording mono on a stereo-only hardware

Raymond Yau superquad.vortex2 at gmail.com
Thu Feb 4 01:12:38 CET 2010


2010/2/4 Guennadi Liakhovetski <g.liakhovetski at gmx.de>

> On Wed, 3 Feb 2010, Raymond Yau wrote:
>
> > 2010/2/3 Guennadi Liakhovetski <g.liakhovetski at gmx.de>
> >
> > > On Tue, 2 Feb 2010, Michael Trimarchi wrote:
> > >
> > > > I have tested it on the no-bluetooth interface. What is your testing
> > > > application and the reporting error?
> > >
> > > Using aplayer / arecord, I posted a couple of logs in other threads,
> see,
> > > e.g., http://thread.gmane.org/gmane.linux.alsa.user/33861 and a log
> with
> > > some debugging http://pastebin.ca/1773284
> > >
> > > Thanks
> > > Guennadi
> > >
> >
> >  Try
> >
> > export LIBASOUND_DEBUG=1
> > arecord -v -Dplughw:0,0 -c 1 -f S16_LE -r 800 -d 30  any.wav
>
> No success either (with 8000Hz instead of 800):
>
> Recording WAVE '/tmp/any.wav' : Signed 16 bit Little Endian, Rate 8000 Hz,
> Mono
> CHOOSE called:
> ACCESS:  RW_INTERLEAVED
> FORMAT:  S16_LE
> SUBFORMAT:  STD
> SAMPLE_BITS: 16
> FRAME_BITS: 16
> CHANNELS: 1
> RATE: 8000
> PERIOD_TIME: 125000
> PERIOD_SIZE: 1000
> PERIOD_BYTES: 2000
> PERIODS: 4
> BUFFER_TIME: 500000
> BUFFER_SIZE: 4000
> BUFFER_BYTES: 8000
> TICK_TIME: ALL
> choose done
> ACCESS:  RW_INTERLEAVED
> FORMAT:  S16_LE
> SUBFORMAT:  STD
> SAMPLE_BITS: 16
> FRAME_BITS: 16
> CHANNELS: 1
> RATE: 8000
> PERIOD_TIME: 125000
> PERIOD_SIZE: 1000
> PERIOD_BYTES: 2000
> PERIODS: 4
> BUFFER_TIME: 500000
> BUFFER_SIZE: 4000
> BUFFER_BYTES: 8000
> TICK_TIME: 0
> arecord: set_params:1053: Unable to install hw params:
> ACCESS:  RW_INTERLEAVED
> FORMAT:  S16_LE
> SUBFORMAT:  STD
> SAMPLE_BITS: 16
> FRAME_BITS: 16
> CHANNELS: 1
> RATE: 8000
> PERIOD_TIME: 125000
> PERIOD_SIZE: 1000
> PERIOD_BYTES: 2000
> PERIODS: 4
> BUFFER_TIME: 500000
> BUFFER_SIZE: 4000
> BUFFER_BYTES: 8000
> TICK_TIME: 0
>
> Thanks
> Guennadi
> ---
>
>
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

you can find out how ALSA refine the hw parameters by examing the system log


More information about the Alsa-devel mailing list