diff options
Diffstat (limited to 'src/apps/mplayerc/FGFilter.h')
-rw-r--r-- | src/apps/mplayerc/FGFilter.h | 194 |
1 files changed, 97 insertions, 97 deletions
diff --git a/src/apps/mplayerc/FGFilter.h b/src/apps/mplayerc/FGFilter.h index 158a8562a..020c130bb 100644 --- a/src/apps/mplayerc/FGFilter.h +++ b/src/apps/mplayerc/FGFilter.h @@ -35,143 +35,143 @@ class CFGFilter
{
protected:
- CLSID m_clsid;
- CStringW m_name;
- struct
- {
- union
- {
- UINT64 val;
- struct
- {
- UINT64 low:16, mid:32, high:16;
- };
- };
- } m_merit;
- CAtlList<GUID> m_types;
+ CLSID m_clsid;
+ CStringW m_name;
+ struct
+ {
+ union
+ {
+ UINT64 val;
+ struct
+ {
+ UINT64 low:16, mid:32, high:16;
+ };
+ };
+ } m_merit;
+ CAtlList<GUID> m_types;
public:
- CFGFilter(const CLSID& clsid, CStringW name = L"", UINT64 merit = MERIT64_DO_USE);
- virtual ~CFGFilter() {}
-
- CLSID GetCLSID() const
- {
- return m_clsid;
- }
- CStringW GetName() const
- {
- return m_name;
- }
- UINT64 GetMerit() const
- {
- return m_merit.val;
- }
- DWORD GetMeritForDirectShow() const
- {
- return m_merit.mid;
- }
- const CAtlList<GUID>& GetTypes() const;
- void SetTypes(const CAtlList<GUID>& types);
- void AddType(const GUID& majortype, const GUID& subtype);
- bool CheckTypes(const CAtlArray<GUID>& types, bool fExactMatch);
-
- CAtlList<CString> m_protocols, m_extensions, m_chkbytes; // TODO: subtype?
-
- virtual HRESULT Create(IBaseFilter** ppBF, CInterfaceList<IUnknown, &IID_IUnknown>& pUnks) = 0;
+ CFGFilter(const CLSID& clsid, CStringW name = L"", UINT64 merit = MERIT64_DO_USE);
+ virtual ~CFGFilter() {}
+
+ CLSID GetCLSID() const
+ {
+ return m_clsid;
+ }
+ CStringW GetName() const
+ {
+ return m_name;
+ }
+ UINT64 GetMerit() const
+ {
+ return m_merit.val;
+ }
+ DWORD GetMeritForDirectShow() const
+ {
+ return m_merit.mid;
+ }
+ const CAtlList<GUID>& GetTypes() const;
+ void SetTypes(const CAtlList<GUID>& types);
+ void AddType(const GUID& majortype, const GUID& subtype);
+ bool CheckTypes(const CAtlArray<GUID>& types, bool fExactMatch);
+
+ CAtlList<CString> m_protocols, m_extensions, m_chkbytes; // TODO: subtype?
+
+ virtual HRESULT Create(IBaseFilter** ppBF, CInterfaceList<IUnknown, &IID_IUnknown>& pUnks) = 0;
};
class CFGFilterRegistry : public CFGFilter
{
protected:
- CStringW m_DisplayName;
- CComPtr<IMoniker> m_pMoniker;
+ CStringW m_DisplayName;
+ CComPtr<IMoniker> m_pMoniker;
- void ExtractFilterData(BYTE* p, UINT len);
+ void ExtractFilterData(BYTE* p, UINT len);
public:
- CFGFilterRegistry(IMoniker* pMoniker, UINT64 merit = MERIT64_DO_USE);
- CFGFilterRegistry(CStringW DisplayName, UINT64 merit = MERIT64_DO_USE);
- CFGFilterRegistry(const CLSID& clsid, UINT64 merit = MERIT64_DO_USE);
-
- CStringW GetDisplayName()
- {
- return m_DisplayName;
- }
- IMoniker* GetMoniker()
- {
- return m_pMoniker;
- }
-
- HRESULT Create(IBaseFilter** ppBF, CInterfaceList<IUnknown, &IID_IUnknown>& pUnks);
+ CFGFilterRegistry(IMoniker* pMoniker, UINT64 merit = MERIT64_DO_USE);
+ CFGFilterRegistry(CStringW DisplayName, UINT64 merit = MERIT64_DO_USE);
+ CFGFilterRegistry(const CLSID& clsid, UINT64 merit = MERIT64_DO_USE);
+
+ CStringW GetDisplayName()
+ {
+ return m_DisplayName;
+ }
+ IMoniker* GetMoniker()
+ {
+ return m_pMoniker;
+ }
+
+ HRESULT Create(IBaseFilter** ppBF, CInterfaceList<IUnknown, &IID_IUnknown>& pUnks);
};
template<class T>
class CFGFilterInternal : public CFGFilter
{
public:
- CFGFilterInternal(CStringW name = L"", UINT64 merit = MERIT64_DO_USE) : CFGFilter(__uuidof(T), name, merit) {}
+ CFGFilterInternal(CStringW name = L"", UINT64 merit = MERIT64_DO_USE) : CFGFilter(__uuidof(T), name, merit) {}
- HRESULT Create(IBaseFilter** ppBF, CInterfaceList<IUnknown, &IID_IUnknown>& pUnks)
- {
- CheckPointer(ppBF, E_POINTER);
+ HRESULT Create(IBaseFilter** ppBF, CInterfaceList<IUnknown, &IID_IUnknown>& pUnks)
+ {
+ CheckPointer(ppBF, E_POINTER);
- HRESULT hr = S_OK;
- CComPtr<IBaseFilter> pBF = DNew T(NULL, &hr);
- if(FAILED(hr)) return hr;
+ HRESULT hr = S_OK;
+ CComPtr<IBaseFilter> pBF = DNew T(NULL, &hr);
+ if(FAILED(hr)) return hr;
- *ppBF = pBF.Detach();
+ *ppBF = pBF.Detach();
- return hr;
- }
+ return hr;
+ }
};
class CFGFilterFile : public CFGFilter
{
protected:
- CString m_path;
- HINSTANCE m_hInst;
+ CString m_path;
+ HINSTANCE m_hInst;
public:
- CFGFilterFile(const CLSID& clsid, CString path, CStringW name = L"", UINT64 merit = MERIT64_DO_USE);
+ CFGFilterFile(const CLSID& clsid, CString path, CStringW name = L"", UINT64 merit = MERIT64_DO_USE);
- HRESULT Create(IBaseFilter** ppBF, CInterfaceList<IUnknown, &IID_IUnknown>& pUnks);
+ HRESULT Create(IBaseFilter** ppBF, CInterfaceList<IUnknown, &IID_IUnknown>& pUnks);
};
class CFGFilterVideoRenderer : public CFGFilter
{
protected:
- HWND m_hWnd;
+ HWND m_hWnd;
public:
- CFGFilterVideoRenderer(HWND hWnd, const CLSID& clsid, CStringW name = L"", UINT64 merit = MERIT64_DO_USE);
+ CFGFilterVideoRenderer(HWND hWnd, const CLSID& clsid, CStringW name = L"", UINT64 merit = MERIT64_DO_USE);
- HRESULT Create(IBaseFilter** ppBF, CInterfaceList<IUnknown, &IID_IUnknown>& pUnks);
+ HRESULT Create(IBaseFilter** ppBF, CInterfaceList<IUnknown, &IID_IUnknown>& pUnks);
};
class CFGFilterList
{
- struct filter_t
- {
- int index;
- CFGFilter* pFGF;
- int group;
- bool exactmatch, autodelete;
- };
- static int filter_cmp(const void* a, const void* b);
- CAtlList<filter_t> m_filters;
- CAtlList<CFGFilter*> m_sortedfilters;
+ struct filter_t
+ {
+ int index;
+ CFGFilter* pFGF;
+ int group;
+ bool exactmatch, autodelete;
+ };
+ static int filter_cmp(const void* a, const void* b);
+ CAtlList<filter_t> m_filters;
+ CAtlList<CFGFilter*> m_sortedfilters;
public:
- CFGFilterList();
- virtual ~CFGFilterList();
-
- bool IsEmpty()
- {
- return m_filters.IsEmpty();
- }
- void RemoveAll();
- void Insert(CFGFilter* pFGF, int group, bool exactmatch = false, bool autodelete = true);
-
- POSITION GetHeadPosition();
- CFGFilter* GetNext(POSITION& pos);
+ CFGFilterList();
+ virtual ~CFGFilterList();
+
+ bool IsEmpty()
+ {
+ return m_filters.IsEmpty();
+ }
+ void RemoveAll();
+ void Insert(CFGFilter* pFGF, int group, bool exactmatch = false, bool autodelete = true);
+
+ POSITION GetHeadPosition();
+ CFGFilter* GetNext(POSITION& pos);
};
|