Problem with CAPlayThrough and Tiger
Problem with CAPlayThrough and Tiger
- Subject: Problem with CAPlayThrough and Tiger
- From: "Stephan Bernsee" <email@hidden>
- Date: Tue, 2 Dec 2008 12:35:42 +0100
Hi all,
I have run into a strange problem that only seems to occur on Tiger
(works ok on Leopard) and I just can't figure out what the problem is.
What I want to do is basically use CAPlayThrough to intercept system
audio. For this, I need to switch the default system output device to
my own device (loaded as a KEXT) and use this as an input to my
program.
So far so good - if I switch the device manually everything works.
However, if I attempt to do this programmatically I am getting a
'stop' error on a subsequent call to AudioDeviceGetCurrentTime() (the
one that drives the Varispeed AU for matching in and out sample
rates).
I have narrowed down the problem and created a small test project
based on the original CAPlayThrough that demonstrates this. All I did
was add a call to AudioHardwareSetProperty with a selector of
kAudioHardwarePropertyDefaultOutputDevice to -awakeFromNib in
CAPlayThroughController.mm and it would exhibit the exact same problem
as the product I am working on.
Does any of you have any idea what is wrong with setting the device
programmatically on Tiger? Any known bugs that I should be aware of?
...hopefully with a workaround..?
As I said, the same code works great on Leopard. I'd appreciate any
thoughts on this as I really have no idea what is going on here, and I
wasn't able to find anything on the web or in the archives.
Here's my little test project:
http://stephan.bernsee.com/CAPlayThrough-Test.zip
Thanks!
Stephan
_______________________________________________
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