make sound rates platform dependent
authorkub <derkub@gmail.com>
Sat, 17 Feb 2024 20:32:45 +0000 (21:32 +0100)
committerkub <derkub@gmail.com>
Sat, 17 Feb 2024 20:54:33 +0000 (21:54 +0100)
platform/common/menu_pico.c
platform/common/plat_sdl.c
platform/gp2x/emu.c
platform/libpicofe
platform/psp/emu.c
platform/psp/plat.c

index 94eb283..e48fa40 100644 (file)
@@ -637,10 +637,12 @@ static int menu_loop_adv_options(int id, int keys)
 
 static int sndrate_prevnext(int rate, int dir)
 {
-       static const int rates[] = { 8000, 11025, 16000, 22050, 44100, 53000 };
-       int rate_count = sizeof(rates)/sizeof(rates[0]);
+       const int *rates = plat_target.sound_rates;
+       int rate_count;
        int i;
 
+       for (rate_count = 0; rates[rate_count] != -1; rate_count++)
+               ;
        for (i = 0; i < rate_count; i++)
                if (rates[i] == rate) break;
 
index c47ef1b..785fb1b 100644 (file)
@@ -30,7 +30,8 @@ static struct in_pdata in_sdl_platform_data = {
        .defbinds = in_sdl_defbinds,
 };
 
-struct plat_target plat_target;
+static int sound_rates[] = { 8000, 11025, 16000, 22050, 32000, 44100, 53000, -1 };
+struct plat_target plat_target = { .sound_rates = sound_rates };
 
 #if defined __MIYOO__
 const char *plat_device = "miyoo";
index d59f3ec..460b154 100644 (file)
@@ -778,7 +778,7 @@ void pemu_sound_start(void)
        }\r
 }\r
 \r
-static const int sound_rates[] = { 53000, 44100, 32000, 22050, 16000, 11025, 8000 };\r
+static const int sound_rates[] = { 52000, 44100, 32000, 22050, 16000, 11025, 8000 };\r
 \r
 void pemu_sound_stop(void)\r
 {\r
index c825b16..82b4854 160000 (submodule)
@@ -1 +1 @@
-Subproject commit c825b167e9c08afaec23721f983ba003d86b838a
+Subproject commit 82b4854771302e23201de274eee2969fc28be8be
index 5477338..8b5a498 100644 (file)
@@ -1,6 +1,7 @@
 /*
  * PicoDrive
  * (C) notaz, 2007,2008
+ * (C) irixxxx, 2022-2024
  *
  * This work is licensed under the terms of MAME license.
  * See COPYING file in the top-level directory.
index 271d35d..b23bc38 100644 (file)
@@ -273,6 +273,7 @@ static int plat_bat_capacity_get(void)
        return scePowerGetBatteryLifePercent();
 }
 
+static int sound_rates[] = { 8000, 11025, 16000, 22050, 32000, 44100, -1 };
 struct plat_target plat_target = {
        .cpu_clock_get = plat_cpu_clock_get,
        .cpu_clock_set = plat_cpu_clock_set,
@@ -280,6 +281,7 @@ struct plat_target plat_target = {
 //     .gamma_set = plat_gamma_set,
 //     .hwfilter_set = plat_hwfilter_set,
 //     .hwfilters = plat_hwfilters,
+       .sound_rates = sound_rates,
 };
 
 int _flush_cache (char *addr, const int size, const int op)