www.pudn.com > AVChat0926.rar > CXInputPin.h
//
// CXInputPin.h
//
#ifndef __H_CMemDestInputPin__
#define __H_CMemDestInputPin__
#include "GlobalDefs.h"
class CFilterNetSender;
class CXInputPin : public CRenderedInputPin
{
friend class CFilterNetSender;
private:
CFilterNetSender * mFilter;
CCritSec mReceiveLock;
SOCKET mSocket;
SOCKADDR_IN mAddr;
Pack_Header mPackHeader;
BOOL mIsMediaTypeSent;
public:
CXInputPin(CFilterNetSender *pFilter, HRESULT *phr);
~CXInputPin();
// Filter delegating methods
void SetStreamSocket(SOCKET inSocket);
void CancelPendingSend(void);
void SetTargetAddress(SOCKADDR_IN inAddr)
{
mAddr = inAddr;
}
// Do something with this media sample
STDMETHODIMP Receive(IMediaSample *pSample);
STDMETHODIMP EndOfStream(void);
STDMETHODIMP BeginFlush(void);
STDMETHODIMP EndFlush(void);
STDMETHODIMP ReceiveCanBlock(void);
// Check if the pin can support this specific proposed type and format
HRESULT CheckMediaType(const CMediaType * inMediaType);
//private:
// int SendMediaType(void);
public:
// 得到媒体类型,省去从对方接收这个参数的过程,在整个通信中采用统一的媒体类型
BYTE* GetpbFormat(int& nSize);
};
#endif // __H_CMemDestInputPin__