aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArun Raghavan <arun.raghavan@collabora.co.uk>2011-11-22 01:57:08 +0800
committerArun Raghavan <arun.raghavan@collabora.co.uk>2011-11-22 01:57:08 +0800
commit24882e924af2c0d8576970440d92ac5b4eb25bc8 (patch)
tree0c26bc7543a6c8dd6e366e13027e81e9d7d0c407
parent0323eff320bc2152ac45b2675fc7e80b2a354f85 (diff)
downloadgsoc2013-empathy-24882e924af2c0d8576970440d92ac5b4eb25bc8.tar
gsoc2013-empathy-24882e924af2c0d8576970440d92ac5b4eb25bc8.tar.gz
gsoc2013-empathy-24882e924af2c0d8576970440d92ac5b4eb25bc8.tar.bz2
gsoc2013-empathy-24882e924af2c0d8576970440d92ac5b4eb25bc8.tar.lz
gsoc2013-empathy-24882e924af2c0d8576970440d92ac5b4eb25bc8.tar.xz
gsoc2013-empathy-24882e924af2c0d8576970440d92ac5b4eb25bc8.tar.zst
gsoc2013-empathy-24882e924af2c0d8576970440d92ac5b4eb25bc8.zip
audio-src,audio-sink: Use lower latency values on pulsesrc/pulsesink
This sets the pulsesink and pulsesrc buffer/latency parameters to be lower and more voip-friendly. If the system cannot provide or keep up with these values, PulseAudio will automatically try to adapt and provide larger values that are achievable. https://bugzilla.gnome.org/show_bug.cgi?id=663124
-rw-r--r--src/empathy-audio-sink.c4
-rw-r--r--src/empathy-audio-src.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/src/empathy-audio-sink.c b/src/empathy-audio-sink.c
index d912e1d2d..5ab14b541 100644
--- a/src/empathy-audio-sink.c
+++ b/src/empathy-audio-sink.c
@@ -220,6 +220,10 @@ create_sink (EmpathyGstAudioSink *self)
empathy_call_set_stream_properties (sink, self->priv->echo_cancel);
+ /* Set latency (buffering on the PulseAudio side) of 40ms and transfer data
+ * in 10ms chunks */
+ g_object_set (sink, "buffer-time", 40000, "latency-time", 10000, NULL);
+
return sink;
}
diff --git a/src/empathy-audio-src.c b/src/empathy-audio-src.c
index 635c87d24..aa271fa1c 100644
--- a/src/empathy-audio-src.c
+++ b/src/empathy-audio-src.c
@@ -331,6 +331,9 @@ create_src (void)
empathy_call_set_stream_properties (src, TRUE);
+ /* Set latency (buffering on the PulseAudio side) of 20ms */
+ g_object_set (src, "buffer-time", 20000, NULL);
+
return src;
}