Go to file
Ryan C. Gordon 65e462a6f2 audio: Handle device disconnects on the main thread.
This avoids situations like:

- PulseAudio holds its own lock in the hotplug thread.
- The hotplug thread notices a device went away.
- The hotplug thread calls SDL_AudioDeviceDisconnected().
- SDL_AudioDeviceDisconnected() tries to grab the device lock.
- The device thread is holding the device lock...
- ...but is currently waiting on PulseAudio's lock to release.

In short: deadlock. It's better to queue this work to run on the main thread,
where we can guarantee a start with _none_ of the audio subsystem locks held.
2025-09-25 16:02:19 -04:00
2025-09-19 18:06:26 +02:00
2025-09-22 16:46:35 -07:00
2025-09-22 15:34:13 +00:00
2025-09-21 23:38:28 -07:00
2025-01-13 16:42:50 -08:00
2025-01-13 16:42:50 -08:00
2025-03-06 16:25:17 -08:00
2025-01-01 07:45:52 -08:00

Simple DirectMedia Layer (SDL for short) is a cross-platform library designed to make it easy to write multi-media software, such as games and emulators.

You can find the latest release and additional information at: https://www.libsdl.org/

Installation instructions and a quick introduction is available in INSTALL.md

This library is distributed under the terms of the zlib license, available in LICENSE.txt.

Enjoy!

Sam Lantinga (slouken@libsdl.org)

Description
Simple Directmedia Layer
Readme 209 MiB
Languages
C 86.4%
C++ 5.8%
Objective-C 3.4%
CMake 1.6%
Perl 0.8%
Other 1.7%