[alsa-devel] Setting format to SND_PCM_FORMAT_MU_LAW does not let me apply hardware parameters
Mitul Sen (misen)
misen at cisco.com
Wed Jul 23 23:31:11 CEST 2008
> -----Original Message-----
> From: stan [mailto:ghjeold_i_mwee at cox.net]
> Sent: Wednesday, July 23, 2008 11:26 AM
> To: Mitul Sen (misen)
> Cc: alsa-devel at alsa-project.org
> Subject: Re: [alsa-devel] Setting format to
> SND_PCM_FORMAT_MU_LAW does not let me apply hardware parameters
> Mitul Sen (misen) wrote:
> > Hi,
> > I have tried using gdb both from the command line as you
> suggested and
> > also from within eclipse. Even though I can step through
> the code and
> > break properly, I think there is some mismatch between the
> source code
> > and object code used by gdb. I say that because it sometimes steps
> > through code in a way that makes no sense. For example, I
> see that a
> > particular 'if' condition is satified and it goes into the
> 'if' clause
> > and then again goes into the 'else' clause that is not expected. Is
> > there any module that needs to be reloaded after building and
> > installing the shared library? I have done a clean make at
> all times,
> > checked timestamps, even rebooted the machine in case some driver
> > related data needs to be reloaded at startup but none of
> this has helped.
> I suspect you are debugging optimized code. The optimizer
> rearranges and deletes instructions. Did you specify -O0 so
> that no optimization occurs? The other gotcha in the
> alsa-lib code is that some of the functions are actually
> macros. They cannot be stepped through. When you hit them
> in the debugger it is disconcerting.
I did specify -O0 to disable optimizations.
> > Another thing that I notice is that when I use aplay to
> play the rtp
> > data that I save to file (before writing to the sound device), and
> > check the output of /proc/asound/card0/pcm0p/sub0/hw_params
> file, it
> > is exactly the same as when I run my application. Using
> aplay does the
> > playback properly even though hw_params still shows as
> > access: MMAP_INTERLEAVED
> > format: S16_LE
> > subformat: STD
> > channels: 2
> > rate: 48000 (48000/1)
> It is decoding it before it is playing it, it must be calling
> a routine somewhere to do that, or else it is built in.
> > Please note that I can play back the file using aplay, I
> only have the
> > problem of bad audio when I try to write to the sound device in
> > real-time. With this observation though I am not sure if
> the fact that
> > the library seems to not use the card's decoder is really
> the problem.
> > I am trying to look into the source code of aplay to see if
> I can spot
> > any difference in the way the data is written to the buffer.
> Good not to limit the possibilities you are examining.
> > Meanwhile, any comments and help will be greatly
> appreciated as usual.
> > Thanks for your help.
> > Regards,
> > Mitul
More information about the Alsa-devel