AudioQueueDispose delay
I successfully immediately stop my audio playback by:
-(void)stopAudio { @synchronized(audioLock) { audioLock=[NSNumber numberWithBool:false]; OSStatus err; err=AudioQueueReset (_audioQueue); if (err != noErr) { NSLog(@"AudioQueueReset() error: %d", (int)err); } err=AudioQueueStop (_audioQueue, YES); if (err != noErr) { NSLog(@"AudioQueueStop() error: %d", (int)err); } err=AudioQueueDispose (_audioQueue, YES); if (err != noErr) { NSLog(@"AudioQueueDispose() error: %d", (int)err); } } }
And in my:
void audioCallback(void *custom_data, AudioQueueRef queue, AudioQueueBufferRef buffer)
I only put more stuff in my queue if:
myObject *weakSelf = (__bridge myObject *)custom_data;@synchronized(weakSelf -> audioLock) { if ([weakSelf -> audioLock boolValue]) { Put_more_stuff_on_queue }
In my particular case I playback AAC-LC audio.