Use xine's inttypes. The file config_types.h is generated from config_types.h.in in musepack SVN. Check for previous swap32 definition before writing a new swap32 function. Index: src/libmusepack/musepack/config_types.h =================================================================== RCS file: /home/valtri/CVS/xine-lib/src/libmusepack/musepack/config_types.h,v retrieving revision 1.1.1.2 diff -u -p -u -p -r1.1.1.2 config_types.h --- src/libmusepack/musepack/config_types.h 3 Feb 2005 00:19:24 -0000 1.1.1.2 +++ src/libmusepack/musepack/config_types.h 3 Feb 2005 00:21:06 -0000 @@ -1,7 +1,7 @@ #ifndef __CONFIG_TYPES_H__ #define __CONFIG_TYPES_H__ -#include +#include "os_types.h" #ifdef WORDS_BIGENDIAN #undef MPC_LITTLE_ENDIAN Index: src/libmusepack/synth_filter.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/libmusepack/synth_filter.c,v retrieving revision 1.1 diff -u -r1.1 synth_filter.c --- src/libmusepack/synth_filter.c 14 Jan 2005 15:24:25 -0000 1.1 +++ src/libmusepack/synth_filter.c 7 Jan 2006 10:54:27 -0000 @@ -39,8 +39,6 @@ #include "musepack/musepack.h" #include "musepack/internal.h" -typedef mpc_int32_t ptrdiff_t; - /* C O N S T A N T S */ #undef _ diff -r d25b274e6e6a src/libmusepack/musepack/internal.h --- a/src/libmusepack/musepack/internal.h Wed Apr 04 13:41:11 2007 +0200 +++ b/src/libmusepack/musepack/internal.h Wed Apr 04 13:42:45 2007 +0200 @@ -8,6 +8,7 @@ enum { MPC_DECODER_SYNTH_DELAY = 481 }; +#ifndef swap32 /// Big/little endian 32 bit byte swapping routine. static inline mpc_uint32_t swap32(mpc_uint32_t val) { @@ -16,6 +17,7 @@ mpc_uint32_t swap32(mpc_uint32_t val) { (mpc_uint32_t)src[0] | ((mpc_uint32_t)src[1] << 8) | ((mpc_uint32_t)src[2] << 16) | ((mpc_uint32_t)src[3] << 24); } +#endif /// Searches for a ID3v2-tag and reads the length (in bytes) of it. /// \param reader supplying raw stream data