Messages in this thread | | | Date | Tue, 01 Feb 2000 21:29:10 -0800 | From | "Jeffrey B. Siegal" <> | Subject | Re: linux-kernel-digest V1 #135 |
| |
> 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/
| |