[PATCH 1/3] winegstreamer: Change the formatting of error and warning messages a bit.
The TestBot treats anything containing the string ": error: " as a compiler error. It may be possible for the TestBot to be smarter, but it seems easier just to tweak winegstreamer. Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> --- dlls/winegstreamer/wg_parser.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c index ee4c6c95f5b..916c3cbcb76 100644 --- a/dlls/winegstreamer/wg_parser.c +++ b/dlls/winegstreamer/wg_parser.c @@ -1389,8 +1389,8 @@ static GstBusSyncReply bus_handler_cb(GstBus *bus, GstMessage *msg, gpointer use { case GST_MESSAGE_ERROR: gst_message_parse_error(msg, &err, &dbg_info); - fprintf(stderr, "winegstreamer: error: %s: %s\n", GST_OBJECT_NAME(msg->src), err->message); - fprintf(stderr, "winegstreamer: error: %s: %s\n", GST_OBJECT_NAME(msg->src), dbg_info); + fprintf(stderr, "winegstreamer error: %s: %s\n", GST_OBJECT_NAME(msg->src), err->message); + fprintf(stderr, "winegstreamer error: %s: %s\n", GST_OBJECT_NAME(msg->src), dbg_info); g_error_free(err); g_free(dbg_info); pthread_mutex_lock(&parser->mutex); @@ -1401,8 +1401,8 @@ static GstBusSyncReply bus_handler_cb(GstBus *bus, GstMessage *msg, gpointer use case GST_MESSAGE_WARNING: gst_message_parse_warning(msg, &err, &dbg_info); - fprintf(stderr, "winegstreamer: warning: %s: %s\n", GST_OBJECT_NAME(msg->src), err->message); - fprintf(stderr, "winegstreamer: warning: %s: %s\n", GST_OBJECT_NAME(msg->src), dbg_info); + fprintf(stderr, "winegstreamer warning: %s: %s\n", GST_OBJECT_NAME(msg->src), err->message); + fprintf(stderr, "winegstreamer warning: %s: %s\n", GST_OBJECT_NAME(msg->src), dbg_info); g_error_free(err); g_free(dbg_info); break; -- 2.30.2
From: Tim Clem <tclem(a)codeweavers.com> Signed-off-by: Tim Clem <tclem(a)codeweavers.com> Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> --- v4: print last error when calling DeleteFile; also test graph refcount. dlls/quartz/tests/filtergraph.c | 44 +++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/dlls/quartz/tests/filtergraph.c b/dlls/quartz/tests/filtergraph.c index fdcfcead0be..557b3965016 100644 --- a/dlls/quartz/tests/filtergraph.c +++ b/dlls/quartz/tests/filtergraph.c @@ -4186,6 +4186,49 @@ static void test_ec_complete(void) ok(filter3.ref == 1, "Got outstanding refcount %d.\n", filter3.ref); } +static void test_renderfile_failure(void) +{ + static const char bogus_data[20] = {0xde, 0xad, 0xbe, 0xef}; + + struct testfilter testfilter; + IEnumFilters *filterenum; + const WCHAR *filename; + IFilterGraph2 *graph; + IBaseFilter *filter; + HRESULT hr; + ULONG ref; + BOOL ret; + + /* Windows removes the source filter from the graph if a RenderFile + * call fails. It leaves the rest of the graph intact. */ + + graph = create_graph(); + testfilter_init(&testfilter, NULL, 0); + hr = IFilterGraph2_AddFilter(graph, &testfilter.IBaseFilter_iface, L"dummy"); + ok(hr == S_OK, "Got hr %#x.\n", hr); + + filename = create_file(L"test.nonsense", bogus_data, sizeof(bogus_data)); + hr = IFilterGraph2_RenderFile(graph, filename, NULL); + todo_wine ok(hr == VFW_E_UNSUPPORTED_STREAM, "Got hr %#x.\n", hr); + + hr = IFilterGraph2_EnumFilters(graph, &filterenum); + ok(hr == S_OK, "Got hr %#x.\n", hr); + + hr = IEnumFilters_Next(filterenum, 1, &filter, NULL); + ok(hr == S_OK, "Got hr %#x.\n", hr); + todo_wine ok(filter == &testfilter.IBaseFilter_iface, "Got unexpected filter %p.\n", filter); + + hr = IEnumFilters_Next(filterenum, 1, &filter, NULL); + todo_wine ok(hr == S_FALSE, "Got hr %#x.\n", hr); + + IEnumFilters_Release(filterenum); + + ref = IFilterGraph2_Release(graph); + ok(!ref, "Got outstanding refcount %d.\n", ref); + ret = DeleteFileW(filename); + todo_wine ok(ret, "Failed to delete %s, error %u.\n", debugstr_w(filename), GetLastError()); +} + /* Remove and re-add the filter, to flush the graph's internal * IMediaSeeking cache. Don't expose IMediaSeeking when adding, to show * that it's only queried when needed. */ @@ -5645,6 +5688,7 @@ START_TEST(filtergraph) test_sync_source(); test_filter_state(); test_ec_complete(); + test_renderfile_failure(); test_graph_seeking(); test_default_sync_source(); test_add_source_filter(); -- 2.30.2
From: Tim Clem <tclem(a)codeweavers.com> Signed-off-by: Tim Clem <tclem(a)codeweavers.com> Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> --- v4: Reformat a bit. dlls/quartz/filtergraph.c | 8 ++++++++ dlls/quartz/tests/filtergraph.c | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c index f509bdad332..4861d6cf1b0 100644 --- a/dlls/quartz/filtergraph.c +++ b/dlls/quartz/filtergraph.c @@ -1431,11 +1431,19 @@ static HRESULT WINAPI FilterGraph2_RenderFile(IFilterGraph2 *iface, LPCWSTR lpcw IEnumPins_Release(penumpins); if (!any) + { + if (FAILED(hr = IFilterGraph2_RemoveFilter(iface, preader))) + ERR("Failed to remove source filter, hr %#x.\n", hr); hr = VFW_E_CANNOT_RENDER; + } else if (partial) + { hr = VFW_S_PARTIAL_RENDER; + } else + { hr = S_OK; + } } IBaseFilter_Release(preader); diff --git a/dlls/quartz/tests/filtergraph.c b/dlls/quartz/tests/filtergraph.c index 557b3965016..fef7b972fac 100644 --- a/dlls/quartz/tests/filtergraph.c +++ b/dlls/quartz/tests/filtergraph.c @@ -4216,17 +4216,17 @@ static void test_renderfile_failure(void) hr = IEnumFilters_Next(filterenum, 1, &filter, NULL); ok(hr == S_OK, "Got hr %#x.\n", hr); - todo_wine ok(filter == &testfilter.IBaseFilter_iface, "Got unexpected filter %p.\n", filter); + ok(filter == &testfilter.IBaseFilter_iface, "Got unexpected filter %p.\n", filter); hr = IEnumFilters_Next(filterenum, 1, &filter, NULL); - todo_wine ok(hr == S_FALSE, "Got hr %#x.\n", hr); + ok(hr == S_FALSE, "Got hr %#x.\n", hr); IEnumFilters_Release(filterenum); ref = IFilterGraph2_Release(graph); ok(!ref, "Got outstanding refcount %d.\n", ref); ret = DeleteFileW(filename); - todo_wine ok(ret, "Failed to delete %s, error %u.\n", debugstr_w(filename), GetLastError()); + ok(ret, "Failed to delete %s, error %u.\n", debugstr_w(filename), GetLastError()); } /* Remove and re-add the filter, to flush the graph's internal -- 2.30.2
participants (1)
-
Zebediah Figura