Simple Directmedia Layer
Go to file
Sam Lantinga c31a40246d Fix audio memory leaks due to invalid init (thanks Janiszewski!)
SDL_Init(SDL_INIT_AUDIO) did not take into account that functions like
SDL_AddAudioDevice do register events, which will need final cleanup
and only gets fired when events were actually initialised.

Sample call stack of a malloc missing its free (Linux + PA):
    SDL_malloc_REAL (SDL_malloc.c:5328)
    SDL_AddEvent (SDL_events.c:445)
    SDL_PeepEvents_REAL (SDL_events.c:531)
    SDL_PushEvent_REAL (SDL_events.c:762)
    SDL_AddAudioDevice (SDL_audio.c:443)
    SourceInfoCallback (SDL_pulseaudio.c:681)
    context_get_source_info_callback (introspect.c:534)
    run_action (pdispatch.c:288)
    pa_pdispatch_run (pdispatch.c:341)
    pstream_packet_callback (context.c:349)
    do_read (pstream.c:1012)

Fixes https://github.com/libsdl-org/SDL/issues/3005
2021-12-17 19:04:39 -08:00
.github Add automated build for PSP 2021-12-07 14:03:00 +03:00
VisualC removed windows winmm joystick driver 2021-11-23 17:04:40 +03:00
VisualC-WinRT Use WGI instead of XInput for Windows 10 UWP apps 2021-11-27 10:24:32 -08:00
Xcode Updated iOS build instructions 2021-11-30 12:19:26 -08:00
Xcode-iOS Updated iOS build instructions 2021-11-30 12:19:26 -08:00
acinclude libtool upgrade to 2.4.6 - 18/n: SDL customizations 2021-12-01 01:55:40 +03:00
android-project Fixed bug #4982 - Failed to open audio_device. Android 5.1 should be ok. 2021-11-20 19:40:26 +01:00
android-project-ant Added the old ant Android build project structure 2017-10-28 12:11:25 -07:00
build-scripts libtool upgrade to 2.4.6 - 18/n: SDL customizations 2021-12-01 01:55:40 +03:00
cmake autotools, cmake: tighten Xfixes check && explicitly test BarrierEventID 2021-12-06 20:37:52 +03:00
debian Updated to version 2.0.19 for development 2021-11-30 09:58:21 -08:00
docs Added a step necessary for running on a real device 2021-11-30 21:25:40 -08:00
include Document the packed integer formats SDL_Color is bit-compatible with. 2021-12-14 12:19:16 -08:00
src Fix audio memory leaks due to invalid init (thanks Janiszewski!) 2021-12-17 19:04:39 -08:00
test regenerated configure scripts. 2021-12-01 01:56:50 +03:00
visualtest visualtest: use SDL_malloc 2021-11-22 08:38:46 -08:00
wayland-protocols wayland: Add support for text-input-unstable-v3 2021-07-29 14:43:46 -07:00
.gitignore testsurround: Add surround sound channel tester 2021-10-30 21:26:03 -07:00
Android.mk mark Android.mk as non-executable 2021-11-12 12:55:28 +03:00
BUGS.txt Cleaned up a few more Bugzilla mentions. 2021-02-12 14:46:49 -05:00
CMakeLists.txt Vita: disable arm asm blitters and add missing pvr dep 2021-12-15 01:32:56 +03:00
CREDITS.txt Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
INSTALL.txt development list has moved to forum 2021-06-01 16:49:13 -07:00
LICENSE.txt license: Fixing the license file to be correctly scooped up by Github automation 2021-02-17 13:08:13 -05:00
Makefile.in Install SDL_hidapi.h 2021-11-08 20:35:56 -08:00
Makefile.minimal build libSDL2_test too with Makefile.minimal 2021-11-14 01:10:32 +03:00
Makefile.os2 more updates to os2 makefile for libiconv 2021-12-08 23:51:56 +03:00
Makefile.pandora more fixes to standalone makefiles. 2021-11-13 21:56:20 +03:00
Makefile.psp made Makefile.psp to build libSDL2main.a 2021-12-07 19:32:56 +03:00
Makefile.wiz more fixes to standalone makefiles. 2021-11-13 21:56:20 +03:00
README-SDL.txt More HTTPS changes in the documentation. 2017-02-16 16:52:03 -05:00
README.md Update and rename README.txt to README.md 2021-03-20 18:46:37 -04:00
SDL2.spec.in license: Fixed references to COPYING.txt that are now LICENSE.txt. 2021-02-18 11:07:26 -05:00
SDL2Config.cmake Fix Debug-only builds with CMake 2021-10-05 18:45:53 -07:00
TODO.txt Fixed up legacy MoinMoin URLs at wiki.libsdl.org 2021-04-01 12:20:33 -04:00
WhatsNew.txt Update 2.0.18 release notes with CMake prefix change 2021-12-03 09:35:47 -08:00
autogen.sh bump minimum required autoconf version and revise autogen.sh 2021-04-14 23:20:40 +03:00
cmake_uninstall.cmake.in Fixed bug 3867 - Can't find install_manifest.txt when running 'uninstall' target 2017-10-12 08:44:45 -07:00
configure autotools, cmake: tighten Xfixes check && explicitly test BarrierEventID 2021-12-06 20:37:52 +03:00
configure.ac autotools, cmake: tighten Xfixes check && explicitly test BarrierEventID 2021-12-06 20:37:52 +03:00
sdl2-config-version.cmake.in cmake: Forgot to add this file to revision control. 2020-02-25 14:52:03 -05:00
sdl2-config.cmake.in sdl2-config.cmake.in: Make SDL2::SDL2 work with MinGW, fixes #3665 2021-07-08 14:55:33 -07:00
sdl2-config.in build: Don't duplicate Libs in Libs.private in pkg-config file 2020-04-12 13:24:36 +01:00
sdl2.m4 acinclude & sdl2.m4 updates: 2020-12-22 17:00:28 +03:00
sdl2.pc.in rename PKG_CONFIG_LIBS_PRIV to PKGCONFIG_LIBS_PRIV 2021-04-14 21:40:50 +03:00

README.md

Simple DirectMedia Layer (SDL) Version 2.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 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

Enjoy!

Sam Lantinga (slouken@libsdl.org)