[alsa-devel] dmix and sounds less than 64kb

Aaron "Caustik" Robinson caustik at gmail.com
Thu Jul 19 21:59:32 CEST 2007


We have found that the problem exists because, at certain points in time,
the hardware pointer and application pointer overlap. Basically the hardware
is reading from the period buffer which is currently being written to. How
might this be platform specific? Is there any debugging technique you think
may help find the root cause?

On 7/10/07, Jaroslav Kysela <perex at suse.cz> wrote:
>
> On Tue, 10 Jul 2007, Aaron "Caustik" Robinson wrote:
>
> > This is on an embedded ARM device, with a custom driver. That's
> > interesting. I never thought about the cache angle. Is there any sort of
> > hack I can put to check if that is the problem?
>
> The cache flush method is quite CPU specific, you have to check datasheet.
> But it's only guess and the problem might be somewhere else. I would
> compare samples DMA ring buffer in the user space and kernel space again.
> Also, put a debug lines to dmix plugin to detect where are samples written
> (to which pointer/area in the DMA ring buffer). dmix assumes that playback
> is running forever and tries to mix data in actual ring buffer position.
>
>                                                 Jaroslav
>
> -----
> Jaroslav Kysela <perex at suse.cz>
> Linux Kernel Sound Maintainer
> ALSA Project, SUSE Labs
>


More information about the Alsa-devel mailing list