Piotr Caban : qcap: Add Avi Mux IConfigInterleaving:: put_Interleaving implementation.
Alexandre Julliard
julliard at winehq.org
Tue Feb 25 16:58:15 CST 2014
Module: wine
Branch: master
Commit: e32a9afe65d042d2972da95dd603c6bf0acb0412
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e32a9afe65d042d2972da95dd603c6bf0acb0412
Author: Piotr Caban <piotr at codeweavers.com>
Date: Tue Feb 25 12:21:59 2014 +0100
qcap: Add Avi Mux IConfigInterleaving::put_Interleaving implementation.
---
dlls/qcap/avimux.c | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/dlls/qcap/avimux.c b/dlls/qcap/avimux.c
index 79e6368..4b3a443 100644
--- a/dlls/qcap/avimux.c
+++ b/dlls/qcap/avimux.c
@@ -55,6 +55,9 @@ typedef struct {
ISpecifyPropertyPages ISpecifyPropertyPages_iface;
InterleavingMode mode;
+ REFERENCE_TIME interleave;
+ REFERENCE_TIME preroll;
+
AviMuxOut *out;
int input_pin_no;
AviMuxIn *in[MAX_PIN_NO-1];
@@ -364,8 +367,14 @@ static HRESULT WINAPI ConfigInterleaving_put_Interleaving(IConfigInterleaving *i
const REFERENCE_TIME *prtInterleave, const REFERENCE_TIME *prtPreroll)
{
AviMux *This = impl_from_IConfigInterleaving(iface);
- FIXME("(%p)->(%p %p)\n", This, prtInterleave, prtPreroll);
- return E_NOTIMPL;
+
+ TRACE("(%p)->(%p %p)\n", This, prtInterleave, prtPreroll);
+
+ if(prtInterleave)
+ This->interleave = *prtInterleave;
+ if(prtPreroll)
+ This->preroll = *prtPreroll;
+ return S_OK;
}
static HRESULT WINAPI ConfigInterleaving_get_Interleaving(IConfigInterleaving *iface,
@@ -1616,7 +1625,7 @@ IUnknown* WINAPI QCAP_createAVIMux(IUnknown *pUnkOuter, HRESULT *phr)
return NULL;
}
- avimux = HeapAlloc(GetProcessHeap(), 0, sizeof(AviMux));
+ avimux = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(AviMux));
if(!avimux) {
*phr = E_OUTOFMEMORY;
return NULL;
@@ -1629,7 +1638,6 @@ IUnknown* WINAPI QCAP_createAVIMux(IUnknown *pUnkOuter, HRESULT *phr)
avimux->IMediaSeeking_iface.lpVtbl = &MediaSeekingVtbl;
avimux->IPersistMediaPropertyBag_iface.lpVtbl = &PersistMediaPropertyBagVtbl;
avimux->ISpecifyPropertyPages_iface.lpVtbl = &SpecifyPropertyPagesVtbl;
- avimux->input_pin_no = 0;
info.dir = PINDIR_OUTPUT;
info.pFilter = &avimux->filter.IBaseFilter_iface;
@@ -1653,6 +1661,8 @@ IUnknown* WINAPI QCAP_createAVIMux(IUnknown *pUnkOuter, HRESULT *phr)
return NULL;
}
+ avimux->interleave = 10000000;
+
ObjectRefCount(TRUE);
*phr = S_OK;
return (IUnknown*)&avimux->filter.IBaseFilter_iface;
More information about the wine-cvs
mailing list