diff options
author | atmos4 <atmos4@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-02-22 15:25:11 +0000 |
---|---|---|
committer | atmos4 <atmos4@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-02-22 15:25:11 +0000 |
commit | 06ebd66015ae446564f505ed3345fb50a5e74bfc (patch) | |
tree | 2ab1424c8881a626a746b8322205f08c479e40ed /mplayer.c | |
parent | d60a7a1d74d6c016e2ea08dd564ed07225a2b945 (diff) | |
download | mpv-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.c | 21 |
1 files changed, 18 insertions, 3 deletions
@@ -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 |