gl: clear w, h on reinit
[libpicofe.git] / sndout_sdl.c
index 83b3ea2..c0c57ab 100644 (file)
@@ -62,7 +62,7 @@ int sndout_sdl_init(void)
 
 int sndout_sdl_start(int rate, int stereo)
 {
-       SDL_AudioSpec desired;
+       SDL_AudioSpec desired = { 0 };
        int samples, shift;
        int ret;
 
@@ -70,12 +70,12 @@ int sndout_sdl_start(int rate, int stereo)
                sndout_sdl_stop();
 
        desired.freq = rate;
-       desired.format = AUDIO_S16LSB;
+       desired.format = AUDIO_S16SYS;
        desired.channels = stereo ? 2 : 1;
        desired.callback = callback;
        desired.userdata = NULL;
 
-       samples = rate * 4 * 16 / 1000;
+       samples = rate >> 6;
        for (shift = 8; (1 << shift) < samples; shift++)
                ;
        desired.samples = 1 << shift;