After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 663842 - Don't do extra audio-processing for raw Contents
Don't do extra audio-processing for raw Contents
Status: RESOLVED FIXED
Product: empathy
Classification: Core
Component: VoIP
unspecified
Other Linux
: Normal normal
: ---
Assigned To: empathy-maint
empathy-maint
Depends on:
Blocks:
 
 
Reported: 2011-11-11 10:42 UTC by Sjoerd Simons
Modified: 2011-11-11 14:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Call: Signal content-{added/removed} instead of sink-{added/removed} (6.84 KB, patch)
2011-11-11 10:49 UTC, Sjoerd Simons
reviewed Details | Review
Don't turn on echo cancellation on the source if it's for raw conferences (5.96 KB, patch)
2011-11-11 10:49 UTC, Sjoerd Simons
reviewed Details | Review
Don't turn on echo cancellation on the sink if it's for raw conferences (5.58 KB, patch)
2011-11-11 10:49 UTC, Sjoerd Simons
reviewed Details | Review

Description Sjoerd Simons 2011-11-11 10:42:59 UTC
If a Voip Call uses the raw content type, we shouldn't preprocess the audio as whatever handles the raw audio will do that for us. So in that case don't ask pulseaudio to do echo cancellation
Comment 1 Sjoerd Simons 2011-11-11 10:45:39 UTC
Branch at http://cgit.collabora.com/git/user/sjoerd/empathy.git/log/?h=disable-echo-cancellation will attach to bugzilla in a bti
Comment 2 Sjoerd Simons 2011-11-11 10:49:35 UTC
Created attachment 201216 [details] [review]
Call: Signal content-{added/removed} instead of sink-{added/removed}

Tp-Farstream signals contents, not sinks (like tp-farsight did). So lets
mirror that, which allows us to make better decisions about what kind of
contents we are given
Comment 3 Sjoerd Simons 2011-11-11 10:49:38 UTC
Created attachment 201217 [details] [review]
Don't turn on echo cancellation on the source if it's for raw conferences
Comment 4 Sjoerd Simons 2011-11-11 10:49:41 UTC
Created attachment 201218 [details] [review]
Don't turn on echo cancellation on the sink if it's for raw conferences
Comment 5 Guillaume Desmottes 2011-11-11 10:53:19 UTC
Review of attachment 201216 [details] [review]:

::: src/empathy-call-window.c
@@ +2703,3 @@
 
+  g_object_get (content, "media-type", &media_type, "sink-pad", &sink, NULL);
+  g_assert (sink != NULL);

Looks like the sink is leaked.
Comment 6 Guillaume Desmottes 2011-11-11 10:58:56 UTC
Review of attachment 201217 [details] [review]:

::: src/empathy-audio-src.c
@@ +501,3 @@
+empathy_audio_src_set_echo_cancel (EmpathyGstAudioSrc *src,
+  gboolean enable)
+{

I'd add a debug when disabling echo cancellation. Could be useful to debug "wtf is echo cancellation not working" bug.
Comment 7 Guillaume Desmottes 2011-11-11 11:01:51 UTC
Review of attachment 201218 [details] [review]:

::: src/empathy-audio-sink.c
@@ +319,3 @@
+  gboolean echo_cancel)
+{
+  sink->priv->echo_cancel = echo_cancel;

same comment about the debug msg.

::: src/empathy-call-window.c
@@ +2898,3 @@
 
+  /* For raw audio conferences assume that the producer of the raw data
+   * has already processed it, soturn off any echo cancellation and any

"so turn"
Comment 8 Sjoerd Simons 2011-11-11 14:04:27 UTC
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.