[flac-dev] 2GB limit patch

Erik de Castro Lopo mle+la at mega-nerd.com
Wed Mar 6 00:55:00 PST 2013


Brian Willoughby wrote:

> I do not see the need to jump to 64-bit merely to get beyond the 2 GB  
> limit. There are modern API that handle 32-bit unsigned file lengths  
> - i.e., up to 4 GB - without going to 64-bit.

When we are talking about offset_t we are talking about the flac C and
C++ API. Currently if we have a flac file with more than 2Gig samples
it is not possible to seek past the 2 Gig sample point on platforms
where offset_t is 32 bit. To fix this we need to guarantee that the
offset parameter is 64 bits on all platforms.

Correctly converting WAV files larger than 2 (or 4) Gig is a separate
issue.

> Besides, RF64 is the proper format for files that exceed 4 GB, while  
> standard RIFF/WAVE should allow reading of files up to 4 GB.

When talking about the WAV 2/4 Gig problem we are talking about
mal-formed WAV files that are greater than 4 Gig in size. There
is a flac command line option (--ignore-chunk-sizes) that treats
everything after the start of the audio data as audio data even
if the file is over 4Gig in size.

> For maximum compatibility, writing WAV files over 2 GB should be  
> avoided whenever possible, since so many tools used signed 32-bit  
> file sizes.

I agree completely. Unfortunately there is a lot of broken software
out there.

Erik
-- 
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/


More information about the flac-dev mailing list