memcpy返回EXC_BAD_ACCESS

时间:2014-07-15 04:51:11

标签: c++ ios c audio core-audio

我试图使用TPCircularBufferCopyAudioBufferList(显然)将AudioBufferList复制到TPCircularBuffer中。然而,它似乎没有理由返回EXC_BAD_ACCESS。我分配缓冲区

它打印(AudioBuffer) [1] = (mNumberChannels = 1, mDataByteSize = 8192, mData = void * = 0x057ba060)TPCircularBufferPrepareEmptyAudioBufferList创建的AudioBufferList,而AudioBuffer被描述为(AudioBuffer [1]) mBuffers = { [0] = (mNumberChannels = 2, mDataByteSize = 8192, mData = void * = 0x057dc000) }。 bytesToCopy是8192,所以我认为它没有理由失败。

外部代码如下所示:

TPCircularBufferCopyAudioBufferList(_circularBuffer, bufferList, NULL, kTPCircularBufferCopyAll, &_inputASBD);//Uses bufferList from EZAudioFile

我检查了_circularBuffer并且ABSD没有区别,因为它正在复制所有帧。

更新: 我注意到打印mData的日志会返回一个TDLogger实例?但是audioBufferList直接从EZAudioFile传递

Printing description of inBufferList->mBuffers[0].mData:
<TDLogger: 0x5834000>

0 个答案:

没有答案