summaryrefslogtreecommitdiffstats
path: root/mplayer.c
diff options
context:
space:
mode:
authorarpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-04-12 00:40:42 +0000
committerarpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-04-12 00:40:42 +0000
commit78f77d4a9d4118901b211db31723178ceadfdb81 (patch)
treec999988b03b49e8423e61808af5221569b606dec /mplayer.c
parent627806710a0f13100b0d876595c4ed82cfec5238 (diff)
downloadmpv-78f77d4a9d4118901b211db31723178ceadfdb81.tar.bz2
mpv-78f77d4a9d4118901b211db31723178ceadfdb81.tar.xz
OSD fixes, patch by Kebert Martin
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@372 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mplayer.c')
-rw-r--r--mplayer.c40
1 files changed, 33 insertions, 7 deletions
diff --git a/mplayer.c b/mplayer.c
index ed5b564b95..e1f3412540 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -1113,6 +1113,7 @@ double vout_time_usage=0;
double audio_time_usage=0;
int grab_frames=0;
char osd_text_buffer[64];
+int osd_level=2;
int osd_visible=100;
int osd_function=OSD_PLAY;
@@ -1705,6 +1706,19 @@ switch(has_video){
--osd_visible;
if(!osd_visible) vo_osd_progbar_type=-1; // disable
}
+
+ if(osd_function==OSD_PAUSE){
+ printf("\n------ PAUSED -------\r");fflush(stdout);
+ while(
+#ifdef HAVE_LIRC
+ lirc_mp_getinput()<=0 &&
+#endif
+ getch2(20)<=0 && mplayer_get_key()<=0){
+ video_out->check_events();
+ }
+ osd_function=OSD_PLAY;
+ }
+
} // while(v_frame<a_frame || force_redraw)
@@ -1754,6 +1768,7 @@ switch(has_video){
case 'p':
case ' ':
osd_function=OSD_PAUSE;
+#if 0
printf("\n------ PAUSED -------\r");fflush(stdout);
while(
#ifdef HAVE_LIRC
@@ -1763,6 +1778,10 @@ switch(has_video){
video_out->check_events();
}
osd_function=OSD_PLAY;
+#endif
+ break;
+ case 'o': // toggle OSD
+ osd_level=(osd_level+1)%3;
break;
}
if(rel_seek_secs)
@@ -1929,11 +1948,13 @@ switch(file_format){
skip_video_frames,skip_audio_bytes,skip_audio_secs);
// Set OSD:
- osd_visible=default_fps;
- vo_osd_progbar_type=0;
- vo_osd_progbar_value=(demuxer->filepos)/((avi_header.movi_end-avi_header.movi_start)>>8);
- printf("avi filepos = %d \n",vo_osd_progbar_value);
-// printf("avi filepos = %d (len=%d) \n",demuxer->filepos,(avi_header.movi_end-avi_header.movi_start));
+ if(osd_level){
+ osd_visible=default_fps;
+ vo_osd_progbar_type=0;
+ vo_osd_progbar_value=(demuxer->filepos)/((avi_header.movi_end-avi_header.movi_start)>>8);
+ //printf("avi filepos = %d \n",vo_osd_progbar_value);
+ // printf("avi filepos = %d (len=%d) \n",demuxer->filepos,(avi_header.movi_end-avi_header.movi_start));
+ }
}
break;
@@ -2045,9 +2066,14 @@ switch(file_format){
//================= Update OSD ====================
{ int i;
- sprintf(osd_text_buffer,"%c %02d:%02d:%02d",osd_function,(int)v_pts/3600,((int)v_pts/60)%60,((int)v_pts)%60);
+ if(osd_level>=2){
+ vo_osd_text=osd_text_buffer;
+ sprintf(vo_osd_text,"%c %02d:%02d:%02d",osd_function,(int)v_pts/3600,((int)v_pts/60)%60,((int)v_pts)%60);
+ } else {
+ vo_osd_text=NULL;
+ }
// for(i=1;i<=11;i++) osd_text_buffer[10+i]=i;osd_text_buffer[10+i]=0;
- vo_osd_text=osd_text_buffer;
+// vo_osd_text=osd_text_buffer;
// find sub
if(subtitles){