aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--frontend/libretro.c1
-rw-r--r--plugins/dfsound/spu.c2
-rw-r--r--plugins/dfsound/spu_config.h1
3 files changed, 3 insertions, 1 deletions
diff --git a/frontend/libretro.c b/frontend/libretro.c
index 867522d..acc64a1 100644
--- a/frontend/libretro.c
+++ b/frontend/libretro.c
@@ -1255,6 +1255,7 @@ void retro_init(void)
cycle_multiplier = 200;
#endif
pl_rearmed_cbs.gpu_peops.iUseDither = 1;
+ spu_config.iUseFixedUpdates = 1;
McdDisable[0] = 0;
McdDisable[1] = 1;
diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c
index 8e41d50..c6a1bf5 100644
--- a/plugins/dfsound/spu.c
+++ b/plugins/dfsound/spu.c
@@ -1253,7 +1253,7 @@ void schedule_next_irq(void)
void CALLBACK SPUasync(unsigned int cycle, unsigned int flags)
{
- do_samples(cycle, 0);
+ do_samples(cycle, spu_config.iUseFixedUpdates);
if (spu.spuCtrl & CTRL_IRQ)
schedule_next_irq();
diff --git a/plugins/dfsound/spu_config.h b/plugins/dfsound/spu_config.h
index fce1cda..3e88a2c 100644
--- a/plugins/dfsound/spu_config.h
+++ b/plugins/dfsound/spu_config.h
@@ -8,6 +8,7 @@ typedef struct
int iUseInterpolation;
int iTempo;
int iUseThread;
+ int iUseFixedUpdates; // output fixed number of samples/frame
// status
int iThreadAvail;