summaryrefslogtreecommitdiffstats
path: root/mplayer.c
diff options
context:
space:
mode:
authoratmos4 <atmos4@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-22 15:25:11 +0000
committeratmos4 <atmos4@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-22 15:25:11 +0000
commit06ebd66015ae446564f505ed3345fb50a5e74bfc (patch)
tree2ab1424c8881a626a746b8322205f08c479e40ed /mplayer.c
parentd60a7a1d74d6c016e2ea08dd564ed07225a2b945 (diff)
downloadmpv-06ebd66015ae446564f505ed3345fb50a5e74bfc.tar.bz2
mpv-06ebd66015ae446564f505ed3345fb50a5e74bfc.tar.xz
osd outside movie support for vo_sdl, patch by Fredrik Kuivinen
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4808 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mplayer.c')
-rw-r--r--mplayer.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/mplayer.c b/mplayer.c
index 01fcd2ba97..ffc4a81bfe 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -2700,19 +2700,28 @@ if(rel_seek_secs || abs_seek_pos){
#ifdef USE_OSD
if(osd_level>=2){
int pts=d_video->pts;
+ char osd_text_tmp[50];
if(pts==osd_last_pts-1) ++pts; else osd_last_pts=pts;
vo_osd_text=osd_text_buffer;
if (osd_show_sub_delay) {
- sprintf(vo_osd_text, "Sub delay: %d ms",(int)(sub_delay*1000));
+ sprintf(osd_text_tmp, "Sub delay: %d ms",(int)(sub_delay*1000));
osd_show_sub_delay--;
} else
if (osd_show_av_delay) {
- sprintf(vo_osd_text, "A-V delay: %d ms",(int)(audio_delay*1000));
+ sprintf(osd_text_tmp, "A-V delay: %d ms",(int)(audio_delay*1000));
osd_show_av_delay--;
} else
- sprintf(vo_osd_text,"%c %02d:%02d:%02d",osd_function,pts/3600,(pts/60)%60,pts%60);
+ sprintf(osd_text_tmp,"%c %02d:%02d:%02d",osd_function,pts/3600,(pts/60)%60,pts%60);
+
+ if(strcmp(vo_osd_text, osd_text_tmp)) {
+ strcpy(vo_osd_text, osd_text_tmp);
+ vo_osd_changed(1);
+ }
} else {
+ if(vo_osd_text) {
vo_osd_text=NULL;
+ vo_osd_changed(1);
+ }
}
// for(i=1;i<=11;i++) osd_text_buffer[10+i]=i;osd_text_buffer[10+i]=0;
// vo_osd_text=osd_text_buffer;
@@ -2737,6 +2746,9 @@ if(rel_seek_secs || abs_seek_pos){
if(vo_vobsub){
current_module="vobsub";
vobsub_process(vo_vobsub,d_video->pts);
+
+ /* Don't know how to detect wether the sub has changed or not */
+ vo_osd_changed(1);
current_module=NULL;
}
@@ -2760,6 +2772,9 @@ if(rel_seek_secs || abs_seek_pos){
spudec_assemble(vo_spudec,packet,len,100*d_dvdsub->pts);
}
spudec_heartbeat(vo_spudec,100*d_video->pts);
+
+ /* Don't know how to detect wether the sub has changed or not */
+ vo_osd_changed(1);
current_module=NULL;
}
#endif