Posts

Post marked as solved
5 Replies
I have implemented with version 3 AUAudioUnit but now i am facing noise on speaker side for my voip app. The codes are below:-auAudioUnit?.outputProvider = { ( // AURenderPullInputBlock? actionFlags, timestamp, frameCount, inputBusNumber, inputDataList ) -> AUAudioUnitStatus in if let block = self.renderBlock { // print("Action Flag: \(actionFlags) and timeStamp: \(timestamp) and inputBusNumber: \(inputBusNumber) and dataListBuffersCount:\(inputDataList[0].mBuffers)") if let dataReceived = self.getInputDataForConsumption() { let mutabledata = NSMutableData(data: dataReceived) var bufferListSpeaker = AudioBufferList( mNumberBuffers: 1, mBuffers: AudioBuffer( mNumberChannels: 1, mDataByteSize: 0, mData: nil)) let err : OSStatus = block(actionFlags, timestamp, frameCount, 1, &bufferListSpeaker, .none) if err == noErr { print("Output Provider before Buffer size \(inputDataList[0].mBuffers.mDataByteSize) and at Index 1 \(inputDataList[1].mBuffers.mDataByteSize)") bufferListSpeaker.mBuffers.mDataByteSize = UInt32(mutabledata.length) bufferListSpeaker.mBuffers.mData = mutabledata.mutableBytes inputDataList[0] = bufferListSpeaker #if DEBUG print("Output Provider mDataByteSize: \(inputDataList[0].mBuffers.mDataByteSize) and data Size: \(mutabledata.length) output FrameCount: \(frameCount)") #endif return err } else { #if DEBUG print("Output Provider \(err)") #endif return err } } } return 0 }
Post not yet marked as solved
2 Replies
I have implemented the same way but now i am facing noise on speaker side for my voip app. The codes are below:-auAudioUnit?.outputProvider = { ( // AURenderPullInputBlock? actionFlags, timestamp, frameCount, inputBusNumber, inputDataList ) -> AUAudioUnitStatus in if let block = self.renderBlock { // print("Action Flag: \(actionFlags) and timeStamp: \(timestamp) and inputBusNumber: \(inputBusNumber) and dataListBuffersCount:\(inputDataList[0].mBuffers)") if let dataReceived = self.getInputDataForConsumption() { let mutabledata = NSMutableData(data: dataReceived) var bufferListSpeaker = AudioBufferList( mNumberBuffers: 1, mBuffers: AudioBuffer( mNumberChannels: 1, mDataByteSize: 0, mData: nil)) let err : OSStatus = block(actionFlags, timestamp, frameCount, 1, &bufferListSpeaker, .none) if err == noErr { print("Output Provider before Buffer size \(inputDataList[0].mBuffers.mDataByteSize) and at Index 1 \(inputDataList[1].mBuffers.mDataByteSize)") bufferListSpeaker.mBuffers.mDataByteSize = UInt32(mutabledata.length) bufferListSpeaker.mBuffers.mData = mutabledata.mutableBytes inputDataList[0] = bufferListSpeaker #if DEBUG print("Output Provider mDataByteSize: \(inputDataList[0].mBuffers.mDataByteSize) and data Size: \(mutabledata.length) output FrameCount: \(frameCount)") #endif return err } else { #if DEBUG print("Output Provider \(err)") #endif return err } } } return 0 }