diff --git a/Plugins/FFMPEG/FFMPEGDecoder.m b/Plugins/FFMPEG/FFMPEGDecoder.m index d5422e7dd..8b5682e7d 100644 --- a/Plugins/FFMPEG/FFMPEGDecoder.m +++ b/Plugins/FFMPEG/FFMPEGDecoder.m @@ -290,12 +290,13 @@ int lockmgr_callback(void ** mutex, enum AVLockOp op) - (long)seek:(long)frame { - if (frame > totalFrames) { return -1; } + if (frame >= totalFrames) { return -1; } int64_t ts = frame * (formatCtx->duration) / totalFrames; avformat_seek_file(formatCtx, -1, ts - 1000, ts, ts, AVSEEK_FLAG_ANY); avcodec_flush_buffers(codecCtx); readNextPacket = YES; // so we immediately read next packet bytesConsumedFromDecodedFrame = INT_MAX; // so we immediately begin decoding next frame + framesRead = frame; return frame; }