Skip to content
Snippets Groups Projects
Commit ad4852c2 authored by Alexandre Savard's avatar Alexandre Savard
Browse files

[#2333] Fix Pulseaudio Capture

Setting pulseaudio capture stream parameters using alsa realtime scheduling
parent 00b0ae0b
Branches
Tags
No related merge requests found
......@@ -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);
......
......@@ -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);
......
......@@ -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"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment