[PATCH 4/4] quartz: Notify EC_USERABORT event when closing video window.
Signed-off-by: Akihiro Sagawa <sagawa.aki(a)gmail.com> --- dlls/quartz/tests/videorenderer.c | 2 +- dlls/quartz/tests/vmr7.c | 2 +- dlls/quartz/tests/vmr9.c | 2 +- dlls/quartz/window.c | 11 +++++++++++ 4 files changed, 14 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=89996 Your paranoid android. === w1064_tsign (64 bit report) === quartz: videorenderer.c:1087: Test failed: Got hr 0x80004005. === w10pro64_ja (64 bit report) === quartz: videorenderer.c:1097: 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:
I notice the documentation also says: "After sending this event, the filter should reject all samples and not send any EC_REPAINT events, until the filter stops and is reset." That deserves tests (well, the first part, not the EC_REPAINT part; we don't handle EC_REPAINT at all yet), and probably implementation changes as well. (It also leads me to wonder if it resets the auto-show mechanism...)
participants (3)
-
Akihiro Sagawa -
Marvin -
Zebediah Figura (she/her)