From: Ziqing Hui zhui@codeweavers.com
--- dlls/qasf/dmowrapper.c | 2 ++ dlls/qasf/tests/dmowrapper.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/qasf/dmowrapper.c b/dlls/qasf/dmowrapper.c index 18d40a5671a..dc3f02d164b 100644 --- a/dlls/qasf/dmowrapper.c +++ b/dlls/qasf/dmowrapper.c @@ -311,6 +311,8 @@ static HRESULT WINAPI dmo_wrapper_sink_Receive(struct strmbase_sink *iface, IMed
if (filter->filter.state == State_Stopped) return VFW_E_WRONG_STATE; + if (iface->flushing) + return S_FALSE;
IUnknown_QueryInterface(filter->dmo, &IID_IMediaObject, (void **)&dmo);
diff --git a/dlls/qasf/tests/dmowrapper.c b/dlls/qasf/tests/dmowrapper.c index 388004de783..72dabd6658f 100644 --- a/dlls/qasf/tests/dmowrapper.c +++ b/dlls/qasf/tests/dmowrapper.c @@ -1823,7 +1823,7 @@ static void test_streaming_events(IMediaControl *control, IPin *sink, IMemInputP ok(testsink2->got_begin_flush == 1, "Got %u calls to IPin::BeginFlush().\n", testsink2->got_begin_flush);
hr = IMemInputPin_Receive(input, sample); - todo_wine ok(hr == S_FALSE, "Got hr %#lx.\n", hr); + ok(hr == S_FALSE, "Got hr %#lx.\n", hr);
hr = IPin_EndOfStream(sink); todo_wine ok(hr == S_FALSE, "Got hr %#lx.\n", hr);