[alsa-devel] Which project to choose?
superquad.vortex2 at gmail.com
Fri Jul 16 02:39:29 CEST 2010
2010/7/15 Jaroslav Kysela <perex at perex.cz>
> 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: alsa-util.c: appl_ptr : 735801008
> >>>> localhost pulseaudio: 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
> >>> 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.
Looking at the ens1371 specification , it seem to me that alsa-lib cannot
perform rewind too
I guess those 44101 rate is not really the best supported rate
4.2 Bus Master Cache Control (CCB)
This block control the transfer of data between the PCI memory and the
The Serial block signal when a cache fill/transfer is required in three
5.5 PCI Data transfer
Only brust read/write transfers are allowed. All data transfer are 8 Long
Word brust transfers
More information about the Alsa-devel