[PATCH 1/5] winegstreamer: Disable VA-API plugins in wg_transform.
Rémi Bernon
wine at gitlab.winehq.org
Thu May 12 03:15:07 CDT 2022
From: Rémi Bernon <rbernon at codeweavers.com>
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45988
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47084
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49715
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52183
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
dlls/winegstreamer/wg_transform.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/dlls/winegstreamer/wg_transform.c b/dlls/winegstreamer/wg_transform.c
index 21392a82509..dcc334caf7a 100644
--- a/dlls/winegstreamer/wg_transform.c
+++ b/dlls/winegstreamer/wg_transform.c
@@ -114,7 +114,18 @@ static GstElement *transform_find_element(GstElementFactoryListType type, GstCap
for (tmp = transforms; tmp != NULL && element == NULL; tmp = tmp->next)
{
name = gst_plugin_feature_get_name(GST_PLUGIN_FEATURE(tmp->data));
- if (!(element = gst_element_factory_create(GST_ELEMENT_FACTORY(tmp->data), NULL)))
+
+ /* VA-API plugins are not supported at the moment, they do not support
+ * buffer pool negociation and will consistently ignore our pool, as
+ * it is not VA-API compatible, but also our plane alignment requirements
+ * from video meta. They also are asynchronous by design, which isn't
+ * going to let us implement zero-copy in the transforms reliably, and
+ * vaapidecodebin includes a videoconvert element which does more than
+ * we would like.
+ */
+ if (!strncmp(name, "vaapi", 5))
+ GST_FIXME("Ignoring unsupported %s plugin", name);
+ else if (!(element = gst_element_factory_create(GST_ELEMENT_FACTORY(tmp->data), NULL)))
GST_WARNING("Failed to create %s element.", name);
}
gst_plugin_feature_list_free(transforms);
--
GitLab
https://gitlab.winehq.org/wine/wine/-/merge_requests/61
More information about the wine-devel
mailing list