IOAudioEngine not being freed
IOAudioEngine not being freed
- Subject: IOAudioEngine not being freed
- From: Cameron Jones <email@hidden>
- Date: Fri, 08 Mar 2002 22:59:35 -0500
My OS X USB Driver for a custom USB audio product seems to work more-or-less
OK. The device has 4 inputs and 2 outputs. Audio transfers and USB
transfers all work just fine.
I'm seeing a problem where the IOAudioEngine is not being released when my
USB device is unplugged. The engine's terminate and stop routine are being
called. All the IOAudioStreams and the default audio controls are all being
released (and freed). So are the user clients.
But at the end of my call to super::stop, the IOAudioEngine still has a
retain count of 5. The device cleans up and disappears just fine; but the
engine just hangs around. By the way, I create the engine explicitly with
'new', just as in the sample audio driver. The retention management in my
driver follows exactly that described in the sample audio driver which
appear to be correct.
The situation doesn't cause any major problem that I have found other than
the obvious memory leak as my USB device is powercylced, but it's supicious
behavior.
Has anyone seen this type of behavior before with IOAudioEngines? What does
it take to get it to be freed properly?
In a (possibly?) related matter, my IOAudioEngine doesn't show up in the
IORegistry (at least as observed by IORegistryExplorer). There's no real
problem - Audio HAL finds my device OK and applications (iTunes, QuickTime,
Sound panel) seem to find it ok. Which raises the question how HAL finds it
if it's not in the registry...
Can anyone offer an explanation for that?
Thanks!
Cameron Jones
Salem Technology Associates
_______________________________________________
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.