+--- SDL-1.2.13/src/audio/pulse/SDL_pulseaudio.c 2007-12-31 05:47:58.000000000 +0100
++++ SDL-1.2.13.lennart/src/audio/pulse/SDL_pulseaudio.c 2008-03-31 16:09:05.000000000 +0200
+@@ -1,3 +1,4 @@
++/* -*- Mode: C; c-basic-offset: 8; indent-tabs-mode: t -*- */
+ /*
+ SDL - Simple DirectMedia Layer
+ Copyright (C) 1997-2007 Sam Lantinga
+@@ -18,7 +19,7 @@
+
+ Stéphan Kochen
+ stephan@kochen.nl
+-
++
+ Based on parts of the ALSA and ESounD output drivers.
+ */
+ #include "SDL_config.h"
+@@ -78,14 +79,14 @@ static int (*SDL_NAME(pa_simple_write))(
+ pa_simple *s,
+ const void *data,
+ size_t length,
+- int *error
++ int *error
+ );
+ static pa_channel_map* (*SDL_NAME(pa_channel_map_init_auto))(
+ pa_channel_map *m,
+ unsigned channels,
+ pa_channel_map_def_t def
+ );
+-
++
+
+ static struct {
+ const char *name;
+@@ -158,16 +159,16 @@ static int Audio_Available(void)
+ if ( LoadPulseLibrary() < 0 ) {
+ return available;
+ }
+-
++
+ /* Connect with a dummy format. */
+ paspec.format = PA_SAMPLE_U8;
+ paspec.rate = 11025;
+ paspec.channels = 1;
+ connection = SDL_NAME(pa_simple_new)(
+- SDL_getenv("PASERVER"), /* server */
++ NULL, /* server */
+ "Test stream", /* application name */
+ PA_STREAM_PLAYBACK, /* playback mode */
+- SDL_getenv("PADEVICE"), /* device on the server */
++ NULL, /* device on the server */
+ "Simple DirectMedia Layer", /* stream description */
+ &paspec, /* sample format spec */
+ NULL, /* channel map */
+@@ -178,7 +179,7 @@ static int Audio_Available(void)
+ available = 1;
+ SDL_NAME(pa_simple_free)(connection);
+ }
+-
++
+ UnloadPulseLibrary();
+ return(available);
+ }
+@@ -233,7 +234,7 @@ static void PULSE_WaitAudio(_THIS)
+ {
+ /* Check to see if the thread-parent process is still alive */
+ { static int cnt = 0;
+- /* Note that this only works with thread implementations
++ /* Note that this only works with thread implementations
+ that use a different process id for each thread.
+ */
+ if (parent && (((++cnt)%10) == 0)) { /* Check every 10 loops */
+@@ -302,7 +303,7 @@ static int PULSE_OpenAudio(_THIS, SDL_Au
+ pa_sample_spec paspec;
+ pa_buffer_attr paattr;
+ pa_channel_map pacmap;
+-
++
+ paspec.format = PA_SAMPLE_INVALID;
+ for ( test_format = SDL_FirstAudioFormat(spec->format); test_format; ) {
+ switch ( test_format ) {
+@@ -324,7 +325,7 @@ static int PULSE_OpenAudio(_THIS, SDL_Au
+ return(-1);
+ }
+ spec->format = test_format;
+-
++
+ paspec.channels = spec->channels;
+ paspec.rate = spec->freq;
+
+@@ -338,25 +339,24 @@ static int PULSE_OpenAudio(_THIS, SDL_Au
+ return(-1);
+ }
+ SDL_memset(mixbuf, spec->silence, spec->size);
+-
++
+ /* Reduced prebuffering compared to the defaults. */
+- paattr.tlength = mixlen;
++ paattr.tlength = mixlen*2;
+ paattr.minreq = mixlen;
+- paattr.fragsize = mixlen;
+- paattr.prebuf = mixlen;
+- paattr.maxlength = mixlen * 4;
+-
++ paattr.prebuf = mixlen*2;
++ paattr.maxlength = mixlen*2;
++
+ /* The SDL ALSA output hints us that we use Windows' channel mapping */
+ /* http://bugzilla.libsdl.org/show_bug.cgi?id=110 */
+ SDL_NAME(pa_channel_map_init_auto)(
+ &pacmap, spec->channels, PA_CHANNEL_MAP_WAVEEX);
+-
++
+ /* Connect to the PulseAudio server */
+ stream = SDL_NAME(pa_simple_new)(
+- SDL_getenv("PASERVER"), /* server */
++ NULL, /* server */
+ get_progname(), /* application name */
+ PA_STREAM_PLAYBACK, /* playback mode */
+- SDL_getenv("PADEVICE"), /* device on the server */
++ NULL, /* device on the server */
+ "Simple DirectMedia Layer", /* stream description */
+ &paspec, /* sample format spec */
+ &pacmap, /* channel map */
+@@ -371,7 +371,6 @@ static int PULSE_OpenAudio(_THIS, SDL_Au
+
+ /* Get the parent process id (we're the parent of the audio thread) */
+ parent = getpid();
+-
++
+ return(0);
+ }
+-