Re: Hardware Plugins
Re: Hardware Plugins
- Subject: Re: Hardware Plugins
- From: Jeff Moore <email@hidden>
- Date: Thu, 23 Feb 2006 11:48:46 -0800
On Feb 23, 2006, at 1:18 AM, Stefan Fisk wrote:
I'm interested in writing a hardware plugin for the HAL, but I
can't find any complete documentation or example on how it's
supposed to be done.
That's because there is none. User-land drivers are there as a last
resort for devices that don't make any sense in the kernel as an
IOAudio-based driver. It has been my experience that there are very
few situations where this is the case. As such, there are very few of
these drivers out there.
Writing a user-land driver is not easy as the plug-in is on it's own
for implementing pretty much all of the semantics and behaviors of
the HAL's API. As such, it is much easier to write an IOAudio-based
driver if it is at all possible. I would very much encourage you to
look at IOAudio first.
Reading the header docs over and over again isn't really helping
me, since i still can't understand how the plugin would actually be
implemented. Primarily, I don't see how AudioHardwarePlugIn.h and
AudioHardware.h relate to one another.
The plug-in is a CFPlugIn-based API. The HAL loads the plug-ins and
uses them to provide the API support. The plug-in methods correspond
exactly with the API calls they resemble in AudioHardware.h. The API
calls in AudioHardwarePlugIn.h are there for the plug-in to
communicate with the HAL for the purposes of object management and
for sending property change notifications.
--
Jeff Moore
Core Audio
Apple
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden