[PATCH 0/1] MR3968: winegstreamer: Add hardware H264 decoding support
Signed-off-by: Thong Thai <thong.thai(a)amd.com> -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3968
From: Thong Thai <thong.thai(a)amd.com> Signed-off-by: Thong Thai <thong.thai(a)amd.com> --- dlls/winegstreamer/unixlib.c | 2 +- dlls/winegstreamer/wg_transform.c | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/dlls/winegstreamer/unixlib.c b/dlls/winegstreamer/unixlib.c index 513ece95a90..e4702b2abbb 100644 --- a/dlls/winegstreamer/unixlib.c +++ b/dlls/winegstreamer/unixlib.c @@ -84,7 +84,7 @@ GstElement *find_element(GstElementFactoryListType type, GstCaps *src_caps, GstC GList *tmp, *transforms; const gchar *name; - if (!(transforms = gst_element_factory_list_get_elements(type, GST_RANK_MARGINAL))) + if (!(transforms = gst_element_factory_list_get_elements(type, GST_RANK_NONE))) goto done; if (src_caps) diff --git a/dlls/winegstreamer/wg_transform.c b/dlls/winegstreamer/wg_transform.c index e2b14527a20..f31f5286c36 100644 --- a/dlls/winegstreamer/wg_transform.c +++ b/dlls/winegstreamer/wg_transform.c @@ -355,6 +355,24 @@ NTSTATUS wg_transform_create(void *args) switch (input_format.major_type) { case WG_MAJOR_TYPE_VIDEO_H264: + GstElement *hw_element = find_element(GST_ELEMENT_FACTORY_TYPE_HARDWARE, src_caps, raw_caps); + if (hw_element) { + if (!(element = create_element("h264parse", "base")) + || !append_element(transform->container, element, &first, &last)) + { + free(hw_element); + gst_caps_unref(raw_caps); + goto out; + } + if (!(element = hw_element) + || !append_element(transform->container, element, &first, &last)) + { + free(hw_element); + gst_caps_unref(raw_caps); + goto out; + } + break; + } case WG_MAJOR_TYPE_AUDIO_MPEG1: case WG_MAJOR_TYPE_AUDIO_MPEG4: case WG_MAJOR_TYPE_AUDIO_WMA: -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/3968
Hi, It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated. The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=137975 Your paranoid android. === debian11 (build log) === ../wine/dlls/winegstreamer/wg_transform.c:358:13: error: a label can only be part of a statement and a declaration is not a statement Task: The win32 Wine build failed === debian11b (build log) === ../wine/dlls/winegstreamer/wg_transform.c:358:13: error: a label can only be part of a statement and a declaration is not a statement Task: The wow64 Wine build failed
This merge request was closed by Thong Thai. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3968
participants (3)
-
Marvin -
Thong Thai -
Thong Thai (@thongthai)