From ed97bb0eb4e8b8b6a7c750d8bf5f8ad8fb5d0733 Mon Sep 17 00:00:00 2001 From: "buildbot@webrtc.org" Date: Wed, 7 May 2014 11:15:20 +0000 Subject: [PATCH] (Auto)update libjingle 66340694-> 66388864 git-svn-id: http://webrtc.googlecode.com/svn/trunk@6071 4adac7df-926f-26a2-2b94-8c16560cd09d --- talk/app/webrtc/webrtcsdp.cc | 3 +- talk/media/base/constants.cc | 1 + talk/media/base/constants.h | 1 + talk/media/webrtc/webrtcvideoengine.cc | 2 ++ .../webrtc/webrtcvideoengine_unittest.cc | 34 +++++++++++++++++++ 5 files changed, 40 insertions(+), 1 deletion(-) diff --git a/talk/app/webrtc/webrtcsdp.cc b/talk/app/webrtc/webrtcsdp.cc index e726dabd98..31578930eb 100644 --- a/talk/app/webrtc/webrtcsdp.cc +++ b/talk/app/webrtc/webrtcsdp.cc @@ -65,6 +65,7 @@ using cricket::kCodecParamMinBitrate; using cricket::kCodecParamMinPTime; using cricket::kCodecParamPTime; using cricket::kCodecParamSPropStereo; +using cricket::kCodecParamStartBitrate; using cricket::kCodecParamStereo; using cricket::kCodecParamUseInbandFec; using cricket::kCodecParamSctpProtocol; @@ -1508,7 +1509,7 @@ void WriteFmtpParameters(const cricket::CodecParameterMap& parameters, bool IsFmtpParam(const std::string& name) { const char* kFmtpParams[] = { kCodecParamMinPTime, kCodecParamSPropStereo, - kCodecParamStereo, kCodecParamUseInbandFec, + kCodecParamStereo, kCodecParamUseInbandFec, kCodecParamStartBitrate, kCodecParamMaxBitrate, kCodecParamMinBitrate, kCodecParamMaxQuantization, kCodecParamSctpProtocol, kCodecParamSctpStreams, kCodecParamMaxAverageBitrate diff --git a/talk/media/base/constants.cc b/talk/media/base/constants.cc index dbddcfc305..e81a537f06 100644 --- a/talk/media/base/constants.cc +++ b/talk/media/base/constants.cc @@ -85,6 +85,7 @@ const char kRtcpFbParamCcm[] = "ccm"; const char kRtcpFbCcmParamFir[] = "fir"; const char kCodecParamMaxBitrate[] = "x-google-max-bitrate"; const char kCodecParamMinBitrate[] = "x-google-min-bitrate"; +const char kCodecParamStartBitrate[] = "x-google-start-bitrate"; const char kCodecParamMaxQuantization[] = "x-google-max-quantization"; const char kCodecParamPort[] = "x-google-port"; diff --git a/talk/media/base/constants.h b/talk/media/base/constants.h index 9ff6750066..6a2302e3df 100644 --- a/talk/media/base/constants.h +++ b/talk/media/base/constants.h @@ -99,6 +99,7 @@ extern const char kRtcpFbCcmParamFir[]; // Google specific parameters extern const char kCodecParamMaxBitrate[]; extern const char kCodecParamMinBitrate[]; +extern const char kCodecParamStartBitrate[]; extern const char kCodecParamMaxQuantization[]; extern const char kCodecParamPort[]; diff --git a/talk/media/webrtc/webrtcvideoengine.cc b/talk/media/webrtc/webrtcvideoengine.cc index 7c55e93967..d0f5907cf2 100644 --- a/talk/media/webrtc/webrtcvideoengine.cc +++ b/talk/media/webrtc/webrtcvideoengine.cc @@ -1265,6 +1265,7 @@ static void ConvertToCricketVideoCodec( out_codec->framerate = in_codec.maxFramerate; out_codec->SetParam(kCodecParamMinBitrate, in_codec.minBitrate); out_codec->SetParam(kCodecParamMaxBitrate, in_codec.maxBitrate); + out_codec->SetParam(kCodecParamStartBitrate, in_codec.startBitrate); if (in_codec.qpMax) { out_codec->SetParam(kCodecParamMaxQuantization, in_codec.qpMax); } @@ -1322,6 +1323,7 @@ bool WebRtcVideoEngine::ConvertFromCricketVideoCodec( in_codec.GetParam(kCodecParamMinBitrate, &min_bitrate); in_codec.GetParam(kCodecParamMaxBitrate, &max_bitrate); + in_codec.GetParam(kCodecParamStartBitrate, &start_bitrate); if (max_bitrate < min_bitrate) { return false; diff --git a/talk/media/webrtc/webrtcvideoengine_unittest.cc b/talk/media/webrtc/webrtcvideoengine_unittest.cc index 8b60f23877..a9f7b18c19 100644 --- a/talk/media/webrtc/webrtcvideoengine_unittest.cc +++ b/talk/media/webrtc/webrtcvideoengine_unittest.cc @@ -425,6 +425,40 @@ TEST_F(WebRtcVideoEngineTestFake, SetSendCodecsWithMinMaxBitrate) { EXPECT_EQ("20", codec.params[cricket::kCodecParamMaxBitrate]); } +TEST_F(WebRtcVideoEngineTestFake, SetSendCodecsWithStartBitrate) { + EXPECT_TRUE(SetupEngine()); + int channel_num = vie_.GetLastChannel(); + std::vector codecs(engine_.codecs()); + codecs[0].params[cricket::kCodecParamStartBitrate] = "450"; + EXPECT_TRUE(channel_->SetSendCodecs(codecs)); + + VerifyVP8SendCodec( + channel_num, kVP8Codec.width, kVP8Codec.height, 0, 2000, 50, 450); + + cricket::VideoCodec codec; + EXPECT_TRUE(channel_->GetSendCodec(&codec)); + EXPECT_EQ("450", codec.params[cricket::kCodecParamStartBitrate]); +} + +TEST_F(WebRtcVideoEngineTestFake, SetSendCodecsWithMinMaxStartBitrate) { + EXPECT_TRUE(SetupEngine()); + int channel_num = vie_.GetLastChannel(); + std::vector codecs(engine_.codecs()); + codecs[0].params[cricket::kCodecParamMinBitrate] = "10"; + codecs[0].params[cricket::kCodecParamMaxBitrate] = "20"; + codecs[0].params[cricket::kCodecParamStartBitrate] = "14"; + EXPECT_TRUE(channel_->SetSendCodecs(codecs)); + + VerifyVP8SendCodec( + channel_num, kVP8Codec.width, kVP8Codec.height, 0, 20, 10, 14); + + cricket::VideoCodec codec; + EXPECT_TRUE(channel_->GetSendCodec(&codec)); + EXPECT_EQ("10", codec.params[cricket::kCodecParamMinBitrate]); + EXPECT_EQ("20", codec.params[cricket::kCodecParamMaxBitrate]); + EXPECT_EQ("14", codec.params[cricket::kCodecParamStartBitrate]); +} + TEST_F(WebRtcVideoEngineTestFake, SetSendCodecsWithMinMaxBitrateInvalid) { EXPECT_TRUE(SetupEngine()); std::vector codecs(engine_.codecs());