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.
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.