diff options
Diffstat (limited to 'cast/streaming/sender_session_unittest.cc')
-rw-r--r-- | cast/streaming/sender_session_unittest.cc | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/cast/streaming/sender_session_unittest.cc b/cast/streaming/sender_session_unittest.cc index 5a90bee0..7fd428be 100644 --- a/cast/streaming/sender_session_unittest.cc +++ b/cast/streaming/sender_session_unittest.cc @@ -190,6 +190,25 @@ TEST_F(SenderSessionTest, ComplainsIfMissingResolutions) { Error(Error::Code::kParameterInvalid, "Invalid configs provided.")); } +TEST_F(SenderSessionTest, SendsOfferWithZeroBitrateOptions) { + VideoCaptureConfig video_config = kVideoCaptureConfigValid; + video_config.max_bit_rate = 0; + AudioCaptureConfig audio_config = kAudioCaptureConfigValid; + audio_config.bit_rate = 0; + + const Error error = + session_->Negotiate(std::vector<AudioCaptureConfig>{audio_config}, + std::vector<VideoCaptureConfig>{video_config}); + EXPECT_TRUE(error.ok()); + + const auto& messages = message_port_->posted_messages(); + ASSERT_EQ(1u, messages.size()); + auto message_body = json::Parse(messages[0]); + ASSERT_TRUE(message_body.is_value()); + const Json::Value offer = std::move(message_body.value()); + EXPECT_EQ("OFFER", offer["type"].asString()); +} + TEST_F(SenderSessionTest, SendsOfferWithSimpleVideoOnly) { const Error error = session_->Negotiate( std::vector<AudioCaptureConfig>{}, |