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 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 | 204 |
205 for (size_t i = 0; i < packets.size(); ++i) { | 205 for (size_t i = 0; i < packets.size(); ++i) { |
206 rtc::scoped_ptr<rtcp::TransportFeedback> feedback( | 206 rtc::scoped_ptr<rtcp::TransportFeedback> feedback( |
207 new rtcp::TransportFeedback()); | 207 new rtcp::TransportFeedback()); |
208 feedback->WithBase(packets[i].sequence_number, | 208 feedback->WithBase(packets[i].sequence_number, |
209 packets[i].arrival_time_ms * 1000); | 209 packets[i].arrival_time_ms * 1000); |
210 | 210 |
211 EXPECT_TRUE(feedback->WithReceivedPacket( | 211 EXPECT_TRUE(feedback->WithReceivedPacket( |
212 packets[i].sequence_number, packets[i].arrival_time_ms * 1000)); | 212 packets[i].sequence_number, packets[i].arrival_time_ms * 1000)); |
213 | 213 |
214 rtc::scoped_ptr<rtcp::RawPacket> raw_packet = feedback->Build(); | 214 rtc::Buffer raw_packet = feedback->Build(); |
215 feedback = rtcp::TransportFeedback::ParseFrom(raw_packet->Buffer(), | 215 feedback = rtcp::TransportFeedback::ParseFrom(raw_packet.data(), |
216 raw_packet->Length()); | 216 raw_packet.size()); |
217 | 217 |
218 std::vector<PacketInfo> expected_packets; | 218 std::vector<PacketInfo> expected_packets; |
219 expected_packets.push_back(packets[i]); | 219 expected_packets.push_back(packets[i]); |
220 | 220 |
221 EXPECT_CALL(*bitrate_estimator_, IncomingPacketFeedbackVector(_)) | 221 EXPECT_CALL(*bitrate_estimator_, IncomingPacketFeedbackVector(_)) |
222 .Times(1) | 222 .Times(1) |
223 .WillOnce(Invoke([expected_packets, this]( | 223 .WillOnce(Invoke([expected_packets, this]( |
224 const std::vector<PacketInfo>& feedback_vector) { | 224 const std::vector<PacketInfo>& feedback_vector) { |
225 ComparePacketVectors(expected_packets, feedback_vector); | 225 ComparePacketVectors(expected_packets, feedback_vector); |
226 })); | 226 })); |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
273 feedback->WithBase(sent_packets[0].sequence_number, | 273 feedback->WithBase(sent_packets[0].sequence_number, |
274 sent_packets[0].arrival_time_ms * 1000); | 274 sent_packets[0].arrival_time_ms * 1000); |
275 | 275 |
276 for (const PacketInfo& packet : sent_packets) { | 276 for (const PacketInfo& packet : sent_packets) { |
277 EXPECT_TRUE(feedback->WithReceivedPacket(packet.sequence_number, | 277 EXPECT_TRUE(feedback->WithReceivedPacket(packet.sequence_number, |
278 packet.arrival_time_ms * 1000)); | 278 packet.arrival_time_ms * 1000)); |
279 } | 279 } |
280 EXPECT_FALSE(feedback->WithReceivedPacket(info.sequence_number, | 280 EXPECT_FALSE(feedback->WithReceivedPacket(info.sequence_number, |
281 info.arrival_time_ms * 1000)); | 281 info.arrival_time_ms * 1000)); |
282 | 282 |
283 rtc::scoped_ptr<rtcp::RawPacket> raw_packet = feedback->Build(); | 283 rtc::Buffer raw_packet = feedback->Build(); |
284 feedback = rtcp::TransportFeedback::ParseFrom(raw_packet->Buffer(), | 284 feedback = rtcp::TransportFeedback::ParseFrom(raw_packet.data(), |
285 raw_packet->Length()); | 285 raw_packet.size()); |
286 | 286 |
287 std::vector<PacketInfo> received_feedback; | 287 std::vector<PacketInfo> received_feedback; |
288 | 288 |
289 EXPECT_TRUE(feedback.get() != nullptr); | 289 EXPECT_TRUE(feedback.get() != nullptr); |
290 EXPECT_CALL(*bitrate_estimator_, IncomingPacketFeedbackVector(_)) | 290 EXPECT_CALL(*bitrate_estimator_, IncomingPacketFeedbackVector(_)) |
291 .Times(1) | 291 .Times(1) |
292 .WillOnce(Invoke([sent_packets, &received_feedback]( | 292 .WillOnce(Invoke([sent_packets, &received_feedback]( |
293 const std::vector<PacketInfo>& feedback_vector) { | 293 const std::vector<PacketInfo>& feedback_vector) { |
294 EXPECT_EQ(sent_packets.size(), feedback_vector.size()); | 294 EXPECT_EQ(sent_packets.size(), feedback_vector.size()); |
295 received_feedback = feedback_vector; | 295 received_feedback = feedback_vector; |
296 })); | 296 })); |
297 adapter_->OnTransportFeedback(*feedback.get()); | 297 adapter_->OnTransportFeedback(*feedback.get()); |
298 | 298 |
299 // Create a new feedback message and add the trailing item. | 299 // Create a new feedback message and add the trailing item. |
300 feedback.reset(new rtcp::TransportFeedback()); | 300 feedback.reset(new rtcp::TransportFeedback()); |
301 feedback->WithBase(info.sequence_number, info.arrival_time_ms * 1000); | 301 feedback->WithBase(info.sequence_number, info.arrival_time_ms * 1000); |
302 EXPECT_TRUE(feedback->WithReceivedPacket(info.sequence_number, | 302 EXPECT_TRUE(feedback->WithReceivedPacket(info.sequence_number, |
303 info.arrival_time_ms * 1000)); | 303 info.arrival_time_ms * 1000)); |
304 raw_packet = feedback->Build(); | 304 raw_packet = feedback->Build(); |
305 feedback = rtcp::TransportFeedback::ParseFrom(raw_packet->Buffer(), | 305 feedback = rtcp::TransportFeedback::ParseFrom(raw_packet.data(), |
306 raw_packet->Length()); | 306 raw_packet.size()); |
307 | 307 |
308 EXPECT_TRUE(feedback.get() != nullptr); | 308 EXPECT_TRUE(feedback.get() != nullptr); |
309 EXPECT_CALL(*bitrate_estimator_, IncomingPacketFeedbackVector(_)) | 309 EXPECT_CALL(*bitrate_estimator_, IncomingPacketFeedbackVector(_)) |
310 .Times(1) | 310 .Times(1) |
311 .WillOnce(Invoke( | 311 .WillOnce(Invoke( |
312 [&received_feedback](const std::vector<PacketInfo>& feedback_vector) { | 312 [&received_feedback](const std::vector<PacketInfo>& feedback_vector) { |
313 EXPECT_EQ(1u, feedback_vector.size()); | 313 EXPECT_EQ(1u, feedback_vector.size()); |
314 received_feedback.push_back(feedback_vector[0]); | 314 received_feedback.push_back(feedback_vector[0]); |
315 })); | 315 })); |
316 adapter_->OnTransportFeedback(*feedback.get()); | 316 adapter_->OnTransportFeedback(*feedback.get()); |
317 | 317 |
318 sent_packets.push_back(info); | 318 sent_packets.push_back(info); |
319 | 319 |
320 ComparePacketVectors(sent_packets, received_feedback); | 320 ComparePacketVectors(sent_packets, received_feedback); |
321 } | 321 } |
322 | 322 |
323 } // namespace test | 323 } // namespace test |
324 } // namespace webrtc | 324 } // namespace webrtc |
OLD | NEW |