Re: Find out all IOProcs attached to an Audio device in a Process
Re: Find out all IOProcs attached to an Audio device in a Process
- Subject: Re: Find out all IOProcs attached to an Audio device in a Process
- From: Jeff Moore <email@hidden>
- Date: Thu, 14 Oct 2004 14:47:51 -0700
First off, there's no way for AUHAL to give access to the audio from
other processes. It is, like all things CoreAudio, a user-space entity
that has no access to the data in other processes.
Secondly, AUHAL has the property kAudioOutputUnitProperty_CurrentDevice
that allows you to tell it what piece of hardware to use.
Finally, because you are involving many disparate APIs to generate your
sound, there isn't going to be a general way for you to lasso all the
audio coming out of your process unless you put the hooks into your
code yourself to do it. The reason why is that QT has it's way for
accessing it's output data that is separate from NSSound, which is
separate from the Sound Manager, which is separate from whatever
CoreAudio code you've written yourself. The only place where the data
being output from all of these disparate APIs is being mixed is in the
kernel.
On Oct 14, 2004, at 2:30 PM, Simon Liu wrote:
[Jeff, forgot to cc the coreaudiolist]
Hi Jeff,
I have a test application. It generates audio in a variety of ways.
For example,
a QuickTime movie in a view playing an MP3. I have a few buttons
which play
sounds when clicked. Conceptually, I just want to record all the
sound which
is output by my application.
I thought using AUHAL would be the way to go, but I get everything
which
is sent to the default output device, including audio from other
processes.
Is there any way to avoid this? (Without having to rewrite the way my
application
currently works and generates audio)
Regards,
Simon
On Thu, 14 Oct 2004 12:53:09 -0700, Jeff Moore <email@hidden> wrote:
I'm a bit lost and I don't quite know what advice to give you. Can you
back up and describe what you are doing a bit more? It sounds like you
are mixing and matching things that need to be done from the kernel
(i.e. get access to all the audio from all processes) with user-space
stuff (like AUHAL).
On Oct 14, 2004, at 12:39 PM, Simon Liu wrote:
I'm trying to isolate the audio from an arbitrary (foreign) process.
Grabbing the IOProcs
gives access to the data buffers to be sent to the device. I can do
this already,
but am not sure if I have all the IOProcs. So I have also tried
using
AUHAL, but
this instead gives me all the audio being sent to the device, from
all
processes.
On Thu, 14 Oct 2004 12:14:44 -0700, Jeff Moore <email@hidden>
wrote:
No. There is no way to get the list of IOProcs that have been added
to
a particular device in a particular process. In fact the API was set
up
to keep individual IOProcs ignorant of each other as much as
possible.
May I ask what it is you are trying to do? Perhaps I can offer an
alternative.
On Oct 14, 2004, at 7:45 AM, Simon Liu wrote:
Hello,
Is it possible to obtain a list of all registered IOProcs for an
audio
device?
kAudioDevicePropertyDeviceIsRunning can tell me if any IOProcs have
started. Is there a property that can help with the above?
Regards,
Simon
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40apple.com
This email sent to email@hidden
--
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:
40gmail.com
This email sent to email@hidden
--
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:
40gmail.com
This email sent to email@hidden
--
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