diff --git a/video/out/vo.c b/video/out/vo.c index 68af6a38c8..ae5eca7ba5 100644 --- a/video/out/vo.c +++ b/video/out/vo.c @@ -716,6 +716,7 @@ static bool render_frame(struct vo *vo) .pts = pts, .next_vsync = next_vsync, .prev_vsync = prev_vsync, + .vsync_offset = next_vsync - pts, .frame = img, .num_future_frames = num_future_frames, .future_frames = future_frames, diff --git a/video/out/vo.h b/video/out/vo.h index 51c7816920..3d36269d26 100644 --- a/video/out/vo.h +++ b/video/out/vo.h @@ -160,6 +160,8 @@ struct frame_timing { // Realtime of estimated previous and next vsync events. int64_t next_vsync; int64_t prev_vsync; + // "ideal" display time within the vsync + int64_t vsync_offset; // The current frame to be drawn. NULL means redraw previous frame // (e.g. repeated frames). // (Equivalent to the mp_image parameter of draw_image_timed, until the