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