Hash :
c31a4024
Author :
Date :
2021-12-17T19:04:39
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
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)