Я пытаюсь скопировать (очевидно) AudioBufferList в TPCircularBuffer с помощью TPCircularBufferCopyAudioBufferList
, Однако он возвращает EXC_BAD_ACCESS по непонятной причине. Я выделяю буфер
Распечатывает (AudioBuffer) [1] = (mNumberChannels = 1, mDataByteSize = 8192, mData = void * = 0x057ba060)
для AudioBufferList, созданного TPCircularBufferPrepareEmptyAudioBufferList
и в AudioBuffer описывается как (AudioBuffer [1]) mBuffers = {
, BytesToCopy был 8192, поэтому я не вижу причин, по которым он должен был потерпеть неудачу.
[0] = (mNumberChannels = 2, mDataByteSize = 8192, mData = void * = 0x057dc000)
}
Внешний код выглядит так:
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>
Задача ещё не решена.