From 12a3ed99752250cf6b628e8f858832300ed45daf Mon Sep 17 00:00:00 2001
From: Jeremy Soller <jeremy@system76.com>
Date: Sat, 29 Dec 2018 19:19:41 -0700
Subject: [PATCH] Update redox audio patch

---
 recipes/sdl/redox.patch | 343 ++--------------------------------------
 1 file changed, 12 insertions(+), 331 deletions(-)

diff --git a/recipes/sdl/redox.patch b/recipes/sdl/redox.patch
index 39da12a02..89bbeebeb 100644
--- a/recipes/sdl/redox.patch
+++ b/recipes/sdl/redox.patch
@@ -101,6 +101,7 @@ diff -ruwN source/configure.in source-new/configure.in
            esac
          fi
          # Set up files for the thread library
+Binary files source/.git/index and source-new/.git/index differ
 diff -ruwN source/include/SDL_config.h.in source-new/include/SDL_config.h.in
 --- source/include/SDL_config.h.in	2012-01-18 23:30:05.000000000 -0700
 +++ source-new/include/SDL_config.h.in	2018-12-29 15:57:00.298520310 -0700
@@ -120,327 +121,10 @@ diff -ruwN source/include/SDL_config.h.in source-new/include/SDL_config.h.in
  #undef SDL_VIDEO_DRIVER_OS2FS
  #undef SDL_VIDEO_DRIVER_PHOTON
  #undef SDL_VIDEO_DRIVER_PICOGUI
