summaryrefslogtreecommitdiffstats
path: root/player
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-08-29 19:13:25 +0200
committerwm4 <wm4@nowhere>2014-08-29 19:13:34 +0200
commit7d79cd57ff9d4e5b7382d94fac7fd78bdda4857a (patch)
treeda1453e73e764b8c27ce568a99afdc8d4038f36c /player
parent68ff8a0484b592a629ef2bbcb0537265ae36d1d0 (diff)
downloadmpv-7d79cd57ff9d4e5b7382d94fac7fd78bdda4857a.tar.bz2
mpv-7d79cd57ff9d4e5b7382d94fac7fd78bdda4857a.tar.xz
player: fix quit handling when seeking past EOF while paused
The player didn't quit when seeking past EOF in audio-only mode while paused. The only case when we don't want to quit is when the last video frame is displayed while paused. This logic was probably broken a while ago, but I'm not exactly sure. CC: @mpv-player/stable
Diffstat (limited to 'player')
-rw-r--r--player/playloop.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/player/playloop.c b/player/playloop.c
index 4aaeacff16..a53c2c4b96 100644
--- a/player/playloop.c
+++ b/player/playloop.c
@@ -893,12 +893,11 @@ void run_playloop(struct MPContext *mpctx)
update_osd_msg(mpctx);
update_subtitles(mpctx);
- /* If we're paused, don't end playback yet. But if video is enabled, is EOF,
- * and we don't have a video frame, then the user probably seeked outside
- * of the video, and we want to quit. */
- bool prevent_eof = mpctx->paused;
- if (mpctx->d_video && mpctx->video_status == STATUS_EOF)
- prevent_eof &= mpctx->video_out && vo_has_frame(mpctx->video_out);
+ /* Don't quit while paused and we're displaying the last video frame. On the
+ * other hand, if we don't have a video frame, then the user probably seeked
+ * outside of the video, and we do want to quit. */
+ bool prevent_eof =
+ mpctx->paused && mpctx->video_out && vo_has_frame(mpctx->video_out);
/* Handles terminating on end of playback (or switching to next segment).
*
* It's possible for the user to simultaneously switch both audio