From 160b6098627f9775415123eff49362ba368f5c23 Mon Sep 17 00:00:00 2001 From: ToadKing Date: Tue, 15 Oct 2013 18:41:28 -0400 Subject: [PATCH] [GX] fix audio stuttering on exit/low fps --- gx/gx_audio.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gx/gx_audio.c b/gx/gx_audio.c index 51b1047851..b0b831b59d 100644 --- a/gx/gx_audio.c +++ b/gx/gx_audio.c @@ -44,6 +44,9 @@ static gx_audio_t *g_audio; static void dma_callback(void) { + // erase last chunk to avoid repeating audio + memset(g_audio->data[g_audio->dma_busy], 0, CHUNK_SIZE); + g_audio->dma_busy = g_audio->dma_next; g_audio->dma_next = (g_audio->dma_next + 1) & (BLOCKS - 1); @@ -140,6 +143,8 @@ static bool gx_audio_stop(void *data) { (void)data; AUDIO_StopDMA(); + memset(g_audio->data, 0, sizeof(g_audio->data)); + DCFlushRange(g_audio->data, sizeof(g_audio->data)); return true; }