Re: Trouble setting sub device list, with a private aggregate device (on Tiger)
Re: Trouble setting sub device list, with a private aggregate device (on Tiger)
- Subject: Re: Trouble setting sub device list, with a private aggregate device (on Tiger)
- From: Stéphane Letz <email@hidden>
- Date: Wed, 28 Oct 2009 10:32:17 +0100
---
Message: 12
Date: Tue, 27 Oct 2009 09:11:46 -0700
From: Jeff Moore <email@hidden>
Subject: Re: Trouble setting sub device list, with a private aggregate
device (on Tiger)
To: CoreAudio API <email@hidden>
Message-ID: <email@hidden>
Content-Type: text/plain; charset=iso-8859-1; format=flowed; delsp=yes
Yes. It's always a good idea to filter the devices to be sure they can
be aggregated before trying to put them in an aggregate. The HAL
should be fine even if you don't. It should just ignore any non-
aggregatable devices.
That said, the general criteria for devices that can be aggregated is
that the owning plug-in of the device is the IOAudio plug-in (aka the
plug-in with the bundle ID of "com.apple.audio.CoreAudio") and that
the object's class is kAudioDeviceClassID.
I don't get that....
I have the following code to the the PluginID of the
"com.apple.audio.CoreAudio" IB but then??
osErr = AudioHardwareGetPropertyInfo
(kAudioHardwarePropertyPlugInForBundleID, &outSize, &outWritable);
if (osErr != noErr) {
jack_error("JackCoreAudioDriver::CreateAggregateDevice :
AudioHardwareGetPropertyInfo kAudioHardwarePropertyPlugInForBundleID
error");
printError(osErr);
return osErr;
}
AudioValueTranslation pluginAVT;
CFStringRef inBundleRef = CFSTR("com.apple.audio.CoreAudio");
pluginAVT.mInputData = &inBundleRef;
pluginAVT.mInputDataSize = sizeof(inBundleRef);
pluginAVT.mOutputData = &fPluginID;
pluginAVT.mOutputDataSize = sizeof(fPluginID);
osErr = AudioHardwareGetProperty
(kAudioHardwarePropertyPlugInForBundleID, &outSize, &pluginAVT);
if (osErr != noErr) {
jack_error("JackCoreAudioDriver::CreateAggregateDevice :
AudioHardwareGetProperty kAudioHardwarePropertyPlugInForBundleID
error");
printError(osErr);
return osErr;
}
Another question : what is the recommended way to know if a device is
a "built in" device?
Is the kAudioDeviceTransportTypeBuiltIn property for that purpose?
Thanks
Stephane Letz
_______________________________________________
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