Sat, 06 Aug 2016 03:39:15 -0400disk audio: Implemented "capture" support, cleaned up some things.
Ryan C. Gordon [Sat, 06 Aug 2016 03:39:15 -0400] rev 10264
disk audio: Implemented "capture" support, cleaned up some things.

Sat, 06 Aug 2016 02:48:00 -0400testaudiocapture: use capture device buffer queueing, for better test coverage.
Ryan C. Gordon [Sat, 06 Aug 2016 02:48:00 -0400] rev 10263
testaudiocapture: use capture device buffer queueing, for better test coverage.

Sat, 06 Aug 2016 02:47:27 -0400audio: Implemented buffer queueing for capture devices (SDL_DequeueAudio()).
Ryan C. Gordon [Sat, 06 Aug 2016 02:47:27 -0400] rev 10262
audio: Implemented buffer queueing for capture devices (SDL_DequeueAudio()).

Sat, 06 Aug 2016 02:45:51 -0400testaudiocapture: don't use fullscreen for the window.
Ryan C. Gordon [Sat, 06 Aug 2016 02:45:51 -0400] rev 10261
testaudiocapture: don't use fullscreen for the window.

Sat, 06 Aug 2016 02:27:55 -0400audio: SDL_ClearQueuedAudio() should free everything but two packets.
Ryan C. Gordon [Sat, 06 Aug 2016 02:27:55 -0400] rev 10260
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.

Fri, 05 Aug 2016 04:23:32 -0400nas: initial shot at audio capture support. Compiles, but not tested.
Ryan C. Gordon [Fri, 05 Aug 2016 04:23:32 -0400] rev 10259
nas: initial shot at audio capture support. Compiles, but not tested.

Fri, 05 Aug 2016 02:04:48 -0400audio: Changed OnlyHasDefaultInputDevice to OnlyHasDefaultCaptureDevice.
Ryan C. Gordon [Fri, 05 Aug 2016 02:04:48 -0400] rev 10258
audio: Changed OnlyHasDefaultInputDevice to OnlyHasDefaultCaptureDevice.

Fri, 05 Aug 2016 01:59:06 -0400audio: changed some SDL_memset() calls to SDL_zero(), other minor corrections.
Ryan C. Gordon [Fri, 05 Aug 2016 01:59:06 -0400] rev 10257
audio: changed some SDL_memset() calls to SDL_zero(), other minor corrections.

Fri, 05 Aug 2016 01:44:15 -0400audio: Removed internal SDL_audiomem.h and macros.
Ryan C. Gordon [Fri, 05 Aug 2016 01:44:15 -0400] rev 10256
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.

Fri, 05 Aug 2016 01:44:41 -0400audio: Clean up some CloseDevice() interface details.
Ryan C. Gordon [Fri, 05 Aug 2016 01:44:41 -0400] rev 10255
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.