From: Yuxuan Shui <yshui(a)codeweavers.com> --- dlls/mf/tests/transform.c | 3 +-- dlls/winegstreamer/video_decoder.c | 2 ++ dlls/winegstreamer/wma_decoder.c | 3 +++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/dlls/mf/tests/transform.c b/dlls/mf/tests/transform.c index 1ee5a8bc4ac..e5c65ace228 100644 --- a/dlls/mf/tests/transform.c +++ b/dlls/mf/tests/transform.c @@ -8328,7 +8328,6 @@ static void test_wmv_decoder_media_object(void) 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); ok(output_media_buffer->length == 0, "Unexpected length %#lx.\n", output_media_buffer->length); @@ -8361,7 +8360,7 @@ static void test_wmv_decoder_media_object(void) 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); + ok(hr == S_FALSE, "ProcessOutput returned %#lx.\n", hr); hr = IMediaObject_AllocateStreamingResources(media_object); ok(hr == S_OK, "Got hr %#lx.\n", hr); diff --git a/dlls/winegstreamer/video_decoder.c b/dlls/winegstreamer/video_decoder.c index becf148aeef..be540876aa0 100644 --- a/dlls/winegstreamer/video_decoder.c +++ b/dlls/winegstreamer/video_decoder.c @@ -1469,6 +1469,8 @@ static HRESULT WINAPI media_object_ProcessOutput(IMediaObject *iface, DWORD flag if (SUCCEEDED(hr)) wg_sample_queue_flush(decoder->wg_sample_queue, false); + else if (hr == MF_E_TRANSFORM_NEED_MORE_INPUT) + hr = S_FALSE; return hr; } diff --git a/dlls/winegstreamer/wma_decoder.c b/dlls/winegstreamer/wma_decoder.c index ca7a5f278bf..ddb77724db5 100644 --- a/dlls/winegstreamer/wma_decoder.c +++ b/dlls/winegstreamer/wma_decoder.c @@ -964,6 +964,9 @@ static HRESULT WINAPI media_object_ProcessOutput(IMediaObject *iface, DWORD flag buffers[0].dwStatus |= DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE; wg_sample_queue_flush(decoder->wg_sample_queue, false); } + else if (hr == MF_E_TRANSFORM_NEED_MORE_INPUT) + hr = S_FALSE; + return hr; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9538