diff options
-rw-r--r-- | player/video.c | 8 |
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) { |