[LAD] A question about audio file interfaces

Fons Adriaensen fons at linuxaudio.org
Sun Dec 1 16:49:33 UTC 2013

On Sun, Dec 01, 2013 at 09:08:37AM -0500, Paul Davis wrote:

> in ardour, the purpose of the disk i/o thread (the "butler") is
> primarily to organize buffering within user space based on observed (but
> very occasional) delays in I/O. it is not attempting to do better than the
> kernel in handling read-ahead and in fact for quite a lot of situations,
> ardour really does rely on the kernel's own buffering to do a good job.

But surely ardour does look ahead in the timeline, to open()/seek()/read()
a new file a few seconds before the data is actually required ? Or does
it keep all files open all the time ?

Suppose you have a timeline like ABCACDBABCCA where each char is a
very short region (maybe just a fraction of a second) and the actual
char refers to the file that region is read from. For example in 'CC'
near the end the first C could be a few seconds of music ending in
silence and the second C a repeat of 400 ms of the end of the first
(e.g to remove a cough or the sound of a score page being turned),
while both are just a few seconds away from the earlier occurences
of C. Would each of the regions be handled independent of any others ? 



A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)

More information about the Linux-audio-dev mailing list