What's Changed
Bug Fixes
-
Fix mic tap format failure on non-standard audio devices — Added a fallback chain for mic tap format creation. Some devices report audio formats that can't be used with
AVAudioFormat(standardFormat:), which previously caused the error "Failed to build tap format from input format". The mic capture now tries the hardware sample rate, the node sample rate, and falls back to the native input format. (#103, fixes #95) -
Fix AEC conflict with system audio capture — Voice processing (echo cancellation) on macOS conflicts with system audio capture, causing CoreAudio aggregate-device reconfiguration that can stall the mic stream. AEC is now automatically disabled during recording, with a 5-second health check that retries without AEC if the mic stream produces no audio. (#103)
-
Handle non-float mic buffer formats — When the native format fallback delivers int16/int32/interleaved buffers, the audio recorder now correctly converts them to float32 mono instead of silently dropping the audio. (#103)
Contributors
Thanks to @brandonbloom for the thorough investigation of the root causes, and to @cmendezt for the original bug report.