I had done some prototyping about 18 months ago with the Apple’s (SimpleAudio) audio driver examples. I had been curious about the viability of using user mode drivers to control usb audio interfaces. Possibly transitioning existing kernel
mode drivers moving forward.
I never completed this, but got far enough along that I was able to enumerate the usb interfaces and have it show up as an audio device and had the beginnings of streaming audio over the isoc endpoints to/from the device. This was all
done on 10.8. At that point I put the code away.
I’ve come back to this now and have found that due to sandboxing of coreaudiod, the plug-in is no longer able to access the usb hardware via iokit. I get:
“Sandboxd: coreaudiod deny iokit-open IOUSBDeviceUserClient_V2”
When I call IOCreatePlugInInterfaceForService() while enumerating the usb devices. The documentation details entitlements which can be added to info.plist in order to access network resources but I see no mention for similar methods to
unlock access to usb resources. Is this a brick wall? What is the procedure for allowing plug-in access to usb?
mike
===============================================================
Mike Horgan
Engineering
Line 6
O: 818.575.3670
H E L I X
Real. Smart. Control.
Helix is an entirely new kind of guitar processor.
LEARN MORE