diff options
-rw-r--r-- | gst/vaapi/gstvaapivideobufferpool.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gst/vaapi/gstvaapivideobufferpool.c b/gst/vaapi/gstvaapivideobufferpool.c index b9e43866..f01773e4 100644 --- a/gst/vaapi/gstvaapivideobufferpool.c +++ b/gst/vaapi/gstvaapivideobufferpool.c @@ -440,8 +440,11 @@ gst_vaapi_video_buffer_pool_acquire_buffer (GstBufferPool * pool, /* Update the underlying surface proxy */ meta = gst_buffer_get_vaapi_video_meta (buffer); - if (meta) - gst_vaapi_video_meta_set_surface_proxy (meta, priv_params->proxy); + if (!meta) { + *out_buffer_ptr = buffer; + return GST_FLOW_ERROR; + } + gst_vaapi_video_meta_set_surface_proxy (meta, priv_params->proxy); /* Find the cached memory associated with the given surface. */ surface = GST_VAAPI_SURFACE_PROXY_SURFACE (priv_params->proxy); |