summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2018-01-05 17:30:09 -0500
committerFranklin Wei <git@fwei.tk>2018-01-15 19:47:49 -0500
commitef373c03b96b0be08babca581d9f10bccfd4931f (patch)
treeb0eae348c1f5e49dc609ff843bfb4228a0e1ace1 /apps/plugins
parentbeaeb28a29e44326408df68274999ea6dcd8da07 (diff)
downloadrockbox-ef373c03b96b0be08babca581d9f10bccfd4931f.tar.gz
rockbox-ef373c03b96b0be08babca581d9f10bccfd4931f.zip
sdl: clean up audio driver
This prevents a (highly improbable) race condition when exiting, and uses pcm_set_frequency() instead of mixer_set_frequency(), since that seems like the Right Thing to Do (TM). Change-Id: Icb6a4597843215f08b3835490ac63f67c9a04736
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/sdl/src/audio/rockbox/SDL_rockboxaudio.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/apps/plugins/sdl/src/audio/rockbox/SDL_rockboxaudio.c b/apps/plugins/sdl/src/audio/rockbox/SDL_rockboxaudio.c
index 83bd0afb42..1c2e4b2de9 100644
--- a/apps/plugins/sdl/src/audio/rockbox/SDL_rockboxaudio.c
+++ b/apps/plugins/sdl/src/audio/rockbox/SDL_rockboxaudio.c
@@ -211,6 +211,7 @@ static Uint8 *ROCKBOXAUD_GetAudioBuf(_THIS)
211 211
212static void ROCKBOXAUD_CloseAudio(_THIS) 212static void ROCKBOXAUD_CloseAudio(_THIS)
213{ 213{
214 rb->pcm_play_stop();
214 if ( this->hidden->mixbuf != NULL ) { 215 if ( this->hidden->mixbuf != NULL ) {
215 SDL_FreeAudioMem(this->hidden->mixbuf); 216 SDL_FreeAudioMem(this->hidden->mixbuf);
216 this->hidden->mixbuf = NULL; 217 this->hidden->mixbuf = NULL;
@@ -221,7 +222,6 @@ static void ROCKBOXAUD_CloseAudio(_THIS)
221 if(this->hidden->rb_buf[i]) 222 if(this->hidden->rb_buf[i])
222 SDL_FreeAudioMem(this->hidden->rb_buf[i]); 223 SDL_FreeAudioMem(this->hidden->rb_buf[i]);
223 } 224 }
224 rb->pcm_play_stop();
225 rb->pcm_set_frequency(HW_SAMPR_DEFAULT); 225 rb->pcm_set_frequency(HW_SAMPR_DEFAULT);
226} 226}
227 227
@@ -236,7 +236,7 @@ static int ROCKBOXAUD_OpenAudio(_THIS, SDL_AudioSpec *spec)
236 SDL_CalculateAudioSpec(spec); 236 SDL_CalculateAudioSpec(spec);
237 237
238 LOGF("samplerate %d", spec->freq); 238 LOGF("samplerate %d", spec->freq);
239 rb->mixer_set_frequency(spec->freq); 239 rb->pcm_set_frequency(spec->freq);
240 240
241 /* Allocate mixing buffer */ 241 /* Allocate mixing buffer */
242 this->hidden->mixlen = spec->size; 242 this->hidden->mixlen = spec->size;