RE: Proper way to remove an Audio Device
RE: Proper way to remove an Audio Device
- Subject: RE: Proper way to remove an Audio Device
- From: "Robert Penland" <email@hidden>
- Date: Fri, 19 Sep 2003 11:32:38 -0700
- Thread-topic: Proper way to remove an Audio Device
Matt,
No, I am not calling publishResource() anywhere. I am just doing the standard commands of activateAudioEngine() addAudioStream() addDefaultControl() etc. After the creation of my AudioDevice I see that the retain count on the object is at 8. When I try to tear it down, I am currently doing a stop() detach() terminate() sequence (where before I was just doing a release() on the AudioDevice), but the retain count on the device is still around 4 after the close sequence so the free method never gets invoked. Any other ideas?
Thanks
Rob
-----Original Message-----
From: Matthew Xavier Mora [
mailto:email@hidden]
Sent: Friday, September 19, 2003 11:07 AM
To: Bill Stewart; Robert Penland
Cc: email@hidden; email@hidden
Subject: Re: Proper way to remove an Audio Device
At 10:28 AM -0700 9/19/03, Bill Stewart wrote:
>
Yes - you should re-read Matt's comments - the HAL can't sign you
>
out because there is still an active client. Matt's comments
>
indicated that this mysterious client that is holding onto you is
>
the Modem kext. We'll talk to them about that, find out what they
>
are doing, etc, but in the meantime, that seems to be the only
>
solution
A small correction. The modem.kext issue is strictly for built-in
audio hardware it would not effect a PCI card. Also it wasn't the
modem.kext that was holding on to us, it was the fact that we
published a property for them to find and did not unpublish it that
caused us grief. It was our bug. The modem.kext was not involved.
Why I mentioned this was because the FireWire driver had a similar
issue. We publish a resource so the FireWire MIDI driver can find our
kext and it did not unpublish that resource when it was unloaded. I
mention this because other driver writers may be using the same
mechanism for hooking up kexts and user land code and it is something
easy to over look. If you are not calling publishResource() then this
fix won't apply to you.
Sorry for the confusion.
Matt
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.