Failure 0xe00002bc when using Alesis (sanity check - could it be the driver?)
Failure 0xe00002bc when using Alesis (sanity check - could it be the driver?)
- Subject: Failure 0xe00002bc when using Alesis (sanity check - could it be the driver?)
- From: Neil Clayton <email@hidden>
- Date: Wed, 17 Feb 2010 10:09:06 +1300
- Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys
Hi
I'm routing audio data from one device (digital input, for example) to an Alesis USB2.0.
If (and only if) the device is also set as the default output device, when I do a AUGraphStart on the playback graph I get an error 0xe00002bc. From what I can tell this could be
kIOReturnError. If in System Prefs I select some other device as the default output - then the graph works OK, seeming to indicate some conflict with multiple bits of s/w trying to output to the same device at once.
However if I run multiple instances of my app (so ending up creating multiple playback graphs, using kAudioUnitType_Output, kAudioUnitSubType_HALOutput, kAudioUnitManufacturer_Apple as the output AU, this works fine.
The failure only seems to occur if the Alesis is setup as the default output device in system prefs.
Might this be a fault with the way I setup my output graph? Or would it seem more driver related?
I setup my graph as follows (there's error checking at every step):
It's a bit paraphrased as I didn't want to complicate the post.
[self checkError:NewAUGraph(&playbackGraph) format:@"Unable to create the AU Graph"];
// Setup a bunch of AU's and connect them together. Omitted for brevity.
[self checkError:AUGraphOpen(playbackGraph) format:@"Unable to open the playback AUGraph"];
// Initialize the AU's via audioUnit = CAAudioUnit(node, unit); for each connected AU
// For the output HAL AU - enable IO on the output side.
UInt32 enabled = NO;
[self checkError:audioUnit.SetProperty(kAudioOutputUnitProperty_EnableIO, kAudioUnitScope_Input, 1, &enabled, sizeof(UInt32)) format:@"Cannot setup the input value on the AUHal"];
enabled = YES;
[self checkError:audioUnit.SetProperty(kAudioOutputUnitProperty_EnableIO, kAudioUnitScope_Output, 0, &enabled, sizeof(UInt32)) format:@"Cannot setup the output value on the AUHal"];
// Setup the HAL to point to the required device
[self checkError:audioUnit.SetProperty(kAudioOutputUnitProperty_CurrentDevice, kAudioUnitScope_Global, 0, &deviceID, sizeof(AudioDeviceID)) format:@"Unable to setup the input/output device on the HAL"];
// Setup sample rates and bus counts on the mixers (omitted for brevity)
// Init the Graph
[self checkError:AUGraphInitialize(playbackGraph) format:@"Cannot init playback graph"];
// Here's where we fail (if the Alesis is setup to be the default device)
OSStatus graphError = AUGraphStart(playbackGraph);
Neil Clayton
email@hidden
_______________________________________________
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