[STRMBASE]
authorAmine Khaldi <amine.khaldi@reactos.org>
Sat, 5 Oct 2013 20:55:09 +0000 (20:55 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Sat, 5 Oct 2013 20:55:09 +0000 (20:55 +0000)
* Sync with Wine 1.7.1.
CORE-7469

svn path=/trunk/; revision=60548

reactos/lib/3rdparty/strmbase/dllfunc.c
reactos/lib/3rdparty/strmbase/enumpins.c
reactos/lib/3rdparty/strmbase/transform.c
reactos/media/doc/README.WINE

index 23e71db..cd351a9 100644 (file)
@@ -24,6 +24,8 @@
 #include <assert.h>
 
 #define COBJMACROS
+#define NONAMELESSSTRUCT
+#define NONAMELESSUNION
 
 #include "windef.h"
 #include "winbase.h"
@@ -211,8 +213,8 @@ HRESULT WINAPI AMovieSetupRegisterFilter2(const AMOVIESETUP_FILTER *pFilter, IFi
             REGFILTER2 rf2;
             rf2.dwVersion = 1;
             rf2.dwMerit = pFilter->merit;
-            rf2.cPins = pFilter->pins;
-            rf2.rgPins = pFilter->pPin;
+            rf2.u.s1.cPins = pFilter->pins;
+            rf2.u.s1.rgPins = pFilter->pPin;
 
             return IFilterMapper2_RegisterFilter(pIFM2, pFilter->clsid, pFilter->name, NULL, &CLSID_LegacyAmFilterCategory, NULL, &rf2);
         }
index eab4d5b..6993bae 100644 (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)
 {
-    TRACE("(%s, %p)\n", debugstr_guid(riid), ppv);
+    TRACE("(%p)->(%s, %p)\n", iface, debugstr_guid(riid), ppv);
 
     *ppv = NULL;
 
@@ -99,28 +99,27 @@ static HRESULT WINAPI IEnumPinsImpl_QueryInterface(IEnumPins * iface, REFIID rii
 static ULONG WINAPI IEnumPinsImpl_AddRef(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)
 {
     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);
         CoTaskMemFree(This);
-        return 0;
     }
-    else
-        return refCount;
+
+    return ref;
 }
 
 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;
     ULONG i = 0;
 
-    TRACE("(%u, %p, %p)\n", cPins, ppPins, pcFetched);
+    TRACE("(%p)->(%u, %p, %p)\n", iface, cPins, ppPins, pcFetched);
 
     if (!ppPins)
         return E_POINTER;
@@ -168,7 +167,7 @@ static HRESULT WINAPI IEnumPinsImpl_Skip(IEnumPins * iface, ULONG cPins)
 {
     IEnumPinsImpl *This = impl_from_IEnumPins(iface);
 
-    TRACE("(%u)\n", cPins);
+    TRACE("(%p)->(%u)\n", iface, cPins);
 
     if (This->Version != This->receive_version(This->base))
         return VFW_E_ENUM_OUT_OF_SYNC;
@@ -184,7 +183,8 @@ static HRESULT WINAPI IEnumPinsImpl_Reset(IEnumPins * iface)
 {
     IEnumPinsImpl *This = impl_from_IEnumPins(iface);
 
-    TRACE("IEnumPinsImpl::Reset()\n");
+    TRACE("(%p)->()\n", iface);
+
     This->Version = This->receive_version(This->base);
 
     This->uIndex = 0;
@@ -196,7 +196,7 @@ static HRESULT WINAPI IEnumPinsImpl_Clone(IEnumPins * iface, IEnumPins ** ppEnum
     HRESULT hr;
     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);
     if (FAILED(hr))
index 0e014b0..df72d99 100644 (file)
@@ -343,8 +343,8 @@ ULONG WINAPI TransformFilterImpl_Release(IBaseFilter * iface)
         DeleteCriticalSection(&This->csReceive);
         FreeMediaType(&This->pmt);
         QualityControlImpl_Destroy(This->qcimpl);
-        CoTaskMemFree(This);
         IUnknown_Release(This->seekthru_unk);
+        CoTaskMemFree(This);
 
         return 0;
     }
index 9a71c46..8ca5fae 100644 (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
 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
 
 advapi32 -