diff options
author | Casimir666 <casimir666@users.sourceforge.net> | 2007-04-21 22:15:47 +0400 |
---|---|---|
committer | Casimir666 <casimir666@users.sourceforge.net> | 2007-04-21 22:15:47 +0400 |
commit | cf2302ed8ac483e06a46d1c098b8a42983a9f52b (patch) | |
tree | 8ebef5cb2f1124b7eafe9ac850fa386b7210aa89 /src/apps/mplayerc/FGFilter.h | |
parent | 768d55cfb4ed8dd645f05415bd367c16533287b2 (diff) |
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@54 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/apps/mplayerc/FGFilter.h')
-rw-r--r-- | src/apps/mplayerc/FGFilter.h | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/apps/mplayerc/FGFilter.h b/src/apps/mplayerc/FGFilter.h index cae81c000..0a8d025ef 100644 --- a/src/apps/mplayerc/FGFilter.h +++ b/src/apps/mplayerc/FGFilter.h @@ -52,7 +52,7 @@ public: CAtlList<CString> m_protocols, m_extensions, m_chkbytes; // TODO: subtype?
- virtual HRESULT Create(IBaseFilter** ppBF, IUnknown** ppUnk) = 0;
+ virtual HRESULT Create(IBaseFilter** ppBF, CInterfaceList<IUnknown, &IID_IUnknown>& pUnks) = 0;
};
class CFGFilterRegistry : public CFGFilter
@@ -71,7 +71,7 @@ public: CStringW GetDisplayName() {return m_DisplayName;}
IMoniker* GetMoniker() {return m_pMoniker;}
- HRESULT Create(IBaseFilter** ppBF, IUnknown** ppUnk);
+ HRESULT Create(IBaseFilter** ppBF, CInterfaceList<IUnknown, &IID_IUnknown>& pUnks);
};
template<class T>
@@ -80,12 +80,10 @@ class CFGFilterInternal : public CFGFilter public:
CFGFilterInternal(CStringW name = L"", UINT64 merit = MERIT64_DO_USE) : CFGFilter(__uuidof(T), name, merit) {}
- HRESULT Create(IBaseFilter** ppBF, IUnknown** ppUnk)
+ HRESULT Create(IBaseFilter** ppBF, CInterfaceList<IUnknown, &IID_IUnknown>& pUnks)
{
CheckPointer(ppBF, E_POINTER);
- if(ppUnk) *ppUnk = NULL;
-
HRESULT hr = S_OK;
CComPtr<IBaseFilter> pBF = new T(NULL, &hr);
if(FAILED(hr)) return hr;
@@ -105,7 +103,7 @@ protected: public:
CFGFilterFile(const CLSID& clsid, CString path, CStringW name = L"", UINT64 merit = MERIT64_DO_USE);
- HRESULT Create(IBaseFilter** ppBF, IUnknown** ppUnk);
+ HRESULT Create(IBaseFilter** ppBF, CInterfaceList<IUnknown, &IID_IUnknown>& pUnks);
};
class CFGFilterVideoRenderer : public CFGFilter
@@ -116,7 +114,7 @@ protected: public:
CFGFilterVideoRenderer(HWND hWnd, const CLSID& clsid, CStringW name = L"", UINT64 merit = MERIT64_DO_USE);
- HRESULT Create(IBaseFilter** ppBF, IUnknown** ppUnk);
+ HRESULT Create(IBaseFilter** ppBF, CInterfaceList<IUnknown, &IID_IUnknown>& pUnks);
};
class CFGFilterList
@@ -130,6 +128,7 @@ public: CFGFilterList();
virtual ~CFGFilterList();
+ bool IsEmpty() {return m_filters.IsEmpty();}
void RemoveAll();
void Insert(CFGFilter* pFGF, int group, bool exactmatch = false, bool autodelete = true);
|