[MPlayer-users] Re: Compilation issue with current CVS

adland adland123 at yahoo.com
Wed Apr 28 18:59:35 CEST 2004


yes this is known
see other posts.

this single error is easy to fix but the other subsequent ones requires more 
work.

I have gotten several broken files to compile but I am still working on it.

you will have trouble with these files.

libmpcodecs/ad_acm.c
libmpcodecs/ad_qtaudio.c
libmpcodecs/ad_realaud.c
libmpcodecs/vd_realvid.c
libmpcodecs/vd_vfw.c

and possibly more ??? Im working on vd_vfw.c now

I made a file called ms_hdr.h which include this file in the c source
for files above.

#include "ms_hdr.h"

before include of ad_internal.h or vd_internal.h

for vd_vfw.c I copied in the vfw.h file from loader./wine/vfw.h and include it
from local dir not wine/vfw.h.

I dont plan to include wine/driver.h file either.

this is just a quick hack and I have only 3 hours sleep
Maybe it will help you but it is incomplete and possibly wrong.

ms_hdr.h

#if !defined(WAVE_FORMAT_PCM)
#define WAVE_FORMAT_PCM     1
#endif

#ifdef _EGCS_
#define __stdcall
#endif

#ifdef __WINE__
# define DECL_WINELIB_TYPE_AW(type)  /* nothing */
#else   /* __WINE__ */
# define DECL_WINELIB_TYPE_AW(type)  typedef WINELIB_NAME_AW(type) type;
#endif  /* __WINE__ */

typedef unsigned int    DWORD;
typedef unsigned char   *LPBYTE;
typedef const char *LPCSTR;
typedef unsigned short  WCHAR;
typedef int             WIN_BOOL;
typedef int INT;
typedef unsigned int UINT;
typedef long LONG;
typedef LONG            LPARAM;
typedef LONG            LRESULT;
typedef LONG            HRESULT;

#ifdef STRICT
typedef void *          HANDLE;
#else
typedef unsigned int    HANDLE;
#endif

#ifdef STRICT
#define DECLARE_HANDLE(a) \
   typedef struct a##__ { int unused; } *a; \
   typedef a *P##a; \
   typedef a *LP##a
#else /*STRICT*/
#define DECLARE_HANDLE(a) \
   typedef HANDLE a; \
   typedef a *P##a; \
   typedef a *LP##a
#endif /*STRICT*/

DECLARE_HANDLE(HINSTANCE);
DECLARE_HANDLE(HACMSTREAM);
DECLARE_HANDLE(HACMDRIVER);
DECLARE_HANDLE(HIC);
DECLARE_HANDLE(HPALETTE);
DECLARE_HANDLE(HWND);
DECLARE_HANDLE(HDC);
DECLARE_HANDLE(HDRVR);

typedef HINSTANCE HMODULE;
/* Calling conventions definitions */

#ifdef __i386__
# if defined(__GNUC__) && ((__GNUC__ > 2) || ((__GNUC__ == 2) &&
 (__GNUC_MINOR__ >= 7)))
#  ifndef _EGCS_
#define __stdcall __attribute__((__stdcall__))
#define __cdecl   __attribute__((__cdecl__))
#  define __RESTORE_ES  __asm__ __volatile__("pushl %ds\n\tpopl %es")
#  endif
# else
//#  error You need gcc >= 2.7 to build Wine on a 386
# endif
#else
# define __stdcall
# define __cdecl

# define __RESTORE_ES
#endif
#define CALLBACK    __stdcall
#define WINAPI      __stdcall
#if !defined(__CYGWIN__) && !defined(__MINGW32__)
#define _stdcall    __stdcall

#endif

typedef LRESULT CALLBACK (*FARPROC)();
typedef LRESULT CALLBACK (*DRIVERPROC)(DWORD,HDRVR,UINT,LPARAM,LPARAM);

typedef struct _ACMSTREAMHEADER
{
  DWORD  cbStruct;
  DWORD  fdwStatus;
  DWORD  dwUser;
  LPBYTE pbSrc;
  DWORD  cbSrcLength;
  DWORD  cbSrcLengthUsed;
  DWORD  dwSrcUser;
  LPBYTE pbDst;
  DWORD  cbDstLength;
  DWORD  cbDstLengthUsed;
  DWORD  dwDstUser;
  DWORD  dwReservedDriver[10];
} ACMSTREAMHEADER16, *NPACMSTREAMHEADER16, *LPACMSTREAMHEADER16,
  ACMSTREAMHEADER, *PACMSTREAMHEADER;

#define ACMERR_BASE        512
#define ACMERR_NOTPOSSIBLE (ACMERR_BASE + 0)
#define ACMERR_BUSY        (ACMERR_BASE + 1)
#define ACMERR_UNPREPARED  (ACMERR_BASE + 2)
#define ACMERR_CANCELED    (ACMERR_BASE + 3)

#define ACM_STREAMSIZEF_SOURCE      0x00000000L
#define ACM_STREAMSIZEF_DESTINATION 0x00000001L

good luck




More information about the MPlayer-users mailing list