[alsa-devel] Which project to choose?

Jaroslav Kysela perex at perex.cz
Thu Jul 15 00:13:20 CEST 2010


On Wed, 14 Jul 2010, David Henningsson wrote:

> 2010-07-14 17:25, Jaroslav Kysela skrev:
>> On Wed, 14 Jul 2010, David Henningsson wrote:
>>
>>> 2010-07-14 13:13, Raymond Yau skrev:
>>>
>>>> localhost pulseaudio[24553]: alsa-util.c:   appl_ptr     : 735801008
>>>> localhost pulseaudio[24553]: alsa-util.c:   hw_ptr       : 735846184
>>>>
>>>> This is underrun as you can see appl_ptr is behing hw_ptr
>>>
>>> Ehm, isn't that a ring buffer? I e, there is nothing wrong with appl_ptr
>>> being less than hw_ptr.
>>
>> For playback, if appl_ptr is less than hw_ptr, it's underrun situation
>> (application didn't feed samples in time to the driver's ring buffer).
>>
>> Note that pointers in ALSA are in range 0..boundary not
>> 0..ring_buffer_size (boundary is near LONG_MAX value) - it's design to
>> detect such situations (underrun, overrun).
>
> Okay, thanks for the clarification. But LONG_MAX (as in 2^31) would
> still wrap around every thirteen hours (at 44100 Hz), so are we having
> bugs, such as e g failure to detect underruns, at those occasions?

>From values above, it looks like a standard underrun (samples didn't 
arrive in time to the ring buffer). Just check the real system time 
between I/O operations and you'll see if it's issue in the ALSA driver or 
a task scheduling problem.

 					Jaroslav

-----
Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.



More information about the Alsa-devel mailing list