summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libao2/ao_sun.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libao2/ao_sun.c b/libao2/ao_sun.c
index c1ef3a43a8..773f0d0d4a 100644
--- a/libao2/ao_sun.c
+++ b/libao2/ao_sun.c
@@ -478,8 +478,6 @@ static int init(int rate,int channels,int format,int flags){
return 0;
}
- ioctl(audio_fd, AUDIO_DRAIN, 0);
-
if (af2sunfmt(format) == AUDIO_ENCODING_NONE)
format = AF_FORMAT_S16_NE;
@@ -583,6 +581,8 @@ static void uninit(int immed){
// throw away buffered data in the audio driver's STREAMS queue
if (immed)
flush_audio(audio_fd);
+ else
+ ioctl(audio_fd, AUDIO_DRAIN, 0);
close(audio_fd);
}