www.pudn.com > FilterTSSource.rar > CTSOutPin.h
// // CTSOutPin.h // #ifndef __H_CTSOutPin__ #define __H_CTSOutPin__ #define SAMPLE_SIZE 1880 #includeclass CFilterTSSource; class CTSOutPin : public CSourceStream { friend class CFilterTSSource; protected: CFilterTSSource * mFilter; CCritSec mSharedState; char mFilePath[MAX_PATH]; FILE * m_fp; CMediaType mPreferred; LONGLONG mSampleCount; #define _DUMP_SENT #ifdef _DUMP_SENT FILE * m_fpDebug; #endif public: BOOL SetFileSource(const char * inFile); void GetFileSource(char * outFile); public: CTSOutPin(HRESULT *phr, CFilterTSSource * pFilter, LPCWSTR pPinName); ~CTSOutPin(); STDMETHODIMP QueryId(LPWSTR * Id); // Pure methods virtual HRESULT FillBuffer(IMediaSample * pSample); virtual HRESULT DecideBufferSize(IMemAllocator *pAlloc, ALLOCATOR_PROPERTIES *pProperties); virtual HRESULT CheckMediaType(const CMediaType * inMediatype); virtual HRESULT Active(void); HRESULT GetMediaType(int iPosition, CMediaType *pmt); // Quality control notifications sent to us STDMETHODIMP Notify(IBaseFilter * pSender, Quality q); virtual HRESULT OnThreadStartPlay(void); }; #endif // __H_CTSOutPin__