[alsa-devel] Setting format to SND_PCM_FORMAT_MU_LAW does not let me apply hardware parameters

stan ghjeold_i_mwee at cox.net
Wed Jul 23 20:25:54 CEST 2008

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 
> 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
> 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 mailing list