Re: Output Capture
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