mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-12-25 07:38:54 +00:00
7f408e57eeb3f194bd7ffaecfc08e1560f2ddc87
All devices are in a single hash, whether playback or capture, or physical or logical. Lookups are keyed on device ID and map to either `SDL_AudioDevice *` for physical devices or `SDL_LogicalAudioDevice *` for logical devices (as an implementation detail, you can determine which object type you have by checking a specific bit in the device ID). This simplifies a bunch of code, makes some cases significantly more efficient, and solves the problem of having to lock each physical device while the device list rwlock is held to find logical devices by ID. Device IDs hash perfectly evenly, too, being incrementing integers.
Simple DirectMedia Layer (SDL) Version 3.0
Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. 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)
Languages
C
86.4%
C++
5.8%
Objective-C
3.4%
CMake
1.6%
Perl
0.8%
Other
1.7%