• 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: Output Capture
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Output Capture


  • Subject: Re: Output Capture
  • From: Jeff Moore <email@hidden>
  • Date: Wed, 18 Jul 2007 15:47:09 -0700


On Jul 18, 2007, at 2:42 PM, Andy O'Meara wrote:



http://lists.apple.com/archives/coreaudio-api/2006/Jan/msg00101.html

Yup. What I said then still applies today.


Well, there was never any response to the point that just because a couple software companies have decided to invest the resources to hack into Mac OS to get the audio, doesn't mean that an API isn't needed. It just means people will have to spend a lot of time hacking rather than making Macs more software-rich.

Also, the point still stands that system audio loopback is the only basic OS feature/API (that I know of) that Win32 offers that Mac OS doesn't. Personally, as an Apple fanboy, this is a tough one for me and other multi-platform devs I know to swallow.

Allow me to quote the two pertinent parts of what I said:

"The plain truth is that there really hasn't been enough of a demand for this feature to make it a priority. Couple that with the DRM minefield and the fact that others have seemingly come up with their own solution, and you are left with a very complicated feature that has very little bang for the buck."

"The fact is, Mac OS X's audio system was designed first and foremost for performance. This lead us to a design where it is not easy to support the functionality you want without imposing performance penalties. So, we have opted for better performance at the cost of not being able to provide this feature."

In other words, the facts are:
1) Core Audio is architected in a way that makes implementing this feature difficult without hurting performance or needing to completely re-architect things.
2) Others have provided solutions for the problem in one form or another.
3) Developers' wish lists generally tend to put other features above this one.


All together, this has lead us to prioritize other things over doing this feature.

It is not disabled solely because of DRM issues. It is more correct to say that it is not directly supported because the OS X audio architecture does make it easy to support. Because the bang for the buck on such a feature is so small, it is unlikely to be supported in the future.


Well, for a feature/API that has a "small bang for the buck", it seems to be asked about often on this list. I'm curious how many inquires it would actually take for the CoreAudio team to actually consider adding this.

I think you have a bit of a skewed perspective on the matter. This list is not the be-all end-all of Core Audio developers. I'd say that compared to other issues, this feature still rates pretty low on the feature list we hear from folks.


then a built-in echo cancelled sound input is a requirement. This would be extremely easy for apple to do, since they are already doing it in iChat I believe. Also, this needs to be included in a system update retroactively for 10.3.9, or as a small lib we can include in our app's package, so that we can use it in games.

The fact that iChat does it's echo cancellation entirely on its own without needing any of what you are talking about proves that it most certainly is not a requirement. There's nothing stopping you from doing the same thing iChat does other than how willing you are to take on the task of understanding and implementing echo cancellation. The system is certainly not getting in your way.



Well, does iChat do echo cancellation via public APIs or does it use private Apple APIs?

iChat works entirely with public APIs and their own echo cancellation code. No private APIs are used.


You speak as if we have access to the iChat code, so it's not a given at all that just because iChat can do something, so can we.

Why would you need access to the iChat code? Echo Cancellation is a major research area in signal processing. It is written about in numerous text books and papers every year. I'm sure you can dig up something useful with even a casual Google search.


If it's the case that iChat only uses public APIs, how about some of that code gets pasted into a new Sample Code project and put on ADC? That would seem to make the most sense since people like us repeatedly are looking for a cold, hard solution. And if you don't won't to do that, could you help us understand why not? If the reason is that it would be unsupported code, then we'd say back that we understand and acknowledge that and we assume the consequences of that.

Since we don't provide an Echo Cancellation library, obviously there won't be any sample code for that. But that aside, there is all sorts of sample code for all the APIs that iChat uses out of Core Audio.



--

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: Output Capture
      • From: Andy O'Meara <email@hidden>
    • iChat's echo cancellation (was Re: Output Capture)
      • From: Andrew Kimpton <email@hidden>
References: 
 >Output Capture (From: email@hidden)
 >Re: Output Capture (From: Jeff Moore <email@hidden>)
 >Re: Output Capture (From: email@hidden)
 >Re: Output Capture (From: Jeff Moore <email@hidden>)
 >Re: Output Capture (From: Andy O'Meara <email@hidden>)

  • Prev by Date: Re: Output Capture
  • Next by Date: iChat's echo cancellation (was Re: Output Capture)
  • Previous by thread: Re: Output Capture
  • Next by thread: iChat's echo cancellation (was Re: Output Capture)
  • Index(es):
    • Date
    • Thread