Piotr Caban : qcap: Add Avi Mux input pin IMemInputPin:: GetAllocatorRequirements implementation.
Alexandre Julliard
julliard at winehq.org
Mon Feb 24 15:42:31 CST 2014
Module: wine
Branch: master
Commit: d9f6a377be134a553d29132d7db4daa6c917f778
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d9f6a377be134a553d29132d7db4daa6c917f778
Author: Piotr Caban <piotr at codeweavers.com>
Date: Mon Feb 24 12:06:34 2014 +0100
qcap: Add Avi Mux input pin IMemInputPin::GetAllocatorRequirements implementation.
---
dlls/qcap/avimux.c | 11 +++++++++--
dlls/qcap/tests/qcap.c | 17 +++++++++++++++++
2 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/dlls/qcap/avimux.c b/dlls/qcap/avimux.c
index c5a16f8..f39e003 100644
--- a/dlls/qcap/avimux.c
+++ b/dlls/qcap/avimux.c
@@ -1365,8 +1365,15 @@ static HRESULT WINAPI AviMuxIn_MemInputPin_GetAllocatorRequirements(
{
AviMuxIn *avimuxin = AviMuxIn_from_IMemInputPin(iface);
AviMux *This = impl_from_in_IPin(&avimuxin->pin.pin.IPin_iface);
- FIXME("(%p:%s)->(%p)\n", This, debugstr_w(avimuxin->pin.pin.pinInfo.achName), pProps);
- return E_NOTIMPL;
+
+ TRACE("(%p:%s)->(%p)\n", This, debugstr_w(avimuxin->pin.pin.pinInfo.achName), pProps);
+
+ if(!pProps)
+ return E_POINTER;
+
+ pProps->cbAlign = 1;
+ pProps->cbPrefix = 8;
+ return S_OK;
}
static HRESULT WINAPI AviMuxIn_MemInputPin_Receive(
diff --git a/dlls/qcap/tests/qcap.c b/dlls/qcap/tests/qcap.c
index 83d38c8..162b17e 100644
--- a/dlls/qcap/tests/qcap.c
+++ b/dlls/qcap/tests/qcap.c
@@ -1232,6 +1232,8 @@ static void test_AviMux(void)
IBaseFilter *avimux;
IEnumPins *ep;
IEnumMediaTypes *emt;
+ IMemInputPin *memin;
+ ALLOCATOR_PROPERTIES props;
HRESULT hr;
init_test_filter(&source_filter, PINDIR_OUTPUT, SOURCE_FILTER);
@@ -1336,6 +1338,21 @@ static void test_AviMux(void)
CHECK_CALLED(NotifyAllocator);
CHECK_CALLED(Reconnect);
+ hr = IPin_QueryInterface(avimux_in, &IID_IMemInputPin, (void**)&memin);
+ ok(hr == S_OK, "QueryInterface returned %x\n", hr);
+
+ props.cBuffers = 0xdeadbee1;
+ props.cbBuffer = 0xdeadbee2;
+ props.cbAlign = 0xdeadbee3;
+ props.cbPrefix = 0xdeadbee4;
+ hr = IMemInputPin_GetAllocatorRequirements(memin, &props);
+ ok(hr == S_OK, "GetAllocatorRequirments returned %x\n", hr);
+ ok(props.cBuffers == 0xdeadbee1, "cBuffers = %d\n", props.cBuffers);
+ ok(props.cbBuffer == 0xdeadbee2, "cbBuffer = %d\n", props.cbBuffer);
+ ok(props.cbAlign == 1, "cbAlign = %d\n", props.cbAlign);
+ ok(props.cbPrefix == 8, "cbPrefix = %d\n", props.cbPrefix);
+ IMemInputPin_Release(memin);
+
hr = IPin_Disconnect(avimux_out);
ok(hr == S_OK, "Disconnect returned %x\n", hr);
More information about the wine-cvs
mailing list