Hi,
-----Original Message----- From: stan [mailto:ghjeold_i_mwee@cox.net] Sent: Wednesday, July 23, 2008 11:26 AM To: Mitul Sen (misen) Cc: alsa-devel@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