Trying to interface with iOS AudioQueues using swift, and hitting a roadblock when attempting to pass an object defining my state.
My state object is a custom struct defined as:
struct UserData { var active: Bool = false var audioFileId: AudioFileID = nil } My swift audio input callback:
let myCallback : @convention(c) (UnsafeMutablePointer<Void>, AudioQueueRef, AudioQueueBufferRef, UnsafePointer<AudioTimeStamp>, UInt32, UnsafePointer<AudioStreamPacketDescription>) -> Void = { (inUserData, inAQ, inBuffer, inStartTime, inNumberPacketDescriptions, inPacketDescs) -> Void in ... } Lastly, initializing the audio queue:
AudioQueueNewInput(&audioStreamBasicDescription, myCallback, &userData, nil, nil, 0, &inputQueue) Where I'm stuck is figuring out how to cast inUserData: UnsafeMutablePointer<Void> to my UserData struct
Or, of course, any better way of handling this.
Thanks!