-diff -ruwN source/include/SDL_config.h.in.orig source-new/include/SDL_config.h.in.orig
---- source/include/SDL_config.h.in.orig	1969-12-31 17:00:00.000000000 -0700
-+++ source-new/include/SDL_config.h.in.orig	2018-12-29 15:57:00.298520310 -0700
-@@ -0,0 +1,313 @@
-+/*
-+    SDL - Simple DirectMedia Layer
-+    Copyright (C) 1997-2012 Sam Lantinga
-+
-+    This library is free software; you can redistribute it and/or
-+    modify it under the terms of the GNU Lesser General Public
-+    License as published by the Free Software Foundation; either
-+    version 2.1 of the License, or (at your option) any later version.
-+
-+    This library is distributed in the hope that it will be useful,
-+    but WITHOUT ANY WARRANTY; without even the implied warranty of
-+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+    Lesser General Public License for more details.
-+
-+    You should have received a copy of the GNU Lesser General Public
-+    License along with this library; if not, write to the Free Software
-+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-+
-+    Sam Lantinga
-+    slouken@libsdl.org
-+*/
-+
-+#ifndef _SDL_config_h
-+#define _SDL_config_h
-+
-+/* This is a set of defines to configure the SDL features */
-+
-+/* General platform specific identifiers */
-+#include "SDL_platform.h"
-+
-+/* Make sure that this isn't included by Visual C++ */
-+#ifdef _MSC_VER
-+#error You should copy include/SDL_config.h.default to include/SDL_config.h
-+#endif
-+
-+/* C language features */
-+#undef const
-+#undef inline
-+#undef volatile
-+
-+/* C datatypes */
-+#undef size_t
-+#undef int8_t
-+#undef uint8_t
-+#undef int16_t
-+#undef uint16_t
-+#undef int32_t
-+#undef uint32_t
-+#undef int64_t
-+#undef uint64_t
-+#undef uintptr_t
-+#undef SDL_HAS_64BIT_TYPE
-+
-+/* Endianness */
-+#undef SDL_BYTEORDER
-+
-+/* Comment this if you want to build without any C library requirements */
-+#undef HAVE_LIBC
-+#if HAVE_LIBC
-+
-+/* Useful headers */
-+#undef HAVE_ALLOCA_H
-+#undef HAVE_SYS_TYPES_H
-+#undef HAVE_STDIO_H
-+#undef STDC_HEADERS
-+#undef HAVE_STDLIB_H
-+#undef HAVE_STDARG_H
-+#undef HAVE_MALLOC_H
-+#undef HAVE_MEMORY_H
-+#undef HAVE_STRING_H
-+#undef HAVE_STRINGS_H
-+#undef HAVE_INTTYPES_H
-+#undef HAVE_STDINT_H
-+#undef HAVE_CTYPE_H
-+#undef HAVE_MATH_H
-+#undef HAVE_ICONV_H
-+#undef HAVE_SIGNAL_H
-+#undef HAVE_ALTIVEC_H
-+
-+/* C library functions */
-+#undef HAVE_MALLOC
-+#undef HAVE_CALLOC
-+#undef HAVE_REALLOC
-+#undef HAVE_FREE
-+#undef HAVE_ALLOCA
-+#ifndef _WIN32 /* Don't use C runtime versions of these on Windows */
-+#undef HAVE_GETENV
-+#undef HAVE_PUTENV
-+#undef HAVE_UNSETENV
-+#endif
-+#undef HAVE_QSORT
-+#undef HAVE_ABS
-+#undef HAVE_BCOPY
-+#undef HAVE_MEMSET
-+#undef HAVE_MEMCPY
-+#undef HAVE_MEMMOVE
-+#undef HAVE_MEMCMP
-+#undef HAVE_STRLEN
-+#undef HAVE_STRLCPY
-+#undef HAVE_STRLCAT
-+#undef HAVE_STRDUP
-+#undef HAVE__STRREV
-+#undef HAVE__STRUPR
-+#undef HAVE__STRLWR
-+#undef HAVE_INDEX
-+#undef HAVE_RINDEX
-+#undef HAVE_STRCHR
-+#undef HAVE_STRRCHR
-+#undef HAVE_STRSTR
-+#undef HAVE_ITOA
-+#undef HAVE__LTOA
-+#undef HAVE__UITOA
-+#undef HAVE__ULTOA
-+#undef HAVE_STRTOL
-+#undef HAVE_STRTOUL
-+#undef HAVE__I64TOA
-+#undef HAVE__UI64TOA
-+#undef HAVE_STRTOLL
-+#undef HAVE_STRTOULL
-+#undef HAVE_STRTOD
-+#undef HAVE_ATOI
-+#undef HAVE_ATOF
-+#undef HAVE_STRCMP
-+#undef HAVE_STRNCMP
-+#undef HAVE__STRICMP
-+#undef HAVE_STRCASECMP
-+#undef HAVE__STRNICMP
-+#undef HAVE_STRNCASECMP
-+#undef HAVE_SSCANF
-+#undef HAVE_SNPRINTF
-+#undef HAVE_VSNPRINTF
-+#undef HAVE_ICONV
-+#undef HAVE_SIGACTION
-+#undef HAVE_SA_SIGACTION
-+#undef HAVE_SETJMP
-+#undef HAVE_NANOSLEEP
-+#undef HAVE_CLOCK_GETTIME
-+#undef HAVE_GETPAGESIZE
-+#undef HAVE_MPROTECT
-+#undef HAVE_SEM_TIMEDWAIT
-+
-+#else
-+/* We may need some replacement for stdarg.h here */
-+#include <stdarg.h>
-+#endif /* HAVE_LIBC */
-+
-+/* Allow disabling of core subsystems */
-+#undef SDL_AUDIO_DISABLED
-+#undef SDL_CDROM_DISABLED
-+#undef SDL_CPUINFO_DISABLED
-+#undef SDL_EVENTS_DISABLED
-+#undef SDL_FILE_DISABLED
-+#undef SDL_JOYSTICK_DISABLED
-+#undef SDL_LOADSO_DISABLED
-+#undef SDL_THREADS_DISABLED
-+#undef SDL_TIMERS_DISABLED
-+#undef SDL_VIDEO_DISABLED
-+
-+/* Enable various audio drivers */
-+#undef SDL_AUDIO_DRIVER_ALSA
-+#undef SDL_AUDIO_DRIVER_ALSA_DYNAMIC
-+#undef SDL_AUDIO_DRIVER_ARTS
-+#undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC
-+#undef SDL_AUDIO_DRIVER_BAUDIO
-+#undef SDL_AUDIO_DRIVER_BSD
-+#undef SDL_AUDIO_DRIVER_COREAUDIO
-+#undef SDL_AUDIO_DRIVER_DART
-+#undef SDL_AUDIO_DRIVER_DC
-+#undef SDL_AUDIO_DRIVER_DISK
-+#undef SDL_AUDIO_DRIVER_DUMMY
-+#undef SDL_AUDIO_DRIVER_DMEDIA
-+#undef SDL_AUDIO_DRIVER_DSOUND
-+#undef SDL_AUDIO_DRIVER_PULSE
-+#undef SDL_AUDIO_DRIVER_PULSE_DYNAMIC
-+#undef SDL_AUDIO_DRIVER_ESD
-+#undef SDL_AUDIO_DRIVER_ESD_DYNAMIC
-+#undef SDL_AUDIO_DRIVER_MINT
-+#undef SDL_AUDIO_DRIVER_MMEAUDIO
-+#undef SDL_AUDIO_DRIVER_NAS
-+#undef SDL_AUDIO_DRIVER_NAS_DYNAMIC
-+#undef SDL_AUDIO_DRIVER_OSS
-+#undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H
-+#undef SDL_AUDIO_DRIVER_PAUD
-+#undef SDL_AUDIO_DRIVER_QNXNTO
-+#undef SDL_AUDIO_DRIVER_REDOX
-+#undef SDL_AUDIO_DRIVER_SNDMGR
-+#undef SDL_AUDIO_DRIVER_SUNAUDIO
-+#undef SDL_AUDIO_DRIVER_WAVEOUT
-+
-+/* Enable various cdrom drivers */
-+#undef SDL_CDROM_AIX
-+#undef SDL_CDROM_BEOS
-+#undef SDL_CDROM_BSDI
-+#undef SDL_CDROM_DC
-+#undef SDL_CDROM_DUMMY
-+#undef SDL_CDROM_FREEBSD
-+#undef SDL_CDROM_LINUX
-+#undef SDL_CDROM_MACOS
-+#undef SDL_CDROM_MACOSX
-+#undef SDL_CDROM_MINT
-+#undef SDL_CDROM_OPENBSD
-+#undef SDL_CDROM_OS2
-+#undef SDL_CDROM_OSF
-+#undef SDL_CDROM_QNX
-+#undef SDL_CDROM_WIN32
-+
-+/* Enable various input drivers */
-+#undef SDL_INPUT_LINUXEV
-+#undef SDL_INPUT_TSLIB
-+#undef SDL_JOYSTICK_BEOS
-+#undef SDL_JOYSTICK_DC
-+#undef SDL_JOYSTICK_DUMMY
-+#undef SDL_JOYSTICK_IOKIT
-+#undef SDL_JOYSTICK_LINUX
-+#undef SDL_JOYSTICK_MACOS
-+#undef SDL_JOYSTICK_MINT
-+#undef SDL_JOYSTICK_OS2
-+#undef SDL_JOYSTICK_RISCOS
-+#undef SDL_JOYSTICK_WINMM
-+#undef SDL_JOYSTICK_USBHID
-+#undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H
-+
-+/* Enable various shared object loading systems */
-+#undef SDL_LOADSO_BEOS
-+#undef SDL_LOADSO_DLCOMPAT
-+#undef SDL_LOADSO_DLOPEN
-+#undef SDL_LOADSO_DUMMY
-+#undef SDL_LOADSO_LDG
-+#undef SDL_LOADSO_MACOS
-+#undef SDL_LOADSO_OS2
-+#undef SDL_LOADSO_WIN32
-+
-+/* Enable various threading systems */
-+#undef SDL_THREAD_BEOS
-+#undef SDL_THREAD_DC
-+#undef SDL_THREAD_OS2
-+#undef SDL_THREAD_PTH
-+#undef SDL_THREAD_PTHREAD
-+#undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX
-+#undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP
-+#undef SDL_THREAD_SPROC
-+#undef SDL_THREAD_WIN32
-+
-+/* Enable various timer systems */
-+#undef SDL_TIMER_BEOS
-+#undef SDL_TIMER_DC
-+#undef SDL_TIMER_DUMMY
-+#undef SDL_TIMER_MACOS
-+#undef SDL_TIMER_MINT
-+#undef SDL_TIMER_OS2
-+#undef SDL_TIMER_RISCOS
-+#undef SDL_TIMER_UNIX
-+#undef SDL_TIMER_WIN32
-+#undef SDL_TIMER_WINCE
-+
-+/* Enable various video drivers */
-+#undef SDL_VIDEO_DRIVER_AALIB
-+#undef SDL_VIDEO_DRIVER_BWINDOW
-+#undef SDL_VIDEO_DRIVER_CACA
-+#undef SDL_VIDEO_DRIVER_DC
-+#undef SDL_VIDEO_DRIVER_DDRAW
-+#undef SDL_VIDEO_DRIVER_DGA
-+#undef SDL_VIDEO_DRIVER_DIRECTFB
-+#undef SDL_VIDEO_DRIVER_DRAWSPROCKET
-+#undef SDL_VIDEO_DRIVER_DUMMY
-+#undef SDL_VIDEO_DRIVER_FBCON
-+#undef SDL_VIDEO_DRIVER_GAPI
-+#undef SDL_VIDEO_DRIVER_GEM
-+#undef SDL_VIDEO_DRIVER_GGI
-+#undef SDL_VIDEO_DRIVER_IPOD
-+#undef SDL_VIDEO_DRIVER_NANOX
-+#undef SDL_VIDEO_DRIVER_OS2FS
-+#undef SDL_VIDEO_DRIVER_PHOTON
-+#undef SDL_VIDEO_DRIVER_PICOGUI
-+#undef SDL_VIDEO_DRIVER_PS2GS
-+#undef SDL_VIDEO_DRIVER_PS3
-+#undef SDL_VIDEO_DRIVER_QTOPIA
-+#undef SDL_VIDEO_DRIVER_QUARTZ
-+#undef SDL_VIDEO_DRIVER_RISCOS
-+#undef SDL_VIDEO_DRIVER_SVGALIB
-+#undef SDL_VIDEO_DRIVER_TOOLBOX
-+#undef SDL_VIDEO_DRIVER_VGL
-+#undef SDL_VIDEO_DRIVER_WINDIB
-+#undef SDL_VIDEO_DRIVER_WSCONS
-+#undef SDL_VIDEO_DRIVER_X11
-+#undef SDL_VIDEO_DRIVER_X11_DGAMOUSE
-+#undef SDL_VIDEO_DRIVER_X11_DYNAMIC
-+#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT
-+#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR
-+#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER
-+#undef SDL_VIDEO_DRIVER_X11_VIDMODE
-+#undef SDL_VIDEO_DRIVER_X11_XINERAMA
-+#undef SDL_VIDEO_DRIVER_X11_XME
-+#undef SDL_VIDEO_DRIVER_X11_XRANDR
-+#undef SDL_VIDEO_DRIVER_X11_XV
-+#undef SDL_VIDEO_DRIVER_XBIOS
-+
-+/* Enable OpenGL support */
-+#undef SDL_VIDEO_OPENGL
-+#undef SDL_VIDEO_OPENGL_GLX
-+#undef SDL_VIDEO_OPENGL_WGL
-+#undef SDL_VIDEO_OPENGL_OSMESA
-+#undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC
-+
-+/* Disable screensaver */
-+#undef SDL_VIDEO_DISABLE_SCREENSAVER
-+
-+/* Enable assembly routines */
-+#undef SDL_ASSEMBLY_ROUTINES
-+#undef SDL_HERMES_BLITTERS
-+#undef SDL_ALTIVEC_BLITTERS
-+
-+#endif /* _SDL_config_h */
 diff -ruwN source/src/audio/redox/SDL_redoxaudio.c source-new/src/audio/redox/SDL_redoxaudio.c
 --- source/src/audio/redox/SDL_redoxaudio.c	1969-12-31 17:00:00.000000000 -0700
