[vlc-commits] dshow: Ensure our custom COM objects will be released through refcounting

Hugo Beauzée-Luyssen git at videolan.org
Tue Dec 6 17:47:51 CET 2016


vlc | branch: master | Hugo Beauzée-Luyssen <hugo at beauzee.fr> | Tue Dec  6 17:03:32 2016 +0100| [f02c1cd8e17c0c702d261371bc67da432de7fb84] | committer: Hugo Beauzée-Luyssen

dshow: Ensure our custom COM objects will be released through refcounting

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=f02c1cd8e17c0c702d261371bc67da432de7fb84
---

 modules/access/dshow/filter.h | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/modules/access/dshow/filter.h b/modules/access/dshow/filter.h
index d867636..733f45b 100644
--- a/modules/access/dshow/filter.h
+++ b/modules/access/dshow/filter.h
@@ -71,7 +71,6 @@ class CapturePin: public IPin, public IMemInputPin
     CapturePin( vlc_object_t *_p_input, access_sys_t *p_sys,
                 CaptureFilter* _p_filter,
                 AM_MEDIA_TYPE *mt, size_t mt_count );
-    virtual ~CapturePin();
 
     /* IUnknown methods */
     STDMETHODIMP QueryInterface(REFIID riid, void **ppv);
@@ -112,6 +111,9 @@ class CapturePin: public IPin, public IMemInputPin
     HRESULT CustomGetSamples( std::deque<VLCMediaSample> &external_queue );
 
     AM_MEDIA_TYPE &CustomGetMediaType();
+
+private:
+    virtual ~CapturePin();
 };
 
 /****************************************************************************
@@ -132,7 +134,6 @@ class CaptureFilter : public IBaseFilter
   public:
     CaptureFilter( vlc_object_t *_p_input, access_sys_t *p_sys,
                    AM_MEDIA_TYPE *mt, size_t mt_count );
-    virtual ~CaptureFilter();
 
     /* IUnknown methods */
     STDMETHODIMP QueryInterface(REFIID riid, void **ppv);
@@ -159,6 +160,9 @@ class CaptureFilter : public IBaseFilter
 
     /* Custom methods */
     ComPtr<CapturePin>& CustomGetPin();
+
+private:
+    virtual ~CaptureFilter();
 };
 
 /****************************************************************************
@@ -175,7 +179,6 @@ class CaptureEnumPins : public IEnumPins
 public:
     CaptureEnumPins( vlc_object_t *_p_input, ComPtr<CaptureFilter> _p_filter,
                      ComPtr<CaptureEnumPins> pEnumPins );
-    virtual ~CaptureEnumPins();
 
     // IUnknown
     STDMETHODIMP QueryInterface( REFIID riid, void **ppv );
@@ -187,6 +190,9 @@ public:
     STDMETHODIMP Skip( ULONG cPins );
     STDMETHODIMP Reset();
     STDMETHODIMP Clone( IEnumPins **ppEnum );
+
+private:
+    virtual ~CaptureEnumPins();
 };
 
 /****************************************************************************
@@ -205,8 +211,6 @@ public:
     CaptureEnumMediaTypes( vlc_object_t *_p_input, ComPtr<CapturePin> _p_pin,
                            CaptureEnumMediaTypes *pEnumMediaTypes );
 
-    virtual ~CaptureEnumMediaTypes();
-
     // IUnknown
     STDMETHODIMP QueryInterface( REFIID riid, void **ppv );
     STDMETHODIMP_(ULONG) AddRef();
@@ -218,4 +222,7 @@ public:
     STDMETHODIMP Skip( ULONG cMediaTypes );
     STDMETHODIMP Reset();
     STDMETHODIMP Clone( IEnumMediaTypes **ppEnum );
+
+private:
+    virtual ~CaptureEnumMediaTypes();
 };



More information about the vlc-commits mailing list