summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-05-19 10:52:11 +0000
committerSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-05-19 10:52:11 +0000
commit0956549379a239182714ca5f06bb40748e3a54a5 (patch)
treef3b4e0b2e5ef1125940ad6ae029ffdf066063484 /plugins
parentb24d4d3cd394aa86691d69156f3fb108c3537582 (diff)
downloadpcsxr-0956549379a239182714ca5f06bb40748e3a54a5.tar.gz
Use SDL for sound plugin, reverted the change to BIAS in r48024. (and I'm too lazy to hunt down the bug with x64 dynarec :( feel free to revert this revert if not preferred :P)
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@48308 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'plugins')
-rw-r--r--plugins/dfcdrom/Makefile.in4
-rw-r--r--plugins/dfinput/Makefile.in4
-rw-r--r--plugins/dfnet/Makefile.in4
-rw-r--r--plugins/dfsound/Makefile.am20
-rw-r--r--plugins/dfsound/Makefile.in56
-rw-r--r--plugins/dfsound/alsa.c162
-rw-r--r--plugins/dfsound/nullsnd.c30
-rw-r--r--plugins/dfsound/oss.c163
-rw-r--r--plugins/dfsound/pulseaudio.c354
-rw-r--r--plugins/dfsound/sdl.c135
-rw-r--r--plugins/dfsound/spu.c12
-rw-r--r--plugins/dfxvideo/Makefile.in4
-rw-r--r--plugins/peopsxgl/Makefile.in4
13 files changed, 151 insertions, 801 deletions
diff --git a/plugins/dfcdrom/Makefile.in b/plugins/dfcdrom/Makefile.in
index 2ab426ee..1a4fb201 100644
--- a/plugins/dfcdrom/Makefile.in
+++ b/plugins/dfcdrom/Makefile.in
@@ -103,8 +103,6 @@ ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ALSA_CFLAGS = @ALSA_CFLAGS@
-ALSA_LIBS = @ALSA_LIBS@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
@@ -184,8 +182,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PEOPSXGL = @PEOPSXGL@
PKG_CONFIG = @PKG_CONFIG@
POSUB = @POSUB@
-PULSEAUDIO_CFLAGS = @PULSEAUDIO_CFLAGS@
-PULSEAUDIO_LIBS = @PULSEAUDIO_LIBS@
RANLIB = @RANLIB@
SDL_CFLAGS = @SDL_CFLAGS@
SDL_CONFIG = @SDL_CONFIG@
diff --git a/plugins/dfinput/Makefile.in b/plugins/dfinput/Makefile.in
index ab388a66..9d4c25d8 100644
--- a/plugins/dfinput/Makefile.in
+++ b/plugins/dfinput/Makefile.in
@@ -106,8 +106,6 @@ ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ALSA_CFLAGS = @ALSA_CFLAGS@
-ALSA_LIBS = @ALSA_LIBS@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
@@ -187,8 +185,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PEOPSXGL = @PEOPSXGL@
PKG_CONFIG = @PKG_CONFIG@
POSUB = @POSUB@
-PULSEAUDIO_CFLAGS = @PULSEAUDIO_CFLAGS@
-PULSEAUDIO_LIBS = @PULSEAUDIO_LIBS@
RANLIB = @RANLIB@
SDL_CFLAGS = @SDL_CFLAGS@
SDL_CONFIG = @SDL_CONFIG@
diff --git a/plugins/dfnet/Makefile.in b/plugins/dfnet/Makefile.in
index 23f17f4b..78c1803c 100644
--- a/plugins/dfnet/Makefile.in
+++ b/plugins/dfnet/Makefile.in
@@ -103,8 +103,6 @@ ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ALSA_CFLAGS = @ALSA_CFLAGS@
-ALSA_LIBS = @ALSA_LIBS@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
@@ -184,8 +182,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PEOPSXGL = @PEOPSXGL@
PKG_CONFIG = @PKG_CONFIG@
POSUB = @POSUB@
-PULSEAUDIO_CFLAGS = @PULSEAUDIO_CFLAGS@
-PULSEAUDIO_LIBS = @PULSEAUDIO_LIBS@
RANLIB = @RANLIB@
SDL_CFLAGS = @SDL_CFLAGS@
SDL_CONFIG = @SDL_CONFIG@
diff --git a/plugins/dfsound/Makefile.am b/plugins/dfsound/Makefile.am
index 690d38bd..6c02286c 100644
--- a/plugins/dfsound/Makefile.am
+++ b/plugins/dfsound/Makefile.am
@@ -9,25 +9,11 @@ libdir = @libdir@/games/psemu/
lib_LTLIBRARIES = libDFSound.la
-libDFSound_la_SOURCES = spu.c cfg.c dma.c freeze.c psemu.c registers.c \
- alsa.c oss.c pulseaudio.c nullsnd.c
+libDFSound_la_SOURCES = spu.c cfg.c dma.c freeze.c psemu.c registers.c sdl.c
-libDFSound_la_CFLAGS =
+libDFSound_la_CFLAGS = `$(SDL_CONFIG) --cflags`
libDFSound_la_LDFLAGS = -module -avoid-version -lpthread -lm
-
-if HAVE_ALSA
-libDFSound_la_CFLAGS += -DUSEALSA=1
-libDFSound_la_LDFLAGS += $(ALSA_LIBS)
-endif
-
-if HAVE_OSS
-libDFSound_la_CFLAGS += -DUSEOSS=1
-endif
-
-if HAVE_PULSEAUDIO
-libDFSound_la_CFLAGS += $(PULSEAUDIO_CFLAGS) -DUSEPULSEAUDIO=1
-libDFSound_la_LDFLAGS += $(PULSEAUDIO_LIBS)
-endif
+libDFSound_la_LDFLAGS += `$(SDL_CONFIG) --libs`
bin_PROGRAMS = cfgDFSound
cfgDFSound_SOURCES = spucfg-0.1df/main.c
diff --git a/plugins/dfsound/Makefile.in b/plugins/dfsound/Makefile.in
index 118cee09..1fde641d 100644
--- a/plugins/dfsound/Makefile.in
+++ b/plugins/dfsound/Makefile.in
@@ -37,11 +37,6 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-@HAVE_ALSA_TRUE@am__append_1 = -DUSEALSA=1
-@HAVE_ALSA_TRUE@am__append_2 = $(ALSA_LIBS)
-@HAVE_OSS_TRUE@am__append_3 = -DUSEOSS=1
-@HAVE_PULSEAUDIO_TRUE@am__append_4 = $(PULSEAUDIO_CFLAGS) -DUSEPULSEAUDIO=1
-@HAVE_PULSEAUDIO_TRUE@am__append_5 = $(PULSEAUDIO_LIBS)
bin_PROGRAMS = cfgDFSound$(EXEEXT)
subdir = plugins/dfsound
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
@@ -81,8 +76,7 @@ libDFSound_la_LIBADD =
am_libDFSound_la_OBJECTS = libDFSound_la-spu.lo libDFSound_la-cfg.lo \
libDFSound_la-dma.lo libDFSound_la-freeze.lo \
libDFSound_la-psemu.lo libDFSound_la-registers.lo \
- libDFSound_la-alsa.lo libDFSound_la-oss.lo \
- libDFSound_la-pulseaudio.lo libDFSound_la-nullsnd.lo
+ libDFSound_la-sdl.lo
libDFSound_la_OBJECTS = $(am_libDFSound_la_OBJECTS)
libDFSound_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(libDFSound_la_CFLAGS) \
@@ -112,8 +106,6 @@ ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ALSA_CFLAGS = @ALSA_CFLAGS@
-ALSA_LIBS = @ALSA_LIBS@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
@@ -193,8 +185,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PEOPSXGL = @PEOPSXGL@
PKG_CONFIG = @PKG_CONFIG@
POSUB = @POSUB@
-PULSEAUDIO_CFLAGS = @PULSEAUDIO_CFLAGS@
-PULSEAUDIO_LIBS = @PULSEAUDIO_LIBS@
RANLIB = @RANLIB@
SDL_CFLAGS = @SDL_CFLAGS@
SDL_CONFIG = @SDL_CONFIG@
@@ -271,12 +261,10 @@ INCLUDES = -DPIXMAPDIR=\"${datadir}/pixmaps/\" \
-I../../include
lib_LTLIBRARIES = libDFSound.la
-libDFSound_la_SOURCES = spu.c cfg.c dma.c freeze.c psemu.c registers.c \
- alsa.c oss.c pulseaudio.c nullsnd.c
-
-libDFSound_la_CFLAGS = $(am__append_1) $(am__append_3) $(am__append_4)
+libDFSound_la_SOURCES = spu.c cfg.c dma.c freeze.c psemu.c registers.c sdl.c
+libDFSound_la_CFLAGS = `$(SDL_CONFIG) --cflags`
libDFSound_la_LDFLAGS = -module -avoid-version -lpthread -lm \
- $(am__append_2) $(am__append_5)
+ `$(SDL_CONFIG) --libs`
cfgDFSound_SOURCES = spucfg-0.1df/main.c
cfgDFSound_LDADD = $(GTK2_LIBS) $(GLADE2_LIBS)
glade_DATA = spucfg-0.1df/dfsound.glade2
@@ -402,15 +390,12 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libDFSound_la-alsa.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libDFSound_la-cfg.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libDFSound_la-dma.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libDFSound_la-freeze.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libDFSound_la-nullsnd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libDFSound_la-oss.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libDFSound_la-psemu.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libDFSound_la-pulseaudio.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libDFSound_la-registers.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libDFSound_la-sdl.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libDFSound_la-spu.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
@@ -477,33 +462,12 @@ libDFSound_la-registers.lo: registers.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libDFSound_la_CFLAGS) $(CFLAGS) -c -o libDFSound_la-registers.lo `test -f 'registers.c' || echo '$(srcdir)/'`registers.c
-libDFSound_la-alsa.lo: alsa.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libDFSound_la_CFLAGS) $(CFLAGS) -MT libDFSound_la-alsa.lo -MD -MP -MF $(DEPDIR)/libDFSound_la-alsa.Tpo -c -o libDFSound_la-alsa.lo `test -f 'alsa.c' || echo '$(srcdir)/'`alsa.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libDFSound_la-alsa.Tpo $(DEPDIR)/libDFSound_la-alsa.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='alsa.c' object='libDFSound_la-alsa.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libDFSound_la_CFLAGS) $(CFLAGS) -c -o libDFSound_la-alsa.lo `test -f 'alsa.c' || echo '$(srcdir)/'`alsa.c
-
-libDFSound_la-oss.lo: oss.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libDFSound_la_CFLAGS) $(CFLAGS) -MT libDFSound_la-oss.lo -MD -MP -MF $(DEPDIR)/libDFSound_la-oss.Tpo -c -o libDFSound_la-oss.lo `test -f 'oss.c' || echo '$(srcdir)/'`oss.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libDFSound_la-oss.Tpo $(DEPDIR)/libDFSound_la-oss.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='oss.c' object='libDFSound_la-oss.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libDFSound_la_CFLAGS) $(CFLAGS) -c -o libDFSound_la-oss.lo `test -f 'oss.c' || echo '$(srcdir)/'`oss.c
-
-libDFSound_la-pulseaudio.lo: pulseaudio.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libDFSound_la_CFLAGS) $(CFLAGS) -MT libDFSound_la-pulseaudio.lo -MD -MP -MF $(DEPDIR)/libDFSound_la-pulseaudio.Tpo -c -o libDFSound_la-pulseaudio.lo `test -f 'pulseaudio.c' || echo '$(srcdir)/'`pulseaudio.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libDFSound_la-pulseaudio.Tpo $(DEPDIR)/libDFSound_la-pulseaudio.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pulseaudio.c' object='libDFSound_la-pulseaudio.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libDFSound_la_CFLAGS) $(CFLAGS) -c -o libDFSound_la-pulseaudio.lo `test -f 'pulseaudio.c' || echo '$(srcdir)/'`pulseaudio.c
-
-libDFSound_la-nullsnd.lo: nullsnd.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libDFSound_la_CFLAGS) $(CFLAGS) -MT libDFSound_la-nullsnd.lo -MD -MP -MF $(DEPDIR)/libDFSound_la-nullsnd.Tpo -c -o libDFSound_la-nullsnd.lo `test -f 'nullsnd.c' || echo '$(srcdir)/'`nullsnd.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libDFSound_la-nullsnd.Tpo $(DEPDIR)/libDFSound_la-nullsnd.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='nullsnd.c' object='libDFSound_la-nullsnd.lo' libtool=yes @AMDEPBACKSLASH@
+libDFSound_la-sdl.lo: sdl.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libDFSound_la_CFLAGS) $(CFLAGS) -MT libDFSound_la-sdl.lo -MD -MP -MF $(DEPDIR)/libDFSound_la-sdl.Tpo -c -o libDFSound_la-sdl.lo `test -f 'sdl.c' || echo '$(srcdir)/'`sdl.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libDFSound_la-sdl.Tpo $(DEPDIR)/libDFSound_la-sdl.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sdl.c' object='libDFSound_la-sdl.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libDFSound_la_CFLAGS) $(CFLAGS) -c -o libDFSound_la-nullsnd.lo `test -f 'nullsnd.c' || echo '$(srcdir)/'`nullsnd.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libDFSound_la_CFLAGS) $(CFLAGS) -c -o libDFSound_la-sdl.lo `test -f 'sdl.c' || echo '$(srcdir)/'`sdl.c
main.o: spucfg-0.1df/main.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT main.o -MD -MP -MF $(DEPDIR)/main.Tpo -c -o main.o `test -f 'spucfg-0.1df/main.c' || echo '$(srcdir)/'`spucfg-0.1df/main.c
diff --git a/plugins/dfsound/alsa.c b/plugins/dfsound/alsa.c
deleted file mode 100644
index d771cfaa..00000000
--- a/plugins/dfsound/alsa.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/***************************************************************************
- alsa.c - description
- -------------------
- begin : Sat Mar 01 2003
- copyright : (C) 2002 by Pete Bernert
- email : BlackDove@addcom.de
- ***************************************************************************/
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. See also the license.txt file for *
- * additional informations. *
- * *
- ***************************************************************************/
-
-#include "stdafx.h"
-
-#ifdef USEALSA
-
-#define _IN_OSS
-
-#include "externals.h"
-
-#define ALSA_PCM_NEW_HW_PARAMS_API
-#define ALSA_PCM_NEW_SW_PARAMS_API
-#include <alsa/asoundlib.h>
-
-static snd_pcm_t *handle = NULL;
-static snd_pcm_uframes_t buffer_size;
-
-// SETUP SOUND
-void SetupSound(void)
-{
- snd_pcm_hw_params_t *hwparams;
- snd_pcm_status_t *status;
- unsigned int pspeed;
- int pchannels;
- int format;
- unsigned int buffer_time = 100000;
- unsigned int period_time = buffer_time / 4;
- int err;
-
- if (iDisStereo) pchannels = 1;
- else pchannels=2;
-
- pspeed = 44100;
- format = SND_PCM_FORMAT_S16;
-
- if ((err = snd_pcm_open(&handle, "default",
- SND_PCM_STREAM_PLAYBACK, SND_PCM_NONBLOCK)) < 0)
- {
- printf("Audio open error: %s\n", snd_strerror(err));
- return;
- }
-
- if((err = snd_pcm_nonblock(handle, 0))<0)
- {
- printf("Can't set blocking moded: %s\n", snd_strerror(err));
- return;
- }
-
- snd_pcm_hw_params_alloca(&hwparams);
-
- if((err=snd_pcm_hw_params_any(handle, hwparams))<0)
- {
- printf("Broken configuration for this PCM: %s\n", snd_strerror(err));
- return;
- }
-
- if((err=snd_pcm_hw_params_set_access(handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED))<0)
- {
- printf("Access type not available: %s\n", snd_strerror(err));
- return;
- }
-
- if((err=snd_pcm_hw_params_set_format(handle, hwparams, format))<0)
- {
- printf("Sample format not available: %s\n", snd_strerror(err));
- return;
- }
-
- if((err=snd_pcm_hw_params_set_channels(handle, hwparams, pchannels))<0)
- {
- printf("Channels count not available: %s\n", snd_strerror(err));
- return;
- }
-
- if((err=snd_pcm_hw_params_set_rate_near(handle, hwparams, &pspeed, 0))<0)
- {
- printf("Rate not available: %s\n", snd_strerror(err));
- return;
- }
-
- if((err=snd_pcm_hw_params_set_buffer_time_near(handle, hwparams, &buffer_time, 0))<0)
- {
- printf("Buffer time error: %s\n", snd_strerror(err));
- return;
- }
-
- if((err=snd_pcm_hw_params_set_period_time_near(handle, hwparams, &period_time, 0))<0)
- {
- printf("Period time error: %s\n", snd_strerror(err));
- return;
- }
-
- if((err=snd_pcm_hw_params(handle, hwparams))<0)
- {
- printf("Unable to install hw params: %s\n", snd_strerror(err));
- return;
- }
-
- snd_pcm_status_alloca(&status);
- if((err=snd_pcm_status(handle, status))<0)
- {
- printf("Unable to get status: %s\n", snd_strerror(err));
- return;
- }
-
- buffer_size = snd_pcm_status_get_avail(status);
-}
-
-// REMOVE SOUND
-void RemoveSound(void)
-{
- if(handle != NULL)
- {
- snd_pcm_drop(handle);
- snd_pcm_close(handle);
- handle = NULL;
- }
-}
-
-// GET BYTES BUFFERED
-unsigned long SoundGetBytesBuffered(void)
-{
- unsigned long l;
-
- if (handle == NULL) // failed to open?
- return SOUNDSIZE;
- l = snd_pcm_avail(handle);
- if (l < 0) return 0;
- if (l < buffer_size / 2) // can we write in at least the half of fragments?
- l = SOUNDSIZE; // -> no? wait
- else l = 0; // -> else go on
-
- return l;
-}
-
-// FEED SOUND DATA
-void SoundFeedStreamData(unsigned char* pSound,long lBytes)
-{
- if (handle == NULL) return;
-
- if (snd_pcm_state(handle) == SND_PCM_STATE_XRUN)
- snd_pcm_prepare(handle);
- snd_pcm_writei(handle,pSound,
- iDisStereo ? lBytes / 2 : lBytes / 4);
-}
-
-#endif
diff --git a/plugins/dfsound/nullsnd.c b/plugins/dfsound/nullsnd.c
deleted file mode 100644
index 3d4662e3..00000000
--- a/plugins/dfsound/nullsnd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include "stdafx.h"
-#define _IN_OSS
-#include "externals.h"
-
-#if !defined (USEALSA) && !defined (USEOSS) && !defined (USEPULSEAUDIO)
-
-#warning "Using NULL sound output..."
-
-// SETUP SOUND
-void SetupSound(void)
-{
-}
-
-// REMOVE SOUND
-void RemoveSound(void)
-{
-}
-
-// GET BYTES BUFFERED
-unsigned long SoundGetBytesBuffered(void)
-{
- return 0;
-}
-
-// FEED SOUND DATA
-void SoundFeedStreamData(unsigned char* pSound,long lBytes)
-{
-}
-
-#endif
diff --git a/plugins/dfsound/oss.c b/plugins/dfsound/oss.c
deleted file mode 100644
index 2407053c..00000000
--- a/plugins/dfsound/oss.c
+++ /dev/null
@@ -1,163 +0,0 @@
-/***************************************************************************
- oss.c - description
- -------------------
- begin : Wed May 15 2002
- copyright : (C) 2002 by Pete Bernert
- email : BlackDove@addcom.de
- ***************************************************************************/
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. See also the license.txt file for *
- * additional informations. *
- * *
- ***************************************************************************/
-
-#include "stdafx.h"
-
-#ifdef USEOSS
-
-#define _IN_OSS
-
-#include "externals.h"
-
-////////////////////////////////////////////////////////////////////////
-// oss globals
-////////////////////////////////////////////////////////////////////////
-
-#define OSS_MODE_STEREO 1
-#define OSS_MODE_MONO 0
-
-#define OSS_SPEED_44100 44100
-
-static int oss_audio_fd = -1;
-extern int errno;
-
-////////////////////////////////////////////////////////////////////////
-// SETUP SOUND
-////////////////////////////////////////////////////////////////////////
-
-void SetupSound(void)
-{
- int pspeed=44100;
- int pstereo;
- int format;
- int fragsize = 0;
- int myfrag;
- int oss_speed, oss_stereo;
-
- if(iDisStereo) pstereo=OSS_MODE_MONO;
- else pstereo=OSS_MODE_STEREO;
-
- oss_speed = pspeed;
- oss_stereo = pstereo;
-
- if((oss_audio_fd=open("/dev/dsp",O_WRONLY,0))==-1)
- {
- printf("Sound device not available!\n");
- return;
- }
-
- if(ioctl(oss_audio_fd,SNDCTL_DSP_RESET,0)==-1)
- {
- printf("Sound reset failed\n");
- return;
- }
-
- // we use 64 fragments with 1024 bytes each
-
- fragsize=10;
- myfrag=(63<<16)|fragsize;
-
- if(ioctl(oss_audio_fd,SNDCTL_DSP_SETFRAGMENT,&myfrag)==-1)
- {
- printf("Sound set fragment failed!\n");
- return;
- }
-
- format = AFMT_S16_NE;
-
- if(ioctl(oss_audio_fd,SNDCTL_DSP_SETFMT,&format) == -1)
- {
- printf("Sound format not supported!\n");
- return;
- }
-
- if(format!=AFMT_S16_NE)
- {
- printf("Sound format not supported!\n");
- return;
- }
-
- if(ioctl(oss_audio_fd,SNDCTL_DSP_STEREO,&oss_stereo)==-1)
- {
- printf("Stereo mode not supported!\n");
- return;
- }
-
- if(oss_stereo!=1)
- {
- iDisStereo=1;
- }
-
- if(ioctl(oss_audio_fd,SNDCTL_DSP_SPEED,&oss_speed)==-1)
- {
- printf("Sound frequency not supported\n");
- return;
- }
-
- if(oss_speed!=pspeed)
- {
- printf("Sound frequency not supported\n");
- return;
- }
-}
-
-////////////////////////////////////////////////////////////////////////
-// REMOVE SOUND
-////////////////////////////////////////////////////////////////////////
-
-void RemoveSound(void)
-{
- if(oss_audio_fd != -1 )
- {
- close(oss_audio_fd);
- oss_audio_fd = -1;
- }
-}
-
-////////////////////////////////////////////////////////////////////////
-// GET BYTES BUFFERED
-////////////////////////////////////////////////////////////////////////
-
-unsigned long SoundGetBytesBuffered(void)
-{
- audio_buf_info info;
- unsigned long l;
-
- if(oss_audio_fd == -1) return SOUNDSIZE;
- if(ioctl(oss_audio_fd,SNDCTL_DSP_GETOSPACE,&info)==-1)
- l=0;
- else
- {
- if(info.fragments<(info.fragstotal>>1)) // can we write in at least the half of fragments?
- l=SOUNDSIZE; // -> no? wait
- else l=0; // -> else go on
- }
-
- return l;
-}
-
-////////////////////////////////////////////////////////////////////////
-// FEED SOUND DATA
-////////////////////////////////////////////////////////////////////////
-
-void SoundFeedStreamData(unsigned char* pSound,long lBytes)
-{
- if(oss_audio_fd == -1) return;
- write(oss_audio_fd,pSound,lBytes);
-}
-
-#endif
diff --git a/plugins/dfsound/pulseaudio.c b/plugins/dfsound/pulseaudio.c
deleted file mode 100644
index db0fed71..00000000
--- a/plugins/dfsound/pulseaudio.c
+++ /dev/null
@@ -1,354 +0,0 @@
-/***************************************************************************
- pulseaudio.c - description
- -------------------
-begin : Thu Feb 04 2010
-copyright : (C) 2010 by Tristin Celestin
-email : cetris1@umbc.edu
-comment : Much of this was taken from simple.c, in the pulseaudio
- library
-***************************************************************************/
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. See also the license.txt file for *
- * additional informations. *
- * *
- ***************************************************************************/
-
-#include "stdafx.h"
-
-#ifdef USEPULSEAUDIO
-
-#define _IN_OSS
-
-#include "externals.h"
-#include <pulse/pulseaudio.h>
-
-////////////////////////////////////////////////////////////////////////
-// pulseaudio structs
-////////////////////////////////////////////////////////////////////////
-
-typedef struct {
- pa_threaded_mainloop *mainloop;
- pa_context *context;
- pa_mainloop_api *api;
- pa_stream *stream;
- pa_sample_spec spec;
- int first;
-} Device;
-
-typedef struct {
- unsigned int frequency;
- unsigned int latency_in_msec;
-} Settings;
-
-////////////////////////////////////////////////////////////////////////
-// pulseaudio globals
-////////////////////////////////////////////////////////////////////////
-
-static Device device = {
- .mainloop = NULL,
- .api = NULL,
- .context = NULL,
- .stream = NULL
-};
-
-static Settings settings = {
- .frequency = 44100,
- .latency_in_msec = 20,
-};
-
-// the number of bytes written in SoundFeedStreamData
-const int mixlen = 3240;
-
-// used to calculate how much space is used in the buffer, for debugging purposes
-//int maxlength = 0;
-
-////////////////////////////////////////////////////////////////////////
-// CALLBACKS FOR THREADED MAINLOOP
-////////////////////////////////////////////////////////////////////////
-static void context_state_cb (pa_context *context, void *userdata)
-{
- Device *dev = userdata;
-
- if ((context == NULL) || (dev == NULL))
- return;
-
- switch (pa_context_get_state (context))
- {
- case PA_CONTEXT_READY:
- case PA_CONTEXT_TERMINATED:
- case PA_CONTEXT_FAILED:
- pa_threaded_mainloop_signal (dev->mainloop, 0);
- break;
-
- case PA_CONTEXT_UNCONNECTED:
- case PA_CONTEXT_CONNECTING:
- case PA_CONTEXT_AUTHORIZING:
- case PA_CONTEXT_SETTING_NAME:
- break;
- }
-}
-
-static void stream_state_cb (pa_stream *stream, void * userdata)
-{
- Device *dev = userdata;
-
- if ((stream == NULL) || (dev == NULL))
- return;
-
- switch (pa_stream_get_state (stream))
- {
- case PA_STREAM_READY:
- case PA_STREAM_FAILED:
- case PA_STREAM_TERMINATED:
- pa_threaded_mainloop_signal (dev->mainloop, 0);
- break;
-
- case PA_STREAM_UNCONNECTED:
- case PA_STREAM_CREATING:
- break;
- }
-}
-
-static void stream_latency_update_cb (pa_stream *stream, void *userdata)
-{
- Device *dev = userdata;
-
- if ((stream == NULL) || (dev == NULL))
- return;
-
- pa_threaded_mainloop_signal (dev->mainloop, 0);
-}
-
-static void stream_request_cb (pa_stream *stream, size_t length, void *userdata)
-{
- Device *dev = userdata;
-
- if ((stream == NULL) || (dev == NULL))
- return;
- pa_threaded_mainloop_signal (dev->mainloop, 0);
-}
-
-////////////////////////////////////////////////////////////////////////
-// SETUP SOUND
-////////////////////////////////////////////////////////////////////////
-
-void SetupSound (void)
-{
- int error_number;
-
- // Acquire mainloop ///////////////////////////////////////////////////////
- device.mainloop = pa_threaded_mainloop_new ();
- if (device.mainloop == NULL)
- {
- fprintf (stderr, "Could not acquire PulseAudio main loop\n");
- return;
- }
-
- // Acquire context ////////////////////////////////////////////////////////
- device.api = pa_threaded_mainloop_get_api (device.mainloop);
- device.context = pa_context_new (device.api, "PCSX");
- pa_context_set_state_callback (device.context, context_state_cb, &device);
-
- if (device.context == NULL)
- {
- fprintf (stderr, "Could not acquire PulseAudio device context\n");
- return;
- }
-
- // Connect to PulseAudio server ///////////////////////////////////////////
- if (pa_context_connect (device.context, NULL, 0, NULL) < 0)
- {
- error_number = pa_context_errno (device.context);
- fprintf (stderr, "Could not connect to PulseAudio server: %s\n", pa_strerror(error_number));
- return;
- }
-
- // Run mainloop until sever context is ready //////////////////////////////
- pa_threaded_mainloop_lock (device.mainloop);
- if (pa_threaded_mainloop_start (device.mainloop) < 0)
- {
- fprintf (stderr, "Could not start mainloop\n");
- return;
- }
-
- pa_context_state_t context_state;
- context_state = pa_context_get_state (device.context);
- while (context_state != PA_CONTEXT_READY)
- {
- context_state = pa_context_get_state (device.context);
- if (! PA_CONTEXT_IS_GOOD (context_state))
- {
- error_number = pa_context_errno (device.context);
- fprintf (stderr, "Context state is not good: %s\n", pa_strerror (error_number));
- return;
- }
- else if (context_state == PA_CONTEXT_READY)
- break;
- else
- fprintf (stderr, "PulseAudio context state is %d\n", context_state);
- pa_threaded_mainloop_wait (device.mainloop);
- }
-
- // Set sample spec ////////////////////////////////////////////////////////
- device.spec.format = PA_SAMPLE_S16LE;
- if (iDisStereo)
- device.spec.channels = 1;
- else
- device.spec.channels = 2;
- device.spec.rate = settings.frequency;
-
- pa_buffer_attr buffer_attributes;
- buffer_attributes.tlength = pa_bytes_per_second (& device.spec) / 5;
- buffer_attributes.maxlength = buffer_attributes.tlength * 3;
- buffer_attributes.minreq = buffer_attributes.tlength / 3;
- buffer_attributes.prebuf = buffer_attributes.tlength;
-
- //maxlength = buffer_attributes.maxlength;
- //fprintf (stderr, "Total space: %u\n", buffer_attributes.maxlength);
- //fprintf (stderr, "Minimum request size: %u\n", buffer_attributes.minreq);
- //fprintf (stderr, "Bytes needed before playback: %u\n", buffer_attributes.prebuf);
- //fprintf (stderr, "Target buffer size: %lu\n", buffer_attributes.tlength);
-
- // Acquire new stream using spec //////////////////////////////////////////
- device.stream = pa_stream_new (device.context, "PCSX", &device.spec, NULL);
- if (device.stream == NULL)
- {
- error_number = pa_context_errno (device.context);
- fprintf (stderr, "Could not acquire new PulseAudio stream: %s\n", pa_strerror (error_number));
- return;
- }
-
- // Set callbacks for server events ////////////////////////////////////////
- pa_stream_set_state_callback (device.stream, stream_state_cb, &device);
- pa_stream_set_write_callback (device.stream, stream_request_cb, &device);
- pa_stream_set_latency_update_callback (device.stream, stream_latency_update_cb, &device);
-
- // Ready stream for playback //////////////////////////////////////////////
- pa_stream_flags_t flags = (pa_stream_flags_t) (PA_STREAM_ADJUST_LATENCY | PA_STREAM_INTERPOLATE_TIMING | PA_STREAM_AUTO_TIMING_UPDATE);
- //pa_stream_flags_t flags = (pa_stream_flags_t) (PA_STREAM_INTERPOLATE_TIMING | PA_STREAM_AUTO_TIMING_UPDATE | PA_STREAM_EARLY_REQUESTS);
- if (pa_stream_connect_playback (device.stream, NULL, &buffer_attributes, flags, NULL, NULL) < 0)
- {
- pa_context_errno (device.context);
- fprintf (stderr, "Could not connect for playback: %s\n", pa_strerror (error_number));
- return;
- }
-
- // Run mainloop until stream is ready /////////////////////////////////////
- pa_stream_state_t stream_state;
- stream_state = pa_stream_get_state (device.stream);
- while (stream_state != PA_STREAM_READY)
- {
- stream_state = pa_stream_get_state (device.stream);
-
- if (stream_state == PA_STREAM_READY)
- break;
-
- else if (! PA_STREAM_IS_GOOD (stream_state))
- {
- error_number = pa_context_errno (device.context);
- fprintf (stderr, "Stream state is not good: %s\n", pa_strerror (error_number));
- return;
- }
- else
- fprintf (stderr, "PulseAudio stream state is %d\n", stream_state);
- pa_threaded_mainloop_wait (device.mainloop);
- }
-
- pa_threaded_mainloop_unlock (device.mainloop);
-
- fprintf (stderr, "PulseAudio should be connected\n");
- return;
-}
-
-////////////////////////////////////////////////////////////////////////
-// REMOVE SOUND
-////////////////////////////////////////////////////////////////////////
-void RemoveSound (void)
-{
- if (device.mainloop != NULL)
- pa_threaded_mainloop_stop (device.mainloop);
-
- // Release in reverse order of acquisition
- if (device.stream != NULL)
- {
- pa_stream_unref (device.stream);
- device.stream = NULL;
-
- }
- if (device.context != NULL)
- {
- pa_context_disconnect (device.context);
- pa_context_unref (device.context);
- device.context = NULL;
- }
-
- if (device.mainloop != NULL)
- {
- pa_threaded_mainloop_free (device.mainloop);
- device.mainloop = NULL;
- }
-
-}
-
-////////////////////////////////////////////////////////////////////////
-// GET BYTES BUFFERED
-////////////////////////////////////////////////////////////////////////
-
-unsigned long SoundGetBytesBuffered (void)
-{
- int free_space;
- int error_code;
- long latency;
- int playing = 0;
-
- if ((device.mainloop == NULL) || (device.api == NULL) || ( device.context == NULL) || (device.stream == NULL))
- return SOUNDSIZE;
-
- pa_threaded_mainloop_lock (device.mainloop);
- free_space = pa_stream_writable_size (device.stream);
- pa_threaded_mainloop_unlock (device.mainloop);
-
- //fprintf (stderr, "Free space: %d\n", free_space);
- //fprintf (stderr, "Used space: %d\n", maxlength - free_space);
- if (free_space < mixlen * 3)
- {
- // Don't buffer anymore, just play
- //fprintf (stderr, "Not buffering.\n");
- return SOUNDSIZE;
- }
- else
- {
- // Buffer some sound
- //fprintf (stderr, "Buffering.\n");
- return 0;
- }
-}
-
-////////////////////////////////////////////////////////////////////////
-// FEED SOUND DATA
-////////////////////////////////////////////////////////////////////////
-
-void SoundFeedStreamData (unsigned char *pSound, long lBytes)
-{
- int error_code;
- int size;
-
- if (device.mainloop != NULL)
- {
- pa_threaded_mainloop_lock (device.mainloop);
- if (pa_stream_write (device.stream, pSound, lBytes, NULL, 0LL, PA_SEEK_RELATIVE) < 0)
- {
- fprintf (stderr, "Could not perform write\n");
- }
- else
- {
- //fprintf (stderr, "Wrote %d bytes\n", lBytes);
- pa_threaded_mainloop_unlock (device.mainloop);
- }
- }
-}
-#endif
diff --git a/plugins/dfsound/sdl.c b/plugins/dfsound/sdl.c
new file mode 100644
index 00000000..31cf5e1d
--- /dev/null
+++ b/plugins/dfsound/sdl.c
@@ -0,0 +1,135 @@
+/* SDL Driver for P.E.Op.S Sound Plugin
+ * Copyright (c) 2010, Wei Mingzhi <whistler_wmz@users.sf.net>.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA
+ */
+
+#include "stdafx.h"
+
+#include "externals.h"
+#include <SDL.h>
+
+#define BUFFER_SIZE 11025
+
+short *pSndBuffer = NULL;
+int iBufSize = 0;
+volatile int iReadPos = 0, iWritePos = 0;
+
+static void SOUND_FillAudio(void *unused, Uint8 *stream, int len) {
+ short *p = (short *)stream;
+
+ len /= sizeof(short);
+
+ while (iReadPos != iWritePos && len > 0) {
+ *p++ = pSndBuffer[iReadPos++];
+ if (iReadPos >= iBufSize) iReadPos = 0;
+ --len;
+ }
+
+ // Fill remaining space with zero
+ while (len > 0) {
+ *p++ = 0;
+ --len;
+ }
+}
+
+static void InitSDL() {
+ if (SDL_WasInit(SDL_INIT_EVERYTHING)) {
+ SDL_InitSubSystem(SDL_INIT_AUDIO);
+ } else {
+ SDL_Init(SDL_INIT_AUDIO | SDL_INIT_NOPARACHUTE);
+ }
+}
+
+static void DestroySDL() {
+ if (SDL_WasInit(SDL_INIT_EVERYTHING & ~SDL_INIT_AUDIO)) {
+ SDL_QuitSubSystem(SDL_INIT_AUDIO);
+ } else {
+ SDL_Quit();
+ }
+}
+
+void SetupSound(void) {
+ SDL_AudioSpec spec;
+
+ if (pSndBuffer != NULL) return;
+
+ InitSDL();
+
+ spec.freq = 44100;
+ spec.format = AUDIO_S16SYS;
+ spec.channels = iDisStereo ? 1 : 2;
+ spec.samples = 1024;
+ spec.callback = SOUND_FillAudio;
+
+ if (SDL_OpenAudio(&spec, NULL) < 0) {
+ DestroySDL();
+ return;
+ }
+
+ iBufSize = BUFFER_SIZE;
+ if (iDisStereo) iBufSize /= 2;
+
+ pSndBuffer = (short *)malloc(iBufSize * sizeof(short));
+ if (pSndBuffer == NULL) {
+ SDL_CloseAudio();
+ return;
+ }
+
+ iReadPos = 0;
+ iWritePos = 0;
+
+ SDL_PauseAudio(0);
+}
+
+void RemoveSound(void) {
+ if (pSndBuffer == NULL) return;
+
+ SDL_CloseAudio();
+ DestroySDL();
+
+ free(pSndBuffer);
+ pSndBuffer = NULL;
+}
+
+unsigned long SoundGetBytesBuffered(void) {
+ int size;
+
+ if (pSndBuffer == NULL) return SOUNDSIZE;
+
+ size = iReadPos - iWritePos;
+ if (size <= 0) size += iBufSize;
+
+ if (size < iBufSize / 2) return SOUNDSIZE;
+
+ return 0;
+}
+
+void SoundFeedStreamData(unsigned char *pSound, long lBytes) {
+ short *p = (short *)pSound;
+
+ if (pSndBuffer == NULL) return;
+
+ while (lBytes > 0) {
+ if (((iWritePos + 1) % iBufSize) == iReadPos) break;
+
+ pSndBuffer[iWritePos] = *p++;
+
+ ++iWritePos;
+ if (iWritePos >= iBufSize) iWritePos = 0;
+
+ lBytes -= sizeof(short);
+ }
+}
diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c
index f80a54f2..5dd54126 100644
--- a/plugins/dfsound/spu.c
+++ b/plugins/dfsound/spu.c
@@ -34,19 +34,13 @@
#define N_(x) (x)
#endif
-#if defined (USEALSA)
-static char * libraryName = N_("ALSA Sound");
-#elif defined (USEMACOSX)
+#if defined (USEMACOSX)
static char * libraryName = N_("Mac OS X Sound");
-#elif defined (USEOSS)
-static char * libraryName = N_("OSS Sound");
-#elif defined (USEPULSEAUDIO)
-static char * libraryName = N_("PulseAudio Sound");
#else
-static char * libraryName = N_("NULL Sound");
+static char * libraryName = N_("SDL Sound");
#endif
-static char * libraryInfo = N_("P.E.Op.S. OSS Driver V1.7\nCoded by Pete Bernert and the P.E.Op.S. team\n");
+static char * libraryInfo = N_("P.E.Op.S. Sound Driver V1.7\nCoded by Pete Bernert and the P.E.Op.S. team\n");
// globals
diff --git a/plugins/dfxvideo/Makefile.in b/plugins/dfxvideo/Makefile.in
index 411b7add..a84f060e 100644
--- a/plugins/dfxvideo/Makefile.in
+++ b/plugins/dfxvideo/Makefile.in
@@ -110,8 +110,6 @@ ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ALSA_CFLAGS = @ALSA_CFLAGS@
-ALSA_LIBS = @ALSA_LIBS@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
@@ -191,8 +189,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PEOPSXGL = @PEOPSXGL@
PKG_CONFIG = @PKG_CONFIG@
POSUB = @POSUB@
-PULSEAUDIO_CFLAGS = @PULSEAUDIO_CFLAGS@
-PULSEAUDIO_LIBS = @PULSEAUDIO_LIBS@
RANLIB = @RANLIB@
SDL_CFLAGS = @SDL_CFLAGS@
SDL_CONFIG = @SDL_CONFIG@
diff --git a/plugins/peopsxgl/Makefile.in b/plugins/peopsxgl/Makefile.in
index f4d4725a..ad45ee69 100644
--- a/plugins/peopsxgl/Makefile.in
+++ b/plugins/peopsxgl/Makefile.in
@@ -102,8 +102,6 @@ ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ALSA_CFLAGS = @ALSA_CFLAGS@
-ALSA_LIBS = @ALSA_LIBS@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
@@ -183,8 +181,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PEOPSXGL = @PEOPSXGL@
PKG_CONFIG = @PKG_CONFIG@
POSUB = @POSUB@
-PULSEAUDIO_CFLAGS = @PULSEAUDIO_CFLAGS@
-PULSEAUDIO_LIBS = @PULSEAUDIO_LIBS@
RANLIB = @RANLIB@
SDL_CFLAGS = @SDL_CFLAGS@
SDL_CONFIG = @SDL_CONFIG@