| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 200 for (size_t i = 0; i < packets.size(); ++i) { | 200 for (size_t i = 0; i < packets.size(); ++i) { |
| 201 std::unique_ptr<rtcp::TransportFeedback> feedback( | 201 std::unique_ptr<rtcp::TransportFeedback> feedback( |
| 202 new rtcp::TransportFeedback()); | 202 new rtcp::TransportFeedback()); |
| 203 feedback->WithBase(packets[i].sequence_number, | 203 feedback->WithBase(packets[i].sequence_number, |
| 204 packets[i].arrival_time_ms * 1000); | 204 packets[i].arrival_time_ms * 1000); |
| 205 | 205 |
| 206 EXPECT_TRUE(feedback->WithReceivedPacket( | 206 EXPECT_TRUE(feedback->WithReceivedPacket( |
| 207 packets[i].sequence_number, packets[i].arrival_time_ms * 1000)); | 207 packets[i].sequence_number, packets[i].arrival_time_ms * 1000)); |
| 208 | 208 |
| 209 rtc::Buffer raw_packet = feedback->Build(); | 209 rtc::Buffer raw_packet = feedback->Build(); |
| 210 feedback = rtc::ScopedToUnique(rtcp::TransportFeedback::ParseFrom( | 210 feedback = rtcp::TransportFeedback::ParseFrom(raw_packet.data(), |
| 211 raw_packet.data(), raw_packet.size())); | 211 raw_packet.size()); |
| 212 | 212 |
| 213 std::vector<PacketInfo> expected_packets; | 213 std::vector<PacketInfo> expected_packets; |
| 214 expected_packets.push_back(packets[i]); | 214 expected_packets.push_back(packets[i]); |
| 215 | 215 |
| 216 EXPECT_CALL(*bitrate_estimator_, IncomingPacketFeedbackVector(_)) | 216 EXPECT_CALL(*bitrate_estimator_, IncomingPacketFeedbackVector(_)) |
| 217 .Times(1) | 217 .Times(1) |
| 218 .WillOnce(Invoke([expected_packets, this]( | 218 .WillOnce(Invoke([expected_packets, this]( |
| 219 const std::vector<PacketInfo>& feedback_vector) { | 219 const std::vector<PacketInfo>& feedback_vector) { |
| 220 ComparePacketVectors(expected_packets, feedback_vector); | 220 ComparePacketVectors(expected_packets, feedback_vector); |
| 221 })); | 221 })); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 269 sent_packets[0].arrival_time_ms * 1000); | 269 sent_packets[0].arrival_time_ms * 1000); |
| 270 | 270 |
| 271 for (const PacketInfo& packet : sent_packets) { | 271 for (const PacketInfo& packet : sent_packets) { |
| 272 EXPECT_TRUE(feedback->WithReceivedPacket(packet.sequence_number, | 272 EXPECT_TRUE(feedback->WithReceivedPacket(packet.sequence_number, |
| 273 packet.arrival_time_ms * 1000)); | 273 packet.arrival_time_ms * 1000)); |
| 274 } | 274 } |
| 275 EXPECT_FALSE(feedback->WithReceivedPacket(info.sequence_number, | 275 EXPECT_FALSE(feedback->WithReceivedPacket(info.sequence_number, |
| 276 info.arrival_time_ms * 1000)); | 276 info.arrival_time_ms * 1000)); |
| 277 | 277 |
| 278 rtc::Buffer raw_packet = feedback->Build(); | 278 rtc::Buffer raw_packet = feedback->Build(); |
| 279 feedback = rtc::ScopedToUnique( | 279 feedback = |
| 280 rtcp::TransportFeedback::ParseFrom(raw_packet.data(), raw_packet.size())); | 280 rtcp::TransportFeedback::ParseFrom(raw_packet.data(), raw_packet.size()); |
| 281 | 281 |
| 282 std::vector<PacketInfo> received_feedback; | 282 std::vector<PacketInfo> received_feedback; |
| 283 | 283 |
| 284 EXPECT_TRUE(feedback.get() != nullptr); | 284 EXPECT_TRUE(feedback.get() != nullptr); |
| 285 EXPECT_CALL(*bitrate_estimator_, IncomingPacketFeedbackVector(_)) | 285 EXPECT_CALL(*bitrate_estimator_, IncomingPacketFeedbackVector(_)) |
| 286 .Times(1) | 286 .Times(1) |
| 287 .WillOnce(Invoke([sent_packets, &received_feedback]( | 287 .WillOnce(Invoke([sent_packets, &received_feedback]( |
| 288 const std::vector<PacketInfo>& feedback_vector) { | 288 const std::vector<PacketInfo>& feedback_vector) { |
| 289 EXPECT_EQ(sent_packets.size(), feedback_vector.size()); | 289 EXPECT_EQ(sent_packets.size(), feedback_vector.size()); |
| 290 received_feedback = feedback_vector; | 290 received_feedback = feedback_vector; |
| 291 })); | 291 })); |
| 292 adapter_->OnTransportFeedback(*feedback.get()); | 292 adapter_->OnTransportFeedback(*feedback.get()); |
| 293 | 293 |
| 294 // Create a new feedback message and add the trailing item. | 294 // Create a new feedback message and add the trailing item. |
| 295 feedback.reset(new rtcp::TransportFeedback()); | 295 feedback.reset(new rtcp::TransportFeedback()); |
| 296 feedback->WithBase(info.sequence_number, info.arrival_time_ms * 1000); | 296 feedback->WithBase(info.sequence_number, info.arrival_time_ms * 1000); |
| 297 EXPECT_TRUE(feedback->WithReceivedPacket(info.sequence_number, | 297 EXPECT_TRUE(feedback->WithReceivedPacket(info.sequence_number, |
| 298 info.arrival_time_ms * 1000)); | 298 info.arrival_time_ms * 1000)); |
| 299 raw_packet = feedback->Build(); | 299 raw_packet = feedback->Build(); |
| 300 feedback = rtc::ScopedToUnique( | 300 feedback = |
| 301 rtcp::TransportFeedback::ParseFrom(raw_packet.data(), raw_packet.size())); | 301 rtcp::TransportFeedback::ParseFrom(raw_packet.data(), raw_packet.size()); |
| 302 | 302 |
| 303 EXPECT_TRUE(feedback.get() != nullptr); | 303 EXPECT_TRUE(feedback.get() != nullptr); |
| 304 EXPECT_CALL(*bitrate_estimator_, IncomingPacketFeedbackVector(_)) | 304 EXPECT_CALL(*bitrate_estimator_, IncomingPacketFeedbackVector(_)) |
| 305 .Times(1) | 305 .Times(1) |
| 306 .WillOnce(Invoke( | 306 .WillOnce(Invoke( |
| 307 [&received_feedback](const std::vector<PacketInfo>& feedback_vector) { | 307 [&received_feedback](const std::vector<PacketInfo>& feedback_vector) { |
| 308 EXPECT_EQ(1u, feedback_vector.size()); | 308 EXPECT_EQ(1u, feedback_vector.size()); |
| 309 received_feedback.push_back(feedback_vector[0]); | 309 received_feedback.push_back(feedback_vector[0]); |
| 310 })); | 310 })); |
| 311 adapter_->OnTransportFeedback(*feedback.get()); | 311 adapter_->OnTransportFeedback(*feedback.get()); |
| 312 | 312 |
| 313 sent_packets.push_back(info); | 313 sent_packets.push_back(info); |
| 314 | 314 |
| 315 ComparePacketVectors(sent_packets, received_feedback); | 315 ComparePacketVectors(sent_packets, received_feedback); |
| 316 } | 316 } |
| 317 | 317 |
| 318 } // namespace test | 318 } // namespace test |
| 319 } // namespace webrtc | 319 } // namespace webrtc |
| OLD | NEW |