On Wednesday 16 February 2011, at 00.33.49, Jens M Andreasen
<jens.andreasen@email-addr-hidden> wrote:
[...]
> The same effect can be observed with 64 frames and 16 appears to be the
> optimal value in the loop.
[...]
To quick to post there!
This could mean that you simply have too little buffering between input and
output. Does your application actually define that? (With read()/write() APIs,
you usually have to do this by "pre-buffering" on the output before entering
the actual processing loop.)
The reason why it works better with 16 frames is probably that the driver
starts by waiting for your write()s to fill upp the output buffer, thus adding
one DMA buffer's worth of extra buffering between the input and output.
-- //David Olofson - Consultant, Developer, Artist, Open Source Advocate .--- Games, examples, libraries, scripting, sound, music, graphics ---. | http://consulting.olofson.net http://olofsonarcade.com | '---------------------------------------------------------------------' _______________________________________________ Linux-audio-dev mailing list Linux-audio-dev@email-addr-hidden http://lists.linuxaudio.org/listinfo/linux-audio-devReceived on Wed Feb 16 04:15:03 2011
This archive was generated by hypermail 2.1.8 : Wed Feb 16 2011 - 04:15:03 EET