Avoid a uselessly high number of wakeups when playing audio-only files.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28220 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
reimar 2009-01-01 10:24:19 +00:00
parent 756e662b68
commit c9ba917877
1 changed files with 4 additions and 1 deletions

View File

@ -2015,6 +2015,7 @@ static int fill_audio_out_buffers(void)
current_module="play_audio";
while (1) {
int sleep_time;
// all the current uses of ao_data.pts seem to be in aos that handle
// sync completely wrong; there should be no need to use ao_data.pts
// in get_space()
@ -2026,7 +2027,9 @@ static int fill_audio_out_buffers(void)
// handle audio-only case:
// this is where mplayer sleeps during audio-only playback
// to avoid 100% CPU use
usec_sleep(10000); // Wait a tick before retry
sleep_time = (ao_data.outburst - bytes_to_write) * 1000 / ao_data.samplerate;
if (sleep_time < 10) sleep_time = 10; // limit to 100 wakeups per second
usec_sleep(sleep_time * 1000);
}
while (bytes_to_write) {