Post

Replies

Boosts

Views

Activity

Comment on AVAudioEngine Voice Processing Fails with Mismatched Input/Output Devices: AggregateDevice Channel Count Mismatch
Thank you for your response. I can confirm that I am seeing the same logs as mentioned above with just the relevant code in a small test project. I was already testing the Voice Processing feature in a focused environment. Here is the link to my test project: https://github.com/esphoenixc/AEC-BUG-TEST Please let me know if you need further details or additional steps to reproduce the issue.
Topic: Media Technologies SubTopic: Audio Tags:
Jan ’25
Comment on AVAudioEngine Voice Processing Fails with Mismatched Input/Output Devices: AggregateDevice Channel Count Mismatch
I’ve further tested the issue and found some interesting observations regarding the behavior of AVAudioEngine when enabling voice processing. I came across this StackOverflow thread https://stackoverflow.com/questions/72953588/why-enabling-voice-processing-on-avaudioinputnode-changes-channels-count-on-its , which highlights a similar issue where enabling voice processing (setVoiceProcessingEnabled(true)) on the AVAudioInputNode changes the node’s audio format, specifically the channel count.
Topic: Media Technologies SubTopic: Audio Tags:
Jan ’25
Comment on AVAudioEngine Voice Processing Fails with Mismatched Input/Output Devices: AggregateDevice Channel Count Mismatch
Before Enabling Voice Processing: <AVAudioFormat 0x600001a69180: 1 ch, 44100 Hz, Float32> After Enabling Voice Processing: <AVAudioFormat 0x600001a5bb10: 9 ch, 48000 Hz, Float32, deinterleaved> As you can see, enabling voice processing significantly alters the audio format of the input node. In my case, the channel count increased from 1 to 9, and the sample rate changed from 44100 Hz to 48000 Hz. This change is consistent with the behavior mentioned in the StackOverflow post.
Topic: Media Technologies SubTopic: Audio Tags:
Jan ’25
Comment on SCStreamDelegetate stream:didStopWithError receiving null pointer for error
@benjones1987 Thank you again for your reply. My case was a bit different: the method func stream(_ stream: SCStream, didStopWithError error: Error) {...} was never executed. I only saw the system error/warning (a yellow log in the console). Because of that, nothing in the didStopWithError method is called (I added some cleanup logic in case the OS fails the stream).
Topic: Media Technologies SubTopic: Streaming Tags:
Mar ’25