[QUARTZ] Sync with Wine Staging 1.9.23. CORE-12409
authorAmine Khaldi <amine.khaldi@reactos.org>
Thu, 17 Nov 2016 22:03:51 +0000 (22:03 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Thu, 17 Nov 2016 22:03:51 +0000 (22:03 +0000)
svn path=/trunk/; revision=73256

reactos/dll/directx/wine/quartz/avisplit.c
reactos/dll/directx/wine/quartz/dsoundrender.c
reactos/dll/directx/wine/quartz/filesource.c
reactos/dll/directx/wine/quartz/filtergraph.c
reactos/dll/directx/wine/quartz/filtermapper.c
reactos/dll/directx/wine/quartz/main.c
reactos/dll/directx/wine/quartz/mpegsplit.c
reactos/dll/directx/wine/quartz/parser.c
reactos/dll/directx/wine/quartz/videorenderer.c
reactos/dll/directx/wine/quartz/vmr9.c
reactos/media/doc/README.WINE

index fec1174..b70383c 100644 (file)
@@ -673,7 +673,7 @@ static HRESULT AVISplitter_ProcessStreamList(AVISplitterImpl * This, const BYTE
 
     ZeroMemory(&amt, sizeof(amt));
     piOutput.dir = PINDIR_OUTPUT;
-    piOutput.pFilter = (IBaseFilter *)This;
+    piOutput.pFilter = &This->Parser.filter.IBaseFilter_iface;
     wsprintfW(piOutput.achName, wszStreamTemplate, This->Parser.cStreams);
     This->streams = CoTaskMemRealloc(This->streams, sizeof(StreamData) * (This->Parser.cStreams+1));
     stream = This->streams + This->Parser.cStreams;
index a641e1f..3d1ffb4 100644 (file)
@@ -649,7 +649,7 @@ HRESULT DSoundRender_create(IUnknown * pUnkOuter, LPVOID * ppv)
 
         if (!pDSoundRender->blocked || FAILED(hr))
         {
-            IUnknown_Release((IUnknown *)pDSoundRender);
+            IBaseFilter_Release(&pDSoundRender->renderer.filter.IBaseFilter_iface);
             return HRESULT_FROM_WIN32(GetLastError());
         }
 
@@ -788,7 +788,7 @@ static HRESULT WINAPI Basicaudio_QueryInterface(IBasicAudio *iface,
                                                LPVOID*ppvObj) {
     DSoundRenderImpl *This = impl_from_IBasicAudio(iface);
 
-    TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
+    TRACE("(%p/%p)->(%s, %p)\n", This, iface, debugstr_guid(riid), ppvObj);
 
     return DSoundRender_QueryInterface(&This->renderer.filter.IBaseFilter_iface, riid, ppvObj);
 }
@@ -982,7 +982,7 @@ static HRESULT WINAPI ReferenceClock_QueryInterface(IReferenceClock *iface,
 {
     DSoundRenderImpl *This = impl_from_IReferenceClock(iface);
 
-    TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
+    TRACE("(%p/%p)->(%s, %p)\n", This, iface, debugstr_guid(riid), ppvObj);
 
     return DSoundRender_QueryInterface(&This->renderer.filter.IBaseFilter_iface, riid, ppvObj);
 }
@@ -1150,7 +1150,7 @@ static HRESULT WINAPI AMDirectSound_QueryInterface(IAMDirectSound *iface,
 {
     DSoundRenderImpl *This = impl_from_IAMDirectSound(iface);
 
-    TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
+    TRACE("(%p/%p)->(%s, %p)\n", This, iface, debugstr_guid(riid), ppvObj);
 
     return DSoundRender_QueryInterface(&This->renderer.filter.IBaseFilter_iface, riid, ppvObj);
 }
@@ -1263,17 +1263,17 @@ static const IAMDirectSoundVtbl IAMDirectSound_Vtbl =
 
 static HRESULT WINAPI AMFilterMiscFlags_QueryInterface(IAMFilterMiscFlags *iface, REFIID riid, void **ppv) {
     DSoundRenderImpl *This = impl_from_IAMFilterMiscFlags(iface);
-    return IUnknown_QueryInterface((IUnknown*)This, riid, ppv);
+    return IBaseFilter_QueryInterface(&This->renderer.filter.IBaseFilter_iface, riid, ppv);
 }
 
 static ULONG WINAPI AMFilterMiscFlags_AddRef(IAMFilterMiscFlags *iface) {
     DSoundRenderImpl *This = impl_from_IAMFilterMiscFlags(iface);
-    return IUnknown_AddRef((IUnknown*)This);
+    return IBaseFilter_AddRef(&This->renderer.filter.IBaseFilter_iface);
 }
 
 static ULONG WINAPI AMFilterMiscFlags_Release(IAMFilterMiscFlags *iface) {
     DSoundRenderImpl *This = impl_from_IAMFilterMiscFlags(iface);
-    return IUnknown_Release((IUnknown*)This);
+    return IBaseFilter_Release(&This->renderer.filter.IBaseFilter_iface);
 }
 
 static ULONG WINAPI AMFilterMiscFlags_GetMiscFlags(IAMFilterMiscFlags *iface) {
index 9aafac0..b4ed99c 100644 (file)
@@ -1419,17 +1419,17 @@ static const IAsyncReaderVtbl FileAsyncReader_Vtbl =
 
 static HRESULT WINAPI AMFilterMiscFlags_QueryInterface(IAMFilterMiscFlags *iface, REFIID riid, void **ppv) {
     AsyncReader *This = impl_from_IAMFilterMiscFlags(iface);
-    return IUnknown_QueryInterface((IUnknown*)This, riid, ppv);
+    return IBaseFilter_QueryInterface(&This->filter.IBaseFilter_iface, riid, ppv);
 }
 
 static ULONG WINAPI AMFilterMiscFlags_AddRef(IAMFilterMiscFlags *iface) {
     AsyncReader *This = impl_from_IAMFilterMiscFlags(iface);
-    return IUnknown_AddRef((IUnknown*)This);
+    return IBaseFilter_AddRef(&This->filter.IBaseFilter_iface);
 }
 
 static ULONG WINAPI AMFilterMiscFlags_Release(IAMFilterMiscFlags *iface) {
     AsyncReader *This = impl_from_IAMFilterMiscFlags(iface);
-    return IUnknown_Release((IUnknown*)This);
+    return IBaseFilter_Release(&This->filter.IBaseFilter_iface);
 }
 
 static ULONG WINAPI AMFilterMiscFlags_GetMiscFlags(IAMFilterMiscFlags *iface) {
index 305388b..5ff7be3 100644 (file)
@@ -192,7 +192,7 @@ static inline IFilterGraphImpl *impl_from_IUnknown(IUnknown *iface)
 static HRESULT WINAPI FilterGraphInner_QueryInterface(IUnknown *iface, REFIID riid, void **ppvObj)
 {
     IFilterGraphImpl *This = impl_from_IUnknown(iface);
-    TRACE("(%p)->(%s (%p), %p)\n", This, debugstr_guid(riid), riid, ppvObj);
+    TRACE("(%p)->(%s, %p)\n", This, debugstr_guid(riid), ppvObj);
 
     if (IsEqualGUID(&IID_IUnknown, riid)) {
         *ppvObj = &This->IUnknown_inner;
@@ -320,7 +320,7 @@ static HRESULT WINAPI FilterGraph2_QueryInterface(IFilterGraph2 *iface, REFIID r
 {
     IFilterGraphImpl *This = impl_from_IFilterGraph2(iface);
 
-    TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
+    TRACE("(%p/%p)->(%s, %p)\n", This, iface, debugstr_guid(riid), ppvObj);
 
     return IUnknown_QueryInterface(This->outer_unk, riid, ppvObj);
 }
@@ -668,14 +668,14 @@ static HRESULT WINAPI FilterGraph2_ConnectDirect(IFilterGraph2 *iface, IPin *ppi
         if (FAILED(hr))
             return hr;
 
-        TRACE("Filter owning first pin => %p\n", PinInfo.pFilter);
+        TRACE("Filter owning ppinIn(%p) => %p\n", ppinIn, PinInfo.pFilter);
         IBaseFilter_Release(PinInfo.pFilter);
 
         hr = IPin_QueryPinInfo(ppinOut, &PinInfo);
         if (FAILED(hr))
             return hr;
 
-        TRACE("Filter owning second pin => %p\n", PinInfo.pFilter);
+        TRACE("Filter owning ppinOut(%p) => %p\n", ppinOut, PinInfo.pFilter);
         IBaseFilter_Release(PinInfo.pFilter);
     }
 
@@ -897,14 +897,14 @@ static HRESULT WINAPI FilterGraph2_Connect(IFilterGraph2 *iface, IPin *ppinOut,
         if (FAILED(hr))
             return hr;
 
-        TRACE("Filter owning first pin => %p\n", PinInfo.pFilter);
+        TRACE("Filter owning ppinIn(%p) => %p\n", ppinIn, PinInfo.pFilter);
         IBaseFilter_Release(PinInfo.pFilter);
 
         hr = IPin_QueryPinInfo(ppinOut, &PinInfo);
         if (FAILED(hr))
             return hr;
 
-        TRACE("Filter owning second pin => %p\n", PinInfo.pFilter);
+        TRACE("Filter owning ppinOut(%p) => %p\n", ppinOut, PinInfo.pFilter);
         IBaseFilter_Release(PinInfo.pFilter);
     }
 
@@ -925,6 +925,8 @@ static HRESULT WINAPI FilterGraph2_Connect(IFilterGraph2 *iface, IPin *ppinOut,
     {
         IPin *temp;
 
+        TRACE("Directions seem backwards, swapping pins\n");
+
         temp = ppinIn;
         ppinIn = ppinOut;
         ppinOut = temp;
@@ -1819,7 +1821,7 @@ static HRESULT WINAPI MediaControl_QueryInterface(IMediaControl *iface, REFIID r
 {
     IFilterGraphImpl *This = impl_from_IMediaControl(iface);
 
-    TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
+    TRACE("(%p/%p)->(%s, %p)\n", This, iface, debugstr_guid(riid), ppvObj);
 
     return IUnknown_QueryInterface(This->outer_unk, riid, ppvObj);
 }
@@ -1868,7 +1870,8 @@ static HRESULT WINAPI MediaControl_GetIDsOfNames(IMediaControl *iface, REFIID ri
 {
     IFilterGraphImpl *This = impl_from_IMediaControl(iface);
 
-    TRACE("(%p/%p)->(%s (%p), %p, %d, %d, %p): stub !!!\n", This, iface, debugstr_guid(riid), riid, rgszNames, cNames, lcid, rgDispId);
+    TRACE("(%p/%p)->(%s, %p, %d, %d, %p): stub !!!\n", This, iface, debugstr_guid(riid), rgszNames,
+            cNames, lcid, rgDispId);
 
     return S_OK;
 }
@@ -1879,7 +1882,8 @@ static HRESULT WINAPI MediaControl_Invoke(IMediaControl *iface, DISPID dispIdMem
 {
     IFilterGraphImpl *This = impl_from_IMediaControl(iface);
 
-    TRACE("(%p/%p)->(%d, %s (%p), %d, %04x, %p, %p, %p, %p): stub !!!\n", This, iface, dispIdMember, debugstr_guid(riid), riid, lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
+    TRACE("(%p/%p)->(%d, %s, %d, %04x, %p, %p, %p, %p): stub !!!\n", This, iface, dispIdMember,
+            debugstr_guid(riid), lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
 
     return S_OK;
 }
@@ -2215,7 +2219,7 @@ static HRESULT WINAPI MediaSeeking_QueryInterface(IMediaSeeking *iface, REFIID r
 {
     IFilterGraphImpl *This = impl_from_IMediaSeeking(iface);
 
-    TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
+    TRACE("(%p/%p)->(%s, %p)\n", This, iface, debugstr_guid(riid), ppvObj);
 
     return IUnknown_QueryInterface(This->outer_unk, riid, ppvObj);
 }
@@ -2663,7 +2667,7 @@ static HRESULT WINAPI MediaPosition_QueryInterface(IMediaPosition* iface, REFIID
 {
     IFilterGraphImpl *This = impl_from_IMediaPosition( iface );
 
-    TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
+    TRACE("(%p/%p)->(%s, %p)\n", This, iface, debugstr_guid(riid), ppvObj);
 
     return IUnknown_QueryInterface(This->outer_unk, riid, ppvObj);
 }
@@ -2875,7 +2879,7 @@ static HRESULT WINAPI ObjectWithSite_QueryInterface(IObjectWithSite* iface, REFI
 {
     IFilterGraphImpl *This = impl_from_IObjectWithSite( iface );
 
-    TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
+    TRACE("(%p/%p)->(%s, %p)\n", This, iface, debugstr_guid(riid), ppvObj);
 
     return IUnknown_QueryInterface(This->outer_unk, riid, ppvObj);
 }
@@ -2987,7 +2991,7 @@ static HRESULT WINAPI BasicAudio_QueryInterface(IBasicAudio *iface, REFIID riid,
 {
     IFilterGraphImpl *This = impl_from_IBasicAudio(iface);
 
-    TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
+    TRACE("(%p/%p)->(%s, %p)\n", This, iface, debugstr_guid(riid), ppvObj);
 
     return IUnknown_QueryInterface(This->outer_unk, riid, ppvObj);
 }
@@ -3059,7 +3063,8 @@ static HRESULT WINAPI BasicAudio_GetIDsOfNames(IBasicAudio *iface, REFIID riid,
     IBasicAudio* pBasicAudio;
     HRESULT hr;
 
-    TRACE("(%p/%p)->(%s (%p), %p, %d, %d, %p)\n", This, iface, debugstr_guid(riid), riid, rgszNames, cNames, lcid, rgDispId);
+    TRACE("(%p/%p)->(%s, %p, %d, %d, %p)\n", This, iface, debugstr_guid(riid), rgszNames, cNames,
+            lcid, rgDispId);
 
     EnterCriticalSection(&This->cs);
 
@@ -3081,7 +3086,8 @@ static HRESULT WINAPI BasicAudio_Invoke(IBasicAudio *iface, DISPID dispIdMember,
     IBasicAudio* pBasicAudio;
     HRESULT hr;
 
-    TRACE("(%p/%p)->(%d, %s (%p), %d, %04x, %p, %p, %p, %p)\n", This, iface, dispIdMember, debugstr_guid(riid), riid, lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
+    TRACE("(%p/%p)->(%d, %s, %d, %04x, %p, %p, %p, %p)\n", This, iface, dispIdMember,
+            debugstr_guid(riid), lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
 
     EnterCriticalSection(&This->cs);
 
@@ -3200,7 +3206,7 @@ static HRESULT WINAPI BasicVideo_QueryInterface(IBasicVideo2 *iface, REFIID riid
 {
     IFilterGraphImpl *This = impl_from_IBasicVideo2(iface);
 
-    TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
+    TRACE("(%p/%p)->(%s, %p)\n", This, iface, debugstr_guid(riid), ppvObj);
 
     return IUnknown_QueryInterface(This->outer_unk, riid, ppvObj);
 }
@@ -3272,7 +3278,8 @@ static HRESULT WINAPI BasicVideo_GetIDsOfNames(IBasicVideo2 *iface, REFIID riid,
     IBasicVideo *pBasicVideo;
     HRESULT hr;
 
-    TRACE("(%p/%p)->(%s (%p), %p, %d, %d, %p)\n", This, iface, debugstr_guid(riid), riid, rgszNames, cNames, lcid, rgDispId);
+    TRACE("(%p/%p)->(%s, %p, %d, %d, %p)\n", This, iface, debugstr_guid(riid), rgszNames, cNames,
+            lcid, rgDispId);
 
     EnterCriticalSection(&This->cs);
 
@@ -3294,7 +3301,8 @@ static HRESULT WINAPI BasicVideo_Invoke(IBasicVideo2 *iface, DISPID dispIdMember
     IBasicVideo *pBasicVideo;
     HRESULT hr;
 
-    TRACE("(%p/%p)->(%d, %s (%p), %d, %04x, %p, %p, %p, %p)\n", This, iface, dispIdMember, debugstr_guid(riid), riid, lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
+    TRACE("(%p/%p)->(%d, %s, %d, %04x, %p, %p, %p, %p)\n", This, iface, dispIdMember,
+            debugstr_guid(riid), lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
 
     EnterCriticalSection(&This->cs);
 
@@ -4030,7 +4038,7 @@ static HRESULT WINAPI VideoWindow_QueryInterface(IVideoWindow *iface, REFIID rii
 {
     IFilterGraphImpl *This = impl_from_IVideoWindow(iface);
 
-    TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
+    TRACE("(%p/%p)->(%s, %p)\n", This, iface, debugstr_guid(riid), ppvObj);
 
     return IUnknown_QueryInterface(This->outer_unk, riid, ppvObj);
 }
@@ -4102,7 +4110,8 @@ static HRESULT WINAPI VideoWindow_GetIDsOfNames(IVideoWindow *iface, REFIID riid
     IVideoWindow *pVideoWindow;
     HRESULT hr;
 
-    TRACE("(%p/%p)->(%s (%p), %p, %d, %d, %p)\n", This, iface, debugstr_guid(riid), riid, rgszNames, cNames, lcid, rgDispId);
+    TRACE("(%p/%p)->(%s, %p, %d, %d, %p)\n", This, iface, debugstr_guid(riid), rgszNames, cNames,
+            lcid, rgDispId);
 
     EnterCriticalSection(&This->cs);
 
@@ -4124,7 +4133,8 @@ static HRESULT WINAPI VideoWindow_Invoke(IVideoWindow *iface, DISPID dispIdMembe
     IVideoWindow *pVideoWindow;
     HRESULT hr;
 
-    TRACE("(%p/%p)->(%d, %s (%p), %d, %04x, %p, %p, %p, %p)\n", This, iface, dispIdMember, debugstr_guid(riid), riid, lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
+    TRACE("(%p/%p)->(%d, %s, %d, %04x, %p, %p, %p, %p)\n", This, iface, dispIdMember,
+            debugstr_guid(riid), lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
 
     EnterCriticalSection(&This->cs);
 
@@ -4987,7 +4997,7 @@ static HRESULT WINAPI MediaEvent_QueryInterface(IMediaEventEx *iface, REFIID rii
 {
     IFilterGraphImpl *This = impl_from_IMediaEventEx(iface);
 
-    TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
+    TRACE("(%p/%p)->(%s, %p)\n", This, iface, debugstr_guid(riid), ppvObj);
 
     return IUnknown_QueryInterface(This->outer_unk, riid, ppvObj);
 }
@@ -5035,7 +5045,8 @@ static HRESULT WINAPI MediaEvent_GetIDsOfNames(IMediaEventEx *iface, REFIID riid
 {
     IFilterGraphImpl *This = impl_from_IMediaEventEx(iface);
 
-    TRACE("(%p/%p)->(%s (%p), %p, %d, %d, %p): stub !!!\n", This, iface, debugstr_guid(riid), riid, rgszNames, cNames, lcid, rgDispId);
+    TRACE("(%p/%p)->(%s, %p, %d, %d, %p): stub !!!\n", This, iface, debugstr_guid(riid), rgszNames,
+            cNames, lcid, rgDispId);
 
     return S_OK;
 }
@@ -5046,7 +5057,8 @@ static HRESULT WINAPI MediaEvent_Invoke(IMediaEventEx *iface, DISPID dispIdMembe
 {
     IFilterGraphImpl *This = impl_from_IMediaEventEx(iface);
 
-    TRACE("(%p/%p)->(%d, %s (%p), %d, %04x, %p, %p, %p, %p): stub !!!\n", This, iface, dispIdMember, debugstr_guid(riid), riid, lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
+    TRACE("(%p/%p)->(%d, %s, %d, %04x, %p, %p, %p, %p): stub !!!\n", This, iface, dispIdMember,
+            debugstr_guid(riid), lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
 
     return S_OK;
 }
index 7f2c50c..98d3cab 100644 (file)
@@ -1139,7 +1139,7 @@ static HRESULT WINAPI FilterMapper_EnumMatchingFilters(
     REGFILTER* regfilters;
     HRESULT hr;
 
-    TRACE("(%p/%p)->(%p, %x, %s, %s, %s, %s, %s, %s, %s) stub!\n",
+    TRACE("(%p/%p)->(%p, %x, %s, %s, %s, %s, %s, %s, %s)\n",
         This,
         iface,
         ppEnum,
index ffdb101..5b373d5 100644 (file)
@@ -23,6 +23,8 @@ extern HRESULT WINAPI QUARTZ_DllGetClassObject(REFCLSID, REFIID, LPVOID *) DECLS
 extern HRESULT WINAPI QUARTZ_DllCanUnloadNow(void) DECLSPEC_HIDDEN;
 extern BOOL WINAPI QUARTZ_DllMain(HINSTANCE, DWORD, LPVOID) DECLSPEC_HIDDEN;
 
+static LONG server_locks = 0;
+
 /* For the moment, do nothing here. */
 BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
 {
@@ -136,6 +138,10 @@ static HRESULT WINAPI DSCF_LockServer(IClassFactory *iface, BOOL dolock)
 {
     IClassFactoryImpl *This = impl_from_IClassFactory(iface);
     FIXME("(%p)->(%d),stub!\n",This,dolock);
+    if(dolock)
+        InterlockedIncrement(&server_locks);
+    else
+        InterlockedDecrement(&server_locks);
     return S_OK;
 }
 
@@ -198,7 +204,9 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
  */
 HRESULT WINAPI DllCanUnloadNow(void)
 {
-    return QUARTZ_DllCanUnloadNow();
+    if(server_locks == 0 && QUARTZ_DllCanUnloadNow() == S_OK)
+        return S_OK;
+    return S_FALSE;
 }
 
 
index 5b9b695..53dbd0e 100644 (file)
@@ -360,7 +360,7 @@ static HRESULT MPEGSplitter_init_audio(MPEGSplitterImpl *This, const BYTE *heade
 
     ZeroMemory(pamt, sizeof(*pamt));
     ppiOutput->dir = PINDIR_OUTPUT;
-    ppiOutput->pFilter = (IBaseFilter*)This;
+    ppiOutput->pFilter = &This->Parser.filter.IBaseFilter_iface;
     wsprintfW(ppiOutput->achName, wszAudioStream);
 
     pamt->formattype = FORMAT_WaveFormatEx;
index c1959d7..d24bd85 100644 (file)
@@ -445,7 +445,7 @@ HRESULT Parser_AddPin(ParserImpl * This, const PIN_INFO * piOutput, ALLOCATOR_PR
         CopyMediaType(pin->pmt, amt);
         pin->dwSamplesProcessed = 0;
 
-        pin->pin.pin.pinInfo.pFilter = (LPVOID)This;
+        pin->pin.pin.pinInfo.pFilter = &This->filter.IBaseFilter_iface;
         pin->allocProps = *props;
         This->cStreams++;
         BaseFilterImpl_IncrementPinVersion(&This->filter);
index 2e2ab3e..43448df 100644 (file)
@@ -771,7 +771,7 @@ static HRESULT WINAPI BasicVideo_QueryInterface(IBasicVideo *iface, REFIID riid,
 {
     VideoRendererImpl *This = impl_from_IBasicVideo(iface);
 
-    TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
+    TRACE("(%p/%p)->(%s, %p)\n", This, iface, debugstr_guid(riid), ppvObj);
 
     return IUnknown_QueryInterface(This->outer_unk, riid, ppvObj);
 }
@@ -843,7 +843,7 @@ static HRESULT WINAPI VideoWindow_QueryInterface(IVideoWindow *iface, REFIID rii
 {
     VideoRendererImpl *This = impl_from_IVideoWindow(iface);
 
-    TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
+    TRACE("(%p/%p)->(%s, %p)\n", This, iface, debugstr_guid(riid), ppvObj);
 
     return IUnknown_QueryInterface(This->outer_unk, riid, ppvObj);
 }
index 2118b44..ca30629 100644 (file)
@@ -928,7 +928,7 @@ static HRESULT WINAPI Videowindow_QueryInterface(IVideoWindow *iface, REFIID rii
 {
     struct quartz_vmr *This = impl_from_IVideoWindow(iface);
 
-    TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
+    TRACE("(%p/%p)->(%s, %p)\n", This, iface, debugstr_guid(riid), ppvObj);
 
     return VMR9_QueryInterface(&This->renderer.filter.IBaseFilter_iface, riid, ppvObj);
 }
@@ -1006,7 +1006,7 @@ static HRESULT WINAPI Basicvideo_QueryInterface(IBasicVideo *iface, REFIID riid,
 {
     struct quartz_vmr *This = impl_from_IBasicVideo(iface);
 
-    TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
+    TRACE("(%p/%p)->(%s, %p)\n", This, iface, debugstr_guid(riid), ppvObj);
 
     return VMR9_QueryInterface(&This->renderer.filter.IBaseFilter_iface, riid, ppvObj);
 }
@@ -1238,7 +1238,7 @@ static HRESULT WINAPI VMR7FilterConfig_GetRenderingMode(IVMRFilterConfig *iface,
 {
     struct quartz_vmr *This = impl_from_IVMRFilterConfig(iface);
 
-    TRACE("(%p/%p)->(%p) stub\n", iface, This, mode);
+    TRACE("(%p/%p)->(%p)\n", iface, This, mode);
     if (!mode) return E_POINTER;
 
     if (This->mode)
@@ -1300,7 +1300,7 @@ static BOOL CALLBACK get_available_monitors_proc(HMONITOR hmon, HDC hdc, LPRECT
             else
                 info->guid.pGUID = NULL;
 
-            CopyRect(&info->rcMonitor, &mi.rcMonitor);
+            info->rcMonitor     = mi.rcMonitor;
             info->hMon          = hmon;
             info->dwFlags       = mi.dwFlags;
 
@@ -1317,7 +1317,7 @@ static BOOL CALLBACK get_available_monitors_proc(HMONITOR hmon, HDC hdc, LPRECT
             memset(info, 0, sizeof(*info));
 
             info->uDevID        = 0; /* FIXME */
-            CopyRect(&info->rcMonitor, &mi.rcMonitor);
+            info->rcMonitor     = mi.rcMonitor;
             info->hMon          = hmon;
             info->dwFlags       = mi.dwFlags;
 
@@ -1661,7 +1661,7 @@ static HRESULT WINAPI VMR9FilterConfig_GetRenderingMode(IVMRFilterConfig9 *iface
 {
     struct quartz_vmr *This = impl_from_IVMRFilterConfig9(iface);
 
-    TRACE("(%p/%p)->(%p) stub\n", iface, This, mode);
+    TRACE("(%p/%p)->(%p)\n", iface, This, mode);
     if (!mode)
         return E_POINTER;
 
index 712149d..768121b 100644 (file)
@@ -39,7 +39,7 @@ reactos/dll/directx/wine/dsound         # Synced to Wine-1.3.29
 reactos/dll/directx/wine/dxdiagn        # Synced to WineStaging-1.9.11
 reactos/dll/directx/wine/msdmo          # Synced to WineStaging-1.9.11
 reactos/dll/directx/wine/qedit          # Synced to WineStaging-1.9.16
-reactos/dll/directx/wine/quartz         # Synced to WineStaging-1.9.16
+reactos/dll/directx/wine/quartz         # Synced to WineStaging-1.9.23
 reactos/dll/directx/wine/wined3d        # Synced to WineStaging-1.9.4
 
 reactos/dll/win32/activeds            # Synced to WineStaging-1.9.11