Subject: [ecasound] largefile update
From: Kai Vehmanen (k_AT_eca.cx)
Date: Fri Nov 30 2001 - 01:00:35 EET
I just committed a relatively large set of changes to ecasound's CVS-tree.
The biggest change is addition of '--with-largefile' configure option,
which enables support for accessing large files (>2GB).
In addition to the '--with-largefile', I've also changed quite a few type
definitions related to audio object position and length representation. On
platforms supporting the new C99 standard, or if compiled against glibc, a
signed 64bit value (long long int) is used for representing position in
This means that ecasound can handle audio objects with over 58096321723
hours of audio (44100Hz sample rate). Compared to the 13 hours with
signed 32bit sample representation, this is quite an improvement. :)
But of course, in practise other limitations are more restricting.
Currently known issues:
- .raw + .cdr files
- VFS/filesystem layer max filesize (with Linux 2.4.x and ext2/
reiser/xfs/jfs this is 2048GB (!))
- the wav header contains an 32bit unsigned field
storing audio object length (=> 4GB bytes filesize limit)
- otherwise as .raw
- note! ecasound can write (and read) even more data to .wav
files but the resulting .wav files are not standard
- same as .wav
- depends on the installed libaudiofile
- no known problems, but not tested
- and really, 2GB upper limit shouldn't be a problem here :)
- current position will roll over at 2^31 samples but
doesn't affect actual operation
- if alsa-lib and alsa-driver can handled it, should work
without problems even if number of samples processed
I've also updated ecawave and ecamegapedal CVS-tree. Ecawave can load >2GB
files, but as it uses 32bit long ints in quite a few places, it's not
fully 2GB safe yet.
-- http://www.eca.cx Audio software for Linux!
-- To unsubscribe send message 'unsubscribe' in the body of the message to <ecasound-list-request_AT_wakkanet.fi>.
This archive was generated by hypermail 2b28 : Fri Nov 30 2001 - 00:53:41 EET