diff --git a/src/gui/movieplayer.cpp b/src/gui/movieplayer.cpp index bfa8fa890..84d050bdf 100644 --- a/src/gui/movieplayer.cpp +++ b/src/gui/movieplayer.cpp @@ -637,6 +637,10 @@ void CMoviePlayerGui::PlayFile(void) } else if (msg == (neutrino_msg_t) g_settings.mpkey_stop) { playstate = CMoviePlayerGui::STOPPED; } else if (msg == (neutrino_msg_t) g_settings.mpkey_play) { + if (time_forced) { + time_forced = false; + FileTime.kill(); + } if (playstate > CMoviePlayerGui::PLAY) { playstate = CMoviePlayerGui::PLAY; speed = 1; @@ -646,10 +650,6 @@ void CMoviePlayerGui::PlayFile(void) if (!timeshift) callInfoViewer(/*duration, position*/); } - if (time_forced) { - time_forced = false; - FileTime.kill(); - } } else if (msg == (neutrino_msg_t) g_settings.mpkey_pause) { if (playstate == CMoviePlayerGui::PAUSE) { playstate = CMoviePlayerGui::PLAY; @@ -703,14 +703,12 @@ void CMoviePlayerGui::PlayFile(void) } //update_lcd = true; - if (!timeshift) - callInfoViewer(/*duration, position*/); -#if 0 //FIXME, time display in combination with REW and FF is broken - if (!FileTime.IsVisible()) { - FileTime.show(position); + if (!FileTime.IsVisible() && !time_forced) { + FileTime.switchMode(position, duration); time_forced = true; } -#endif + if (!timeshift) + callInfoViewer(/*duration, position*/); } else if (msg == CRCInput::RC_1) { // Jump Backwards 1 minute clearSubtitle(); playback->SetPosition(-60 * 1000);