summaryrefslogtreecommitdiffstats
path: root/src/plugins/directshow/common/directshowbasefilter.h
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2018-04-13 13:19:35 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2018-04-24 13:30:36 +0000
commit20e93ad5969d3dff85f0ef9e16830aee337ca075 (patch)
treef28235f63ba8a0857f9cf1e890784a104ac3e2d4 /src/plugins/directshow/common/directshowbasefilter.h
parent6a2f332821ea3d8d4f6c11050d592aef0ad4df7f (diff)
Fix DirectShow COM class hierarchy
Remove the class DirectShowObject. Move the ref counting code to a macro COM_REF_MIXIN that is used for the classes that are actually instantiated. Fix warnings: common/directshowpin.h(56,5): warning: 'reinterpret_cast' from class 'DirectShowPin *' to its base at non-zero offset 'IUnknown *' behaves differently from 'static_cast' [-Wreinterpret-base-class] DIRECTSHOW_OBJECT ^~~~~~~~~~~~~~~~~ common/directshowobject.h(69,33): note: expanded from macro 'DIRECTSHOW_OBJECT' return GetInterface(reinterpret_cast<IUnknown*>(this), ppv); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ common/directshowpin.h(56,5): note: use 'static_cast' to adjust the pointer correctly while upcasting Task-number: QTBUG-63512 Task-number: QTBUG-64157 Change-Id: Ibef143d675cd169b78fe46ff5a0c83f6e3434487 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Diffstat (limited to 'src/plugins/directshow/common/directshowbasefilter.h')
-rw-r--r--src/plugins/directshow/common/directshowbasefilter.h8
1 files changed, 1 insertions, 7 deletions
diff --git a/src/plugins/directshow/common/directshowbasefilter.h b/src/plugins/directshow/common/directshowbasefilter.h
index 9a2f44567..47a390d26 100644
--- a/src/plugins/directshow/common/directshowbasefilter.h
+++ b/src/plugins/directshow/common/directshowbasefilter.h
@@ -44,11 +44,8 @@
QT_BEGIN_NAMESPACE
-class DirectShowBaseFilter : public DirectShowObject
- , public IBaseFilter
+class DirectShowBaseFilter : public IBaseFilter
{
- DIRECTSHOW_OBJECT
-
public:
DirectShowBaseFilter();
virtual ~DirectShowBaseFilter();
@@ -58,9 +55,6 @@ public:
virtual QList<DirectShowPin *> pins() = 0;
- // DirectShowObject
- HRESULT getInterface(const IID &riid, void **ppvObject);
-
// IPersist
STDMETHODIMP GetClassID(CLSID *pClassID);