I am working on one project in which I used AudioUnitRender, it works fine in the simulator, but gives a -50 error on the device.
If someone has encountered a similar problem, please give me some solution.
RIOInterface* THIS = (RIOInterface *)inRefCon; COMPLEX_SPLIT A = THIS->A; void *dataBuffer = THIS->dataBuffer; float *outputBuffer = THIS->outputBuffer; FFTSetup fftSetup = THIS->fftSetup; uint32_t log2n = THIS->log2n; uint32_t n = THIS->n; uint32_t nOver2 = THIS->nOver2; uint32_t stride = 1; int bufferCapacity = THIS->bufferCapacity; SInt16 index = THIS->index; AudioUnit rioUnit = THIS->ioUnit; OSStatus renderErr; UInt32 bus1 = 1; renderErr = AudioUnitRender(rioUnit, ioActionFlags, inTimeStamp, bus1, inNumberFrames, THIS->bufferList); NSLog(@"%d",renderErr); if (renderErr < 0) { return renderErr; }
size and frame data ...
bytesPerSample = sizeof(SInt16); asbd.mFormatID = kAudioFormatLinearPCM; asbd.mFormatFlags = kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked; asbd.mBitsPerChannel = 8 * bytesPerSample; asbd.mFramesPerPacket = 1; asbd.mChannelsPerFrame = 1;
thanks in advance.
source share