www.pudn.com > H264RtpSource.rar > RtpSourceOutPin.h


#pragma once 
#include "d:\dxsdk\samples\c++\directshow\baseclasses\source.h" 
 
#ifndef __RTPSOURCEOUTPIN_H 
#define __RTPSOURCEOUTPIN_H 
 
class CAllProtocol; 
class CH264Source; 
class CRtpSourceOutPin :public CSourceStream 
{ 
public: 
	CRtpSourceOutPin(char *pName,HRESULT *phr,CH264Source *pFilter,LPCWSTR ppName); 
	virtual ~CRtpSourceOutPin(void); 
 
	//重载一些虚函数 
	//得到媒体类型 
	HRESULT GetMediaType(CMediaType *pMediaType); 
	//决定分配内存的大小 
	HRESULT DecideBufferSize(IMemAllocator * pAlloc, ALLOCATOR_PROPERTIES * ppropInputRequest); 
	//分配内存的大小 
	HRESULT FillBuffer(IMediaSample *pSamp); 
 
	//要得到视频数据,只能重CAllProtocol中得到,但是在这个pin中, 
	//我们不new新的实例,所以需要重别的地方得到CAllProtocol的实例 
	void SetProtocolPtr(CAllProtocol* pAllProtocol); 
	 
private: 
	//注意这个指针,他自己没有new实例,所以千万不要去delete它 
	CAllProtocol *m_Protocol; 
	//图象格式 
	unsigned char m_cFormat; 
	REFERENCE_TIME AvgTimePerFrame; 
	CRefTime m_rtSampleTime; 
	int FrameRate; //每秒多少帧 
}; 
#endif