diff --git a/sflphone-common/src/audio/pulseaudio/audiostream.cpp b/sflphone-common/src/audio/pulseaudio/audiostream.cpp
index 87bc28a4572e1f85c8d4824190d26fd5e1079da6..f3a1f3bb0e20c8c3abcef3007d039a7b9e09712a 100644
--- a/sflphone-common/src/audio/pulseaudio/audiostream.cpp
+++ b/sflphone-common/src/audio/pulseaudio/audiostream.cpp
@@ -184,28 +184,37 @@ AudioStream::createStream (pa_context* c)
     // parameters are defined as number of bytes
     // 2048 bytes (1024 int16) is 20 ms at 44100 Hz 
     if (_streamType == PLAYBACK_STREAM) {
+	/*
+        attributes->maxlength = (uint32_t) -1;
+        attributes->tlength = 1024;
+        attributes->prebuf = (uint32_t) -1;      
+        attributes->minreq = (uint32_t) -1;
+        attributes->fragsize = (uint32_t) -1;
+	*/
+	
         attributes->maxlength = 88200;
-        attributes->tlength = 22050;
-        attributes->prebuf = 0;      // Pulseaudio will not start if prebuffering is not reached
-        attributes->minreq = 0;      // The server side playback framesize
-        attributes->fragsize = 11025;    // Fragment size at wich we receive an interupt
+        attributes->tlength = 44100;
+        attributes->prebuf = 4096;      
+        attributes->minreq = 2048;
+        attributes->fragsize = 4096;
+	
         // pa_stream_connect_playback( s , NULL , attributes, PA_STREAM_NOFLAGS, &_volume, NULL);
         // pa_stream_connect_playback (s , NULL , attributes, PA_STREAM_START_CORKED, &_volume, NULL);
-	pa_stream_connect_playback( s , NULL , attributes, PA_STREAM_INTERPOLATE_TIMING, &_volume, NULL);
+	pa_stream_connect_playback( s , NULL , attributes, PA_STREAM_ADJUST_LATENCY, &_volume, NULL);
     } else if (_streamType == CAPTURE_STREAM) {
 
         // attributes->maxlength = 66500;
         // attributes->fragsize = (uint32_t)-1;
 
-        attributes->maxlength = 88200;
-        attributes->tlength = 22050;
-        attributes->prebuf = 0;
-        attributes->minreq = 0;
-        attributes->fragsize = 11025;
+        attributes->maxlength = (uint32_t) -1;
+        attributes->tlength = (uint32_t) -1;
+        attributes->prebuf = (uint32_t) -1;
+        attributes->minreq = (uint32_t) -1;
+        attributes->fragsize = 1024;
 
         // pa_stream_connect_record (s , NULL , attributes , PA_STREAM_START_CORKED);
         // pa_stream_connect_record( s , NULL , attributes , PA_STREAM_INTERPOLATE_TIMING );
-	pa_stream_connect_record( s, NULL, attributes, PA_STREAM_INTERPOLATE_TIMING);
+	pa_stream_connect_record( s, NULL, attributes, PA_STREAM_ADJUST_LATENCY);
     } else if (_streamType == UPLOAD_STREAM) {
         pa_stream_connect_upload (s , 1024);
     } else {