Module: wine Branch: master Commit: b7e4b5247b6ac8213f1bc02645a4e5eabee00011 URL: https://gitlab.winehq.org/wine/wine/-/commit/b7e4b5247b6ac8213f1bc02645a4e5e...
Author: Ziqing Hui zhui@codeweavers.com Date: Tue May 23 12:00:05 2023 +0800
mf/tests: Test Flush for WMV decoder DMO.
---
dlls/mf/tests/transform.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
diff --git a/dlls/mf/tests/transform.c b/dlls/mf/tests/transform.c index ddb82249ffc..70bd2195521 100644 --- a/dlls/mf/tests/transform.c +++ b/dlls/mf/tests/transform.c @@ -5615,6 +5615,26 @@ static void test_wmv_decoder_media_object(void) todo_wine ok(status == DMO_INPUT_STATUSF_ACCEPT_DATA, "Unexpected status %#lx.\n", status);
+ /* Test Flush. */ + hr = IMediaObject_ProcessInput(media_object, 0, &input_media_buffer->IMediaBuffer_iface, 0, 0, 0); + ok(hr == S_OK, "ProcessInput returned %#lx.\n", hr); + hr = IMediaObject_Flush(media_object); + todo_wine + ok(hr == S_OK, "Flush returned %#lx.\n", hr); + hr = IMediaObject_Flush(media_object); + todo_wine + ok(hr == S_OK, "Flush returned %#lx.\n", hr); + output_media_buffer->length = 0; + output_data_buffer.pBuffer = &output_media_buffer->IMediaBuffer_iface; + output_data_buffer.dwStatus = 0xdeadbeef; + output_data_buffer.rtTimestamp = 0xdeadbeef; + output_data_buffer.rtTimelength = 0xdeadbeef; + hr = IMediaObject_ProcessOutput(media_object, 0, 1, &output_data_buffer, &status); + todo_wine + ok(hr == S_FALSE, "ProcessOutput returned %#lx.\n", hr); + todo_wine + ok(output_media_buffer->length == 0, "Unexpected length %#lx.\n", output_media_buffer->length); + /* Test ProcessOutput with setting framerate. */ init_dmo_media_type_video(type, &MEDIASUBTYPE_WMV1, data_width, data_height); ((VIDEOINFOHEADER *)type->pbFormat)->AvgTimePerFrame = 100000;