diff --git a/src/audio/SDL_audio.c b/src/audio/SDL_audio.c index 1caac1faf..a0f96be1d 100644 --- a/src/audio/SDL_audio.c +++ b/src/audio/SDL_audio.c @@ -616,6 +616,7 @@ SDL_RunAudio(void *devicep) } /* Read from the callback into the _input_ stream */ + // !!! FIXME: this should be LockDevice. SDL_LockMutex(device->mixer_lock); (*fill) (udata, istream, istream_len); SDL_UnlockMutex(device->mixer_lock); @@ -687,6 +688,7 @@ SDL_RunAudio(void *devicep) } } + /* !!! FIXME: this should be LockDevice. */ SDL_LockMutex(device->mixer_lock); if (device->paused) { SDL_memset(stream, silence, stream_len); @@ -1138,7 +1140,7 @@ open_audio_device(const char *devname, int iscapture, device->paused = 1; device->iscapture = iscapture; - /* Create a semaphore for locking the sound buffers */ + /* Create a mutex for locking the sound buffers */ if (!current_audio.impl.SkipMixerLock) { device->mixer_lock = SDL_CreateMutex(); if (device->mixer_lock == NULL) { diff --git a/src/audio/SDL_sysaudio.h b/src/audio/SDL_sysaudio.h index 4f933205d..972828c28 100644 --- a/src/audio/SDL_sysaudio.h +++ b/src/audio/SDL_sysaudio.h @@ -71,6 +71,7 @@ typedef struct SDL_AudioDriverImpl /* !!! FIXME: add pause(), so we can optimize instead of mixing silence. */ /* Some flags to push duplicate code into the core and reduce #ifdefs. */ + /* !!! FIXME: these should be SDL_bool */ int ProvidesOwnCallbackThread; int SkipMixerLock; /* !!! FIXME: do we need this anymore? */ int HasCaptureSupport; @@ -125,6 +126,7 @@ struct SDL_AudioDevice SDL_AudioStreamer streamer; /* Current state flags */ + /* !!! FIXME: should be SDL_bool */ int iscapture; int enabled; int paused; @@ -133,7 +135,7 @@ struct SDL_AudioDevice /* Fake audio buffer for when the audio hardware is busy */ Uint8 *fake_stream; - /* A semaphore for locking the mixing buffers */ + /* A mutex for locking the mixing buffers */ SDL_mutex *mixer_lock; /* A thread to feed the audio device */