vaapipostproc: use othercaps for preferred caps

Instead of the allowed_srcpad_caps variable, this patch uses the othercaps
from fixate_caps() vmethod to find the preferred caps feature and color
format.

https://bugzilla.gnome.org/show_bug.cgi?id=758548
This commit is contained in:
Víctor Manuel Jáquez Leal 2016-05-05 15:16:02 +02:00
parent 8de7faafdc
commit bde3b072da

View file

@ -1092,7 +1092,7 @@ gst_vaapipostproc_transform_caps (GstBaseTransform * trans,
static GstCaps *
gst_vaapipostproc_fixate_srccaps (GstVaapiPostproc * postproc,
GstCaps * sinkcaps)
GstCaps * sinkcaps, GstCaps * srccaps)
{
GstVideoInfo vi;
GstVideoFormat out_format;
@ -1134,8 +1134,7 @@ gst_vaapipostproc_fixate_srccaps (GstVaapiPostproc * postproc,
out_format = postproc->format;
srcpad = GST_BASE_TRANSFORM_SRC_PAD (postproc);
feature = gst_vaapi_find_preferred_caps_feature (srcpad,
postproc->allowed_srcpad_caps,
feature = gst_vaapi_find_preferred_caps_feature (srcpad, srccaps,
(out_format == GST_VIDEO_FORMAT_UNKNOWN) ? &out_format : NULL);
if (feature == GST_VAAPI_CAPS_FEATURE_NOT_NEGOTIATED)
@ -1179,7 +1178,7 @@ gst_vaapipostproc_fixate_caps (GstBaseTransform * trans,
goto done;
}
if ((outcaps = gst_vaapipostproc_fixate_srccaps (postproc, caps)))
if ((outcaps = gst_vaapipostproc_fixate_srccaps (postproc, caps, othercaps)))
gst_caps_replace (&othercaps, outcaps);
done: