diff --git a/webrtc/video_engine/test/auto_test/source/vie_autotest_codec.cc b/webrtc/video_engine/test/auto_test/source/vie_autotest_codec.cc index d806b47b4c..93738c2a17 100644 --- a/webrtc/video_engine/test/auto_test/source/vie_autotest_codec.cc +++ b/webrtc/video_engine/test/auto_test/source/vie_autotest_codec.cc @@ -510,6 +510,13 @@ void ViEAutoTest::ViECodecAPITest() { break; } } + const unsigned int kMinBitrate = 123; + video_codec.minBitrate = kMinBitrate; + video_codec.startBitrate = 50; + EXPECT_EQ(0, codec->SetSendCodec(video_channel, video_codec)); + EXPECT_EQ(0, codec->GetSendCodec(video_channel, video_codec)); + EXPECT_EQ(kMinBitrate, video_codec.startBitrate); + memset(&video_codec, 0, sizeof(video_codec)); EXPECT_EQ(0, codec->GetSendCodec(video_channel, video_codec)); EXPECT_EQ(webrtc::kVideoCodecVP8, video_codec.codecType); diff --git a/webrtc/video_engine/vie_codec_impl.cc b/webrtc/video_engine/vie_codec_impl.cc index 9ea3c9c09a..3ba56de54d 100644 --- a/webrtc/video_engine/vie_codec_impl.cc +++ b/webrtc/video_engine/vie_codec_impl.cc @@ -169,6 +169,9 @@ int ViECodecImpl::SetSendCodec(const int video_channel, LOG(LS_INFO) << "New max bitrate set " << video_codec_internal.maxBitrate; } + if (video_codec_internal.startBitrate < video_codec_internal.minBitrate) { + video_codec_internal.startBitrate = video_codec_internal.minBitrate; + } if (video_codec_internal.startBitrate > video_codec_internal.maxBitrate) { video_codec_internal.startBitrate = video_codec_internal.maxBitrate; }