ExtAudioFileRead fails on big files

Originator:rentzsch
Number:rdar://6376115 Date Originated:
Status:open Resolved:
Product: Product Version:
Classification: Reproducible:
 
##Summary:

AudioToolbox's ExtAudioFileRead() appears to fail on audio files that are larger than 2^31 in size.

##Steps to Reproduce:

1. Download http://s3.amazonaws.com/rentzsch/ExtAudioFileRead_bug.zip (3.1 GB).

2. Double-click the `convert correct 13h31m file.command` file. It will use the included `AudioConverter` binary (source included) to convert the included `accelerando-13h31m.aif` file to an AAC-formatted file named `accelerando-13h31m.m4a`.

3. Double-click the `convert broken 13h32m file.command` file. It performs the same operation, but with the ~1-minute-longer/1.65 MB-larger `accelerando-13h32m.aif` file.

##Expected Results:

Two correctly-converted audio .m4a files are created: `accelerando-13h31m.m4a` and `accelerando-13h32m.m4a`.

##Actual Results:

* `accelerando-13h31m.m4a` is correctly generated.
* `accelerando-13h32m.m4a` is malformed.

The broken input file's size crosses the 2^31 file-size barrier, and ExtAudioFileRead() seems to fail in that scenario.

By "malformed", I mean that the Finder can't preview it and launching QuickTime Pro with it causes it to report "The movie could not be opened. The movie contains an incorrect duration." iTunes is able to struggle with it somewhat -- you lose scrubbing, but it does play.

##Regression:
Tried on Mac OS X 10.5.5, MacBook Pro 17" 2.5 GHz 4GB/280GB.

##Notes:

You can generate the original ~16-hour long audio file by double-clicking the included `say accelerando.command`. Through trial and error I cropped this file down to the 13h31-32m files I've included in the bug file.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!