-+++ source-new/src/audio/redox/SDL_redoxaudio.c	2018-12-29 16:18:56.462459967 -0700
-@@ -0,0 +1,172 @@
++++ source-new/src/audio/redox/SDL_redoxaudio.c	2018-12-29 19:03:23.935759505 -0700
+@@ -0,0 +1,175 @@
 +/*
 +    SDL - Simple DirectMedia Layer
 +    Copyright (C) 1997-2012 Sam Lantinga
@@ -525,7 +209,6 @@ diff -ruwN source/src/audio/redox/SDL_redoxaudio.c source-new/src/audio/redox/SD
 +	SDL_memset(this->hidden, 0, (sizeof *this->hidden));
 +
 +	this->hidden->output = -1;
-+	this->hidden->write_delay = 150;
 +
 +	/* Set the function pointers */
 +	this->OpenAudio = REDOXAUD_OpenAudio;
@@ -548,7 +231,6 @@ diff -ruwN source/src/audio/redox/SDL_redoxaudio.c source-new/src/audio/redox/SD
 +static void REDOXAUD_WaitAudio(_THIS)
 +{
 +	fprintf(stderr, "waitaudio\n");
-+	SDL_Delay(this->hidden->write_delay);
 +}
 +
 +static void REDOXAUD_PlayAudio(_THIS)
