diff --git a/sflphone-common/src/audio/audioloop.cpp b/sflphone-common/src/audio/audioloop.cpp
index 4053e82f5e77c67acb826b8da16649f30265a593..4aeaf845ed82428fac66f8166bae344e09573abd 100644
--- a/sflphone-common/src/audio/audioloop.cpp
+++ b/sflphone-common/src/audio/audioloop.cpp
@@ -65,8 +65,7 @@ AudioLoop::getNext (SFLDataFormat* output, int nb, short volume)
             block = _size-pos;
         }
 
-        // src, dest, len
-        bcopy (_buffer+pos, output, block*sizeof (SFLDataFormat)); // short>char conversion
+        memcpy(output, _buffer+pos, block*sizeof (SFLDataFormat)); // short>char conversion
 
         if (volume!=100) {
             for (int i=0; i<block; i++) {
diff --git a/sflphone-common/src/audio/echocancel.cpp b/sflphone-common/src/audio/echocancel.cpp
index 41008db3c56ea41c27a4d50ba3714d40a291ab40..28a3271b0280a1d653131e9244f5e79826ca68a3 100644
--- a/sflphone-common/src/audio/echocancel.cpp
+++ b/sflphone-common/src/audio/echocancel.cpp
@@ -250,7 +250,7 @@ int EchoCancel::process (SFLDataFormat *inputData, SFLDataFormat *outputData, in
     _delayDetector.process (inputData, nbBytes);
 
     if (_spkrStoped) {
-        bcopy (inputData, outputData, nbBytes);
+        memcpy(outputData, inputData, nbBytes);
         return nbBytes;
     }
 
@@ -299,7 +299,7 @@ int EchoCancel::process (SFLDataFormat *inputData, SFLDataFormat *outputData, in
 
             // echoFile->write((const char *)_tmpOut, byteSize);
 
-            bcopy (_tmpOut, outputData+ (nbFrame*_smplPerFrame), byteSize);
+            memcpy(outputData+ (nbFrame*_smplPerFrame), _tmpOut, byteSize);
 
             // used to sync with speaker
             _processedByte += byteSize;
@@ -314,7 +314,7 @@ int EchoCancel::process (SFLDataFormat *inputData, SFLDataFormat *outputData, in
 
             performEchoCancelNoSpkr (_tmpMic, _tmpOut);
 
-            bcopy (_tmpOut, outputData+ (nbFrame*_smplPerFrame), byteSize);
+            memcpy (outputData+ (nbFrame*_smplPerFrame), _tmpOut, byteSize);
             ++nbFrame;
         }
 
diff --git a/sflphone-common/src/audio/ringbuffer.cpp b/sflphone-common/src/audio/ringbuffer.cpp
index 21b313c5b80d34526ab084ee827c436baf8bed72..dff23db5f8010a3b75cbc20559df3fe246c803fe 100644
--- a/sflphone-common/src/audio/ringbuffer.cpp
+++ b/sflphone-common/src/audio/ringbuffer.cpp
@@ -257,7 +257,7 @@ RingBuffer::Put (void* buffer, int toCopy)
             block = mBufferSize - pos;
         }
 
-        bcopy (src, mBuffer + pos, block);
+        memcpy (mBuffer + pos, src, block);
 
         src += block;
 
@@ -322,7 +322,7 @@ RingBuffer::Get (void *buffer, int toCopy, std::string call_id)
             block = mBufferSize - mStart;
         }
 
-        bcopy (mBuffer + mStart, dest, block);
+        memcpy (dest, mBuffer + mStart, block);
 
         dest += block;
 
diff --git a/sflphone-common/src/audio/sound/tone.cpp b/sflphone-common/src/audio/sound/tone.cpp
index a32fe5d4791ef01c0bf395f8745315e4e5fbce53..a433056b3e97275d04bf0450fa10cfebcbc6c7b7 100644
--- a/sflphone-common/src/audio/sound/tone.cpp
+++ b/sflphone-common/src/audio/sound/tone.cpp
@@ -130,8 +130,7 @@ Tone::genBuffer (const std::string& definition)
 
     _buffer = new SFLDataFormat[_size];
 
-    // src, dest, tocopy
-    bcopy (buffer, _buffer, _size*sizeof (SFLDataFormat)); // copy char, not SFLDataFormat.
+    memcpy (_buffer, buffer, _size*sizeof (SFLDataFormat)); // copy char, not SFLDataFormat.
 
     delete[] buffer;