mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-14 17:47:16 +00:00
winegstreamer: Implement Flush for WMV decoder DMO.
This commit is contained in:
parent
f19a0fb6c2
commit
8e3f316cc9
|
@ -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);
|
hr = IMediaObject_ProcessInput(media_object, 0, &input_media_buffer->IMediaBuffer_iface, 0, 0, 0);
|
||||||
ok(hr == S_OK, "ProcessInput returned %#lx.\n", hr);
|
ok(hr == S_OK, "ProcessInput returned %#lx.\n", hr);
|
||||||
hr = IMediaObject_Flush(media_object);
|
hr = IMediaObject_Flush(media_object);
|
||||||
todo_wine
|
|
||||||
ok(hr == S_OK, "Flush returned %#lx.\n", hr);
|
ok(hr == S_OK, "Flush returned %#lx.\n", hr);
|
||||||
hr = IMediaObject_Flush(media_object);
|
hr = IMediaObject_Flush(media_object);
|
||||||
todo_wine
|
|
||||||
ok(hr == S_OK, "Flush returned %#lx.\n", hr);
|
ok(hr == S_OK, "Flush returned %#lx.\n", hr);
|
||||||
output_media_buffer->length = 0;
|
output_media_buffer->length = 0;
|
||||||
output_data_buffer.pBuffer = &output_media_buffer->IMediaBuffer_iface;
|
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);
|
hr = IMediaObject_ProcessOutput(media_object, 0, 1, &output_data_buffer, &status);
|
||||||
todo_wine
|
todo_wine
|
||||||
ok(hr == S_FALSE, "ProcessOutput returned %#lx.\n", hr);
|
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);
|
ok(output_media_buffer->length == 0, "Unexpected length %#lx.\n", output_media_buffer->length);
|
||||||
|
|
||||||
/* Test ProcessOutput with setting framerate. */
|
/* 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)
|
static HRESULT WINAPI media_object_Flush(IMediaObject *iface)
|
||||||
{
|
{
|
||||||
FIXME("iface %p stub!\n", iface);
|
struct wmv_decoder *decoder = impl_from_IMediaObject(iface);
|
||||||
return E_NOTIMPL;
|
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)
|
static HRESULT WINAPI media_object_Discontinuity(IMediaObject *iface, DWORD index)
|
||||||
|
|
Loading…
Reference in a new issue