diff --git a/sflphone-common/src/audio/pulseaudio/audiostream.cpp b/sflphone-common/src/audio/pulseaudio/audiostream.cpp index f3a1f3bb0e20c8c3abcef3007d039a7b9e09712a..66f8445a549dff5a3ddd822ab38f41d2769e0e6e 100644 --- a/sflphone-common/src/audio/pulseaudio/audiostream.cpp +++ b/sflphone-common/src/audio/pulseaudio/audiostream.cpp @@ -184,36 +184,22 @@ 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 = 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_ADJUST_LATENCY, &_volume, NULL); } else if (_streamType == CAPTURE_STREAM) { - // attributes->maxlength = 66500; - // attributes->fragsize = (uint32_t)-1; - - attributes->maxlength = (uint32_t) -1; - attributes->tlength = (uint32_t) -1; - attributes->prebuf = (uint32_t) -1; - attributes->minreq = (uint32_t) -1; - attributes->fragsize = 1024; + attributes->maxlength = 88200; + attributes->tlength = 44100; + attributes->prebuf = 4096; + attributes->minreq = 2048; + attributes->fragsize = 4096; - // 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_ADJUST_LATENCY); } else if (_streamType == UPLOAD_STREAM) { pa_stream_connect_upload (s , 1024); diff --git a/sflphone-common/src/audio/pulseaudio/pulselayer.cpp b/sflphone-common/src/audio/pulseaudio/pulselayer.cpp index 7801582cb7fe0d24c666eef4bdbd674db735fa61..edcf2815a707a38d65561fe4e96ed06b5772c757 100644 --- a/sflphone-common/src/audio/pulseaudio/pulselayer.cpp +++ b/sflphone-common/src/audio/pulseaudio/pulselayer.cpp @@ -155,6 +155,9 @@ void PulseLayer::connectPulseAudioServer (void) { _debug ("PulseLayer::connectPulseAudioServer \n"); + + setenv("PULSE_PROP_media.role", "phone", 1); + pa_context_flags_t flag = PA_CONTEXT_NOAUTOSPAWN ; pa_threaded_mainloop_lock (m); diff --git a/sflphone-common/src/audio/pulseaudio/pulselayer.h b/sflphone-common/src/audio/pulseaudio/pulselayer.h index 4e7e30e8165476c197e593433903938a9353a0ca..eb252408313c1873f47a1a688df800471ebe7942 100644 --- a/sflphone-common/src/audio/pulseaudio/pulselayer.h +++ b/sflphone-common/src/audio/pulseaudio/pulselayer.h @@ -28,6 +28,8 @@ #include <pulse/pulseaudio.h> #include <pulse/stream.h> +#include <stdlib.h> + #define PLAYBACK_STREAM_NAME "SFLphone out" #define CAPTURE_STREAM_NAME "SFLphone in"