Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(240)

Side by Side Diff: webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl_unittest.cc

Issue 1491843004: [rtp_rtcp] RTT intermidiate calculation use ntp time instead of milliseconds. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 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 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 clock_.AdvanceTimeMilliseconds(1000); 302 clock_.AdvanceTimeMilliseconds(1000);
303 EXPECT_EQ(0, receiver_.impl_->SendRTCP(kRtcpReport)); 303 EXPECT_EQ(0, receiver_.impl_->SendRTCP(kRtcpReport));
304 304
305 // Verify RTT. 305 // Verify RTT.
306 int64_t rtt; 306 int64_t rtt;
307 int64_t avg_rtt; 307 int64_t avg_rtt;
308 int64_t min_rtt; 308 int64_t min_rtt;
309 int64_t max_rtt; 309 int64_t max_rtt;
310 EXPECT_EQ(0, 310 EXPECT_EQ(0,
311 sender_.impl_->RTT(kReceiverSsrc, &rtt, &avg_rtt, &min_rtt, &max_rtt)); 311 sender_.impl_->RTT(kReceiverSsrc, &rtt, &avg_rtt, &min_rtt, &max_rtt));
312 EXPECT_EQ(2 * kOneWayNetworkDelayMs, rtt); 312 EXPECT_NEAR(2 * kOneWayNetworkDelayMs, rtt, 1);
313 EXPECT_EQ(2 * kOneWayNetworkDelayMs, avg_rtt); 313 EXPECT_NEAR(2 * kOneWayNetworkDelayMs, avg_rtt, 1);
314 EXPECT_EQ(2 * kOneWayNetworkDelayMs, min_rtt); 314 EXPECT_NEAR(2 * kOneWayNetworkDelayMs, min_rtt, 1);
315 EXPECT_EQ(2 * kOneWayNetworkDelayMs, max_rtt); 315 EXPECT_NEAR(2 * kOneWayNetworkDelayMs, max_rtt, 1);
316 316
317 // No RTT from other ssrc. 317 // No RTT from other ssrc.
318 EXPECT_EQ(-1, 318 EXPECT_EQ(-1,
319 sender_.impl_->RTT(kReceiverSsrc+1, &rtt, &avg_rtt, &min_rtt, &max_rtt)); 319 sender_.impl_->RTT(kReceiverSsrc+1, &rtt, &avg_rtt, &min_rtt, &max_rtt));
320 320
321 // Verify RTT from rtt_stats config. 321 // Verify RTT from rtt_stats config.
322 EXPECT_EQ(0, sender_.rtt_stats_.LastProcessedRtt()); 322 EXPECT_EQ(0, sender_.rtt_stats_.LastProcessedRtt());
323 EXPECT_EQ(0, sender_.impl_->rtt_ms()); 323 EXPECT_EQ(0, sender_.impl_->rtt_ms());
324 sender_.impl_->Process(); 324 sender_.impl_->Process();
325 EXPECT_EQ(2 * kOneWayNetworkDelayMs, sender_.rtt_stats_.LastProcessedRtt()); 325 EXPECT_NEAR(2 * kOneWayNetworkDelayMs, sender_.rtt_stats_.LastProcessedRtt(),
326 EXPECT_EQ(2 * kOneWayNetworkDelayMs, sender_.impl_->rtt_ms()); 326 1);
327 EXPECT_NEAR(2 * kOneWayNetworkDelayMs, sender_.impl_->rtt_ms(), 1);
327 } 328 }
328 329
329 TEST_F(RtpRtcpImplTest, SetRtcpXrRrtrStatus) { 330 TEST_F(RtpRtcpImplTest, SetRtcpXrRrtrStatus) {
330 EXPECT_FALSE(receiver_.impl_->RtcpXrRrtrStatus()); 331 EXPECT_FALSE(receiver_.impl_->RtcpXrRrtrStatus());
331 receiver_.impl_->SetRtcpXrRrtrStatus(true); 332 receiver_.impl_->SetRtcpXrRrtrStatus(true);
332 EXPECT_TRUE(receiver_.impl_->RtcpXrRrtrStatus()); 333 EXPECT_TRUE(receiver_.impl_->RtcpXrRrtrStatus());
333 } 334 }
334 335
335 TEST_F(RtpRtcpImplTest, RttForReceiverOnly) { 336 TEST_F(RtpRtcpImplTest, RttForReceiverOnly) {
336 receiver_.impl_->SetRtcpXrRrtrStatus(true); 337 receiver_.impl_->SetRtcpXrRrtrStatus(true);
337 338
338 // Receiver module should send a Receiver time reference report (RTRR). 339 // Receiver module should send a Receiver time reference report (RTRR).
339 EXPECT_EQ(0, receiver_.impl_->SendRTCP(kRtcpReport)); 340 EXPECT_EQ(0, receiver_.impl_->SendRTCP(kRtcpReport));
340 341
341 // Sender module should send a response to the last received RTRR (DLRR). 342 // Sender module should send a response to the last received RTRR (DLRR).
342 clock_.AdvanceTimeMilliseconds(1000); 343 clock_.AdvanceTimeMilliseconds(1000);
343 EXPECT_EQ(0, sender_.impl_->SendRTCP(kRtcpReport)); 344 EXPECT_EQ(0, sender_.impl_->SendRTCP(kRtcpReport));
344 345
345 // Verify RTT. 346 // Verify RTT.
346 EXPECT_EQ(0, receiver_.rtt_stats_.LastProcessedRtt()); 347 EXPECT_EQ(0, receiver_.rtt_stats_.LastProcessedRtt());
347 EXPECT_EQ(0, receiver_.impl_->rtt_ms()); 348 EXPECT_EQ(0, receiver_.impl_->rtt_ms());
348 receiver_.impl_->Process(); 349 receiver_.impl_->Process();
349 EXPECT_EQ(2 * kOneWayNetworkDelayMs, receiver_.rtt_stats_.LastProcessedRtt()); 350 EXPECT_NEAR(2 * kOneWayNetworkDelayMs,
350 EXPECT_EQ(2 * kOneWayNetworkDelayMs, receiver_.impl_->rtt_ms()); 351 receiver_.rtt_stats_.LastProcessedRtt(), 1);
352 EXPECT_NEAR(2 * kOneWayNetworkDelayMs, receiver_.impl_->rtt_ms(), 1);
351 } 353 }
352 354
353 TEST_F(RtpRtcpImplTest, NoSrBeforeMedia) { 355 TEST_F(RtpRtcpImplTest, NoSrBeforeMedia) {
354 // Ignore fake transport delays in this test. 356 // Ignore fake transport delays in this test.
355 sender_.transport_.SimulateNetworkDelay(0, &clock_); 357 sender_.transport_.SimulateNetworkDelay(0, &clock_);
356 receiver_.transport_.SimulateNetworkDelay(0, &clock_); 358 receiver_.transport_.SimulateNetworkDelay(0, &clock_);
357 359
358 sender_.impl_->Process(); 360 sender_.impl_->Process();
359 EXPECT_EQ(-1, sender_.RtcpSent().first_packet_time_ms); 361 EXPECT_EQ(-1, sender_.RtcpSent().first_packet_time_ms);
360 362
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
541 EXPECT_EQ(6U, receiver_.RtcpSent().unique_nack_requests); 543 EXPECT_EQ(6U, receiver_.RtcpSent().unique_nack_requests);
542 EXPECT_THAT(receiver_.LastNackListSent(), ElementsAre(11, 18, 20, 21)); 544 EXPECT_THAT(receiver_.LastNackListSent(), ElementsAre(11, 18, 20, 21));
543 545
544 // Send module receives the request. 546 // Send module receives the request.
545 EXPECT_EQ(2U, sender_.RtcpReceived().nack_packets); 547 EXPECT_EQ(2U, sender_.RtcpReceived().nack_packets);
546 EXPECT_EQ(8U, sender_.RtcpReceived().nack_requests); 548 EXPECT_EQ(8U, sender_.RtcpReceived().nack_requests);
547 EXPECT_EQ(6U, sender_.RtcpReceived().unique_nack_requests); 549 EXPECT_EQ(6U, sender_.RtcpReceived().unique_nack_requests);
548 EXPECT_EQ(75, sender_.RtcpReceived().UniqueNackRequestsInPercent()); 550 EXPECT_EQ(75, sender_.RtcpReceived().UniqueNackRequestsInPercent());
549 } 551 }
550 } // namespace webrtc 552 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc ('k') | webrtc/modules/rtp_rtcp/source/time_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698