X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fdfsound%2Falsa.c;h=b5655a98cc1defadeca8951ec3cb62c7c074dab2;hp=1c02d3725e0a4759e38cfc9be9d4aa270621180a;hb=650adfd2da779ba8855623362c2900583e22931e;hpb=2b30c1291db9d9801d51cf85f71f40fe54958898 diff --git a/plugins/dfsound/alsa.c b/plugins/dfsound/alsa.c index 1c02d372..b5655a98 100644 --- a/plugins/dfsound/alsa.c +++ b/plugins/dfsound/alsa.c @@ -16,6 +16,7 @@ ***************************************************************************/ #include +#include #define ALSA_PCM_NEW_HW_PARAMS_API #define ALSA_PCM_NEW_SW_PARAMS_API #include @@ -184,10 +185,17 @@ static int alsa_busy(void) // FEED SOUND DATA static void alsa_feed(void *pSound, int lBytes) { + char sbuf[4096]; + if (handle == NULL) return; if (snd_pcm_state(handle) == SND_PCM_STATE_XRUN) - snd_pcm_prepare(handle); + { + memset(sbuf, 0, sizeof(sbuf)); + snd_pcm_prepare(handle); + snd_pcm_writei(handle, sbuf, sizeof(sbuf) / 4); + snd_pcm_writei(handle, sbuf, sizeof(sbuf) / 4); + } snd_pcm_writei(handle,pSound, lBytes / 4); }