[PATCH v3 0/2] MR5560: winegstreamer: Fix wow64 support for wg_parser_connect
The first commit addresses the following Wine bug: https://bugs.winehq.org/show_bug.cgi?id=56595 The Wine bug is a regression resulting from a previous commit I made (in which I overlooked WoW64 support): 9e1f5f6d11b14b3ee38050a1b45a55f5c71146c6 The second commit fixes my intention to log the query after setting the URI. -- v3: winegstreamer: Log query after setting the URI. winegstreamer: Fix wow64 support for wg_parser_connect. https://gitlab.winehq.org/wine/wine/-/merge_requests/5560
From: Brendan McGrath <bmcgrath(a)codeweavers.com> Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56595 --- dlls/winegstreamer/wg_parser.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c index 679500b617e..d19102ac2ae 100644 --- a/dlls/winegstreamer/wg_parser.c +++ b/dlls/winegstreamer/wg_parser.c @@ -1900,6 +1900,24 @@ C_ASSERT(ARRAYSIZE(__wine_unix_call_funcs) == unix_wg_funcs_count); typedef ULONG PTR32; +static NTSTATUS wow64_wg_parser_connect(void *args) +{ + struct + { + wg_parser_t parser; + PTR32 uri; + UINT64 file_size; + } *params32 = args; + struct wg_parser_connect_params params = + { + .parser = params32->parser, + .uri = ULongToPtr(params32->uri), + .file_size = params32->file_size, + }; + + return wg_parser_connect(¶ms); +} + static NTSTATUS wow64_wg_parser_push_data(void *args) { struct { @@ -2184,7 +2202,7 @@ const unixlib_entry_t __wine_unix_call_wow64_funcs[] = X(wg_parser_create), X(wg_parser_destroy), - X(wg_parser_connect), + X64(wg_parser_connect), X(wg_parser_disconnect), X(wg_parser_get_next_read_offset), -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/5560
From: Brendan McGrath <bmcgrath(a)codeweavers.com> --- dlls/winegstreamer/wg_parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c index d19102ac2ae..c017edf3f86 100644 --- a/dlls/winegstreamer/wg_parser.c +++ b/dlls/winegstreamer/wg_parser.c @@ -1247,8 +1247,8 @@ static gboolean src_query_cb(GstPad *pad, GstObject *parent, GstQuery *query) case GST_QUERY_URI: if (parser->uri) { - GST_LOG_OBJECT(pad, "Responding with %" GST_PTR_FORMAT, query); gst_query_set_uri(query, parser->uri); + GST_LOG_OBJECT(pad, "Responding with %" GST_PTR_FORMAT, query); return TRUE; } return FALSE; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/5560
participants (2)
-
Brendan McGrath -
Brendan McGrath (@redmcg)