Commit graph

8 commits

Author SHA1 Message Date
Ryan C. Gordon 0d0f7080a3 audio: implemented higher level infrastructure for running capture devices. 2016-08-02 13:50:21 -04:00
Ryan C. Gordon 6d5c9c1e67 audio: Made some SDL_AudioDevice fields atomic.
This makes sure they're properly communicated to the audio threads.
2016-08-02 13:48:52 -04:00
Ryan C. Gordon 67f2538c41 audio: changed some internal ints to be SDL_bools. 2016-08-01 13:32:27 -04:00
Ryan C. Gordon c754662dda audio: Make SDL_AudioDevice::shutdown an atomic value.
Just to make sure this get communicated to the audio thread properly.
2016-08-01 11:45:45 -04:00
Ryan C. Gordon ee09975007 audio: Initial bits to enable audio capture support. 2016-08-01 00:18:56 -04:00
Ryan C. Gordon c61675dc5d threads: Move SDL's own thread creation to a new internal API.
This allows us to set an explicit stack size (overriding the system default
and the global hint an app might have set), and remove all the macro salsa
for dealing with _beginthreadex and such, as internal threads always set those
to NULL anyhow.

I've taken some guesses on reasonable (and tiny!) stack sizes for our
internal threads, but some of these might turn out to be too small in
practice and need an increase. Most of them are simple functions, though.
2016-04-12 16:45:10 -04:00
Sam Lantinga 42065e785d Updated copyright to 2016 2016-01-02 10:10:34 -08:00
Philipp Wiesemann 0e45984fa0 Fixed crash if initialization of EGL failed but was tried again later.
The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly
uninitialized data structure if loading the library first failed. A later try to
use EGL then skipped initialization and assumed it was previously successful
because the data structure now already existed. This led to at least one crash
in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was
dereferenced to make a call to eglBindAPI().
2015-06-21 17:33:46 +02:00