summaryrefslogtreecommitdiffstats
path: root/libao2
diff options
context:
space:
mode:
Diffstat (limited to 'libao2')
-rw-r--r--libao2/ao_oss.c6
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();
}