Re: linux-kernel-digest V1 #135

From: Jeffrey B. Siegal (jbs@quiotix.com)
Date: Wed Feb 02 2000 - 00:29:10 EST


> i face a problem or two. a 4GB file size limit means that i could
> never fit more than about 7-3/4 minutes of audio into any one
> file. thats bad, very bad.

As others have suggested, build a library which turns multiple physical files
into one logical file. Or maybe this exists on the net somewhere.

> this works fine for recording, but playback is *hard* to do if we want
> low latency operation (where low latency means queing less than, oh,
> 20ms worth of data in the h/w buffer). why is it hard ? because seek
> times on modern disks are at least 4.5ms, and when we have to seek
> across 24+ files, which happens from time to time as the buffer cache
> does it stuff, we lose bigtime.

You might consider RAID, or even having your application separate the tracks
onto multiple drives; you're pushing against what a single drive is capable
of. Also, buffer much more than 20ms worth of data in your application before
sending 20ms of it to the hardware buffer. This isolates streaming playback
from variable disk access latencies. You might also consider lossless
compression. State of the art lossless audio compression can achieve about
4:1 ratio on CD quality source material, and probably somewhat better on your
input. This doesn't help with disk latency, but it helps you buffer more
audio more quickly, although you might have a problem with the compute power
required to compress/uncompress 24 tracks of audio.

> one option is to pray for a large file size limit, and then interleave
> the data. last thing i knew, this was still an unincorporated kernel

Interleaving the data doesn't guarantee anything about how much seeking is
required, although data is more likely to be close together due to layout
algorithms. You might actually consider using a raw paritition so you can
control layout better.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Feb 07 2000 - 21:00:07 EST