Search code examples
audiocore-audiohal

How to hide CoreAudio's HAL plugin devices


In the kernel extensions, there was setDeviceCanBeDefault() that I could hide and show audio devices. How I can achieve something similar in CoreAudio's HAL plugin? I want to hide and show my plugin, from sound devices, at runtime.


Solution

  • Implement the kAudioDevicePropertyIsHidden property and return (UInt32)1 from it in your device.

    Don't forget to call PropertiesChanged() on the host when you modify this non IO-related property. Also keep in mind that hidden devices cannot become the default device.