Re: getting started with CoreAudio plugin for Final Cut Pro
Re: getting started with CoreAudio plugin for Final Cut Pro
- Subject: Re: getting started with CoreAudio plugin for Final Cut Pro
- From: Jeff Moore <email@hidden>
- Date: Wed, 24 Nov 2004 14:44:22 -0800
Your kernel driver would likely assume the primary role for doling out
data to user-land entities like your vdig. IOKit provides the tools
you'd need to exploit to create the necessary bridging code (aka your
driver's user client) between the kernel and user-land. Writing user
client code is a little beyond the scope of this mailing list. You
should be able to get lots of help on one of the kernel development
lists like one of the Darwin lists.
On the IOAudio side of things, the Phantom Audio Driver is a decent
place to get started as would one of the template drivers in
/Developer/Examples/Kernel/IOKit/Audio. IOAudio questions are fine to
post to this list as are questions about writing a user-land driver
should you wish to go that route.
On Nov 24, 2004, at 1:01 PM, Tommy Schell wrote:
Jeff,
Thanks for responding, I didn't see the response til today, as I only
get the bulk mailing.
If I went for a kernel based driver, does it present a problem that my
Firewire driver is in user space?
Would I be able to easily communicate from my Firewire driver (as a
thread within the vdig or vout components)
with the kernel based CoreAudio driver via a user client, and pass
data or data pointers back and forth?
Would this be the best approach, to communicate through a user client?
And then I suppose a good place to start would be Phantom Audio Driver?
Thanks again, Tommy
A kernel driver is the best thing to write in terms of compatibility,
conformance, and ease of development. Writing a user-land driver is
much harder as you are responsible for all the behaviors the HAL
provides for free to kernel-based drivers.
Is there sample code which is a good starting point for what I need
to
do?
No. The only docs are in <CoreAudio/AudioHardwarePlugIn.h>
Is it possible to handle the audio as a thread within Quicktime
components, or does a plugin need to be a separate process located
in the plugins folder?
The thread you use to call IOProcs can be any thread you wish to use
provided you can deliver the data on time with accurate time stamps.
If a CoreAudio plugin needs to be a separate process, how do my
Quicktime components or Firewire threads communicate with and pass
data to and from the plugin?
A user-land driver is a CFPlugIn that the HAL loads into every
process.
How you manage communication between your HAL plug-in and the rest of
your stack is entirely in your hands.
--
Jeff Moore
Core Audio
Apple
--
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