Commit 8e3f316c authored by Ziqing Hui's avatar Ziqing Hui Committed by Alexandre Julliard

winegstreamer: Implement Flush for WMV decoder DMO.

parent f19a0fb6
......@@ -6392,10 +6392,8 @@ static void test_wmv_decoder_media_object(void)
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;
......@@ -6405,7 +6403,6 @@ static void test_wmv_decoder_media_object(void)
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. */
......
......@@ -657,8 +657,17 @@ static HRESULT WINAPI media_object_SetInputMaxLatency(IMediaObject *iface, DWORD
static HRESULT WINAPI media_object_Flush(IMediaObject *iface)
{
FIXME("iface %p stub!\n", iface);
return E_NOTIMPL;
struct wmv_decoder *decoder = impl_from_IMediaObject(iface);
HRESULT hr;
TRACE("iface %p.\n", iface);
if (FAILED(hr = wg_transform_flush(decoder->wg_transform)))
return hr;
wg_sample_queue_flush(decoder->wg_sample_queue, TRUE);
return S_OK;
}
static HRESULT WINAPI media_object_Discontinuity(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