[MPlayer-cvslog] r28220 - trunk/mplayer.c
reimar
subversion at mplayerhq.hu
Thu Jan 1 11:24:20 CET 2009
Author: reimar
Date: Thu Jan 1 11:24:19 2009
New Revision: 28220
Log:
Avoid a uselessly high number of wakeups when playing audio-only files.
Modified:
trunk/mplayer.c
Modified: trunk/mplayer.c
==============================================================================
--- trunk/mplayer.c Thu Jan 1 10:47:21 2009 (r28219)
+++ trunk/mplayer.c Thu Jan 1 11:24:19 2009 (r28220)
@@ -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) {
More information about the MPlayer-cvslog
mailing list