From: Ziqing Hui <zhui(a)codeweavers.com> --- dlls/mf/tests/transform.c | 7 ------- dlls/winegstreamer/wmv_decoder.c | 12 ++++++++++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/dlls/mf/tests/transform.c b/dlls/mf/tests/transform.c index fc04e673562..7ae7fe3d3ac 100644 --- a/dlls/mf/tests/transform.c +++ b/dlls/mf/tests/transform.c @@ -5548,23 +5548,18 @@ static void test_wmv_decoder_media_object(void) /* Test GetInputStatus. */ hr = IMediaObject_GetInputStatus(media_object, 0xdeadbeef, NULL); - todo_wine ok(hr == DMO_E_INVALIDSTREAMINDEX, "GetInputStatus returned %#lx.\n", hr); status = 0xdeadbeef; hr = IMediaObject_GetInputStatus(media_object, 0xdeadbeef, &status); - todo_wine ok(hr == DMO_E_INVALIDSTREAMINDEX, "GetInputStatus returned %#lx.\n", hr); ok(status == 0xdeadbeef, "Unexpected status %#lx.\n", status); hr = IMediaObject_GetInputStatus(media_object, 0, NULL); - todo_wine ok(hr == E_POINTER, "GetInputStatus returned %#lx.\n", hr); hr = IMediaObject_GetInputStatus(media_object, 0, &status); - todo_wine ok(hr == S_OK, "GetInputStatus returned %#lx.\n", hr); - todo_wine ok(status == DMO_INPUT_STATUSF_ACCEPT_DATA, "Unexpected status %#lx.\n", status); /* Test Discontinuity. */ @@ -5578,9 +5573,7 @@ static void test_wmv_decoder_media_object(void) todo_wine ok(hr == S_OK, "Discontinuity returned %#lx.\n", hr); hr = IMediaObject_GetInputStatus(media_object, 0, &status); - todo_wine ok(hr == S_OK, "GetInputStatus returned %#lx.\n", hr); - todo_wine ok(status == DMO_INPUT_STATUSF_ACCEPT_DATA, "Unexpected status %#lx.\n", status); /* Test Flush. */ diff --git a/dlls/winegstreamer/wmv_decoder.c b/dlls/winegstreamer/wmv_decoder.c index 82c69776bd6..75a7068a432 100644 --- a/dlls/winegstreamer/wmv_decoder.c +++ b/dlls/winegstreamer/wmv_decoder.c @@ -680,8 +680,16 @@ static HRESULT WINAPI media_object_FreeStreamingResources(IMediaObject *iface) static HRESULT WINAPI media_object_GetInputStatus(IMediaObject *iface, DWORD index, DWORD *flags) { - FIXME("iface %p, index %lu, flags %p stub!\n", iface, index, flags); - return E_NOTIMPL; + TRACE("iface %p, index %lu, flags %p.\n", iface, index, flags); + + if (index > 0) + return DMO_E_INVALIDSTREAMINDEX; + if (!flags) + return E_POINTER; + + *flags = DMO_INPUT_STATUSF_ACCEPT_DATA; + + return S_OK; } static HRESULT WINAPI media_object_ProcessInput(IMediaObject *iface, DWORD index, -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/2881