Re: Edirol FA-101 and CoreAudio
Re: Edirol FA-101 and CoreAudio
- Subject: Re: Edirol FA-101 and CoreAudio
- From: "Roni Music" <email@hidden>
- Date: Wed, 14 Sep 2005 19:35:29 +0200
Jeff,
Didn't see all of your comments
> Subject: Re: Edirol FA-101 and CoreAudio (Jeff Moore)
>
>
> On Sep 13, 2005, at 5:28 AM, Roni Music wrote:
> >
> > AudioOutputUnitStop(mInputUnit);
> > AudioUnitUninitialize(mInputUnit);
> > CloseComponent(mInputUnit);
> >
> > At this point the AURenderCallback should never ever be called
> > again, right?
>
> That would be correct. AudioOutputUnitStop() is synchronous. It
> doesn't return until the HAL signals that the device has stopped.
> This means you can be sure that the IO thread isn't going to call it.
Yes, that's what I expected
>
> > So now it should be safe to destroy all memory.
> > The crash happens only when closing down the recording stuff, else
> > it works fine.
>
> If you look at the back trace, the crash is happening while the main
> thread is actually blocked in AudioOutputUnitStop() awaiting the
> HAL's signal. This puts it in the first stage of your order of
> operations.
OK, this is my audio output AU, here the input unit is still running
so it makes sense that the input IO is still being called
>
> In the meantime, some AU on the IO thread is accessing an invalid
> memory address (0x017ff010). It appears that your code is interposed
> between the output AU and the AU that is crashing.
I have a ring buffer that is shared between the input and output (as in the ComplexPlayThru example)
it's not deleted until after all audio units are destroyed
>
> It's hard not to conclude that some how the buffer your code passed
> in has gotten deallocated.
it has not but something is going wrong anyway
> The implication is that you have a race in
> your code somewhere. The race may be exacerbated by MP systems. I
> don't recall if you mentioned what kind of machine was having the issue.
It's a dual G5
My own system is a dual G4 and it never happens here, but I don't have the Edirol FA-101 interface
I will try to use a flag to prevent the IO thread being called when I tear down the audio stuff.
Shouldn't be needed but I will see if fixes the problem?
Thanks for your comments!
Rolf / Roni Music
>
>
> --
>
> 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