Module: wine Branch: master Commit: f4d7a9ab53cfe101fe3f7d712473a4e393df3204 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f4d7a9ab53cfe101fe3f7d7124...
Author: Piotr Caban piotr@codeweavers.com Date: Tue Feb 25 12:23:44 2014 +0100
qcap: Add Avi Mux IMemInputPin::Receive implementation.
---
dlls/qcap/avimux.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/dlls/qcap/avimux.c b/dlls/qcap/avimux.c index a186b16..8ec15ba 100644 --- a/dlls/qcap/avimux.c +++ b/dlls/qcap/avimux.c @@ -1996,8 +1996,10 @@ static HRESULT WINAPI AviMuxIn_MemInputPin_Receive( { 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), pSample); - return E_NOTIMPL; + + TRACE("(%p:%s)->(%p)\n", This, debugstr_w(avimuxin->pin.pin.pinInfo.achName), pSample); + + return avimuxin->pin.pFuncsTable->pfnReceive(&avimuxin->pin, pSample); }
static HRESULT WINAPI AviMuxIn_MemInputPin_ReceiveMultiple(IMemInputPin *iface, @@ -2005,9 +2007,19 @@ static HRESULT WINAPI AviMuxIn_MemInputPin_ReceiveMultiple(IMemInputPin *iface, { AviMuxIn *avimuxin = AviMuxIn_from_IMemInputPin(iface); AviMux *This = impl_from_in_IPin(&avimuxin->pin.pin.IPin_iface); - FIXME("(%p:%s)->(%p %d %p)\n", This, debugstr_w(avimuxin->pin.pin.pinInfo.achName), + HRESULT hr = S_OK; + + TRACE("(%p:%s)->(%p %d %p)\n", This, debugstr_w(avimuxin->pin.pin.pinInfo.achName), pSamples, nSamples, nSamplesProcessed); - return E_NOTIMPL; + + for(*nSamplesProcessed=0; *nSamplesProcessed<nSamples; (*nSamplesProcessed)++) + { + hr = avimuxin->pin.pFuncsTable->pfnReceive(&avimuxin->pin, pSamples[*nSamplesProcessed]); + if(hr != S_OK) + break; + } + + return hr; }
static HRESULT WINAPI AviMuxIn_MemInputPin_ReceiveCanBlock(IMemInputPin *iface)