mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-10 03:19:40 +00:00
plugins: don't use gst_pad_get_allowed_caps()
gst_pad_get_allowed_caps() query the pad and the peer pad. In the case decoders, that is OK, but in the case of the postproc might lead loops, since the gst_base_transform_query_caps() forwards the query upstream and forth. Instead of gst_pad_get_allowed_caps() we only query the peer with gst_pad_peer_query_caps() using the pad's template as filter. Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com> https://bugzilla.gnome.org/show_bug.cgi?id=752558
This commit is contained in:
parent
4b5fcaaf04
commit
c76fe74297
1 changed files with 4 additions and 2 deletions
|
@ -461,10 +461,12 @@ gst_vaapi_find_preferred_caps_feature (GstPad * pad, GstVideoFormat format,
|
||||||
GstCaps *gl_texture_upload_caps = NULL;
|
GstCaps *gl_texture_upload_caps = NULL;
|
||||||
GstCaps *sysmem_caps = NULL;
|
GstCaps *sysmem_caps = NULL;
|
||||||
GstCaps *vaapi_caps = NULL;
|
GstCaps *vaapi_caps = NULL;
|
||||||
GstCaps *out_caps;
|
GstCaps *out_caps, *templ;
|
||||||
GstVideoFormat out_format;
|
GstVideoFormat out_format;
|
||||||
|
|
||||||
out_caps = gst_pad_get_allowed_caps (pad);
|
templ = gst_pad_get_pad_template_caps (pad);
|
||||||
|
out_caps = gst_pad_peer_query_caps (pad, templ);
|
||||||
|
gst_caps_unref (templ);
|
||||||
if (!out_caps) {
|
if (!out_caps) {
|
||||||
feature = GST_VAAPI_CAPS_FEATURE_NOT_NEGOTIATED;
|
feature = GST_VAAPI_CAPS_FEATURE_NOT_NEGOTIATED;
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
Loading…
Reference in a new issue