aboutsummaryrefslogtreecommitdiff
path: root/games/SameBoy/libretro.patch
diff options
context:
space:
mode:
Diffstat (limited to 'games/SameBoy/libretro.patch')
-rw-r--r--games/SameBoy/libretro.patch55
1 files changed, 55 insertions, 0 deletions
diff --git a/games/SameBoy/libretro.patch b/games/SameBoy/libretro.patch
new file mode 100644
index 0000000000..4159114ebd
--- /dev/null
+++ b/games/SameBoy/libretro.patch
@@ -0,0 +1,55 @@
+From 597dc72e460f3e95caad40b8c557fb01f53f18ee Mon Sep 17 00:00:00 2001
+From: Lior Halphon <LIJI32@gmail.com>
+Date: Thu, 18 Jul 2019 00:13:41 +0300
+Subject: [PATCH] Fix audio issues with some RetroArch audio drivers. Fixes
+ #189
+
+---
+ libretro/libretro.c | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/libretro/libretro.c b/libretro/libretro.c
+index 1dd411c1..bd93e97a 100644
+--- a/libretro/libretro.c
++++ b/libretro/libretro.c
+@@ -84,7 +84,7 @@ static struct retro_log_callback logging;
+ static retro_log_printf_t log_cb;
+
+ static retro_video_refresh_t video_cb;
+-static retro_audio_sample_batch_t audio_batch_cb;
++static retro_audio_sample_t audio_sample_cb;
+ static retro_input_poll_t input_poll_cb;
+ static retro_input_state_t input_state_cb;
+
+@@ -152,7 +152,7 @@ static void audio_callback(GB_gameboy_t *gb, GB_sample_t *sample)
+ {
+ if ((audio_out == GB_1 && gb == &gameboy[0]) ||
+ (audio_out == GB_2 && gb == &gameboy[1])) {
+- audio_batch_cb((void*)sample, 1);
++ audio_sample_cb(sample->left, sample->right);
+ }
+ }
+
+@@ -772,11 +772,11 @@ void retro_set_environment(retro_environment_t cb)
+
+ void retro_set_audio_sample(retro_audio_sample_t cb)
+ {
++ audio_sample_cb = cb;
+ }
+
+ void retro_set_audio_sample_batch(retro_audio_sample_batch_t cb)
+ {
+- audio_batch_cb = cb;
+ }
+
+ void retro_set_input_poll(retro_input_poll_t cb)
+@@ -850,8 +850,7 @@ void retro_run(void)
+ }
+ else
+ {
+- int x = GB_run_frame(&gameboy[0]);
+- log_cb(RETRO_LOG_DEBUG, "%d\n", x);
++ GB_run_frame(&gameboy[0]);
+ }
+
+ if (emulated_devices == 2)