diff --git a/modules/video_capture/windows/sink_filter_ds.cc b/modules/video_capture/windows/sink_filter_ds.cc index 2e005ef14f..1d16ad520e 100644 --- a/modules/video_capture/windows/sink_filter_ds.cc +++ b/modules/video_capture/windows/sink_filter_ds.cc @@ -424,6 +424,18 @@ void CaptureSinkFilter::ProcessCapturedFrame( return; } +STDMETHODIMP CaptureSinkFilter::QueryInterface(REFIID riid, void** ppv) { + return GetOwner()->QueryInterface(riid, ppv); +} + +STDMETHODIMP_(ULONG) CaptureSinkFilter::AddRef() { + return GetOwner()->AddRef(); +} + +STDMETHODIMP_(ULONG) CaptureSinkFilter::Release() { + return GetOwner()->Release(); +} + STDMETHODIMP CaptureSinkFilter::SetMatchingMediaType( const VideoCaptureCapability& capability) { LockReceive(); diff --git a/modules/video_capture/windows/sink_filter_ds.h b/modules/video_capture/windows/sink_filter_ds.h index 79810e6dd7..7bd94389aa 100644 --- a/modules/video_capture/windows/sink_filter_ds.h +++ b/modules/video_capture/windows/sink_filter_ds.h @@ -67,16 +67,19 @@ class CaptureSinkFilter : public CBaseFilter { // -------------------------------------------------------------------- // COM interfaces - DECLARE_IUNKNOWN - STDMETHODIMP SetMatchingMediaType(const VideoCaptureCapability& capability); + STDMETHOD(QueryInterface)(REFIID riid, void** ppv) override; + STDMETHOD_(ULONG, AddRef)() override; + STDMETHOD_(ULONG, Release)() override; + + STDMETHOD(SetMatchingMediaType)(const VideoCaptureCapability& capability); // -------------------------------------------------------------------- // CBaseFilter methods int GetPinCount() override; CBasePin* GetPin(IN int Index) override; - STDMETHODIMP Pause() override; - STDMETHODIMP Stop() override; - STDMETHODIMP GetClassID(OUT CLSID* pCLSID) override; + STDMETHOD(Pause)() override; + STDMETHOD(Stop)() override; + STDMETHOD(GetClassID)(OUT CLSID* pCLSID) override; // -------------------------------------------------------------------- // class factory calls this static CUnknown* CreateInstance(IN LPUNKNOWN punk, OUT HRESULT* phr);