X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fdfsound%2Foss.c;h=8093ae41b699454ce5da6b286c1b7331b2b6c9ee;hp=709cb3717b639c64132dd3d0616bbe5c07c60e93;hb=650adfd2da779ba8855623362c2900583e22931e;hpb=2b30c1291db9d9801d51cf85f71f40fe54958898 diff --git a/plugins/dfsound/oss.c b/plugins/dfsound/oss.c index 709cb371..8093ae41 100644 --- a/plugins/dfsound/oss.c +++ b/plugins/dfsound/oss.c @@ -16,6 +16,7 @@ ***************************************************************************/ #include +#include #include #include #include @@ -153,7 +154,20 @@ static int oss_busy(void) static void oss_feed(void *buf, int bytes) { + audio_buf_info info; + char sbuf[4096]; + if(oss_audio_fd == -1) return; + if(ioctl(oss_audio_fd,SNDCTL_DSP_GETOSPACE,&info)==0) + { + if(info.fragments==info.fragstotal) + { + memset(sbuf, 0, sizeof(sbuf)); + write(oss_audio_fd, sbuf, sizeof(sbuf)); + write(oss_audio_fd, sbuf, sizeof(sbuf)); + } + } + write(oss_audio_fd, buf, bytes); }