summaryrefslogtreecommitdiffstats
path: root/player/video.c
diff options
context:
space:
mode:
Diffstat (limited to 'player/video.c')
-rw-r--r--player/video.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/player/video.c b/player/video.c
index 9b73b438c4..815c5dfe02 100644
--- a/player/video.c
+++ b/player/video.c
@@ -1177,8 +1177,14 @@ void write_video(struct MPContext *mpctx)
mp_notify(mpctx, MPV_EVENT_TICK, NULL);
- if (mpctx->vo_chain->is_coverart)
+ if (vo_c->filter->got_output_eof && !mpctx->num_next_frames &&
+ mpctx->ao_chain)
+ {
+ MP_VERBOSE(mpctx, "assuming this was the last video frame\n");
+ // The main point of doing this is to prevent use of this for the
+ // playback_pts if audio is still running (=> seek behavior).
mpctx->video_status = STATUS_EOF;
+ }
if (mpctx->video_status != STATUS_EOF) {
if (mpctx->step_frames > 0) {