Realtime audio processing within an AudioQueue

How can I processing on the AudioQueue callback AudioQueueOutputCallback for FFT .
Just like this func
Code Block
static void audioQueueOutpuCallBack(void *input, AudioQueueRef inQueue, AudioQueueBufferRef outQueueBuffer)
{   
SYAudioQueue *aq = (__bridge SYAudioQueue *)input;
  dispatch_semaphore_wait(aq->m_mutex, DISPATCH_TIME_FOREVER);
  [aq enterQueue:inQueue withBuffer:outQueueBuffer];
  dispatch_semaphore_signal(aq->m_mutex);
}

I know that AVAudioEngine can be processing for FFT under the AVAudioPCMBuffer .
or
How can I convert AudioQueueBufferRef to AVAudioPCMBuffer

Replies

reinterpret_cast<short*>(buffer->mAudioData);