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