0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00

vo_gpu_next: fix pl_queue refill on reset

On reset, we would ignore all the frames that were seen before. This is
incorrect and would drop valid frames that should be rendered.
This commit is contained in:
Kacper Michajłow 2023-11-13 22:17:40 +01:00 committed by Dudemanguy
parent 88fc947552
commit faed191397

View File

@ -883,17 +883,19 @@ static void draw_frame(struct vo *vo, struct vo_frame *frame)
// Push all incoming frames into the frame queue
for (int n = 0; n < frame->num_frames; n++) {
int id = frame->frame_id + n;
if (id <= p->last_id)
continue; // ignore already seen frames
if (p->want_reset) {
can_interpolate = false;
pl_renderer_flush_cache(p->rr);
pl_queue_reset(p->queue);
p->last_pts = 0.0;
p->last_id = 0;
p->want_reset = false;
}
if (id <= p->last_id)
continue; // ignore already seen frames
struct mp_image *mpi = mp_image_new_ref(frame->frames[n]);
struct frame_priv *fp = talloc_zero(mpi, struct frame_priv);
mpi->priv = fp;