You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is the last remnant of #674. Even with all the device changed event monitoring, we are still unable to gracefully handle the following corner case:
Playing an exclusive mode pcm stream.
Enable/Disable loudness equalization via windows device control panel
ao_reload is requested, audio_reset is called
IAudioClient_Reset() returns E_HANDLE
IAudioClient_Stop() returns AUDCLNT_E_NOT_STOPPED
IAudioClient_Release() refuses to return so that
WaitForSingleObject(state->hAudioThread, INFINITE) never returns
The text was updated successfully, but these errors were encountered:
That's the most ridiculous thing I've ever read. Isn't this the IUnknown method? Why would it not return? It just decreases the refcount. Seems like either Microsoft broke their own crap big time, or your drivers are somehow broken, or there's a fatal bug in the ao_wasapi code.
Doesn't Release have to deconstruct the object when the refcount hits 0? My guess is that this final Release is calling some c++ monstrosity that could have a wait in there somewhere.
If such a case happens, then the wasapi internals could reasonably just create an additional (internal) reference to it, rather than preventing the user from unreffing it.
The time-out was a terrible hack for marginally better behaviour when
encountering mpv-player#1773, which appears to have been resolved by a previous commit.
This is the last remnant of #674. Even with all the device changed event monitoring, we are still unable to gracefully handle the following corner case:
The text was updated successfully, but these errors were encountered: