diff --git a/linphone/mediastreamer2/include/mediastreamer2/waveheader.h b/linphone/mediastreamer2/include/mediastreamer2/waveheader.h
index 015bf65efe971210a5f09c2ed78419f0416f91c1..d929f5c6d506836d0df71e13229437ea617d2b65 100644
--- a/linphone/mediastreamer2/include/mediastreamer2/waveheader.h
+++ b/linphone/mediastreamer2/include/mediastreamer2/waveheader.h
@@ -27,17 +27,23 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #ifndef waveheader_h
 #define waveheader_h
 
+#ifdef swap16
+#else
 /* all integer in wav header must be read in least endian order */
 static inline uint16_t swap16(uint16_t a)
 {
 	return ((a & 0xFF) << 8) | ((a & 0xFF00) >> 8);
 }
+#endif
 
+#ifdef swap32
+#else
 static inline uint32_t swap32(uint32_t a)
 {
 	return ((a & 0xFF) << 24) | ((a & 0xFF00) << 8) | 
 		((a & 0xFF0000) >> 8) | ((a & 0xFF000000) >> 24);
 }
+#endif
 
 #ifdef WORDS_BIGENDIAN
 #define le_uint32(a) (swap32((a)))