diff options
Diffstat (limited to 'player/video.c')
-rw-r--r-- | player/video.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/player/video.c b/player/video.c index eef7153fd8..81f45ec3d8 100644 --- a/player/video.c +++ b/player/video.c @@ -389,19 +389,19 @@ static int video_decode_and_filter(struct MPContext *mpctx) return VD_PROGRESS; } - int r = VD_PROGRESS; - if (!d_video->waiting_decoded_mpi) { // Decode a new image, or at least feed the decoder a packet. - r = decode_image(mpctx); + int r = decode_image(mpctx); + if (r == VD_WAIT) + return r; if (d_video->waiting_decoded_mpi) d_video->decoder_output = d_video->waiting_decoded_mpi->params; - if (!d_video->waiting_decoded_mpi && r < 1) + if (!d_video->waiting_decoded_mpi && (r == VD_EOF || r < 0)) return VD_EOF; // true EOF } // Image will be filtered on the next iteration. - return r; + return VD_PROGRESS; } static void init_vo(struct MPContext *mpctx) |