77 lines
2.4 KiB
C
77 lines
2.4 KiB
C
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// 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
|
|
|