Index: webrtc/modules/rtp_rtcp/source/rtcp_format_remb_unittest.cc |
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_format_remb_unittest.cc b/webrtc/modules/rtp_rtcp/source/rtcp_format_remb_unittest.cc |
index 0e0d7f529167a030ddf8cba2e766ef7899deffa3..9e40846c128790e355703cb2973311f046f09c3f 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtcp_format_remb_unittest.cc |
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_format_remb_unittest.cc |
@@ -17,15 +17,16 @@ |
#include "webrtc/modules/remote_bitrate_estimator/include/bwe_defines.h" |
#include "webrtc/modules/remote_bitrate_estimator/include/mock/mock_remote_bitrate_observer.h" |
#include "webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h" |
+#include "webrtc/modules/rtp_rtcp/mocks/mock_rtcp_observers.h" |
#include "webrtc/modules/rtp_rtcp/source/rtcp_receiver.h" |
#include "webrtc/modules/rtp_rtcp/source/rtcp_sender.h" |
#include "webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.h" |
-#include "webrtc/modules/rtp_rtcp/source/rtp_utility.h" |
#include "webrtc/test/null_transport.h" |
#include "webrtc/typedefs.h" |
namespace webrtc { |
namespace { |
+using ::testing::_; |
class TestTransport : public Transport { |
public: |
@@ -37,19 +38,8 @@ class TestTransport : public Transport { |
const PacketOptions& options) override { |
return false; |
} |
- bool SendRtcp(const uint8_t* packet, size_t packetLength) override { |
- RTCPUtility::RTCPParserV2 rtcpParser(packet, packetLength, |
- true); // Allow non-compound RTCP |
- |
- EXPECT_TRUE(rtcpParser.IsValid()); |
- RTCPHelp::RTCPPacketInformation rtcpPacketInformation; |
- EXPECT_EQ(0, rtcp_receiver_->IncomingRTCPPacket(rtcpPacketInformation, |
- &rtcpParser)); |
- |
- EXPECT_EQ((uint32_t)kRtcpRemb, |
- rtcpPacketInformation.rtcpPacketTypeFlags & kRtcpRemb); |
- EXPECT_EQ((uint32_t)1234, |
- rtcpPacketInformation.receiverEstimatedMaxBitrate); |
+ bool SendRtcp(const uint8_t* packet, size_t packet_size) override { |
+ EXPECT_TRUE(rtcp_receiver_->IncomingPacket(packet, packet_size)); |
return true; |
} |
@@ -84,6 +74,7 @@ class RtcpFormatRembTest : public ::testing::Test { |
TestTransport* test_transport_; |
test::NullTransport null_transport_; |
MockRemoteBitrateObserver remote_bitrate_observer_; |
+ MockRtcpBandwidthObserver test_bitrate_observer_; |
std::unique_ptr<RemoteBitrateEstimator> remote_bitrate_estimator_; |
RateLimiter retransmission_rate_limiter_; |
}; |
@@ -96,8 +87,9 @@ void RtcpFormatRembTest::SetUp() { |
configuration.outgoing_transport = &null_transport_; |
configuration.retransmission_rate_limiter = &retransmission_rate_limiter_; |
dummy_rtp_rtcp_impl_ = new ModuleRtpRtcpImpl(configuration); |
- rtcp_receiver_ = new RTCPReceiver(system_clock_, false, nullptr, nullptr, |
- nullptr, nullptr, dummy_rtp_rtcp_impl_); |
+ rtcp_receiver_ = |
+ new RTCPReceiver(system_clock_, false, nullptr, &test_bitrate_observer_, |
+ nullptr, nullptr, dummy_rtp_rtcp_impl_); |
test_transport_ = new TestTransport(rtcp_receiver_); |
rtcp_sender_ = new RTCPSender(false, system_clock_, receive_statistics_.get(), |
nullptr, nullptr, test_transport_); |
@@ -124,6 +116,9 @@ TEST_F(RtcpFormatRembTest, TestNonCompund) { |
rtcp_sender_->SetREMBData(1234, std::vector<uint32_t>(1, SSRC)); |
RTCPSender::FeedbackState feedback_state = |
dummy_rtp_rtcp_impl_->GetFeedbackState(); |
+ EXPECT_CALL(test_bitrate_observer_, OnReceivedRtcpReceiverReport(_, _, _)) |
+ .Times(0); |
+ EXPECT_CALL(test_bitrate_observer_, OnReceivedEstimatedBitrate(1234)); |
EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state, kRtcpRemb)); |
} |
@@ -133,6 +128,8 @@ TEST_F(RtcpFormatRembTest, TestCompund) { |
rtcp_sender_->SetREMBData(1234, std::vector<uint32_t>(SSRCs, SSRCs + 2)); |
RTCPSender::FeedbackState feedback_state = |
dummy_rtp_rtcp_impl_->GetFeedbackState(); |
+ EXPECT_CALL(test_bitrate_observer_, OnReceivedRtcpReceiverReport(_, _, _)); |
+ EXPECT_CALL(test_bitrate_observer_, OnReceivedEstimatedBitrate(1234)); |
EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state, kRtcpRemb)); |
} |
} // namespace |