vaapipostproc: don't require a vaapi display for all caps queries

This delays the requirement of having a GstVaapiDisplay until later

https://bugzilla.gnome.org/show_bug.cgi?id=768161
This commit is contained in:
Matthew Waters 2016-06-29 16:42:18 +10:00
parent 22647090be
commit 6d73ca8da2

View file

@ -920,16 +920,21 @@ ensure_allowed_sinkpad_caps (GstVaapiPostproc * postproc)
}
/* Append raw video caps */
if (gst_vaapipostproc_ensure_display (postproc)) {
if (GST_VAAPI_PLUGIN_BASE (postproc)->display) {
raw_caps =
gst_vaapi_plugin_base_get_allowed_raw_caps (GST_VAAPI_PLUGIN_BASE
(postproc));
if (raw_caps) {
out_caps = gst_caps_make_writable (out_caps);
gst_caps_append (out_caps, gst_caps_copy (raw_caps));
} else {
GST_WARNING_OBJECT (postproc, "failed to create YUV sink caps");
}
} else {
raw_caps =
gst_caps_from_string (GST_VIDEO_CAPS_MAKE (GST_VIDEO_FORMATS_ALL) ", "
GST_CAPS_INTERLACED_MODES);
}
if (raw_caps) {
out_caps = gst_caps_make_writable (out_caps);
gst_caps_append (out_caps, gst_caps_copy (raw_caps));
} else {
GST_WARNING_OBJECT (postproc, "failed to create YUV sink caps");
}
postproc->allowed_sinkpad_caps = out_caps;