www.pudn.com > EM84XX ²âÊÔ³ÌÐò .rar > DSApi.h


// DSApi.h: interface for the CDSApi class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_DSAPI_H__BD535C1D_FAE7_42CB_AA26_B3D012D8267E__INCLUDED_) 
#define AFX_DSAPI_H__BD535C1D_FAE7_42CB_AA26_B3D012D8267E__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
#include  
#include  
#include  
#include  
 
// 
// Macros 
// 
#define SAFE_RELEASE(x) { if (x) x->Release(); x = NULL; } 
 
#define JIF(x) if (FAILED(hr=(x))) \ 
    {Msg(TEXT("FAILED(hr=0x%x) in ") TEXT(#x) TEXT("\n\0"), hr); return hr;} 
 
#define LIF(x) if (FAILED(hr=(x))) \ 
    {Msg(TEXT("FAILED(hr=0x%x) in ") TEXT(#x) TEXT("\n\0"), hr);} 
 
 
class CDSApi   
{ 
public: 
	IFilterGraph *pFG;		// interface to filter graph we are to build 
//Filter *pAR;			// interface to the async file reader 
//Filter *pVC;			// interface to sw audio codec  
//Filter *pAC;			// interface to sw video codec  
//Filter *pSigma;		// interface to sigma hardware 
//	IMediaControl *pMC;		 
	//IMediaEvent *pME;	 
//	IGraphBuilder *pBuilder;	 
	IFileSourceFilter *pSourceFilter; // interface to the source filter 
 
	IGraphBuilder *pGB; // interface to render the filter graph 
	IMediaControl *pMC; // interface to control start the playback 
	IMediaEventEx *pME;	// interface to know when playback ends 
	IVideoWindow  *pVW; 
	IBasicAudio   *pBA; 
	IBasicVideo   *pBV; 
	IMediaSeeking *pMS; 
	IMediaPosition *pMP; 
	//IVideoFrameStep *pFS; 
 
 
    HRESULT PlayMovieInWindow(LPTSTR szFile); 
	CDSApi(); 
	virtual ~CDSApi(); 
 
}; 
 
#endif // !defined(AFX_DSAPI_H__BD535C1D_FAE7_42CB_AA26_B3D012D8267E__INCLUDED_)