[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


Hi, 

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