diff options
author | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2008-12-09 18:39:38 +0200 |
---|---|---|
committer | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2009-01-14 02:06:14 +0200 |
commit | 1f782eb802e9774bc53103e935eb673c283cf0aa (patch) | |
tree | 79d2bb4f8121a5db4ed3c8943e9d26de1cb16fd1 | |
parent | 8ed6d269779d8917492614ce8b204a712e311195 (diff) | |
download | mpv-1f782eb802e9774bc53103e935eb673c283cf0aa.tar.bz2 mpv-1f782eb802e9774bc53103e935eb673c283cf0aa.tar.xz |
core: Set OSD contents better while paused
Handle timing out of OSD messages and set the OSD function symbol to
pause instead of play. The implementation is hackish and should be
cleaned up later with other pause loop changes.
-rw-r--r-- | mplayer.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -1421,8 +1421,7 @@ static mp_osd_msg_t* get_osd_msg(struct MPContext *mpctx) osd_visible = 0; vo_osd_progbar_type = -1; // disable vo_osd_changed(OSDTYPE_PROGBAR); - if (mpctx->osd_function != OSD_PAUSE) - mpctx->osd_function = OSD_PLAY; + mpctx->osd_function = mpctx->paused ? OSD_PAUSE : OSD_PLAY; } } @@ -2377,6 +2376,11 @@ static void pause_loop(struct MPContext *mpctx) vf_menu_pause_update(vf_menu); #endif usec_sleep(20000); + update_osd_msg(mpctx); + int hack = vo_osd_changed(0); + vo_osd_changed(hack); + if (hack) + break; } #ifdef CONFIG_GUI if (use_gui) { @@ -3913,6 +3917,8 @@ if(auto_quality>0){ add_step_frame(mpctx); break; } + else + vo_osd_changed(0); } pause_loop(mpctx); } |