iOS 17.0beta crash when audiobox api invoke

this crash only occus on iOS 17.0.

Crash Stack:

#136 Thread

SIGSEGV

SEGV_ACCERR

0 AudioToolbox AQ::API::V2Impl::AllocateBuffer(OpaqueAudioQueue*, void*, unsigned int, AudioStreamPacketDescription*, unsigned int, AudioQueueBuffer**) + 772

1 AudioToolbox AQ::API::V2Impl::AllocateBuffer(OpaqueAudioQueue*, void*, unsigned int, AudioStreamPacketDescription*, unsigned int, AudioQueueBuffer**) + 584

related codes:

- (instancetype)init {
    
    if (self = [super init]) {
        // settings
        int Channels = 2;
        int bytesPerFrame = 2 * Channels;
        AudioStreamBasicDescription streamDesc;
        streamDesc.mSampleRate = 44100;
        streamDesc.mFormatID = kAudioFormatLinearPCM;
        streamDesc.mFormatFlags = kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked;
        streamDesc.mBytesPerPacket = bytesPerFrame;
        streamDesc.mFramesPerPacket = 1;
        streamDesc.mBytesPerFrame = bytesPerFrame;
        streamDesc.mChannelsPerFrame = Channels;
        streamDesc.mBitsPerChannel = 16;
        streamDesc.mReserved = 0;
        
        // queue
        AudioQueueNewOutput(&streamDesc, AEAudioQueueOutputCallback, (__bridge void * _Nullable)(self), nil, nil, 0, &_playQueue);
        AudioQueueSetParameter(_playQueue, kAudioQueueParam_Volume, 1.0);
        
        // buffers
        for (int i = 0; i < QUEUE_BUFFER_SIZE; i++) {
            AudioQueueAllocateBuffer(_playQueue, MIN_SIZE_PER_FRAME, _bufferList+i);
        }
    }
    
    return self;
}
Answered by Muserf in 763835022

I have resolved it.
Previously, the buffer was set to 1024, which was too small. Just increase it according to your audio situation. After adjusting to 4096, my problem was resolved

Accepted Answer

I have resolved it.
Previously, the buffer was set to 1024, which was too small. Just increase it according to your audio situation. After adjusting to 4096, my problem was resolved

iOS 17.0beta crash when audiobox api invoke
 
 
Q