|
|
////////////////////////////////////////////////////////////////////////////
//
// stuff needed for MCIAVI to run-time-link to AVIFile for playback.
// because most everything from AVIFILE.DLL is a OLE interface, we dont need
// to RTL to many functions.
//
////////////////////////////////////////////////////////////////////////////
#define USEAVIFILE //!!! hey lets use AVIFile.
#ifdef USEAVIFILE
//#define _INC_AVIFMT 100 /* version number * 100 + revision */
#include <vfw.h>
UINT uAVIFILE; HMODULE hdllAVIFILE; #ifdef USE_ISVALIDINTERFACE
HMODULE hdllCOMPOBJ; #endif
//
// RTL to AVIFile...
//
void (STDAPICALLTYPE *XAVIFileInit)(void); void (STDAPICALLTYPE *XAVIFileExit)(void); HRESULT (STDAPICALLTYPE *XAVIFileOpen)(PAVIFILE FAR * ppfile,LPCTSTR szFile,UINT uMode,LPCLSID lpHandler); HRESULT (STDAPICALLTYPE *XAVIMakeFileFromStreams)(PAVIFILE FAR *,int,PAVISTREAM FAR *); HRESULT (STDAPICALLTYPE *XAVIStreamBeginStreaming)(PAVISTREAM pavi, LONG lStart, LONG lEnd, LONG lRate); HRESULT (STDAPICALLTYPE *XAVIStreamEndStreaming)(PAVISTREAM pavi);
#undef AVIFileInit
#undef AVIFileExit
#undef AVIFileOpen
#undef AVIFileInfo
#define AVIFileInit XAVIFileInit
#define AVIFileExit XAVIFileExit
#define AVIFileOpen XAVIFileOpen
#define AVIMakeFileFromStreams XAVIMakeFileFromStreams
#define AVIStreamBeginStreaming XAVIStreamBeginStreaming
#define AVIStreamEndStreaming XAVIStreamEndStreaming
#undef AVIFileClose
#define AVIFileClose(p) (p)->lpVtbl->Release(p)
#define AVIFileInfo(p,a,b) (p)->lpVtbl->Info(p, a, b)
#define AVIFileGetStream(p,a,b,c) (p)->lpVtbl->GetStream(p,a,b,c)
#undef AVIStreamClose
#define AVIStreamClose(p) (p)->lpVtbl->Release(p)
#undef AVIStreamInfo
#define AVIStreamInfo(p,a,b) (p)->lpVtbl->Info(p, a, b)
#define AVIStreamReadFormat(p,a,b,c) (p)->lpVtbl->ReadFormat(p, a, b, c)
#define AVIStreamReadData(p,a,b,c) (p)->lpVtbl->ReadData(p, a, b, c)
#define AVIStreamFindSample(p,a,b) (p)->lpVtbl->FindSample(p, a, b)
#define AVIStreamRead(p,a,b,c,d,e,f) (p)->lpVtbl->Read(p,a,b,c,d,e,f)
// no IsValidInterface in nt 1.1 yet
#ifdef USE_ISVALIDINTERFACE
// RTL to COMPOBJ
EXTERN_C BOOL STDAPICALLTYPE IsValidInterface(LPVOID pv); BOOL (STDAPICALLTYPE *XIsValidInterface)(LPVOID pv);
#define IsValidInterface XIsValidInterface
#endif
#endif // USEAVIFILE
|