[STRMBASE]

* Sync with Wine 1.7.1.
CORE-7469

svn path=/trunk/; revision=60548
This commit is contained in:
Amine Khaldi 2013-10-05 20:55:09 +00:00
parent aaed681d85
commit 5a71791fd5
4 changed files with 20 additions and 18 deletions

View file

@ -24,6 +24,8 @@
#include <assert.h> #include <assert.h>
#define COBJMACROS #define COBJMACROS
#define NONAMELESSSTRUCT
#define NONAMELESSUNION
#include "windef.h" #include "windef.h"
#include "winbase.h" #include "winbase.h"
@ -211,8 +213,8 @@ HRESULT WINAPI AMovieSetupRegisterFilter2(const AMOVIESETUP_FILTER *pFilter, IFi
REGFILTER2 rf2; REGFILTER2 rf2;
rf2.dwVersion = 1; rf2.dwVersion = 1;
rf2.dwMerit = pFilter->merit; rf2.dwMerit = pFilter->merit;
rf2.cPins = pFilter->pins; rf2.u.s1.cPins = pFilter->pins;
rf2.rgPins = pFilter->pPin; rf2.u.s1.rgPins = pFilter->pPin;
return IFilterMapper2_RegisterFilter(pIFM2, pFilter->clsid, pFilter->name, NULL, &CLSID_LegacyAmFilterCategory, NULL, &rf2); return IFilterMapper2_RegisterFilter(pIFM2, pFilter->clsid, pFilter->name, NULL, &CLSID_LegacyAmFilterCategory, NULL, &rf2);
} }

View file

