]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - snd_sdl.c
Fixed the 5.1 speaker layout when using SDL on Win32 (thanks to Willis for the report)
[xonotic/darkplaces.git] / snd_sdl.c
index 90b53129c10947a239375d9e0a59ff007a84cb29..b82a56a4737808ff9ffdcf439a933d94711fdac7 100644 (file)
--- a/snd_sdl.c
+++ b/snd_sdl.c
@@ -62,7 +62,7 @@ static void Buffer_Callback (void *userdata, Uint8 *stream, int len)
 
        snd_renderbuffer->startframe += FrameCount;
 
 
        snd_renderbuffer->startframe += FrameCount;
 
-       if (FrameCount < RequestedFrames)
+       if (FrameCount < RequestedFrames && developer.integer >= 100)
                Con_DPrintf("SDL sound: %u sample frames missing\n", RequestedFrames - FrameCount);
 
        sdlaudiotime += RequestedFrames;
                Con_DPrintf("SDL sound: %u sample frames missing\n", RequestedFrames - FrameCount);
 
        sdlaudiotime += RequestedFrames;
@@ -141,12 +141,17 @@ qboolean SndSys_Init (const snd_format_t* requested, snd_format_t* suggested)
        }
 
        snd_renderbuffer = Snd_CreateRingBuffer(requested, 0, NULL);
        }
 
        snd_renderbuffer = Snd_CreateRingBuffer(requested, 0, NULL);
-
+       if (snd_channellayout.integer == SND_CHANNELLAYOUT_AUTO)
+       {
+               int newlayout;
+               
 #ifdef __linux__
 #ifdef __linux__
-       alsaspeakerlayout = true;
+               newlayout = SND_CHANNELLAYOUT_ALSA;
 #else
 #else
-       alsaspeakerlayout = false;
+               newlayout = SND_CHANNELLAYOUT_STANDARD;
 #endif
 #endif
+               Cvar_SetValueQuick (&snd_channellayout, newlayout);
+       }
 
        sdlaudiotime = 0;
        SDL_PauseAudio( false );
 
        sdlaudiotime = 0;
        SDL_PauseAudio( false );