Commit 2a83ef07 authored by Ziqing Hui's avatar Ziqing Hui Committed by Alexandre Julliard

winegstreamer: Implement GetInputStatus for WMV decoder DMO.

parent b7e4b524
...@@ -5580,23 +5580,18 @@ static void test_wmv_decoder_media_object(void) ...@@ -5580,23 +5580,18 @@ static void test_wmv_decoder_media_object(void)
/* Test GetInputStatus. */ /* Test GetInputStatus. */
hr = IMediaObject_GetInputStatus(media_object, 0xdeadbeef, NULL); hr = IMediaObject_GetInputStatus(media_object, 0xdeadbeef, NULL);
todo_wine
ok(hr == DMO_E_INVALIDSTREAMINDEX, "GetInputStatus returned %#lx.\n", hr); ok(hr == DMO_E_INVALIDSTREAMINDEX, "GetInputStatus returned %#lx.\n", hr);
status = 0xdeadbeef; status = 0xdeadbeef;
hr = IMediaObject_GetInputStatus(media_object, 0xdeadbeef, &status); hr = IMediaObject_GetInputStatus(media_object, 0xdeadbeef, &status);
todo_wine
ok(hr == DMO_E_INVALIDSTREAMINDEX, "GetInputStatus returned %#lx.\n", hr); ok(hr == DMO_E_INVALIDSTREAMINDEX, "GetInputStatus returned %#lx.\n", hr);
ok(status == 0xdeadbeef, "Unexpected status %#lx.\n", status); ok(status == 0xdeadbeef, "Unexpected status %#lx.\n", status);
hr = IMediaObject_GetInputStatus(media_object, 0, NULL); hr = IMediaObject_GetInputStatus(media_object, 0, NULL);
todo_wine
ok(hr == E_POINTER, "GetInputStatus returned %#lx.\n", hr); ok(hr == E_POINTER, "GetInputStatus returned %#lx.\n", hr);
hr = IMediaObject_GetInputStatus(media_object, 0, &status); hr = IMediaObject_GetInputStatus(media_object, 0, &status);
todo_wine
ok(hr == S_OK, "GetInputStatus returned %#lx.\n", hr); ok(hr == S_OK, "GetInputStatus returned %#lx.\n", hr);
todo_wine
ok(status == DMO_INPUT_STATUSF_ACCEPT_DATA, "Unexpected status %#lx.\n", status); ok(status == DMO_INPUT_STATUSF_ACCEPT_DATA, "Unexpected status %#lx.\n", status);
/* Test Discontinuity. */ /* Test Discontinuity. */
...@@ -5610,9 +5605,7 @@ static void test_wmv_decoder_media_object(void) ...@@ -5610,9 +5605,7 @@ static void test_wmv_decoder_media_object(void)
todo_wine todo_wine
ok(hr == S_OK, "Discontinuity returned %#lx.\n", hr); ok(hr == S_OK, "Discontinuity returned %#lx.\n", hr);
hr = IMediaObject_GetInputStatus(media_object, 0, &status); hr = IMediaObject_GetInputStatus(media_object, 0, &status);
todo_wine
ok(hr == S_OK, "GetInputStatus returned %#lx.\n", hr); ok(hr == S_OK, "GetInputStatus returned %#lx.\n", hr);
todo_wine
ok(status == DMO_INPUT_STATUSF_ACCEPT_DATA, "Unexpected status %#lx.\n", status); ok(status == DMO_INPUT_STATUSF_ACCEPT_DATA, "Unexpected status %#lx.\n", status);
/* Test Flush. */ /* Test Flush. */
......
...@@ -680,8 +680,16 @@ static HRESULT WINAPI media_object_FreeStreamingResources(IMediaObject *iface) ...@@ -680,8 +680,16 @@ static HRESULT WINAPI media_object_FreeStreamingResources(IMediaObject *iface)
static HRESULT WINAPI media_object_GetInputStatus(IMediaObject *iface, DWORD index, DWORD *flags) static HRESULT WINAPI media_object_GetInputStatus(IMediaObject *iface, DWORD index, DWORD *flags)
{ {
FIXME("iface %p, index %lu, flags %p stub!\n", iface, index, flags); TRACE("iface %p, index %lu, flags %p.\n", iface, index, flags);
return E_NOTIMPL;
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, static HRESULT WINAPI media_object_ProcessInput(IMediaObject *iface, DWORD index,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment