summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--video/out/opengl/hwdec_drmprime_drm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/video/out/opengl/hwdec_drmprime_drm.c b/video/out/opengl/hwdec_drmprime_drm.c
index 69e9d1eb00..b1d5e98c1f 100644
--- a/video/out/opengl/hwdec_drmprime_drm.c
+++ b/video/out/opengl/hwdec_drmprime_drm.c
@@ -83,8 +83,6 @@ static void set_current_frame(struct ra_hwdec *hw, struct drm_frame *frame)
} else {
memset(&p->current_frame.fb, 0, sizeof(p->current_frame.fb));
mp_image_setrefp(&p->current_frame.image, NULL);
- mp_image_setrefp(&p->last_frame.image, NULL);
- mp_image_setrefp(&p->old_frame.image, NULL);
}
}
@@ -180,6 +178,9 @@ static int overlay_frame(struct ra_hwdec *hw, struct mp_image *hw_image,
}
}
}
+ } else {
+ while (p->old_frame.fb.fb_id)
+ set_current_frame(hw, NULL);
}
set_current_frame(hw, &next_frame);