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


// 847XXAPI.h: interface for the C847XXAPI class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_847XXAPI_H__89835C2C_968A_4BF0_A58B_3AF0AF61A0A8__INCLUDED_) 
#define AFX_847XXAPI_H__89835C2C_968A_4BF0_A58B_3AF0AF61A0A8__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
//#include "pch.h" 
#include "manager.h" 
#include "splitter.h" 
 
// 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);} 
 
// 
#define BUFFERSIZE 0x10000	// 64kb 
 
// 
class C847XXAPI   
{ 
	public: 
		C847XXAPI(HINSTANCE hInstance, HWND hwnd, DWORD dwKeyColor); 
		virtual ~C847XXAPI(); 
 
	public: 
		void Start(); 
		void Stop(); 
		BOOL Play(char* file); 
		void Uninitialize(); 
		BOOL Initialize(); 
	    char* GetFileName(); 
		IRmHardware* GetIrmHardware() { return m_pHardware; } 
		HWND m_hwnd; 
 
	private: 
		DWORD m_VideoChoice; 
		char m_FileName[128]; 
 
		MemManager		*m_pMemManager; 
		Splitter		*m_pSplitter; 
		IRmHardware		*m_pHardware; 
		CMediaType		m_mAudioType; 
		AudioSubtype	m_AudioSubtype; 
 
		DWORD m_dwPlayThreadId; 
		HANDLE m_hPlayThread; 
 
		HINSTANCE m_hInstance; 
		DWORD m_dwKeyColor; 
 
		// For synchronization 
		HANDLE m_hPlayEvent; 
		BOOL m_bPlay; 
}; 
#endif // !defined(AFX_847XXAPI_H__89835C2C_968A_4BF0_A58B_3AF0AF61A0A8__INCLUDED_)