From 1f782eb802e9774bc53103e935eb673c283cf0aa Mon Sep 17 00:00:00 2001 From: Uoti Urpala Date: Tue, 9 Dec 2008 18:39:38 +0200 Subject: [PATCH] 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. --- mplayer.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mplayer.c b/mplayer.c index cc83c9e83c..ac53ed4abb 100644 --- a/mplayer.c +++ b/mplayer.c @@ -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); }