summaryrefslogtreecommitdiffstats
path: root/mplayer.c
diff options
context:
space:
mode:
authoruau <uau@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-04-25 21:36:02 +0000
committeruau <uau@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-04-25 21:36:02 +0000
commitbee52bbd1045c9f74ee6f8ff57c53cfb433f0675 (patch)
tree024471b2bc8378a3500177ffb9e69612c7553838 /mplayer.c
parentef6264e56eb0fdbc2f6984a1dc1ef841821b6cd6 (diff)
downloadmpv-bee52bbd1045c9f74ee6f8ff57c53cfb433f0675.tar.bz2
mpv-bee52bbd1045c9f74ee6f8ff57c53cfb433f0675.tar.xz
Remove updating of vo_mouse_timer_const from the main loop and also
remove the variable itself. Convert code in x11_common.c and OSD timing that depended on the variable to use real time instead. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18288 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mplayer.c')
-rw-r--r--mplayer.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/mplayer.c b/mplayer.c
index 79dc6079f0..62a15a2b87 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -239,7 +239,8 @@ static int list_properties = 0;
int osd_level=1;
int osd_level_saved=-1;
-int osd_visible=100;
+// if nonzero, hide current OSD contents when GetTimerMS() reaches this
+unsigned int osd_visible;
static int osd_function=OSD_PLAY;
static int osd_show_percentage = 0;
static int osd_duration = 1000;
@@ -1229,7 +1230,7 @@ void set_osd_bar(int type,char* name,double min,double max,double val) {
#ifdef USE_OSD
if(sh_video) {
- osd_visible = sh_video->fps;
+ osd_visible = (GetTimerMS() + 1000) | 1;
vo_osd_progbar_type = type;
vo_osd_progbar_value = 256*(val-min)/(max-min);
vo_osd_changed(OSDTYPE_PROGBAR);
@@ -3195,9 +3196,6 @@ if(sh_video){
sh_video->frametime=1.0f/sh_video->fps;
}
vo_fps = sh_video->fps;
-#ifdef HAVE_X11
- vo_mouse_timer_const=(int)sh_video->fps;
-#endif
if(!sh_video->fps && !force_fps){
mp_msg(MSGT_CPLAYER,MSGL_ERR,MSGTR_FPSnotspecified);
@@ -3725,9 +3723,6 @@ if(!sh_video) {
time_frame+=frame_time; // for nosound
// video_read_frame can change fps (e.g. for asf video)
vo_fps = sh_video->fps;
-#ifdef HAVE_X11
- vo_mouse_timer_const = (int)sh_video->fps;
-#endif
// check for frame-drop:
current_module="check_framedrop";
if(sh_audio && !d_audio->eof){
@@ -4056,7 +4051,10 @@ if(auto_quality>0){
#ifdef USE_OSD
if(osd_visible){
- if (!--osd_visible){
+ // 36000000 means max timed visibility is 1 hour into the future, if
+ // the difference is greater assume it's wrapped around from below 0
+ if (osd_visible - GetTimerMS() > 36000000) {
+ osd_visible = 0;
vo_osd_progbar_type=-1; // disable
vo_osd_changed(OSDTYPE_PROGBAR);
if (osd_function != OSD_PAUSE)
@@ -4929,7 +4927,7 @@ if(rel_seek_secs || abs_seek_pos){
if(sh_video) {
c_total=0;
max_pts_correction=0.1;
- osd_visible=sh_video->fps; // to rewert to PLAY pointer after 1 sec
+ osd_visible=(GetTimerMS() + 1000) | 1; // to revert to PLAY pointer after 1 sec
audio_time_usage=0; video_time_usage=0; vout_time_usage=0;
drop_frame_cnt=0;
too_slow_frame_cnt=0;