From 237a4adb0cdf4aa6a12c6de1bede4e7f8bb1d796 Mon Sep 17 00:00:00 2001 From: Gwenole Beauchesne Date: Tue, 20 Nov 2012 14:42:24 +0100 Subject: [PATCH] vaapiupload: fix sink caps to report the supported set of YUV caps. Try to allocate the GstVaapiUploader helper object prior to listing the supported image formats. Otherwise, only a single generic caps is output with no particular pixel format referenced in there. --- gst/vaapi/gstvaapiupload.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gst/vaapi/gstvaapiupload.c b/gst/vaapi/gstvaapiupload.c index 44c06c0dd0..19209684fd 100644 --- a/gst/vaapi/gstvaapiupload.c +++ b/gst/vaapi/gstvaapiupload.c @@ -350,13 +350,12 @@ gst_vaapiupload_transform_caps( if (!gst_structure_has_name(structure, GST_VAAPI_SURFACE_CAPS_NAME)) return NULL; out_caps = gst_caps_from_string(gst_vaapiupload_yuv_caps_str); - if (upload->display) { + if (gst_vaapiupload_ensure_uploader(upload)) { GstCaps *allowed_caps, *inter_caps; - allowed_caps = gst_vaapi_display_get_image_caps(upload->display); + allowed_caps = gst_vaapi_uploader_get_caps(upload->uploader); if (!allowed_caps) return NULL; inter_caps = gst_caps_intersect(out_caps, allowed_caps); - gst_caps_unref(allowed_caps); gst_caps_unref(out_caps); out_caps = inter_caps; }