@@ -599,6 +281,11 @@ diff -ruwN source/src/audio/redox/SDL_redoxaudio.c source-new/src/audio/redox/SD
 +		return(-1);
 +	}
 +
++	spec->freq = 44100;
++	spec->format = AUDIO_S16;
++	spec->channels = 2;
++	SDL_CalculateAudioSpec(spec);
++
 +	/* Allocate mixing buffer */
 +	this->hidden->mixlen = spec->size;
 +	this->hidden->mixbuf = (Uint8 *) SDL_AllocAudioMem(this->hidden->mixlen);
@@ -615,8 +302,8 @@ diff -ruwN source/src/audio/redox/SDL_redoxaudio.c source-new/src/audio/redox/SD
 +}
 diff -ruwN source/src/audio/redox/SDL_redoxaudio.h source-new/src/audio/redox/SDL_redoxaudio.h
 --- source/src/audio/redox/SDL_redoxaudio.h	1969-12-31 17:00:00.000000000 -0700
-+++ source-new/src/audio/redox/SDL_redoxaudio.h	2018-12-29 16:14:13.727841810 -0700
-@@ -0,0 +1,41 @@
++++ source-new/src/audio/redox/SDL_redoxaudio.h	2018-12-29 18:56:18.062713776 -0700
+@@ -0,0 +1,40 @@
 +/*
 +    SDL - Simple DirectMedia Layer
 +    Copyright (C) 1997-2012 Sam Lantinga
@@ -654,13 +341,12 @@ diff -ruwN source/src/audio/redox/SDL_redoxaudio.h source-new/src/audio/redox/SD
 +	int output;
 +	Uint8 *mixbuf;
 +	Uint32 mixlen;
-+	Uint32 write_delay;
 +};
 +
 +#endif /* _SDL_redoxaudio_h */
 diff -ruwN source/src/audio/SDL_audio.c source-new/src/audio/SDL_audio.c
 --- source/src/audio/SDL_audio.c	2012-01-18 23:30:06.000000000 -0700
