memcpy(inBuffer->mAudioData, p_block->p_buffer, p_block->i_buffer);
inBuffer->mAudioDataByteSize = p_block->i_buffer;
- p_aout->sys->i_played_length += p_block->i_length;
- block_Release(p_block);
status = AudioQueueEnqueueBuffer(p_aout->sys->audioQueue, inBuffer, 0, NULL);
- if (status != noErr)
+ if (status == noErr)
+ p_aout->sys->i_played_length += p_block->i_length;
+ else
msg_Err(p_aout, "enqueuing buffer failed (%li)", status);
+
+ block_Release(p_block);
}
void AudioQueueCallback(void * inUserData, AudioQueueRef inAQ, AudioQueueBufferRef inBuffer) {