2 * Copyright (C) 2003-2006 Gabest
3 * http://www.gabest.org
5 * This Program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2, or (at your option)
10 * This Program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with GNU Make; see the file COPYING. If not, write to
17 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
18 * http://www.gnu.org/copyleft/gpl.html
26 class CNullRenderer
: public CBaseRenderer
29 HRESULT
DoRenderSample(IMediaSample
* pSample
) {return S_OK
;}
32 CNullRenderer(REFCLSID clsid
, TCHAR
* pName
, LPUNKNOWN pUnk
, HRESULT
* phr
);
35 [uuid("579883A0-4E2D-481F-9436-467AAFAB7DE8")]
36 class CNullVideoRenderer
: public CNullRenderer
39 HRESULT
CheckMediaType(const CMediaType
* pmt
);
42 CNullVideoRenderer(LPUNKNOWN pUnk
, HRESULT
* phr
);
45 [uuid("DD9ED57D-6ABF-42E8-89A2-11D04798DC58")]
46 class CNullUVideoRenderer
: public CNullRenderer
49 HRESULT
CheckMediaType(const CMediaType
* pmt
);
52 CNullUVideoRenderer(LPUNKNOWN pUnk
, HRESULT
* phr
);
55 [uuid("0C38BDFD-8C17-4E00-A344-F89397D3E22A")]
56 class CNullAudioRenderer
: public CNullRenderer
59 HRESULT
CheckMediaType(const CMediaType
* pmt
);
62 CNullAudioRenderer(LPUNKNOWN pUnk
, HRESULT
* phr
);
65 [uuid("64A45125-7343-4772-9DA4-179FAC9D462C")]
66 class CNullUAudioRenderer
: public CNullRenderer
69 HRESULT
CheckMediaType(const CMediaType
* pmt
);
72 CNullUAudioRenderer(LPUNKNOWN pUnk
, HRESULT
* phr
);
75 [uuid("655D7613-C26C-4A25-BBBD-3C9C516122CC")]
76 class CNullTextRenderer
: public CBaseFilter
, public CCritSec
78 class CTextInputPin
: public CBaseInputPin
81 CTextInputPin(CBaseFilter
* pFilter
, CCritSec
* pLock
, HRESULT
* phr
)
82 : CBaseInputPin(NAME("CTextInputPin"), pFilter
, pLock
, phr
, L
"In") {}
83 HRESULT
CheckMediaType(const CMediaType
* pmt
);
86 CAutoPtr
<CTextInputPin
> m_pInput
;
89 CNullTextRenderer(LPUNKNOWN pUnk
, HRESULT
* phr
);
90 int GetPinCount() {return (int)!!m_pInput
;}
91 CBasePin
* GetPin(int n
) {return n
== 0 ? (CBasePin
*)m_pInput
: NULL
;}