-+++ source-new/src/audio/SDL_audio.c	2018-12-29 15:57:00.298520310 -0700
++++ source-new/src/audio/SDL_audio.c	2018-12-29 19:18:57.332057838 -0700
 @@ -36,6 +36,9 @@
  
  /* Available audio drivers */
@@ -671,11 +357,6 @@ diff -ruwN source/src/audio/SDL_audio.c source-new/src/audio/SDL_audio.c
  #if SDL_AUDIO_DRIVER_PULSE
  	&PULSE_bootstrap,
  #endif
-@@ -700,4 +703,3 @@
- 		current_audio->SetCaption(current_audio, caption);
- 	}
- }
--
 diff -ruwN source/src/audio/SDL_sysaudio.h source-new/src/audio/SDL_sysaudio.h
 --- source/src/audio/SDL_sysaudio.h	2012-01-18 23:30:06.000000000 -0700
 +++ source-new/src/audio/SDL_sysaudio.h	2018-12-29 15:57:00.298520310 -0700
@@ -691,7 +372,7 @@ diff -ruwN source/src/audio/SDL_sysaudio.h source-new/src/audio/SDL_sysaudio.h
  #endif
 diff -ruwN source/src/thread/pthread/SDL_systhread.c source-new/src/thread/pthread/SDL_systhread.c
 --- source/src/thread/pthread/SDL_systhread.c	2012-01-18 23:30:06.000000000 -0700
-+++ source-new/src/thread/pthread/SDL_systhread.c	2018-12-29 17:18:17.810171502 -0700
++++ source-new/src/thread/pthread/SDL_systhread.c	2018-12-29 19:17:46.203480243 -0700
 @@ -86,7 +86,11 @@
  	for ( i=0; sig_list[i]; ++i ) {
  		sigaddset(&mask, sig_list[i]);
-- 
GitLab