summaryrefslogtreecommitdiffstats
path: root/libao2
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-04-07 17:39:41 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-04-07 17:39:41 +0000
commit9623100d13788f98b610becf110bceb3d2c686b5 (patch)
treedf9bf9ba8ffcfd0eb3b124d21378bb32bfae4fdd /libao2
parent885709eadda14524d0fe12ce423f6cc17b2c1e6b (diff)
downloadmpv-9623100d13788f98b610becf110bceb3d2c686b5.tar.bz2
mpv-9623100d13788f98b610becf110bceb3d2c686b5.tar.xz
reset() should not senselessly close and reopen
the device but instead just call flush_audio() git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26345 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libao2')
-rw-r--r--libao2/ao_sun.c24
1 files changed, 1 insertions, 23 deletions
diff --git a/libao2/ao_sun.c b/libao2/ao_sun.c
index 773f0d0d4a..55691705bd 100644
--- a/libao2/ao_sun.c
+++ b/libao2/ao_sun.c
@@ -588,29 +588,7 @@ static void uninit(int immed){
// stop playing and empty buffers (for seeking/pause)
static void reset(void){
- audio_info_t info;
-
- uninit(1);
- audio_fd=open(audio_dev, O_WRONLY);
- if(audio_fd<0){
- mp_msg(MSGT_AO, MSGL_FATAL, MSGTR_AO_SUN_CantReopenReset, strerror(errno));
- return;
- }
-
- ioctl(audio_fd, AUDIO_DRAIN, 0);
-
- AUDIO_INITINFO(&info);
- info.play.encoding = af2sunfmt(ao_data.format);
- info.play.precision =
- (ao_data.format==AF_FORMAT_S16_NE
- ? AUDIO_PRECISION_16
- : AUDIO_PRECISION_8);
- info.play.channels = ao_data.channels;
- info.play.sample_rate = ao_data.samplerate;
- info.play.samples = 0;
- info.play.eof = 0;
- info.play.error = 0;
- ioctl (audio_fd, AUDIO_SETINFO, &info);
+ flush_audio(audio_fd);
queued_bursts = 0;
queued_samples = 0;
}