diff --git a/sflphone-common/src/audio/pulseaudio/audiostream.cpp b/sflphone-common/src/audio/pulseaudio/audiostream.cpp index 991815835cb01f6f1db0e2bdd337205057c1d4c3..778dd44b674cb4ba9b2432c5e05501d8366f5e8c 100644 --- a/sflphone-common/src/audio/pulseaudio/audiostream.cpp +++ b/sflphone-common/src/audio/pulseaudio/audiostream.cpp @@ -186,9 +186,9 @@ AudioStream::createStream (pa_context* c) if (_streamType == PLAYBACK_STREAM) { attributes->maxlength = 64000; attributes->tlength = 32000; - attributes->prebuf = 4096; // Pulseaudio will not start if prebuffering is not reached - attributes->minreq = 2048; // The server side playback framesize - attributes->fragsize = 8192; // Fragment size at wich we receive an interupt + attributes->prebuf = 2048; // Pulseaudio will not start if prebuffering is not reached + attributes->minreq = 1024; // The server side playback framesize + attributes->fragsize = 4096; // Fragment size at wich we receive an interupt pa_stream_connect_playback( s , NULL , attributes, PA_STREAM_INTERPOLATE_TIMING, &_volume, NULL); // pa_stream_connect_playback (s , NULL , attributes, PA_STREAM_START_CORKED, &_volume, NULL); } else if (_streamType == CAPTURE_STREAM) { diff --git a/sflphone-common/src/audio/pulseaudio/pulselayer.cpp b/sflphone-common/src/audio/pulseaudio/pulselayer.cpp index faa15f006f0df17edc5ede19cba15afff164621e..9da8dadf4bc6a07a95ea4de37ca07c6f1164834a 100644 --- a/sflphone-common/src/audio/pulseaudio/pulselayer.cpp +++ b/sflphone-common/src/audio/pulseaudio/pulselayer.cpp @@ -59,10 +59,10 @@ static void playback_underflow_callback (pa_stream* s, void* userdata UNUSED) _debug ("PulseLayer::Buffer Underflow\n"); // fill in audio buffer twice the prebuffering value to restart playback - SFLDataFormat* out = (SFLDataFormat*) pa_xmalloc (framesPerBuffer*sizeof(SFLDataFormat)*2); - bzero (out, framesPerBuffer*sizeof(SFLDataFormat)*2); + SFLDataFormat* out = (SFLDataFormat*) pa_xmalloc (framesPerBuffer*sizeof(SFLDataFormat)); + bzero (out, framesPerBuffer*sizeof(SFLDataFormat)); - pa_stream_write (s, out, framesPerBuffer*sizeof(SFLDataFormat)*2, NULL, 0, PA_SEEK_RELATIVE); + pa_stream_write (s, out, framesPerBuffer*sizeof(SFLDataFormat), NULL, 0, PA_SEEK_RELATIVE); pa_stream_trigger (s, NULL, NULL); pa_xfree (out);