(Auto)update libjingle 69555283-> 69567902
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6497 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/talk/app/webrtc/mediaconstraintsinterface.h b/talk/app/webrtc/mediaconstraintsinterface.h
index 36257db..2ac2516 100644
--- a/talk/app/webrtc/mediaconstraintsinterface.h
+++ b/talk/app/webrtc/mediaconstraintsinterface.h
@@ -133,9 +133,6 @@
static const char kHighBitrate[]; // googHighBitrate
static const char kVeryHighBitrate[]; // googVeryHighBitrate
static const char kPayloadPadding[]; // googPayloadPadding
-
- // PeerConnection codec constraint keys. This should be combined with the
- // values above.
// kOpusFec controls whether we ask the other side to turn on FEC for Opus.
static const char kOpusFec[]; // googOpusFec
diff --git a/talk/media/base/codec.cc b/talk/media/base/codec.cc
index 6e65560..bc7401a 100644
--- a/talk/media/base/codec.cc
+++ b/talk/media/base/codec.cc
@@ -118,6 +118,10 @@
params[name] = talk_base::ToString(value);
}
+bool Codec::RemoveParam(const std::string& name) {
+ return params.erase(name) == 1;
+}
+
void Codec::AddFeedbackParam(const FeedbackParam& param) {
feedback_params.Add(param);
}
diff --git a/talk/media/base/codec.h b/talk/media/base/codec.h
index 0e9bf3c..863e289 100644
--- a/talk/media/base/codec.h
+++ b/talk/media/base/codec.h
@@ -104,6 +104,10 @@
void SetParam(const std::string& name, const std::string& value);
void SetParam(const std::string& name, int value);
+ // It is safe to input a non-existent parameter.
+ // Returns true if the parameter existed, false if it did not exist.
+ bool RemoveParam(const std::string& name);
+
bool HasFeedbackParam(const FeedbackParam& param) const;
void AddFeedbackParam(const FeedbackParam& param);
diff --git a/talk/media/base/codec_unittest.cc b/talk/media/base/codec_unittest.cc
index 35d1ab7..ea7a131 100644
--- a/talk/media/base/codec_unittest.cc
+++ b/talk/media/base/codec_unittest.cc
@@ -278,7 +278,7 @@
EXPECT_FALSE(c1.Matches(DataCodec(95, "D", 0)));
}
-TEST_F(CodecTest, TestSetParamAndGetParam) {
+TEST_F(CodecTest, TestSetParamGetParamAndRemoveParam) {
AudioCodec codec;
codec.SetParam("a", "1");
codec.SetParam("b", "x");
@@ -295,6 +295,8 @@
EXPECT_TRUE(codec.GetParam("b", &str_value));
EXPECT_EQ("x", str_value);
EXPECT_FALSE(codec.GetParam("c", &str_value));
+ EXPECT_TRUE(codec.RemoveParam("a"));
+ EXPECT_FALSE(codec.RemoveParam("c"));
}
TEST_F(CodecTest, TestIntersectFeedbackParams) {
diff --git a/talk/media/webrtc/webrtcvoiceengine.cc b/talk/media/webrtc/webrtcvoiceengine.cc
index f1460a6..7df4788 100644
--- a/talk/media/webrtc/webrtcvoiceengine.cc
+++ b/talk/media/webrtc/webrtcvoiceengine.cc
@@ -423,7 +423,7 @@
return bitrate;
}
-// Return true params[kCodecParamUseInbandFec] == kParamValueTrue, false
+// Return true if params[kCodecParamUseInbandFec] == "1", false
// otherwise.
static bool IsOpusFecEnabled(const AudioCodec& codec) {
int value;
@@ -431,11 +431,11 @@
}
// Set params[kCodecParamUseInbandFec]. Caller should make sure codec is Opus.
-static void SetOpusFec(AudioCodec *codec, bool opus_fec) {
+static void SetOpusFec(AudioCodec* codec, bool opus_fec) {
if (opus_fec) {
- codec->params[kCodecParamUseInbandFec] = kParamValueTrue;
+ codec->SetParam(kCodecParamUseInbandFec, 1);
} else {
- codec->params.erase(kCodecParamUseInbandFec);
+ codec->RemoveParam(kCodecParamUseInbandFec);
}
}
@@ -909,7 +909,7 @@
}
}
- bool opus_fec = false;
+ bool opus_fec;
if (options.opus_fec.Get(&opus_fec)) {
LOG(LS_INFO) << "Opus FEC is enabled? " << opus_fec;
for (std::vector<AudioCodec>::iterator it = codecs_.begin();