Add kGoogEchoCancellation to MediaConstraintsInterface.
This constraint will be equal to kEchoCancellation until we've updated Chromium to use kGoogEchoCancellation where that constraint is needed.  Once that's done, I'll change kEchoCancellation to be 'echoCancellation'.

BUG=webrtc:4747
R=andrew@webrtc.org

Review URL: https://codereview.webrtc.org/1179233003.

Cr-Commit-Position: refs/heads/master@{#9433}
diff --git a/talk/app/webrtc/localaudiosource.cc b/talk/app/webrtc/localaudiosource.cc
index 150c828..3d4412b 100644
--- a/talk/app/webrtc/localaudiosource.cc
+++ b/talk/app/webrtc/localaudiosource.cc
@@ -51,7 +51,7 @@
     const char* name;
     cricket::Settable<bool>& value;
   } key_to_value[] = {
-      {MediaConstraintsInterface::kEchoCancellation,
+      {MediaConstraintsInterface::kGoogEchoCancellation,
        options->echo_cancellation},
       // Both kExperimentalEchoCancellation (old) and
       // kExtendedFilterEchoCancellation (new) translate to
diff --git a/talk/app/webrtc/localaudiosource_unittest.cc b/talk/app/webrtc/localaudiosource_unittest.cc
index 1c43420..7e5d8de 100644
--- a/talk/app/webrtc/localaudiosource_unittest.cc
+++ b/talk/app/webrtc/localaudiosource_unittest.cc
@@ -43,7 +43,8 @@
 
 TEST(LocalAudioSourceTest, SetValidOptions) {
   webrtc::FakeConstraints constraints;
-  constraints.AddMandatory(MediaConstraintsInterface::kEchoCancellation, false);
+  constraints.AddMandatory(
+      MediaConstraintsInterface::kGoogEchoCancellation, false);
   constraints.AddOptional(
       MediaConstraintsInterface::kExtendedFilterEchoCancellation, true);
   constraints.AddOptional(MediaConstraintsInterface::kDAEchoCancellation, true);
@@ -133,8 +134,10 @@
 
 TEST(LocalAudioSourceTest, MandatoryOverridesOptional) {
   webrtc::FakeConstraints constraints;
-  constraints.AddMandatory(MediaConstraintsInterface::kEchoCancellation, false);
-  constraints.AddOptional(MediaConstraintsInterface::kEchoCancellation, true);
+  constraints.AddMandatory(
+      MediaConstraintsInterface::kGoogEchoCancellation, false);
+  constraints.AddOptional(
+      MediaConstraintsInterface::kGoogEchoCancellation, true);
 
   rtc::scoped_refptr<LocalAudioSource> source =
       LocalAudioSource::Create(PeerConnectionFactoryInterface::Options(),
diff --git a/talk/app/webrtc/mediaconstraintsinterface.cc b/talk/app/webrtc/mediaconstraintsinterface.cc
index 87f7e66..9933578 100644
--- a/talk/app/webrtc/mediaconstraintsinterface.cc
+++ b/talk/app/webrtc/mediaconstraintsinterface.cc
@@ -48,6 +48,8 @@
 // Audio constraints.
 const char MediaConstraintsInterface::kEchoCancellation[] =
     "googEchoCancellation";
+const char MediaConstraintsInterface::kGoogEchoCancellation[] =
+    "googEchoCancellation";
 const char MediaConstraintsInterface::kExperimentalEchoCancellation[] =
     "googEchoCancellation2";
 const char MediaConstraintsInterface::kExtendedFilterEchoCancellation[] =
diff --git a/talk/app/webrtc/mediaconstraintsinterface.h b/talk/app/webrtc/mediaconstraintsinterface.h
index 31cc996..843bee0 100644
--- a/talk/app/webrtc/mediaconstraintsinterface.h
+++ b/talk/app/webrtc/mediaconstraintsinterface.h
@@ -73,7 +73,13 @@
 
   // Constraint keys used by a local audio source.
   // These keys are google specific.
+  // TODO(tommi): Change kEchoCancellation to be "echoCancellation" once
+  // Chrome has been updated to use kGoogEchoCancellation where the 'goog'
+  // variant is needed.
+  // See https://code.google.com/p/webrtc/issues/detail?id=4747
   static const char kEchoCancellation[];  // googEchoCancellation
+  static const char kGoogEchoCancellation[];  // googEchoCancellation
+
   // TODO(henrik.lundin) Remove kExperimentalEchoCancellation.
   // https://code.google.com/p/webrtc/issues/detail?id=4696
   static const char kExperimentalEchoCancellation[];  // googEchoCancellation2