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 |