diff options
author | Chris Robinson <[email protected]> | 2009-11-29 10:22:12 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2009-11-29 10:22:12 -0800 |
commit | fdd314f7f8eddb6085a69b812bfa5a74dff6533d (patch) | |
tree | aff8a6e399d0b8db2a4f2060dd81cfcca2a00bbf | |
parent | 39b456d88ce298c7ecd0a59804cf1eba93c8d872 (diff) |
Reset the kill flag after the thread has stopped
-rw-r--r-- | Alc/alsa.c | 1 | ||||
-rw-r--r-- | Alc/dsound.c | 2 | ||||
-rw-r--r-- | Alc/oss.c | 1 | ||||
-rw-r--r-- | Alc/solaris.c | 2 | ||||
-rw-r--r-- | Alc/wave.c | 2 |
5 files changed, 8 insertions, 0 deletions
@@ -706,6 +706,7 @@ static void alsa_stop_playback(ALCdevice *device) StopThread(data->thread); data->thread = NULL; } + data->killNow = 0; free(data->buffer); data->buffer = NULL; } diff --git a/Alc/dsound.c b/Alc/dsound.c index 111183f3..374cb00c 100644 --- a/Alc/dsound.c +++ b/Alc/dsound.c @@ -445,6 +445,8 @@ static void DSoundStopPlayback(ALCdevice *device) StopThread(pData->thread); pData->thread = NULL; + pData->killNow = 0; + IDirectSoundBuffer_Release(pData->DSsbuffer); pData->DSsbuffer = NULL; if (pData->DSpbuffer) @@ -292,6 +292,7 @@ static void oss_stop_playback(ALCdevice *device) StopThread(data->thread); data->thread = NULL; + data->killNow = 0; if(ioctl(data->fd, SNDCTL_DSP_RESET) != 0) AL_PRINT("Error resetting device: %s\n", strerror(errno)); diff --git a/Alc/solaris.c b/Alc/solaris.c index 695f8f86..6cfaaa11 100644 --- a/Alc/solaris.c +++ b/Alc/solaris.c @@ -217,6 +217,8 @@ static void solaris_stop_playback(ALCdevice *device) StopThread(data->thread); data->thread = NULL; + data->killNow = 0; + free(data->mix_data); data->mix_data = NULL; } @@ -251,6 +251,8 @@ static void wave_stop_playback(ALCdevice *device) StopThread(data->thread); data->thread = NULL; + data->killNow = 0; + free(data->buffer); data->buffer = NULL; |