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


#pragma once 
 
#ifndef __H264RTPSOURCE_H 
#define __H264RTPSOURCE_H 
 
#include "FilterInterface.h" 
 
class CAllProtocol; 
class CRtpSourceOutPin; 
class CH264Source :public CSource,public IH264RtpSource 
{ 
public: 
	CH264Source(char* pName,LPUNKNOWN lpunk,HRESULT *phr); 
	virtual ~CH264Source(void); 
 
	//创建对象实例的实现 
	//输入参数: COM口接口 
	static CUnknown *WINAPI CreateInstance(LPUNKNOWN lpunk,HRESULT *phr); 
	DECLARE_IUNKNOWN; 
	//暴露一些用户自定义的接口 
	STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void ** ppv); 
	//释放接口 
	STDMETHODIMP_(ULONG) NonDelegatingRelease(ULONG); 
	//连接服务器,采集数据,发送心跳等,除了ds框架相关的操作, 
	//都在这个类中完成的;这个项目中,只有一个CAllProtocol实例, 
	//其他类中用到相关操作,都是调用这个实例 
	CAllProtocol *m_pAllProtocol; 
	////设置RTP通讯的端口 
	STDMETHODIMP SetRTPPort(unsigned short LocalPort); 
	////一定要实现函数接口,要不然;要创建实例是很困难的. 
    STDMETHODIMP USRStart(char *IPaddr, int port); 
	STDMETHODIMP USRStartPlay( unsigned char StartFlag ); 
	STDMETHODIMP USRStop(); 
	//得到视频参数 
	STDMETHODIMP USRGetPicture(PICTURE* pic); 
	STDMETHODIMP USRSetPicture(PICTURE* pic); 
private: 
	CRtpSourceOutPin *m_RtpSourceOutPin; 
}; 
 
#endif