                 }
             }
         }
+
         public var channels: UInt32?
         public var isInterleaved: Bool?
         /// overwrite existing files, set false if you want to handle this before you call start()

        }

        // Create destination file
        error = ExtAudioFileCreateWithURL(
            outputURL as CFURL,
            format,
            &dstFormat,
            nil,
            AudioFileFlags.eraseFile.rawValue, // overwrite old file if present
            &destinationFile)

        if error != noErr {
            completionHandler?(createError(message: "Unable to create output file."))

            return
        }
        let bufferByteSize: UInt32 = 32_768
        var srcBuffer = [UInt8](repeating: 0, count: Int(bufferByteSize))
        var sourceFrameOffset: UInt32 = 0

        srcBuffer.withUnsafeMutableBytes { ptr in
            while true {
                let mBuffer = AudioBuffer(mNumberChannels: srcFormat.mChannelsPerFrame,
                                          mDataByteSize: bufferByteSize,
                                          mData: ptr.baseAddress)

                var fillBufList = AudioBufferList(mNumberBuffers: 1, mBuffers: mBuffer)
                var numFrames: UInt32 = 0

                if dstFormat.mBytesPerFrame > 0 {
