Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ExtAudioFileRead: how to create AudioBufferList



On Nov 18, 2006, at 05:34 AM, maximilian marcoll wrote:

ExtAudioFileRead needs an AudioBufferList for storing data in.
but i just can't figure out how to create an appropiate buffer list.
i can't allocate memory for the mBuffers field of the buffer list,
because mBuffers actually is no pointer.
if i don't allocate, it doesn't work either
(of course it doesn't - there is no memory for ExtrAudioFile to write to.)

The idiom is a common one for allocating variable length arrays. This can be done easily with malloc() and other byte-oriented allocators like this:


mInputBuffer = (AudioBufferList*)malloc(sizeof(AudioBufferList) + (numBuffers-1) * sizeof(AudioBuffer));

where numBuffers is the number of buffers you want in your AudioBufferList. We subtract 1 since it already has 1 allocated. Remember that C (and other C-like languages) don't range check arrays, so you can just index to your hearts content, which is what this relies on.
--
Reality is what, when you stop believing in it, doesn't go away.
Failure is not an option. It is a privilege reserved for those who try.


David Duncan

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/coreaudio-api/email@hidden

This email sent to email@hidden
References: 
 >ExtAudioFileRead: how to create AudioBufferList (From: maximilian marcoll <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.