Azimer / AziAudio

Azimer's Audio Plugin
GNU General Public License v2.0
46 stars 11 forks source link

No support for Endpoint Changes (emulator crash with audio device removal) #14

Open Squall-Leonhart opened 2 years ago

Squall-Leonhart commented 2 years ago

WASAPI and Xaudio have endpoint detection capabilities that allow a user to change their default device without having to restart, but these require making use of IMMNotificationClient.

Presently, on removal or change of the default device the emulator throws an access violation and crashes.

Azimer commented 2 years ago

Thanks Squall. When I get back on it this will be a top priority.

Azimer commented 1 month ago

Related issue: https://github.com/project64/project64/issues/2425

Azimer commented 1 month ago

@Squall-Leonhart - I know this is an old issue but I can't replicate an actual emulator crash. When I pull my headphone forcing a default device change on XAudio2 it results in no audio anywhere. When I do it in was api it shows an error message about the code being experimental and the thread shutting down. In neither scenario am I getting an access violation.

This still needs to be corrected and will be but I need to be able to replicate the access violation as that is a severe issue. Can you give me any more information? I tested in Project64 Legacy 1.6.3

Azimer commented 1 month ago

Sounds like maybe USB (entire device) being disconnected. I do not know if I have a USB audio device anywhere...

Squall-Leonhart commented 1 month ago

you can replicate this with an xbox one/series control and the headset port as this adds/removes from windows based on presence detect.