diff --git a/src/gui/movieplayer.cpp b/src/gui/movieplayer.cpp index 87499697e..05fd0b093 100644 --- a/src/gui/movieplayer.cpp +++ b/src/gui/movieplayer.cpp @@ -1285,8 +1285,11 @@ void CMoviePlayerGui::PlayFileLoop(void) bool first_start = true; bool update_lcd = true; int eof = 0; + int eof2 = 0; + int position_tmp = 0; bool at_eof = !(playstate >= CMoviePlayerGui::PLAY);; keyPressed = CMoviePlayerGui::PLUGIN_PLAYSTATE_NORMAL; + while (playstate >= CMoviePlayerGui::PLAY) { if (update_lcd) { @@ -1320,6 +1323,20 @@ void CMoviePlayerGui::PlayFileLoop(void) printf("CMoviePlayerGui::%s: spd %d pos %d/%d (%d, %d%%)\n", __func__, speed, position, duration, duration-position, file_prozent); #endif /* in case ffmpeg report incorrect values */ + if((playstate == CMoviePlayerGui::PLAY) && (speed == 1)){ + if(position_tmp != position){ + position_tmp = position ; + eof2 = 0; + }else{ + if (++eof2 > 6) { + at_eof = true; + break; + } + } + } + else{ + eof2 = 0; + } int posdiff = duration - position; if ((posdiff >= 0) && (posdiff < 2000) && timeshift == TSHIFT_MODE_OFF) {