Thu, 02 Apr 2020 12:27:29 -0700Fixed setting the "playandrecord" audio hint on Apple TV
Sam Lantinga [Thu, 02 Apr 2020 12:27:29 -0700] rev 13686
Fixed setting the "playandrecord" audio hint on Apple TV

The Apple TV doesn't have record capability by default, so activating the audio session with AVAudioSessionCategoryPlayAndRecord fails.

Wed, 01 Apr 2020 16:39:05 -0700Updated thread priorities for Apple operating systems
Sam Lantinga [Wed, 01 Apr 2020 16:39:05 -0700] rev 13685
Updated thread priorities for Apple operating systems

Wed, 01 Apr 2020 13:43:53 -0400configure: Remove wayland-protocols check from configure and CMake scripts.
Ryan C. Gordon [Wed, 01 Apr 2020 13:43:53 -0400] rev 13684
configure: Remove wayland-protocols check from configure and CMake scripts.

We ship these with SDL now, don't need the system versions installed.

Tue, 17 Mar 2020 08:46:34 +0100Fix shared library suffix on OSX
Flamefire [Tue, 17 Mar 2020 08:46:34 +0100] rev 13683
Fix shared library suffix on OSX

Mon, 30 Mar 2020 14:26:21 -0700SDL: plumb previously unused digital trigger bits for PS4 controllers. Victrix fight stick only sets these bits and doesn't send the analog values
Sam Lantinga [Mon, 30 Mar 2020 14:26:21 -0700] rev 13682
SDL: plumb previously unused digital trigger bits for PS4 controllers. Victrix fight stick only sets these bits and doesn't send the analog values

CR: SamL

Mon, 30 Mar 2020 14:26:15 -0700Enable thread-safety features in libdbus
Sam Lantinga [Mon, 30 Mar 2020 14:26:15 -0700] rev 13681
Enable thread-safety features in libdbus

There are multiple SDL APIs that internally sink into dbus calls, e.g. battery
status, thread priority. If those calls happen in different threads simultaneously
it can result in dbus crashes.

To abide by dbus's multithreading guidelines we must call dbus_threads_init_default()
to enable dbus's internal locking mechanisms:
https://dbus.freedesktop.org/doc/api/html/group__DBusThreads.html#gac7b8a7001befc3eaa8c6b043151008dc

Additionally, access to a DBusMessage must be synchronized between threads.
SDL was already abiding that guideline as the DBusMessage structs aren't shared.

The following email from the dbus mailing list hints that arbitrating access to
the DBusConnection on the SDL may also be required:
https://lists.freedesktop.org/archives/dbus/2017-September/017306.html

Mon, 30 Mar 2020 14:26:10 -0700Fix incorrectly terminated MakeThreadHighPriority dbus message
Sam Lantinga [Mon, 30 Mar 2020 14:26:10 -0700] rev 13680
Fix incorrectly terminated MakeThreadHighPriority dbus message

Currently the message is double terminated, which results in SDL_DBus_CallMethodInternal()
incorrectly assuming that the other party is always returning true.

I'm not super familiar with dbus, so I'm not sure if this could also be the cause of this bug:
https://github.com/ValveSoftware/steam-for-linux/issues/6901

Sat, 28 Mar 2020 15:43:55 -0400Fixed Bug 4883, redux - connect SDL_GetDisplayDPI to UIKit_GetDisplayDPI
David Ludwig [Sat, 28 Mar 2020 15:43:55 -0400] rev 13679
Fixed Bug 4883, redux - connect SDL_GetDisplayDPI to UIKit_GetDisplayDPI

SDL_GetDisplayDPI was failing on iOS, as UIKit_GetDisplayDPI was
not getting assigned to SDL's internal field in SDL_VideoDevice:
GetDisplayDPI.

Sun, 29 Mar 2020 01:54:00 -0400coreaudio: The default SDL audio device now tracks the system output default.
Ryan C. Gordon [Sun, 29 Mar 2020 01:54:00 -0400] rev 13678
coreaudio: The default SDL audio device now tracks the system output default.

So if you go into System Preferences on a MacBook and toggle between a pair of
connected bluetooth headphones and built-in internal speakers, SDL will
switch the device it is playing sound through, to match this setting, on the
fly.

Likewise if the default output device is a USB thing and is unplugged; as the
default device changes at the system level, SDL will pick this up and carry
on with the new default. This is different from our unplug detection for
specific devices, as in those cases we want to send the app a disconnect
notification, instead of migrating transparently as we now do for default
devices.

Note that this should also work for capture devices; if the device changes,
SDL will start recording from the new default.

Fixes Bugzilla #4851.

Thu, 26 Mar 2020 22:14:59 -0400thread: Put all important SDL_CreateThread internal data into SDL_Thread.
Ryan C. Gordon [Thu, 26 Mar 2020 22:14:59 -0400] rev 13677
thread: Put all important SDL_CreateThread internal data into SDL_Thread.

This avoids the need to malloc something extra, use a semaphore, etc, and
fixes Emscripten with pthreads support, which might not spin up a web worker
until after SDL_CreateThread returns and thus can't wait on a semaphore at
this point in any case.

Fixes Bugzilla #5064.