Re: AudioConverterFillComplexBuffer for transcoding streamed audio [iMac OSX10.5.6]
Re: AudioConverterFillComplexBuffer for transcoding streamed audio [iMac OSX10.5.6]
- Subject: Re: AudioConverterFillComplexBuffer for transcoding streamed audio [iMac OSX10.5.6]
- From: Richard Dobson <email@hidden>
- Date: Thu, 10 Jun 2010 10:31:23 +0100
On 10/06/2010 09:51, Brian Willoughby wrote:
..ered. It is true
that one can never say WAVE has a fixed-size header - the best one can
say is that there is a minimum header size corresponding to the
RIFF<WAVE> fixed opening chunk header, minimum 16byte fmt chunk, the
data chunk and nothing else. It is really a variable-sized header,
which ~necessarily~ precedes the audio data itself. Some systems
insist on placing data after the audio data chunk, something which I
have always thought a very bad idea!
You are correct - my statement was a bit too brief to paint a full picture.
I will return the favor and say that your "nothing else" comment is also
incorrect. While fmt must precede data, there is still the opportunity
for any other kind of chunk to come between RIFF<WAVE> and fmt, and
again between fmt and data.
I know. I wrote ~specifically~ (see above) about what a "minimum" length
header would consist of. There is still plenty of old (mostly unix)
software out there (for a long time including Matlab) that knows about
nothing else. Even there a single size cannot be assumed - the minimum
length for 24bit and floats samples is now quite a bit longer than before.
Broadcast Wave (BMF) is a very good example
of this. You mention your opinion that placing chunks after the audio
data is bad, but that basically means the only thing left is to place
them before the audio data, where they must separate the RIFF, fmt, and
data chunks.
Which is exactly what they should do, to keep the thing streamable.
To keep this on topic, my intention was to determine whether Abhinav was
writing his own WAVE parser or using AudioFile. You'll note that I
recommended using AudioFile to remove most of the potential for errors
in parsing WAVE.
Or better still, use libsndfile!
Richard Dobson
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden