Hello esteemed colleagues, Context: Mojave has extra security in place that requires explicit user authorisation in order for an app to be allowed to received microphone input. If that permission is not present, then all input from *any* audio interface device is silenced when the app uses the core audio API to read input. In order to enable input, the app needs to use the appropriate notarisations or add a NSMicrophoneUsageDescription key to its plist. The first time the app is run, the user will then be shown a popup to ask if they wish to enable usage of the microphone by that app. That permission then gets stored into the permissions database and is resettable by the tccutil command line utility. So far so good.
Now consider a user-space HAL-plugin virtual driver based on the coreaudio/AudioServerPlugin.h configuration. Since the driver is not a kext, it has to use user-space APIs to do anything with audio. But in order to read input via core audio api's, it has to have explicit user permission, which (as I understand it) is impossible to grant because the coreaudiod is forbidden from raising anything GUI or popup related: A Catch-22. So my question is pretty fundamental: Is it now impossible to read audio input in a user-space HAL plugin virtual driver in Mojave, or is there some hitherto undocumented driver-specific work-around that could enable audio input? If it is impossible by design rather than accident, I would appreciate an Apple-insider explaining the context of that design, because this would be a pretty fundamental downgrading of the HAL technology. Best Regards, Nicolas Haynes Sonnox Ltd. Registered in England and Wales, number 05820431 Registered Office: The Studio, Witney Lakes Resort, Downs Road, Witney, Oxfordshire. OX29 0SY http://www.sonnox.com
_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/coreaudio-api/archive%40mail-archive.com This email sent to [email protected]
