⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ctsoutpin.h

📁 最近在学习directshow, Directshow实务精选的源代码
💻 H
字号:
//
// CTSOutPin.h
// 

#ifndef __H_CTSOutPin__
#define __H_CTSOutPin__

#define SAMPLE_SIZE 1880

#include <stdio.h>

class 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__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -