00001
00036 #pragma once
00037
00038 #include <DirectShow/MultiIOBaseFilter.h>
00039
00040
00041 static const GUID CLSID_RtvcTee =
00042 { 0x2ba06815, 0x1f7, 0x43fd, { 0xb1, 0xf3, 0x55, 0x35, 0x44, 0x0, 0xe8, 0x49 } };
00043
00044 class CRtvcTee : public CMultiIOBaseFilter
00045 {
00046 public:
00048 CRtvcTee();
00050 ~CRtvcTee();
00051
00053 static CUnknown * WINAPI CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr);
00054
00055 virtual HRESULT Receive(IMediaSample *pSample, int nIndex );
00056
00057 virtual int InitialNumberOfInputPins() {return 1;}
00058 virtual int InitialNumberOfOutputPins() { return 1;}
00059 virtual bool OnFullCreateMoreInputs() { return false;}
00060 virtual bool OnFullCreateMoreOutputs() { return true; }
00061 virtual void InitialiseInputTypes();
00062 virtual void InitialiseOutputTypes();
00063
00065 virtual HRESULT CheckOutputType(const CMediaType* pMediaType);
00066
00067
00069 virtual HRESULT DecideBufferSize(IMemAllocator* pAlloc, ALLOCATOR_PROPERTIES* pRequestProperties, int m_nIndex);
00070
00072 virtual HRESULT GetMediaType(int iPosition, CMediaType* pmt, int nOutputPinIndex) ;
00073
00074 protected:
00075
00076 };