rnd-20020510-8-src
[rocksndiamonds.git] / src / libgame / sdl.c
index f10dfd6dc2322f3b72ae2701b54d1439279f0121..6365c87161db3a0efb246895c26195f5be95d321 100644 (file)
@@ -873,7 +873,7 @@ inline void SDLOpenAudio(void)
   }
 
   if (Mix_OpenAudio(DEFAULT_AUDIO_SAMPLE_RATE, AUDIO_S16,
-                   AUDIO_STEREO_CHANNELS,
+                   AUDIO_NUM_CHANNELS_STEREO,
                    DEFAULT_AUDIO_FRAGMENT_SIZE) < 0)
   {
     Error(ERR_WARN, "Mix_OpenAudio() failed: %s", SDL_GetError());
@@ -885,8 +885,10 @@ inline void SDLOpenAudio(void)
   audio.loops_available = TRUE;
   audio.sound_enabled = TRUE;
 
-  /* determine number of available channels */
-  audio.channels = Mix_AllocateChannels(MIX_CHANNELS);
+  /* set number of available mixer channels */
+  audio.num_channels = Mix_AllocateChannels(NUM_MIXER_CHANNELS);
+  audio.music_channel = MUSIC_CHANNEL;
+  audio.first_sound_channel = FIRST_SOUND_CHANNEL;
 
   /* reserve first channel for music loops */
   if (Mix_ReserveChannels(1) == 1)
@@ -896,6 +898,8 @@ inline void SDLOpenAudio(void)
 
   Mix_Volume(-1, SOUND_MAX_VOLUME);
   Mix_VolumeMusic(SOUND_MAX_VOLUME);
+
+  Mixer_InitChannels();
 }
 
 inline void SDLCloseAudio(void)