Signed-off-by: Akihiro Sagawa sagawa.aki@gmail.com --- dlls/quartz/tests/videorenderer.c | 2 +- dlls/quartz/tests/vmr7.c | 2 +- dlls/quartz/tests/vmr9.c | 2 +- dlls/quartz/window.c | 3 +++ 4 files changed, 6 insertions(+), 3 deletions(-)
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=89995
Your paranoid android.
=== w1064_tsign (64 bit report) ===
quartz: videorenderer.c:1087: Test failed: Got hr 0x80004005. videorenderer.c:2132: Test failed: Got unexpected status 0. videorenderer.c:2135: Test failed: Wait timed out. videorenderer.c:2143: Test failed: Got unexpected status 0x400040.
=== w10pro64_ja (64 bit report) ===
quartz: videorenderer.c:1000: Test failed: Got hr 0x1. videorenderer.c:1097: Test failed: Got hr 0x80004005.
=== w10pro64_zh_CN (64 bit report) ===
quartz: videorenderer.c:976: Test failed: Got hr 0x40237. videorenderer.c:982: Test failed: Got hr 0x80004005.
=== w10pro64 (32 bit report) ===
quartz: vmr9.c:1204: Test failed: Got hr 0x40237. vmr9.c:1210: Test failed: Got hr 0x1.
=== debiant2 (build log) ===
winegstreamer: error: avdec_mpeg2video0: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video0: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin2/GstDecodeBin:decodebin2/avdec_mpeg2video:avdec_mpeg2video0: winegstreamer: error: avdec_mpeg2video0: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video0: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin2/GstDecodeBin:decodebin2/avdec_mpeg2video:avdec_mpeg2video0: winegstreamer: error: avdec_mpeg2video0: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video0: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin2/GstDecodeBin:decodebin2/avdec_mpeg2video:avdec_mpeg2video0: winegstreamer: error: avdec_mpeg2video1: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video1: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin3/GstDecodeBin:decodebin3/avdec_mpeg2video:avdec_mpeg2video1: winegstreamer: error: avdec_mpeg2video1: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video1: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin3/GstDecodeBin:decodebin3/avdec_mpeg2video:avdec_mpeg2video1: winegstreamer: error: avdec_mpeg2video1: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video1: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin3/GstDecodeBin:decodebin3/avdec_mpeg2video:avdec_mpeg2video1: winegstreamer: error: avdec_mpeg2video0: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video0: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin2/GstDecodeBin:decodebin2/avdec_mpeg2video:avdec_mpeg2video0: winegstreamer: error: avdec_mpeg2video0: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video0: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin2/GstDecodeBin:decodebin2/avdec_mpeg2video:avdec_mpeg2video0: winegstreamer: error: avdec_mpeg2video0: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video0: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin2/GstDecodeBin:decodebin2/avdec_mpeg2video:avdec_mpeg2video0: winegstreamer: error: avdec_mpeg2video1: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video1: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin3/GstDecodeBin:decodebin3/avdec_mpeg2video:avdec_mpeg2video1: winegstreamer: error: avdec_mpeg2video1: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video1: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin3/GstDecodeBin:decodebin3/avdec_mpeg2video:avdec_mpeg2video1: winegstreamer: error: avdec_mpeg2video1: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video1: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin3/GstDecodeBin:decodebin3/avdec_mpeg2video:avdec_mpeg2video1:
=== debiant2 (build log) ===
winegstreamer: error: avdec_mpeg2video0: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video0: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin2/GstDecodeBin:decodebin2/avdec_mpeg2video:avdec_mpeg2video0: winegstreamer: error: avdec_mpeg2video0: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video0: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin2/GstDecodeBin:decodebin2/avdec_mpeg2video:avdec_mpeg2video0: winegstreamer: error: avdec_mpeg2video0: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video0: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin2/GstDecodeBin:decodebin2/avdec_mpeg2video:avdec_mpeg2video0: winegstreamer: error: avdec_mpeg2video1: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video1: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin3/GstDecodeBin:decodebin3/avdec_mpeg2video:avdec_mpeg2video1: winegstreamer: error: avdec_mpeg2video1: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video1: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin3/GstDecodeBin:decodebin3/avdec_mpeg2video:avdec_mpeg2video1: winegstreamer: error: avdec_mpeg2video1: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video1: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin3/GstDecodeBin:decodebin3/avdec_mpeg2video:avdec_mpeg2video1: winegstreamer: error: avdec_mpeg2video0: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video0: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin2/GstDecodeBin:decodebin2/avdec_mpeg2video:avdec_mpeg2video0: winegstreamer: error: avdec_mpeg2video0: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video0: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin2/GstDecodeBin:decodebin2/avdec_mpeg2video:avdec_mpeg2video0: winegstreamer: error: avdec_mpeg2video0: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video0: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin2/GstDecodeBin:decodebin2/avdec_mpeg2video:avdec_mpeg2video0: winegstreamer: error: avdec_mpeg2video1: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video1: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin3/GstDecodeBin:decodebin3/avdec_mpeg2video:avdec_mpeg2video1: winegstreamer: error: avdec_mpeg2video1: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video1: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin3/GstDecodeBin:decodebin3/avdec_mpeg2video:avdec_mpeg2video1: winegstreamer: error: avdec_mpeg2video1: No valid frames decoded before end of stream winegstreamer: error: avdec_mpeg2video1: ../gst-libs/gst/video/gstvideodecoder.c(1246): gst_video_decoder_sink_event_default (): /GstBin:bin3/GstDecodeBin:decodebin3/avdec_mpeg2video:avdec_mpeg2video1:
On 5/6/21 9:06 AM, Akihiro Sagawa wrote:
From: Akihiro Sagawa sagawa.aki@gmail.com Subject: [PATCH 3/4] quartz: Hide video window on WM_CLOSE. Message-Id: 20210506230504.D295.375B48EC@gmail.com Date: Thu, 06 May 2021 23:06:04 +0900
Signed-off-by: Akihiro Sagawa sagawa.aki@gmail.com
dlls/quartz/tests/videorenderer.c | 2 +- dlls/quartz/tests/vmr7.c | 2 +- dlls/quartz/tests/vmr9.c | 2 +- dlls/quartz/window.c | 3 +++ 4 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/dlls/quartz/tests/videorenderer.c b/dlls/quartz/tests/videorenderer.c index d76d964e074..4470e7376b0 100644 --- a/dlls/quartz/tests/videorenderer.c +++ b/dlls/quartz/tests/videorenderer.c @@ -2221,7 +2221,7 @@ static void test_video_window_userabort(IVideoWindow *window, IFilterGraph2 *gra ok(hr == E_ABORT, "Got hr %#x.\n", hr); todo_wine ok(ret == 1, "Expected EC_USERABORT.\n");
- todo_wine ok(IsWindow(hwnd), "Window should exist.\n");
ok(IsWindow(hwnd), "Window should exist.\n"); ok(!IsWindowVisible(hwnd), "Window shouldn't be visible.\n");
IMediaEvent_Release(eventsrc);
diff --git a/dlls/quartz/tests/vmr7.c b/dlls/quartz/tests/vmr7.c index 357a84fe3db..421693f0eee 100644 --- a/dlls/quartz/tests/vmr7.c +++ b/dlls/quartz/tests/vmr7.c @@ -2206,7 +2206,7 @@ static void test_video_window_userabort(IVideoWindow *window, IFilterGraph2 *gra ok(hr == E_ABORT, "Got hr %#x.\n", hr); todo_wine ok(ret == 1, "Expected EC_USERABORT.\n");
- todo_wine ok(IsWindow(hwnd), "Window should exist.\n");
ok(IsWindow(hwnd), "Window should exist.\n"); ok(!IsWindowVisible(hwnd), "Window shouldn't be visible.\n");
IMediaEvent_Release(eventsrc);
diff --git a/dlls/quartz/tests/vmr9.c b/dlls/quartz/tests/vmr9.c index 04306b29b79..92af83d3266 100644 --- a/dlls/quartz/tests/vmr9.c +++ b/dlls/quartz/tests/vmr9.c @@ -2445,7 +2445,7 @@ static void test_video_window_userabort(IVideoWindow *window, IFilterGraph2 *gra ok(hr == E_ABORT, "Got hr %#x.\n", hr); todo_wine ok(ret == 1, "Expected EC_USERABORT.\n");
- todo_wine ok(IsWindow(hwnd), "Window should exist.\n");
ok(IsWindow(hwnd), "Window should exist.\n"); ok(!IsWindowVisible(hwnd), "Window shouldn't be visible.\n");
IMediaEvent_Release(eventsrc);
diff --git a/dlls/quartz/window.c b/dlls/quartz/window.c index bc34cd37cf9..6d9c544c897 100644 --- a/dlls/quartz/window.c +++ b/dlls/quartz/window.c @@ -76,6 +76,9 @@ static LRESULT CALLBACK WndProcW(HWND hwnd, UINT message, WPARAM wparam, LPARAM case WM_QUARTZ_DESTROY: DestroyWindow(hwnd); return 0;
case WM_CLOSE:
ShowWindow(window->hwnd, SW_HIDE);
return 0;
}
return DefWindowProcW(hwnd, message, wparam, lparam);
Is it possible to call IVideoWindow methods on the filter after it's been "closed"? Especialy put_Visible().