Mercurial > sdl-ios-xcode
comparison src/audio/alsa/SDL_alsa_audio.c @ 4337:4eb6b4be1dbc SDL-1.2
Fixed bug #728
I am using a headset on my monitor as primary sound output device. From time to
time it happens that I switch off my monitor when I leave my computer and
switch it on when I come back.
When doing so while wesnoth is running I get no sound back when I switch on my
monitor. There is probably good reason for that. Therefore I wanted to exit and
restart wesnoth. Unfortunately, wesnoth always hangs in this situation. It
looks like wesnoth can not be exited when the primary sound device vanished.
I created a backtrace of this situation (please see attachment).
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 15 Oct 2009 02:52:11 +0000 |
parents | 77b20871fd44 |
children | 819270e2f893 |
comparison
equal
deleted
inserted
replaced
4336:77b20871fd44 | 4337:4eb6b4be1dbc |
---|---|
321 | 321 |
322 swizzle_alsa_channels(this); | 322 swizzle_alsa_channels(this); |
323 | 323 |
324 frames_left = ((snd_pcm_uframes_t) this->spec.samples); | 324 frames_left = ((snd_pcm_uframes_t) this->spec.samples); |
325 | 325 |
326 while ( frames_left > 0 ) { | 326 while ( frames_left > 0 && this->enabled ) { |
327 status = SDL_NAME(snd_pcm_writei)(pcm_handle, sample_buf, frames_left); | 327 status = SDL_NAME(snd_pcm_writei)(pcm_handle, sample_buf, frames_left); |
328 if ( status < 0 ) { | 328 if ( status < 0 ) { |
329 if ( status == -EAGAIN ) { | 329 if ( status == -EAGAIN ) { |
330 SDL_Delay(1); | 330 SDL_Delay(1); |
331 continue; | 331 continue; |