@ -76,7 +76,7 @@ HRESULT WINAPI EnumPins_Construct(BaseFilter *base, BaseFilter_GetPin receive_p
static HRESULT WINAPI IEnumPinsImpl_QueryInterface(IEnumPins * iface, REFIID riid, LPVOID * ppv) static HRESULT WINAPI IEnumPinsImpl_QueryInterface(IEnumPins * iface, REFIID riid, LPVOID * ppv)
{ {
TRACE("(%s, %p)\n", debugstr_guid(riid), ppv); TRACE("(%p)->(%s, %p)\n", iface, debugstr_guid(riid), ppv);
*ppv = NULL; *ppv = NULL;
@ -99,28 +99,27 @@ static HRESULT WINAPI IEnumPinsImpl_QueryInterface(IEnumPins * iface, REFIID rii
static ULONG WINAPI IEnumPinsImpl_AddRef(IEnumPins * iface) static ULONG WINAPI IEnumPinsImpl_AddRef(IEnumPins * iface)
{ {
IEnumPinsImpl *This = impl_from_IEnumPins(iface); IEnumPinsImpl *This = impl_from_IEnumPins(iface);
ULONG refCount = InterlockedIncrement(&This->refCount); ULONG ref = InterlockedIncrement(&This->refCount);
TRACE("(%p)->() AddRef from %d\n", This, refCount - 1); TRACE("(%p)->(): new ref = %u\n", iface, ref);
return refCount; return ref;
} }
static ULONG WINAPI IEnumPinsImpl_Release(IEnumPins * iface) static ULONG WINAPI IEnumPinsImpl_Release(IEnumPins * iface)
{ {
IEnumPinsImpl *This = impl_from_IEnumPins(iface); IEnumPinsImpl *This = impl_from_IEnumPins(iface);
ULONG refCount = InterlockedDecrement(&This->refCount); ULONG ref = InterlockedDecrement(&This->refCount);
TRACE("(%p)->() Release from %d\n", This, refCount + 1); TRACE("(%p)->(): new ref = %u\n", iface, ref);
if (!refCount) if (!ref)
{ {
IBaseFilter_Release(&This->base->IBaseFilter_iface); IBaseFilter_Release(&This->base->IBaseFilter_iface);
CoTaskMemFree(This); CoTaskMemFree(This);
return 0;
} }
else
return refCount; return ref;
} }
static HRESULT WINAPI IEnumPinsImpl_Next(IEnumPins * iface, ULONG cPins, IPin ** ppPins, ULONG * pcFetched) static HRESULT WINAPI IEnumPinsImpl_Next(IEnumPins * iface, ULONG cPins, IPin ** ppPins, ULONG * pcFetched)
@ -129,7 +128,7 @@ static HRESULT WINAPI IEnumPinsImpl_Next(IEnumPins * iface, ULONG cPins, IPin **
HRESULT hr = S_OK; HRESULT hr = S_OK;
ULONG i = 0; ULONG i = 0;
TRACE("(%u, %p, %p)\n", cPins, ppPins, pcFetched); TRACE("(%p)->(%u, %p, %p)\n", iface, cPins, ppPins, pcFetched);
if (!ppPins) if (!ppPins)
return E_POINTER; return E_POINTER;
@ -168,7 +167,7 @@ static HRESULT WINAPI IEnumPinsImpl_Skip(IEnumPins * iface, ULONG cPins)
{ {
IEnumPinsImpl *This = impl_from_IEnumPins(iface); IEnumPinsImpl *This = impl_from_IEnumPins(iface);
TRACE("(%u)\n", cPins); TRACE("(%p)->(%u)\n", iface, cPins);
if (This->Version != This->receive_version(This->base)) if (This->Version != This->receive_version(This->base))
return VFW_E_ENUM_OUT_OF_SYNC; return VFW_E_ENUM_OUT_OF_SYNC;
@ -184,7 +183,8 @@ static HRESULT WINAPI IEnumPinsImpl_Reset(IEnumPins * iface)
{ {
IEnumPinsImpl *This = impl_from_IEnumPins(iface); IEnumPinsImpl *This = impl_from_IEnumPins(iface);
TRACE("IEnumPinsImpl::Reset()\n"); TRACE("(%p)->()\n", iface);
This->Version = This->receive_version(This->base); This->Version = This->receive_version(This->base);
This->uIndex = 0; This->uIndex = 0;
@ -196,7 +196,7 @@ static HRESULT WINAPI IEnumPinsImpl_Clone(IEnumPins * iface, IEnumPins ** ppEnum
HRESULT hr; HRESULT hr;
IEnumPinsImpl *This = impl_from_IEnumPins(iface); IEnumPinsImpl *This = impl_from_IEnumPins(iface);
TRACE("(%p)\n", ppEnum); TRACE("(%p)->(%p)\n", iface, ppEnum);
hr = EnumPins_Construct(This->base, This->receive_pin, This->receive_pincount, This->receive_version, ppEnum); hr = EnumPins_Construct(This->base, This->receive_pin, This->receive_pincount, This->receive_version, ppEnum);
if (FAILED(hr)) if (FAILED(hr))

View file

@ -343,8 +343,8 @@ ULONG WINAPI TransformFilterImpl_Release(IBaseFilter * iface)
DeleteCriticalSection(&This->csReceive); DeleteCriticalSection(&This->csReceive);
FreeMediaType(&This->pmt); FreeMediaType(&This->pmt);
QualityControlImpl_Destroy(This->qcimpl); QualityControlImpl_Destroy(This->qcimpl);
CoTaskMemFree(This);
IUnknown_Release(This->seekthru_unk); IUnknown_Release(This->seekthru_unk);
CoTaskMemFree(This);
return 0; return 0;
} }

View file

@ -242,7 +242,7 @@ In addition the following libs, dlls and source files are mostly based on code p
from Winehq CVS. If you are looking to update something in these files from Winehq CVS. If you are looking to update something in these files
check Wine current souces first as it may already be fixed. check Wine current souces first as it may already be fixed.
reactos/lib/3rdparty/strmbase # Synced to Wine-1.5.26 reactos/lib/3rdparty/strmbase # Synced to Wine-1.7.11
reactos/lib/sdk/uuid # Synced to Wine-1.1.42 reactos/lib/sdk/uuid # Synced to Wine-1.1.42
advapi32 - advapi32 -