diff options
Diffstat (limited to 'libao2')
-rw-r--r-- | libao2/ao_oss.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libao2/ao_oss.c b/libao2/ao_oss.c index 18b60af3ef..4af83e865c 100644 --- a/libao2/ao_oss.c +++ b/libao2/ao_oss.c @@ -225,10 +225,12 @@ ac3_retry: // close audio device static void uninit(){ + if(audio_fd == -1) return; #ifdef SNDCTL_DSP_RESET ioctl(audio_fd, SNDCTL_DSP_RESET, NULL); #endif close(audio_fd); + audio_fd = -1; } // stop playing and empty buffers (for seeking/pause) @@ -255,13 +257,13 @@ static void reset(){ // stop playing, keep buffers (for pause) static void audio_pause() { - // for now, just call reset(); - reset(); + uninit(); } // resume playing, after audio_pause() static void audio_resume() { + reset(); } |