Re: Failure 0xe00002bc when using Alesis (sanity check - could it be the driver?)
Re: Failure 0xe00002bc when using Alesis (sanity check - could it be the driver?)
- Subject: Re: Failure 0xe00002bc when using Alesis (sanity check - could it be the driver?)
- From: Jeff Moore <email@hidden>
- Date: Tue, 16 Feb 2010 14:24:47 -0800
kIOReturnError is a driver error. It is used as a kind of catch-all error code for various kinds of failures so it's hard to say what it means in this particular case. The best thing to do is to file a bug with as much information as possible. If you can include a program that shows the problem, so much the better.
On Feb 16, 2010, at 1:09 PM, Neil Clayton wrote:
> 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);
--
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