Hi Jeff
Thanks for your reply.
No the driver is not dispatching asynchronously. The HAL stops IO, calls PerformDeviceConfigurationChange() and then restarts IO all in a series on the same thread (actually, from the same function in HAL’s implementation to be precise).
However, I notice that StartIO, StopIO, PerformDeviceConfigurationChange are called on threads (I verified this with the latest Null_audio as well).
Did I miss something? Thanks Eric Gorouben. Le 28 févr. 2014 à 19:52, Jeff Moore < email@hidden> a écrit : I was referring to what the driver is doing inside its implementation of the PerformDeviceConfigurationChange method. If the driver is dispatching that work asynchronously to another thread and simply returning from the call to PerformDeviceConfigurationChange, it will get the behavior you describe.
--
Jeff Moore Core Audio Apple
Hi Jeff,
Thanks for the reply. I'm not sure I understand your suggestion.
28/02/2014 15:55:03,228 coreaudiod[511]: +PerformDeviceConfigurationChange 28/02/2014 15:55:03,228 coreaudiod[511]: +StartIO 28/02/2014 15:55:03,987 coreaudiod[511]: -PerformDeviceConfigurationChange 28/02/2014 15:55:04,013 coreaudiod[511]: -StartIO
shows that the driver returns from PerformDeviceConfigurationChange at 03,987. I use AudioObjectID theDeviceObjectID = GetObjectID(); CADispatchQueue::GetGlobalSerialQueue().Dispatch(false, ^{ PtASPlugInPlugIn::Host_RequestDeviceConfigurationChange(theDeviceObjectID, myChangeAction, &mConfigChangeInfo); });
to request the change.
Eric Gorouben Le 28 févr. 2014 à 19:08, Jeff Moore < email@hidden> a écrit : The HAL stops IO, calls PerformDeviceConfigurationChange() and then restarts IO all in a series on the same thread (actually, from the same function in HAL’s implementation to be precise). So it seems like the only way you could get the behavior you are describing is if your driver returns from PerformDeviceConfigurationChange() before the change has actually completed. Could this be the case here?
--
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
|