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 */ /* Append raw video caps */
if (gst_vaapipostproc_ensure_display (postproc)) { if (GST_VAAPI_PLUGIN_BASE (postproc)->display) {
raw_caps = raw_caps =
gst_vaapi_plugin_base_get_allowed_raw_caps (GST_VAAPI_PLUGIN_BASE gst_vaapi_plugin_base_get_allowed_raw_caps (GST_VAAPI_PLUGIN_BASE
(postproc)); (postproc));
if (raw_caps) { } else {
out_caps = gst_caps_make_writable (out_caps); raw_caps =
gst_caps_append (out_caps, gst_caps_copy (raw_caps)); gst_caps_from_string (GST_VIDEO_CAPS_MAKE (GST_VIDEO_FORMATS_ALL) ", "
} else { GST_CAPS_INTERLACED_MODES);
GST_WARNING_OBJECT (postproc, "failed to create YUV sink caps"); }
}
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; postproc->allowed_sinkpad_caps = out_caps;