18 Nov
2010
18 Nov
'10
5:59 p.m.
Is there anu way to tell what is the last position in the buffer filled by ALSA during the trigger stop callback? The hardware I have is playing sound but if I turn the DMA off when trigger_stop is executed I will not hear the end of the file at all. It seems to me that I would have to setup the hardware to stop playing at the specific address. On the other hand if I play longer sounds or a song I notice that the song is skipping a lot and 1 minute sample is over in 20 seconds so it seems to me that the buffer is overflowing. the pointer callback reads correctly the current DMA position from the hardware so I am confused how the overflow happens. Is there any other way ALSA tracks the position where to write the data? cheers