[PATCH 2/5] quartz/filesource: Use strmbase filter state change methods.

Zebediah Figura z.figura12 at gmail.com
Fri Jun 21 20:51:45 CDT 2019


Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/quartz/filesource.c | 54 ++++++----------------------------------
 1 file changed, 7 insertions(+), 47 deletions(-)

diff --git a/dlls/quartz/filesource.c b/dlls/quartz/filesource.c
index 2d4265d5f03..a7063fea784 100644
--- a/dlls/quartz/filesource.c
+++ b/dlls/quartz/filesource.c
@@ -87,11 +87,6 @@ static inline AsyncReader *impl_from_BaseFilter(BaseFilter *iface)
     return CONTAINING_RECORD(iface, AsyncReader, filter);
 }
 
-static inline AsyncReader *impl_from_IBaseFilter(IBaseFilter *iface)
-{
-    return CONTAINING_RECORD(iface, AsyncReader, filter.IBaseFilter_iface);
-}
-
 static inline AsyncReader *impl_from_IFileSourceFilter(IFileSourceFilter *iface)
 {
     return CONTAINING_RECORD(iface, AsyncReader, IFileSourceFilter_iface);
@@ -500,50 +495,15 @@ HRESULT AsyncReader_create(IUnknown *outer, void **out)
     return S_OK;
 }
 
-/** IMediaFilter methods **/
-
-static HRESULT WINAPI AsyncReader_Stop(IBaseFilter * iface)
-{
-    AsyncReader *This = impl_from_IBaseFilter(iface);
-
-    TRACE("%p->()\n", This);
-
-    This->filter.state = State_Stopped;
-    
-    return S_OK;
-}
-
-static HRESULT WINAPI AsyncReader_Pause(IBaseFilter * iface)
-{
-    AsyncReader *This = impl_from_IBaseFilter(iface);
-
-    TRACE("%p->()\n", This);
-
-    This->filter.state = State_Paused;
-
-    return S_OK;
-}
-
-static HRESULT WINAPI AsyncReader_Run(IBaseFilter * iface, REFERENCE_TIME tStart)
-{
-    AsyncReader *This = impl_from_IBaseFilter(iface);
-
-    TRACE("%p->(%s)\n", This, wine_dbgstr_longlong(tStart));
-
-    This->filter.state = State_Running;
-
-    return S_OK;
-}
-
 static const IBaseFilterVtbl AsyncReader_Vtbl =
 {
     BaseFilterImpl_QueryInterface,
     BaseFilterImpl_AddRef,
     BaseFilterImpl_Release,
     BaseFilterImpl_GetClassID,
-    AsyncReader_Stop,
-    AsyncReader_Pause,
-    AsyncReader_Run,
+    BaseFilterImpl_Stop,
+    BaseFilterImpl_Pause,
+    BaseFilterImpl_Run,
     BaseFilterImpl_GetState,
     BaseFilterImpl_SetSyncSource,
     BaseFilterImpl_GetSyncSource,
@@ -697,12 +657,12 @@ static inline AsyncReader *impl_from_IAsyncReader(IAsyncReader *iface)
     return CONTAINING_RECORD(iface, AsyncReader, IAsyncReader_iface);
 }
 
-static HRESULT WINAPI FileAsyncReaderPin_CheckMediaType(BasePin *pin, const AM_MEDIA_TYPE *pmt)
+static HRESULT WINAPI FileAsyncReaderPin_CheckMediaType(BasePin *iface, const AM_MEDIA_TYPE *pmt)
 {
-    AM_MEDIA_TYPE *pmt_filter = impl_from_IBaseFilter(pin->pinInfo.pFilter)->pmt;
+    AsyncReader *filter = impl_from_BasePin(iface);
 
-    if (IsEqualGUID(&pmt->majortype, &pmt_filter->majortype) &&
-        IsEqualGUID(&pmt->subtype, &pmt_filter->subtype))
+    if (IsEqualGUID(&pmt->majortype, &filter->pmt->majortype) &&
+        IsEqualGUID(&pmt->subtype, &filter->pmt->subtype))
         return S_OK;
 
     return S_FALSE;
-- 
2.21.0




More information about the wine-devel mailing list