mirror of https://github.com/mpv-player/mpv
Move resetting audio_info_t samples, eof and error in ao_sun.c to reset(), avoids
duplication code from init() and fixes hangs after seeking. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28689 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
db74aa4315
commit
0ef6b6a546
|
@ -584,14 +584,7 @@ static int init(int rate,int channels,int format,int flags){
|
||||||
ao_data.bps = byte_per_sec = bytes_per_sample * ao_data.samplerate;
|
ao_data.bps = byte_per_sec = bytes_per_sample * ao_data.samplerate;
|
||||||
ao_data.outburst = byte_per_sec > 100000 ? 16384 : 8192;
|
ao_data.outburst = byte_per_sec > 100000 ? 16384 : 8192;
|
||||||
|
|
||||||
AUDIO_INITINFO(&info);
|
reset();
|
||||||
info.play.samples = 0;
|
|
||||||
info.play.eof = 0;
|
|
||||||
info.play.error = 0;
|
|
||||||
ioctl (audio_fd, AUDIO_SETINFO, &info);
|
|
||||||
|
|
||||||
queued_bursts = 0;
|
|
||||||
queued_samples = 0;
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -608,7 +601,15 @@ static void uninit(int immed){
|
||||||
|
|
||||||
// stop playing and empty buffers (for seeking/pause)
|
// stop playing and empty buffers (for seeking/pause)
|
||||||
static void reset(void){
|
static void reset(void){
|
||||||
|
audio_info_t info;
|
||||||
flush_audio(audio_fd);
|
flush_audio(audio_fd);
|
||||||
|
|
||||||
|
AUDIO_INITINFO(&info);
|
||||||
|
info.play.samples = 0;
|
||||||
|
info.play.eof = 0;
|
||||||
|
info.play.error = 0;
|
||||||
|
ioctl(audio_fd, AUDIO_SETINFO, &info);
|
||||||
|
|
||||||
queued_bursts = 0;
|
queued_bursts = 0;
|
||||||
queued_samples = 0;
|
queued_samples = 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue