• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Find out all IOProcs attached to an Audio device in a Process
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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
  • Follow-Ups:
    • Re: Find out all IOProcs attached to an Audio device in a Process
      • From: Simon Liu <email@hidden>
References: 
 >Find out all IOProcs attached to an Audio device in a Process (From: Simon Liu <email@hidden>)
 >Re: Find out all IOProcs attached to an Audio device in a Process (From: Jeff Moore <email@hidden>)
 >Re: Find out all IOProcs attached to an Audio device in a Process (From: Simon Liu <email@hidden>)
 >Re: Find out all IOProcs attached to an Audio device in a Process (From: Jeff Moore <email@hidden>)
 >Re: Find out all IOProcs attached to an Audio device in a Process (From: Simon Liu <email@hidden>)

  • Prev by Date: Re: Find out all IOProcs attached to an Audio device in a Process
  • Next by Date: Re: Hardware Monitoring (Was: I/O Latency (Was: Layman with a mission))
  • Previous by thread: Re: Find out all IOProcs attached to an Audio device in a Process
  • Next by thread: Re: Find out all IOProcs attached to an Audio device in a Process
  • Index(es):
    • Date
    • Thread