|
978df1ad
|
2016-08-06T03:39:15
|
|
disk audio: Implemented "capture" support, cleaned up some things.
|
|
73153901
|
2016-08-06T02:47:27
|
|
audio: Implemented buffer queueing for capture devices (SDL_DequeueAudio()).
|
|
e7347a40
|
2016-08-06T02:27:55
|
|
audio: SDL_ClearQueuedAudio() should free everything but two packets.
Otherwise, if you had a massive, one-time queue buildup, the memory from that
remains allocated until you close the device. Also, if you are just using a
reasonable amount of space, this would previously cause you to reallocate it
over and over instead of keeping a little bit of memory around.
|
|
9b2a59ef
|
2016-08-05T02:04:48
|
|
audio: Changed OnlyHasDefaultInputDevice to OnlyHasDefaultCaptureDevice.
|
|
9b647727
|
2016-08-05T01:44:41
|
|
audio: Clean up some CloseDevice() interface details.
- It's now always called if device->hidden isn't NULL, even if OpenDevice()
failed halfway through. This lets implementation code not have to clean up
itself on every possible failure point; just return an error and SDL will
handle it for you.
- Implementations can assume this->hidden != NULL and not check for it.
- implementations don't have to set this->hidden = NULL when done, because
the caller is always about to free(this).
- Don't reset other fields that are in a block of memory about to be free()'d.
- Implementations all now free things like internal mix buffers last, after
closing devices and such, to guarantee they definitely aren't in use anymore
at the point of deallocation.
|
|
979de761
|
2016-08-05T01:44:15
|
|
audio: Removed internal SDL_audiomem.h and macros.
I think this was important for SDL 1.2 because some targets needed
special device memory for DMA buffers or locked memory buffers for use in
hardware interrupts or something, but since it just defines to SDL_malloc
and SDL_free now, I took it out for clarity's sake.
|
|
6bd1ec6b
|
2016-08-02T15:04:33
|
|
audio: a little more robustness in the capture device's thread.
|
|
0d0f7080
|
2016-08-02T13:50:21
|
|
audio: implemented higher level infrastructure for running capture devices.
|
|
6d5c9c1e
|
2016-08-02T13:48:52
|
|
audio: Made some SDL_AudioDevice fields atomic.
This makes sure they're properly communicated to the audio threads.
|
|
67f2538c
|
2016-08-01T13:32:27
|
|
audio: changed some internal ints to be SDL_bools.
|
|
c754662d
|
2016-08-01T11:45:45
|
|
audio: Make SDL_AudioDevice::shutdown an atomic value.
Just to make sure this get communicated to the audio thread properly.
|
|
ee099750
|
2016-08-01T00:18:56
|
|
audio: Initial bits to enable audio capture support.
|
|
c61675dc
|
2016-04-12T16:45:10
|
|
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.
|
|
42065e78
|
2016-01-02T10:10:34
|
|
Updated copyright to 2016
|
|
0e45984f
|
2015-06-21T17:33:46
|
|
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().
|