Ryan C. Gordon <icculus@icculus.org> [Sun, 28 Aug 2016 13:36:13 -0400] rev 10286
Merge audio capture work back into the mainline.
Ryan C. Gordon <icculus@icculus.org> [Sun, 28 Aug 2016 11:56:11 -0400] rev 10285
Patched to compile.
Ryan C. Gordon <icculus@icculus.org> [Sun, 28 Aug 2016 08:50:26 -0700] rev 10284
alsa: Implemented hotplug support, cleaned up device names.
Ryan C. Gordon <icculus@icculus.org> [Fri, 26 Aug 2016 15:46:29 -0400] rev 10283
ios: patched to compile.
Ryan C. Gordon <icculus@icculus.org> [Mon, 15 Aug 2016 10:09:41 -0400] rev 10282
alsa: don't enumerate virtual devices, just physical hardware.
Sam Lantinga <slouken@libsdl.org> [Fri, 26 Aug 2016 12:18:08 -0700] rev 10281
Added SDL_PrivateJoystickAdded() and SDL_PrivateJoystickRemoved()
Updated the removal code to iterate over all joystick add messages instead of just the first one.
Sam Lantinga <slouken@libsdl.org> [Fri, 26 Aug 2016 11:16:44 -0700] rev 10280
commit 1170112da3776fdb06425f62d57b63144c33dc51
Author: James Zipperer <james.zipperer@synapse.com>
Date: Sun Aug 21 01:19:19 2016 -0700
bugfix for controller / joystick add / remove being in the event queue at the same time
Philipp Wiesemann <philipp.wiesemann@arcor.de> [Thu, 25 Aug 2016 22:31:44 +0200] rev 10279
Emscripten: Fixed crash if closing removed joystick (thanks, Sylvain!).
Philipp Wiesemann <philipp.wiesemann@arcor.de> [Thu, 25 Aug 2016 22:31:33 +0200] rev 10278
Android: Fixed crash if closing removed joystick (thanks, Sylvain!).
Fixes fix for Bugzilla #3408.
David Ludwig <dludwig@pobox.com> [Sat, 20 Aug 2016 13:46:45 -0400] rev 10277
WinRT: fixed bug where Win10 GameBar, when shown + hidden, might not restore a cursor's hidden state
The repro steps were this:
1. run an sdl2 winrt/uwp app, on Win10, v10.0.10586.0 or higher
2. hide the cursor, via a call to SDL_ShowCursor(0)
3. make the Win10 game bar appear, by pressing the Windows + G hotkey
4. observe that the mouse cursor appears, in order to interact with the
game bar (this is expected behavior)
5. make the Win10 game bar disappear, either by pressing the Windows + G hotkey
again, or clicking somewhere in the app
EXPECTED RESULT: cursor disappears, as game bar disappears
ACTUAL RESULT: cursor didn't always disappear
Philipp Wiesemann <philipp.wiesemann@arcor.de> [Wed, 17 Aug 2016 21:05:00 +0200] rev 10276
Added link in header comment.
Philipp Wiesemann <philipp.wiesemann@arcor.de> [Wed, 17 Aug 2016 21:04:50 +0200] rev 10275
Emscripten: Fixed opening previously closed joystick.
Philipp Wiesemann <philipp.wiesemann@arcor.de> [Wed, 17 Aug 2016 21:04:32 +0200] rev 10274
Android: Fixed opening previously closed joystick (thanks, Sylvain!).
Fixes Bugzilla #3408.
Sam Lantinga <slouken@libsdl.org> [Mon, 08 Aug 2016 12:17:53 -0700] rev 10273
[ OSX ] enables Xbox One S Guide (System Main Menu) button detection. the one possible impact is that since button identifiers on OSX are just their sequence in the HID report descriptor we might change the button order, and any existing/saved mappings may get their order changed.
Mikkel Krautz <mikkel@krautz.dk> [Sat, 06 Aug 2016 15:09:20 +0200] rev 10272
Add Xbox One controller GUIDs to the XInput filter in the DirectInput joystick driver.
The Windows 10 Anniversary Update (1607) breaks the method uses that SDL uses to
detect XInput devices. That is, on Windows 10 Anniversary Update, it is no longer
possible to query RAWINPUT for HID devices, and check for "IG_" in the device name.
Presumably, this will be fixed in the future.
This patch works around the issue by adding the Xbox One controller series to the
well-known device list.
This skips the more expensive RAWINPUT check for those devices, and causes them to
be detected as XInput devices once again.
Philipp Wiesemann <philipp.wiesemann@arcor.de> [Wed, 03 Aug 2016 22:39:44 +0200] rev 10271
Fixed two old identifiers in header comments.
Philipp Wiesemann <philipp.wiesemann@arcor.de> [Wed, 03 Aug 2016 22:32:20 +0200] rev 10270
PSP: Fixed memory leak if video init failed.
Philipp Wiesemann <philipp.wiesemann@arcor.de> [Wed, 03 Aug 2016 22:32:02 +0200] rev 10269
WinRT: Removed not needed SDL_zerop() after SDL_calloc().
SDL_calloc() already sets memory to zero.
Philipp Wiesemann <philipp.wiesemann@arcor.de> [Wed, 03 Aug 2016 22:30:31 +0200] rev 10268
Added brackets to function names in header comments so that doxygen links them.
Ryan C. Gordon <icculus@icculus.org> [Fri, 12 Aug 2016 22:50:48 -0400] rev 10267
testaudiocapture: ask for way more output samples.
Fixes Emscripten builds on Chrome for Android.
Ryan C. Gordon <icculus@icculus.org> [Fri, 12 Aug 2016 19:59:00 -0400] rev 10266
emscripten: send fake mouse events for touches, like other targets do.
(This really should be handled at the higher level and not in the individual
targets, but this fixes the immediate bug.)
Ryan C. Gordon <icculus@icculus.org> [Fri, 12 Aug 2016 00:03:58 -0400] rev 10265
emscripten audio: check for an "undefined" object, remove some console.log().
Ryan C. Gordon <icculus@icculus.org> [Thu, 11 Aug 2016 22:26:58 -0400] rev 10264
audio: Cleaned up "extern AudioBootStrap" list.
Ryan C. Gordon <icculus@icculus.org> [Thu, 11 Aug 2016 22:22:09 -0400] rev 10263
audio: Renamed some internal driver symbols in various targets.
Ryan C. Gordon <icculus@icculus.org> [Thu, 11 Aug 2016 22:04:49 -0400] rev 10262
android: implement audio capture support.
Ryan C. Gordon <icculus@icculus.org> [Wed, 10 Aug 2016 16:00:16 -0400] rev 10261
directsound: Implemented audio capture support.
Ryan C. Gordon <icculus@icculus.org> [Wed, 10 Aug 2016 15:34:24 -0400] rev 10260
windows: directsound should also map audio device GUIDs to proper names.
Moved this code from winmm into core so both can use it.
DirectSound (at least on Win10) also returns truncated device names, even
though it's handed in as a string pointer and not a static-sized buffer. :/
Ryan C. Gordon <icculus@icculus.org> [Wed, 10 Aug 2016 14:14:14 -0400] rev 10259
audio: Patched to compile on C89 compilers.
Ryan C. Gordon <icculus@icculus.org> [Wed, 10 Aug 2016 14:13:48 -0400] rev 10258
emscripten audio: fix timer on capture's silence callback.
Ryan C. Gordon <icculus@icculus.org> [Tue, 09 Aug 2016 19:35:46 -0400] rev 10257
directsound: recalculate audiospec size before creating secondary buffer.
I think this was a bug before? Maybe I'm misunderstanding this, but it looks
like it was working because we allocate room for 8 chunks...
Ryan C. Gordon <icculus@icculus.org> [Tue, 09 Aug 2016 16:58:32 -0400] rev 10256
emscripten audio: Added audio capture support.
Ryan C. Gordon <icculus@icculus.org> [Tue, 09 Aug 2016 16:58:06 -0400] rev 10255
Added a FIXME.
Ryan C. Gordon <icculus@icculus.org> [Tue, 09 Aug 2016 16:57:49 -0400] rev 10254
testaudiocapture: open capture device to same spec as output device.
...since our resampler is still terrible (sorry!).
Ryan C. Gordon <icculus@icculus.org> [Tue, 09 Aug 2016 00:44:59 -0400] rev 10253
audio: Only allocate fake_stream if we're using the standard audio threads.
Ryan C. Gordon <icculus@icculus.org> [Tue, 09 Aug 2016 00:44:05 -0400] rev 10252
audio: simplifed check for internal callback.
Easier to check when it's NULL instead of a list of known internal functions.
Ryan C. Gordon <icculus@icculus.org> [Sun, 07 Aug 2016 02:43:20 -0400] rev 10251
dsp: Implemented audio capture support.
Ryan C. Gordon <icculus@icculus.org> [Sun, 07 Aug 2016 01:48:38 -0400] rev 10250
winmm: Try to get full device names from the Windows Registry.
Ryan C. Gordon <icculus@icculus.org> [Sat, 06 Aug 2016 23:05:02 -0400] rev 10249
winmm: Added a FIXME for truncated device names.
Ryan C. Gordon <icculus@icculus.org> [Sat, 06 Aug 2016 19:34:32 -0400] rev 10248
winmm: Implemented audio capture support.
Ryan C. Gordon <icculus@icculus.org> [Sat, 06 Aug 2016 03:45:45 -0400] rev 10247
disk audio: Make default i/o delay match what device is meant to be running at.
Ryan C. Gordon <icculus@icculus.org> [Sat, 06 Aug 2016 03:39:15 -0400] rev 10246
disk audio: Implemented "capture" support, cleaned up some things.
Ryan C. Gordon <icculus@icculus.org> [Sat, 06 Aug 2016 02:48:00 -0400] rev 10245
testaudiocapture: use capture device buffer queueing, for better test coverage.
Ryan C. Gordon <icculus@icculus.org> [Sat, 06 Aug 2016 02:47:27 -0400] rev 10244
audio: Implemented buffer queueing for capture devices (SDL_DequeueAudio()).
Ryan C. Gordon <icculus@icculus.org> [Sat, 06 Aug 2016 02:45:51 -0400] rev 10243
testaudiocapture: don't use fullscreen for the window.
Ryan C. Gordon <icculus@icculus.org> [Sat, 06 Aug 2016 02:27:55 -0400] rev 10242
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.
Ryan C. Gordon <icculus@icculus.org> [Fri, 05 Aug 2016 04:23:32 -0400] rev 10241
nas: initial shot at audio capture support. Compiles, but not tested.
Ryan C. Gordon <icculus@icculus.org> [Fri, 05 Aug 2016 02:04:48 -0400] rev 10240
audio: Changed OnlyHasDefaultInputDevice to OnlyHasDefaultCaptureDevice.
Ryan C. Gordon <icculus@icculus.org> [Fri, 05 Aug 2016 01:59:06 -0400] rev 10239
audio: changed some SDL_memset() calls to SDL_zero(), other minor corrections.
Ryan C. Gordon <icculus@icculus.org> [Fri, 05 Aug 2016 01:44:15 -0400] rev 10238
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.
Ryan C. Gordon <icculus@icculus.org> [Fri, 05 Aug 2016 01:44:41 -0400] rev 10237
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.
Ryan C. Gordon <icculus@icculus.org> [Thu, 04 Aug 2016 11:51:17 -0400] rev 10236
arts: backed out audio capture support.
Turns out that libartsc isn't thread-safe, so if we run a capture and playback
device at the same time, it often crashes in arts's internal event loop.
We could throw mutexes around the read/write calls, but these are meant to
block, so one device could cause serious latency and stutter in the other.
Since this audio target isn't in high-demand (Ubuntu hasn't offered a libartsc
package for years), I'm just backing out the capture support. If someone needs
it, they can pull it out of the revision history.
Ryan C. Gordon <icculus@icculus.org> [Wed, 03 Aug 2016 16:54:10 -0400] rev 10235
dummy audio: Patched to compile.
Ryan C. Gordon <icculus@icculus.org> [Wed, 03 Aug 2016 02:18:47 -0400] rev 10234
dummy audio: Implemented dummy audio capture support. :)
Ryan C. Gordon <icculus@icculus.org> [Wed, 03 Aug 2016 01:57:41 -0400] rev 10233
bsdaudio: first shot at audio capture support!
(untested, uncompiled...for now.)
Ryan C. Gordon <icculus@icculus.org> [Wed, 03 Aug 2016 01:56:58 -0400] rev 10232
bsdaudio: this appears to be using the wrong variable...?
(We probably never noticed because this is meant to block until it fully
writes a buffer, and would only trigger an issue if we had a short write
that wasn't otherwise an error condition.)
Ryan C. Gordon <icculus@icculus.org> [Wed, 03 Aug 2016 01:53:59 -0400] rev 10231
arts: Patched to (maybe) compile.
Ryan C. Gordon <icculus@icculus.org> [Wed, 03 Aug 2016 01:01:44 -0400] rev 10230
arts: implemented audio capture support.
(completely untested! Not even compiled!!).
Ryan C. Gordon <icculus@icculus.org> [Wed, 03 Aug 2016 01:00:30 -0400] rev 10229
alsa: capture devices don't need a mixbuf allocated.
Ryan C. Gordon <icculus@icculus.org> [Wed, 03 Aug 2016 00:31:08 -0400] rev 10228
testaudiocapture: made test app interactive.
(hold down mouse/finger to record, then it plays back what it heard. Repeat.)
Ryan C. Gordon <icculus@icculus.org> [Wed, 03 Aug 2016 00:30:12 -0400] rev 10227
coreaudio: Implemented audio capture for iOS.