Thu, 24 May 2018 07:30:24 -0700Fixed bug 4169 - Crash due to audio session observer race condition
Sam Lantinga <slouken@libsdl.org> [Thu, 24 May 2018 07:30:24 -0700] rev 12001
Fixed bug 4169 - Crash due to audio session observer race condition

Jona

The following explains why this bug was happening:
This crash was caused because the audio session was being set as active [session setActive:YES error:&err] when the audio device was actually being CLOSED. Certain cases the audio session being set to active would fail and the method would return right away. Because of the way the error was handled we never removed the SDLInterruptionListener thus leaking it. Later when an interruption was received the THIS_ object would contain a pointer to an already released device causing the crash.

The fix:
When only one device remained open and it was being closed we needed to set the audio session as NOT active and completely ignore the returned error to successfully release the SDLInterruptionListener. I think the user assumed that the open_playback_devices and open_capture_devices would equal 0 when all of them where closed but the truth is that at the end of the closing process that the open devices count is decremented.

Wed, 23 May 2018 17:15:37 -0700Added support for the NVIDIA SHIELD handheld gaming device
Sam Lantinga <slouken@libsdl.org> [Wed, 23 May 2018 17:15:37 -0700] rev 12000
Added support for the NVIDIA SHIELD handheld gaming device

Wed, 23 May 2018 17:15:35 -0700Better fix for axis sorting with some Android controllers
Sam Lantinga <slouken@libsdl.org> [Wed, 23 May 2018 17:15:35 -0700] rev 11999
Better fix for axis sorting with some Android controllers

Wed, 23 May 2018 17:15:33 -0700Actually left trigger is motion axis 17 and right trigger is motion axis 18, which will map in that order to SDL axes.
Sam Lantinga <slouken@libsdl.org> [Wed, 23 May 2018 17:15:33 -0700] rev 11998
Actually left trigger is motion axis 17 and right trigger is motion axis 18, which will map in that order to SDL axes.

Wed, 23 May 2018 16:00:21 -0700Added additional supported Android controllers
Sam Lantinga <slouken@libsdl.org> [Wed, 23 May 2018 16:00:21 -0700] rev 11997
Added additional supported Android controllers

Wed, 23 May 2018 16:00:19 -0700Fixed default mapping for Android controller triggers (they were reversed)
Sam Lantinga <slouken@libsdl.org> [Wed, 23 May 2018 16:00:19 -0700] rev 11996
Fixed default mapping for Android controller triggers (they were reversed)

Mon, 21 May 2018 12:05:17 -0400audio: Needed to fix two more instances for Visual Studio.
Ryan C. Gordon <icculus@icculus.org> [Mon, 21 May 2018 12:05:17 -0400] rev 11995
audio: Needed to fix two more instances for Visual Studio.

Mon, 21 May 2018 12:00:21 -0400thread: fixed compiler warnings on non-Linux systems that use pthread.
Ryan C. Gordon <icculus@icculus.org> [Mon, 21 May 2018 12:00:21 -0400] rev 11994
thread: fixed compiler warnings on non-Linux systems that use pthread.

(static function rtkit_setpriority was unused, moved it in with rest of
__LINUX__ section.)

Mon, 21 May 2018 11:54:09 -0400audio: Patched to compile on Visual Studio.
Ryan C. Gordon <icculus@icculus.org> [Mon, 21 May 2018 11:54:09 -0400] rev 11993
audio: Patched to compile on Visual Studio.

(It gets upset at the -2147483648, thinking this should be an unsigned value
because 2147483648 is too large for an int32, so the negative sign upsets the
compiler.)

Wed, 16 May 2018 02:03:06 -0400audio: Added ARM NEON versions of audio converters.
Ryan C. Gordon <icculus@icculus.org> [Wed, 16 May 2018 02:03:06 -0400] rev 11992
audio: Added ARM NEON versions of audio converters.

These are _much_ faster than the scalar equivalents on the Raspberry Pi that
I tested on. Often 3x to 4x as fast!