summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyo Munakata <afpacket@gmail.com>2017-10-29 00:33:50 +0900
committerwm4 <wm4@nowhere>2017-10-30 12:46:49 +0100
commit046fe459505c59fe151661d6214fe25e2414423b (patch)
treee76a183e20b4ffadcc2d75003539d533f673737d
parent98986948e8e124c5fe5beb4afa12c6995940fbb6 (diff)
downloadmpv-046fe459505c59fe151661d6214fe25e2414423b.tar.bz2
mpv-046fe459505c59fe151661d6214fe25e2414423b.tar.xz
hwdec_drmprime_drm: fix segv with --hwdec
-rw-r--r--video/out/opengl/hwdec_drmprime_drm.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/video/out/opengl/hwdec_drmprime_drm.c b/video/out/opengl/hwdec_drmprime_drm.c
index d942ab3d37..45e6c908c0 100644
--- a/video/out/opengl/hwdec_drmprime_drm.c
+++ b/video/out/opengl/hwdec_drmprime_drm.c
@@ -67,7 +67,10 @@ static void set_current_frame(struct ra_hwdec *hw, struct drm_frame *frame)
// We used old frame as triple buffering to make sure that the drm framebuffer
// is not being displayed when we release it.
- drm_prime_destroy_framebuffer(p->log, p->ctx->fd, &p->old_frame.fb);
+ if (p->ctx) {
+ drm_prime_destroy_framebuffer(p->log, p->ctx->fd, &p->old_frame.fb);
+ }
+
mp_image_setrefp(&p->old_frame.image, p->current_frame.image);
p->old_frame.fb = p->current_frame.fb;