summaryrefslogtreecommitdiffstats
path: root/voip
diff options
context:
space:
mode:
Diffstat (limited to 'voip')
-rw-r--r--voip/java/com/android/server/sip/SipHelper.java8
-rw-r--r--voip/jni/rtp/AudioGroup.cpp9
2 files changed, 15 insertions, 2 deletions
diff --git a/voip/java/com/android/server/sip/SipHelper.java b/voip/java/com/android/server/sip/SipHelper.java
index ac580e7..4ee86b6 100644
--- a/voip/java/com/android/server/sip/SipHelper.java
+++ b/voip/java/com/android/server/sip/SipHelper.java
@@ -27,6 +27,8 @@ import java.text.ParseException;
import java.util.ArrayList;
import java.util.EventObject;
import java.util.List;
+import java.util.regex.Pattern;
+
import javax.sip.ClientTransaction;
import javax.sip.Dialog;
import javax.sip.DialogTerminatedEvent;
@@ -215,9 +217,11 @@ class SipHelper {
String tag) throws ParseException, SipException {
FromHeader fromHeader = createFromHeader(userProfile, tag);
ToHeader toHeader = createToHeader(userProfile);
+
+ String replaceStr = Pattern.quote(userProfile.getUserName() + "@");
SipURI requestURI = mAddressFactory.createSipURI(
- userProfile.getUriString().replaceFirst(
- userProfile.getUserName() + "@", ""));
+ userProfile.getUriString().replaceFirst(replaceStr, ""));
+
List<ViaHeader> viaHeaders = createViaHeaders();
CallIdHeader callIdHeader = createCallIdHeader();
CSeqHeader cSeqHeader = createCSeqHeader(requestType);
diff --git a/voip/jni/rtp/AudioGroup.cpp b/voip/jni/rtp/AudioGroup.cpp
index c031eee..41fedce 100644
--- a/voip/jni/rtp/AudioGroup.cpp
+++ b/voip/jni/rtp/AudioGroup.cpp
@@ -30,6 +30,7 @@
#define LOG_TAG "AudioGroup"
#include <cutils/atomic.h>
+#include <cutils/properties.h>
#include <utils/Log.h>
#include <utils/Errors.h>
#include <utils/RefBase.h>
@@ -619,6 +620,14 @@ bool AudioGroup::setMode(int mode)
if (mode < 0 || mode > LAST_MODE) {
return false;
}
+ //FIXME: temporary code to overcome echo and mic gain issues on herring board.
+ // Must be modified/removed when proper support for voice processing query and control
+ // is included in audio framework
+ char value[PROPERTY_VALUE_MAX];
+ property_get("ro.product.board", value, "");
+ if (mode == NORMAL && !strcmp(value, "herring")) {
+ mode = ECHO_SUPPRESSION;
+ }
if (mode == ECHO_SUPPRESSION && AudioSystem::getParameters(
0, String8("ec_supported")) == "ec_supported=yes") {
mode = NORMAL;