The VAAPI vaQueryVideoProcPipelineCaps() requires the context as the
parameter. So far, we always pass VA_INVALID_ID and it can succeed.
But the API does not say that and in theory, a valid context is required.
Now the new platform really needs a valid context and so we have to
delay that query until the context is created.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3613>
if (!gst_va_filter_ensure_config_attributes (self, &attrib.value))
return FALSE;
- if (!gst_va_filter_ensure_pipeline_caps (self))
- return FALSE;
-
self->image_formats = gst_va_display_get_image_formats (self->display);
if (!self->image_formats)
return FALSE;
goto bail;
}
+ if (!gst_va_filter_ensure_pipeline_caps (self)) {
+ vaDestroyContext (dpy, self->context);
+ goto bail;
+ }
+
return TRUE;
bail: