Details
-
Bug
-
Resolution: Won't Do
-
P2: Important
-
None
-
5.14.0, 5.14.1, 5.14.2, 5.15.0, 5.15.1, 5.15.2
-
Use example AudioInput app for testing.
Description
On macOS (tested on Mojave and Catalina), QAudioInput() captures corrupted audio on all sample rates except one. Finding that one rate is a matter of trial and error, because all tested audio hardware reports a list of the common rates as being supported. For example, 'Built-in Microphone' on all tested machines only works correctly with sample rate 44100. 2 different USB headsets only work with rate of 48000. QAudioOutput() works fine at any rate, including rates that aren't returned as supported rates. For example, I set a rate of 8000 for output on all hardware and all hardware plays 8k audio fine, even though its not returned as a supported rate.
Another clue to the problem is that when one of the broken rates is being used, permission request for the microphone never appears. When the one working rate for the specific hardware (44100 for internal, 48000 for USB headsets) then I get the request to access the microphone.