Go to file
Ryan C. Gordon 32cc92dceb
pipewire: i/o callbacks should avoid higher-level iteration during device open.
Sometimes these callbacks will fire while we're still waiting on state to
settle down in PIPEWIRE_OpenDevice, which means we're holding the device lock,
but then the i/o callback will fire from a background thread and also try to
grab the device lock, but can't, because PIPEWIRE_OpenDevice is holding it and
waiting for this i/o callback to finish...hence, a deadlock.

So now, if the device is still opening, output callbacks will write silence
and input callbacks will just flush the buffer, without calling the main
iterate function, and thus avoid obtaining the lock.
2024-11-12 15:18:41 -05:00
.github ci: add linux-powerpc to test matrix 2024-11-10 14:20:18 +00:00
VisualC GPU: Remove D3D11 backend and allow D3D12 to ingest DXBC (#11456) 2024-11-12 10:55:21 -08:00
VisualC-GDK GPU: Remove D3D11 backend and allow D3D12 to ingest DXBC (#11456) 2024-11-12 10:55:21 -08:00
Xcode xcode+cmake: use SDL3.framework folder as IMPORTED_LOCATION 2024-11-02 22:22:35 +01:00
android-project Fixed Java exception if mConnection is null 2024-11-07 11:54:09 -08:00
build-scripts create-release.py: use head of git ref as default commit 2024-11-02 04:20:32 +01:00
cmake Allow in-tree build 2024-10-30 00:04:17 +01:00
docs SDL_GetClosestFullscreenDisplayMode(): Rename parameter `mode` to `closest` 2024-11-03 21:03:44 -08:00
examples PSP: Fix building examples in parallel 2024-11-01 09:55:20 -07:00
include GPU: Remove D3D11 backend and allow D3D12 to ingest DXBC (#11456) 2024-11-12 10:55:21 -08:00
src pipewire: i/o callbacks should avoid higher-level iteration during device open. 2024-11-12 15:18:41 -05:00
test testautomation keyboard: use `space` instead of `a` 2024-11-08 07:01:50 -08:00
wayland-protocols wayland: Remove kde_output_order_v1 support 2024-10-19 11:16:30 -04:00
.clang-format Add 'wl_list_for_each_safe' to the clang-format macro list 2024-03-14 10:22:23 -04:00
.clang-tidy Fix size of memcpy in SDL_AudioDeviceFormatChangedAlreadyLocked 2023-08-05 14:14:45 -04:00
.editorconfig .editorconfig: Remove excess apostrophe at *.cocci 2024-06-16 09:18:17 -07:00
.gitignore Allow in-tree build 2024-10-30 00:04:17 +01:00
.wikiheaders-options .wikiheader-options: Treat SDL int types (Uint64, etc) as API prefixes. 2024-11-01 23:47:32 -04:00
Android.mk Add SDL_Process subsystem 2024-09-13 15:19:32 -07:00
BUGS.txt Replaced \r\n with \n in SDL root files 2024-10-05 18:15:02 -07:00
CMakeLists.txt cmake: don't use uninitialized SDL_VERSION and use REVISION.txt 2024-11-09 17:03:25 +00:00
CREDITS.md docs: Moved CREDITS and INSTALL to markdown format. 2023-11-29 12:31:27 -05:00
INSTALL.md Updated INSTALL.md 2024-04-10 09:18:42 -04:00
LICENSE.txt Updated copyright for 2024 2024-01-01 13:15:26 -08:00
README-SDL.txt Replaced \r\n with \n in SDL root files 2024-10-05 18:15:02 -07:00
README.md Tweaking documentation for the SDL 3.0 preview release 2024-03-24 06:16:02 -07:00
WhatsNew.txt Replaced \r\n with \n in SDL root files 2024-10-05 18:15:02 -07:00

README.md

Simple DirectMedia Layer (SDL) Version 3.0

https://www.libsdl.org/

Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.

More extensive documentation is available in the docs directory, starting with README.md. If you are migrating to SDL 3.0 from SDL 2.0, the changes are extensively documented in README-migration.md.

Enjoy!

Sam Lantinga (slouken@libsdl.org)