|
@@ -217,10 +217,10 @@ SOUND_FillAudio(
|
|
if (!g_fNoMusic)
|
|
if (!g_fNoMusic)
|
|
{
|
|
{
|
|
#ifdef PAL_HAS_MP3
|
|
#ifdef PAL_HAS_MP3
|
|
|
|
+ SDL_mutexP(gSndPlayer.lock);
|
|
|
|
+
|
|
if (gSndPlayer.pMP3 != NULL)
|
|
if (gSndPlayer.pMP3 != NULL)
|
|
{
|
|
{
|
|
- SDL_mutexP(gSndPlayer.lock);
|
|
|
|
-
|
|
|
|
mad_getSamples(gSndPlayer.pMP3, stream, len);
|
|
mad_getSamples(gSndPlayer.pMP3, stream, len);
|
|
|
|
|
|
if (!mad_isPlaying(gSndPlayer.pMP3) && gSndPlayer.fMP3Loop)
|
|
if (!mad_isPlaying(gSndPlayer.pMP3) && gSndPlayer.fMP3Loop)
|
|
@@ -230,9 +230,9 @@ SOUND_FillAudio(
|
|
|
|
|
|
mad_getSamples(gSndPlayer.pMP3, stream, len);
|
|
mad_getSamples(gSndPlayer.pMP3, stream, len);
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
|
|
- SDL_mutexV(gSndPlayer.lock);
|
|
|
|
- }
|
|
|
|
|
|
+ SDL_mutexV(gSndPlayer.lock);
|
|
#endif
|
|
#endif
|
|
RIX_FillBuffer(stream, len);
|
|
RIX_FillBuffer(stream, len);
|
|
}
|
|
}
|
|
@@ -656,22 +656,23 @@ PAL_PlayMUS(
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#ifdef PAL_HAS_MP3
|
|
#ifdef PAL_HAS_MP3
|
|
|
|
+ SDL_mutexP(gSndPlayer.lock);
|
|
|
|
+
|
|
if (gSndPlayer.pMP3 != NULL)
|
|
if (gSndPlayer.pMP3 != NULL)
|
|
{
|
|
{
|
|
if (iNumRIX == gSndPlayer.iCurrentMP3 && !g_fNoMusic)
|
|
if (iNumRIX == gSndPlayer.iCurrentMP3 && !g_fNoMusic)
|
|
{
|
|
{
|
|
|
|
+ SDL_mutexV(gSndPlayer.lock);
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
- SDL_mutexP(gSndPlayer.lock);
|
|
|
|
-
|
|
|
|
mad_stop(gSndPlayer.pMP3);
|
|
mad_stop(gSndPlayer.pMP3);
|
|
mad_closeFile(gSndPlayer.pMP3);
|
|
mad_closeFile(gSndPlayer.pMP3);
|
|
|
|
|
|
gSndPlayer.pMP3 = NULL;
|
|
gSndPlayer.pMP3 = NULL;
|
|
|
|
+ }
|
|
|
|
|
|
- SDL_mutexV(gSndPlayer.lock);
|
|
|
|
- }
|
|
|
|
|
|
+ SDL_mutexV(gSndPlayer.lock);
|
|
|
|
|
|
gSndPlayer.iCurrentMP3 = -1;
|
|
gSndPlayer.iCurrentMP3 = -1;
|
|
|
|
|