Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

[ffmpeg] - backport fix for crashing when using vaapi (found on libav…

… mailing list) - this was signed off by elupus
  • Loading branch information...
commit 2e8f5694a74b01c97e99b8bce7cc3569ce637ade 1 parent b746531
@Memphiz Memphiz authored
View
3  lib/ffmpeg/libavcodec/vaapi.c
@@ -46,6 +46,9 @@ int ff_vaapi_render_picture(struct vaapi_context *vactx, VASurfaceID surface)
VABufferID va_buffers[3];
unsigned int n_va_buffers = 0;
+ if (!vactx->pic_param_buf_id)
+ return 0;
+
vaUnmapBuffer(vactx->display, vactx->pic_param_buf_id);
va_buffers[n_va_buffers++] = vactx->pic_param_buf_id;
View
22 lib/ffmpeg/patches/0038-backport-vaapi-return-early-from-ff_vaapi_render_picture-without-picture.patch
@@ -0,0 +1,22 @@
+Subject: [libav-devel] [PATCH 1/2] vaapi: return early from ff_vaapi_render_picture() without picture
+From: Janne Grunau janne-libav at jannau.net
+
+Fixes an assertion when called on uninitialized frame. Spotted after
+seeking in vlc. (backported from libav mailing list)
+
+---
+
+diff --git a/lib/ffmpeg/libavcodec/vaapi.c b/lib/ffmpeg/libavcodec/vaapi.c
+index a220a9d..94959bf 100644
+--- a/lib/ffmpeg/libavcodec/vaapi.c
++++ b/lib/ffmpeg/libavcodec/vaapi.c
+@@ -46,6 +46,9 @@ int ff_vaapi_render_picture(struct vaapi_context *vactx, VASurfaceID surface)
+ VABufferID va_buffers[3];
+ unsigned int n_va_buffers = 0;
+
++ if (!vactx->pic_param_buf_id)
++ return 0;
++
+ vaUnmapBuffer(vactx->display, vactx->pic_param_buf_id);
+ va_buffers[n_va_buffers++] = vactx->pic_param_buf_id;
+
Please sign in to comment.
Something went wrong with that request. Please try again.