www.pudn.com > rtptest.rar > AsyncFilter.h


// AsyncFilter.h: interface for the CAsyncFilter class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_ASYNCFILTER_H__2D2901A4_FFE3_45C9_9CA1_FBB1EFB075E6__INCLUDED_) 
#define AFX_ASYNCFILTER_H__2D2901A4_FFE3_45C9_9CA1_FBB1EFB075E6__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
#include "MemStream.h" 
//class CMemStream; 
 
class CAsyncFilter : public CAsyncReader   
{ 
	CMemStream			m_Stream; 
public: 
	CAsyncFilter(HRESULT * phr); 
	virtual ~CAsyncFilter(); 
	static CAsyncFilter *CreateInstance( HRESULT *phr) 
	{ 
		return new CAsyncFilter(phr); 
	} 
	void SetMediaLength(LONGLONG llMeidaLen); 
 
	DECLARE_IUNKNOWN 
 
    STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv) 
    { 
        return CAsyncReader::NonDelegatingQueryInterface(riid, ppv); 
    } 
public: 
	static DWORD WINAPI PollDataProc(void *pParam); 
	HRESULT StartPollData(void); 
	HRESULT StopPollData(void); 
	HRESULT ProcessQuery(char *pbData,int nLength); 
	//HRESULT Block(); 
	HRESULT ReleaseBlock(); 
public: 
	HANDLE m_hPollDataThrd; 
	BOOL m_bRunThread; 
	RTPSession m_rtpSession; 
}; 
 
#endif // !defined(AFX_ASYNCFILTER_H__2D2901A4_FFE3_45C9_9CA1_FBB1EFB075E6__INCLUDED_)