summaryrefslogtreecommitdiffstats
path: root/player
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-08-26 20:45:41 +0200
committerwm4 <wm4@nowhere>2014-08-26 20:45:41 +0200
commit3cc3dea915b069b1d5d38170f8cc9ea8f5fcc213 (patch)
tree769edddf359c1d1d2be8eafe37f6bb3b4e12a795 /player
parentb7f72aa2f401037177149dde1a178c55741b0ff2 (diff)
downloadmpv-3cc3dea915b069b1d5d38170f8cc9ea8f5fcc213.tar.bz2
mpv-3cc3dea915b069b1d5d38170f8cc9ea8f5fcc213.tar.xz
player: fix weird behavior when framestepping over format changes
When video format changes, the frame before the frame with the new format sets video_status briefly to STATUS_DRAINING. This caused the code to handle the EOF case to kick in, which just pauses the player when trying to step past the last frame. As a result, trying to framestep over format changes resulted in pausing the player. Fix by testing against the correct status.
Diffstat (limited to 'player')
-rw-r--r--player/playloop.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/player/playloop.c b/player/playloop.c
index 4cf8407812..c96f53471d 100644
--- a/player/playloop.c
+++ b/player/playloop.c
@@ -715,7 +715,7 @@ static void handle_sstep(struct MPContext *mpctx)
queue_seek(mpctx, MPSEEK_RELATIVE, opts->step_sec, 0, true);
}
- if (mpctx->video_status >= STATUS_DRAINING) {
+ if (mpctx->video_status >= STATUS_EOF) {
if (mpctx->max_frames >= 0)
mpctx->stop_play = PT_NEXT_ENTRY;
if (mpctx->step_frames > 0 && !mpctx->paused)