| Index: webrtc/modules/remote_bitrate_estimator/remote_estimator_proxy_unittest.cc | 
| diff --git a/webrtc/modules/remote_bitrate_estimator/remote_estimator_proxy_unittest.cc b/webrtc/modules/remote_bitrate_estimator/remote_estimator_proxy_unittest.cc | 
| index a1264b2ff95e3ab469ad893cc71ade7980a48380..62dd2c3956eec857fddad54d511c9faa384fbe32 100644 | 
| --- a/webrtc/modules/remote_bitrate_estimator/remote_estimator_proxy_unittest.cc | 
| +++ b/webrtc/modules/remote_bitrate_estimator/remote_estimator_proxy_unittest.cc | 
| @@ -19,6 +19,7 @@ | 
| using ::testing::_; | 
| using ::testing::InSequence; | 
| using ::testing::Invoke; | 
| +using ::testing::Return; | 
|  | 
| namespace webrtc { | 
|  | 
| @@ -107,6 +108,40 @@ TEST_F(RemoteEstimatorProxyTest, DuplicatedPackets) { | 
| Process(); | 
| } | 
|  | 
| +TEST_F(RemoteEstimatorProxyTest, FeedbackWithMissingStart) { | 
| +  // First feedback. | 
| +  IncomingPacket(kBaseSeq, kBaseTimeMs); | 
| +  IncomingPacket(kBaseSeq + 1, kBaseTimeMs + 1000); | 
| +  EXPECT_CALL(router_, SendFeedback(_)).Times(1).WillOnce(Return(true)); | 
| +  Process(); | 
| + | 
| +  // Second feedback starts with a missing packet (DROP kBaseSeq + 2). | 
| +  IncomingPacket(kBaseSeq + 3, kBaseTimeMs + 3000); | 
| + | 
| +  EXPECT_CALL(router_, SendFeedback(_)) | 
| +      .Times(1) | 
| +      .WillOnce(Invoke([this](rtcp::TransportFeedback* packet) { | 
| +        packet->Build(); | 
| +        EXPECT_EQ(kBaseSeq + 2, packet->GetBaseSequence()); | 
| +        EXPECT_EQ(kMediaSsrc, packet->GetMediaSourceSsrc()); | 
| + | 
| +        std::vector<rtcp::TransportFeedback::StatusSymbol> status_vec = | 
| +            packet->GetStatusVector(); | 
| +        EXPECT_EQ(2u, status_vec.size()); | 
| +        EXPECT_EQ(rtcp::TransportFeedback::StatusSymbol::kNotReceived, | 
| +                  status_vec[0]); | 
| +        EXPECT_EQ(rtcp::TransportFeedback::StatusSymbol::kReceivedSmallDelta, | 
| +                  status_vec[1]); | 
| +        std::vector<int64_t> delta_vec = packet->GetReceiveDeltasUs(); | 
| +        EXPECT_EQ(1u, delta_vec.size()); | 
| +        EXPECT_EQ(kBaseTimeMs + 3000, | 
| +                  (packet->GetBaseTimeUs() + delta_vec[0]) / 1000); | 
| +        return true; | 
| +      })); | 
| + | 
| +  Process(); | 
| +} | 
| + | 
| TEST_F(RemoteEstimatorProxyTest, SendsFeedbackWithVaryingDeltas) { | 
| IncomingPacket(kBaseSeq, kBaseTimeMs); | 
| IncomingPacket(kBaseSeq + 1, kBaseTimeMs + kMaxSmallDeltaMs); | 
|  |