I have discovered something else: I am display the current buffer pointer (capture pointer and buffer pointer), when choppy audio occurs the playback pointer is printed as a given value and, after, the capture pointer has the same value. For example, a normal situation would be:
Playback pointer: 3000 Capture pointer: 1000 Playback pointer: 4000 Capture pointer: 2000 Playback pointer: 0000 Capture pointer: 3000
A choppy audio situation would be:
Playback pointer: 3000 Capture pointer: 3000 Playback pointer: 4000 Capture pointer: 4000 Playback pointer: 0000 Capture pointer: 0000
The following situation is NOT choppy:
Capture pointer: 3000 Playback pointer: 3000 Capture pointer: 4000 Playback pointer: 4000 Capture pointer: 0000 Playback pointer: 0000
Thanks any reply.
Gustavo da Silva Serra escreveu:
I am tracing aloop execution and the choppy audio happens when an application (capture or playback) opens the device while another one is capturing or playing. It seems to me, I may be completely wrong, that the problem could be a synchronization issue (a critical region with no mutexes, for instance). I analysed the sound wave with Audacity while in choppy audio condition and I realized that there are silent gaps, miliseconds with no sound at all (as if some buffer pointer was lost, for example).
I haven't received any answer from you =( What do you think that is happening?
Thanks in advance.
Gustavo da Silva Serra escreveu:
I have been trying for many weeks to solve this problem, but with no success. After updating to Alsa 1.0.17, which include changes to aloop, I still have choppy audio. I will try to summarize what happens:
- I need to use aloop, if I change to a sound card all the problems are
gone;
- After some time of continuous play, applications start to reproduce
choppy audio. Choppy audio doesn't happens all the time;
- If I repeatedly start and stop my sound capture application choppy
audio occur sooner;
- Start/stop my application restores the sound quality (after some tryies);
- This happens with ALSA applications (xine, vlc) and OSS emulated;
- I have tryied many period_size and buffer_size in asound.conf, now I
am using 960 for period and 3840 for buffer. As I decrease period size, the audio quality improves, but choppy audio still happens;
- I test for overrun but no errors occur.
- I am using block mode, interleaved, 44100, 16 bit, 2 channels
- I am using dmix, dsnoop, removing them does not correct the audio
These are some of the information I have, I don't know if is is enough. If necessary I can provide any other information. What do you suggest that I do? Are there any known issues or configuration requirements?
Thanks in advance. _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
__________ NOD32 3191 (20080616) Information __________
This message was checked by NOD32 antivirus system. http://www.eset.com