[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