ios - iPhone: AudioBufferList init and release -


what correct ways of initializing (allocating memory) , releasing (freeing) audiobufferlist 3 audiobuffers? (i'm aware there might more 1 ways of doing this.)

i'd use 3 buffers read sequential parts of audio file them , play them using audio units.

here how it:

audiobufferlist * allocateabl(uint32 channelsperframe, uint32 bytesperframe, bool interleaved, uint32 capacityframes) {     audiobufferlist *bufferlist = null;      uint32 numbuffers = interleaved ? 1 : channelsperframe;     uint32 channelsperbuffer = interleaved ? channelsperframe : 1;      bufferlist = static_cast<audiobufferlist *>(calloc(1, offsetof(audiobufferlist, mbuffers) + (sizeof(audiobuffer) * numbuffers)));      bufferlist->mnumberbuffers = numbuffers;      for(uint32 bufferindex = 0; bufferindex < bufferlist->mnumberbuffers; ++bufferindex) {         bufferlist->mbuffers[bufferindex].mdata = static_cast<void *>(calloc(capacityframes, bytesperframe));         bufferlist->mbuffers[bufferindex].mdatabytesize = capacityframes * bytesperframe;         bufferlist->mbuffers[bufferindex].mnumberchannels = channelsperbuffer;     }      return bufferlist; } 

Comments

Popular posts from this blog

unicode - Are email addresses allowed to contain non-alphanumeric characters? -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -

c++ - Convert big endian to little endian when reading from a binary file -