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

Side by Side Diff: webrtc/video/video_send_stream_tests.cc

Issue 1571283002: Fixes a bug which incorrectly logs incoming RTCP as outgoing. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebase Created 4 years, 11 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
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc ('k') | webrtc/voice_engine/channel.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include <algorithm> // max 10 #include <algorithm> // max
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 RTPHeader header; 323 RTPHeader header;
324 EXPECT_TRUE(parser_->Parse(packet, length, &header)); 324 EXPECT_TRUE(parser_->Parse(packet, length, &header));
325 325
326 // Send lossy receive reports to trigger FEC enabling. 326 // Send lossy receive reports to trigger FEC enabling.
327 if (send_count_++ % 2 != 0) { 327 if (send_count_++ % 2 != 0) {
328 // Receive statistics reporting having lost 50% of the packets. 328 // Receive statistics reporting having lost 50% of the packets.
329 FakeReceiveStatistics lossy_receive_stats( 329 FakeReceiveStatistics lossy_receive_stats(
330 VideoSendStreamTest::kVideoSendSsrcs[0], header.sequenceNumber, 330 VideoSendStreamTest::kVideoSendSsrcs[0], header.sequenceNumber,
331 send_count_ / 2, 127); 331 send_count_ / 2, 127);
332 RTCPSender rtcp_sender(false, Clock::GetRealTimeClock(), 332 RTCPSender rtcp_sender(false, Clock::GetRealTimeClock(),
333 &lossy_receive_stats, nullptr, 333 &lossy_receive_stats, nullptr, nullptr,
334 transport_adapter_.get()); 334 transport_adapter_.get());
335 335
336 rtcp_sender.SetRTCPStatus(RtcpMode::kReducedSize); 336 rtcp_sender.SetRTCPStatus(RtcpMode::kReducedSize);
337 rtcp_sender.SetRemoteSSRC(VideoSendStreamTest::kVideoSendSsrcs[0]); 337 rtcp_sender.SetRemoteSSRC(VideoSendStreamTest::kVideoSendSsrcs[0]);
338 338
339 RTCPSender::FeedbackState feedback_state; 339 RTCPSender::FeedbackState feedback_state;
340 340
341 EXPECT_EQ(0, rtcp_sender.SendRTCP(feedback_state, kRtcpRr)); 341 EXPECT_EQ(0, rtcp_sender.SendRTCP(feedback_state, kRtcpRr));
342 } 342 }
343 343
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 Action OnSendRtp(const uint8_t* packet, size_t length) override { 450 Action OnSendRtp(const uint8_t* packet, size_t length) override {
451 RTPHeader header; 451 RTPHeader header;
452 EXPECT_TRUE(parser_->Parse(packet, length, &header)); 452 EXPECT_TRUE(parser_->Parse(packet, length, &header));
453 453
454 // Nack second packet after receiving the third one. 454 // Nack second packet after receiving the third one.
455 if (++send_count_ == 3) { 455 if (++send_count_ == 3) {
456 uint16_t nack_sequence_number = header.sequenceNumber - 1; 456 uint16_t nack_sequence_number = header.sequenceNumber - 1;
457 nacked_sequence_number_ = nack_sequence_number; 457 nacked_sequence_number_ = nack_sequence_number;
458 NullReceiveStatistics null_stats; 458 NullReceiveStatistics null_stats;
459 RTCPSender rtcp_sender(false, Clock::GetRealTimeClock(), &null_stats, 459 RTCPSender rtcp_sender(false, Clock::GetRealTimeClock(), &null_stats,
460 nullptr, transport_adapter_.get()); 460 nullptr, nullptr, transport_adapter_.get());
461 461
462 rtcp_sender.SetRTCPStatus(RtcpMode::kReducedSize); 462 rtcp_sender.SetRTCPStatus(RtcpMode::kReducedSize);
463 rtcp_sender.SetRemoteSSRC(kVideoSendSsrcs[0]); 463 rtcp_sender.SetRemoteSSRC(kVideoSendSsrcs[0]);
464 464
465 RTCPSender::FeedbackState feedback_state; 465 RTCPSender::FeedbackState feedback_state;
466 466
467 EXPECT_EQ(0, 467 EXPECT_EQ(0,
468 rtcp_sender.SendRTCP( 468 rtcp_sender.SendRTCP(
469 feedback_state, kRtcpNack, 1, &nack_sequence_number)); 469 feedback_state, kRtcpNack, 1, &nack_sequence_number));
470 } 470 }
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 return SEND_PACKET; 637 return SEND_PACKET;
638 } 638 }
639 639
640 void TriggerLossReport(const RTPHeader& header) { 640 void TriggerLossReport(const RTPHeader& header) {
641 // Send lossy receive reports to trigger FEC enabling. 641 // Send lossy receive reports to trigger FEC enabling.
642 if (packet_count_++ % 2 != 0) { 642 if (packet_count_++ % 2 != 0) {
643 // Receive statistics reporting having lost 50% of the packets. 643 // Receive statistics reporting having lost 50% of the packets.
644 FakeReceiveStatistics lossy_receive_stats( 644 FakeReceiveStatistics lossy_receive_stats(
645 kVideoSendSsrcs[0], header.sequenceNumber, packet_count_ / 2, 127); 645 kVideoSendSsrcs[0], header.sequenceNumber, packet_count_ / 2, 127);
646 RTCPSender rtcp_sender(false, Clock::GetRealTimeClock(), 646 RTCPSender rtcp_sender(false, Clock::GetRealTimeClock(),
647 &lossy_receive_stats, nullptr, 647 &lossy_receive_stats, nullptr, nullptr,
648 transport_adapter_.get()); 648 transport_adapter_.get());
649 649
650 rtcp_sender.SetRTCPStatus(RtcpMode::kReducedSize); 650 rtcp_sender.SetRTCPStatus(RtcpMode::kReducedSize);
651 rtcp_sender.SetRemoteSSRC(kVideoSendSsrcs[0]); 651 rtcp_sender.SetRemoteSSRC(kVideoSendSsrcs[0]);
652 652
653 RTCPSender::FeedbackState feedback_state; 653 RTCPSender::FeedbackState feedback_state;
654 654
655 EXPECT_EQ(0, rtcp_sender.SendRTCP(feedback_state, kRtcpRr)); 655 EXPECT_EQ(0, rtcp_sender.SendRTCP(feedback_state, kRtcpRr));
656 } 656 }
657 } 657 }
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
860 kBeforeSuspend, 860 kBeforeSuspend,
861 kDuringSuspend, 861 kDuringSuspend,
862 kWaitingForPacket, 862 kWaitingForPacket,
863 kWaitingForStats 863 kWaitingForStats
864 }; 864 };
865 865
866 virtual void SendRtcpFeedback(int remb_value) 866 virtual void SendRtcpFeedback(int remb_value)
867 EXCLUSIVE_LOCKS_REQUIRED(crit_) { 867 EXCLUSIVE_LOCKS_REQUIRED(crit_) {
868 FakeReceiveStatistics receive_stats(kVideoSendSsrcs[0], 868 FakeReceiveStatistics receive_stats(kVideoSendSsrcs[0],
869 last_sequence_number_, rtp_count_, 0); 869 last_sequence_number_, rtp_count_, 0);
870 RTCPSender rtcp_sender(false, clock_, &receive_stats, nullptr, 870 RTCPSender rtcp_sender(false, clock_, &receive_stats, nullptr, nullptr,
871 transport_adapter_.get()); 871 transport_adapter_.get());
872 872
873 rtcp_sender.SetRTCPStatus(RtcpMode::kReducedSize); 873 rtcp_sender.SetRTCPStatus(RtcpMode::kReducedSize);
874 rtcp_sender.SetRemoteSSRC(kVideoSendSsrcs[0]); 874 rtcp_sender.SetRemoteSSRC(kVideoSendSsrcs[0]);
875 if (remb_value > 0) { 875 if (remb_value > 0) {
876 rtcp_sender.SetREMBStatus(true); 876 rtcp_sender.SetREMBStatus(true);
877 rtcp_sender.SetREMBData(remb_value, std::vector<uint32_t>()); 877 rtcp_sender.SetREMBData(remb_value, std::vector<uint32_t>());
878 } 878 }
879 RTCPSender::FeedbackState feedback_state; 879 RTCPSender::FeedbackState feedback_state;
880 EXPECT_EQ(0, rtcp_sender.SendRTCP(feedback_state, kRtcpRr)); 880 EXPECT_EQ(0, rtcp_sender.SendRTCP(feedback_state, kRtcpRr));
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
917 Action OnSendRtcp(const uint8_t* packet, size_t length) override { 917 Action OnSendRtcp(const uint8_t* packet, size_t length) override {
918 rtc::CritScope lock(&crit_); 918 rtc::CritScope lock(&crit_);
919 const int kVideoMutedThresholdMs = 10000; 919 const int kVideoMutedThresholdMs = 10000;
920 if (last_packet_time_ms_ > 0 && 920 if (last_packet_time_ms_ > 0 &&
921 clock_->TimeInMilliseconds() - last_packet_time_ms_ > 921 clock_->TimeInMilliseconds() - last_packet_time_ms_ >
922 kVideoMutedThresholdMs) 922 kVideoMutedThresholdMs)
923 observation_complete_.Set(); 923 observation_complete_.Set();
924 // Receive statistics reporting having lost 50% of the packets. 924 // Receive statistics reporting having lost 50% of the packets.
925 FakeReceiveStatistics receive_stats(kVideoSendSsrcs[0], 1, 1, 0); 925 FakeReceiveStatistics receive_stats(kVideoSendSsrcs[0], 1, 1, 0);
926 RTCPSender rtcp_sender(false, Clock::GetRealTimeClock(), &receive_stats, 926 RTCPSender rtcp_sender(false, Clock::GetRealTimeClock(), &receive_stats,
927 nullptr, transport_adapter_.get()); 927 nullptr, nullptr, transport_adapter_.get());
928 928
929 rtcp_sender.SetRTCPStatus(RtcpMode::kReducedSize); 929 rtcp_sender.SetRTCPStatus(RtcpMode::kReducedSize);
930 rtcp_sender.SetRemoteSSRC(kVideoSendSsrcs[0]); 930 rtcp_sender.SetRemoteSSRC(kVideoSendSsrcs[0]);
931 931
932 RTCPSender::FeedbackState feedback_state; 932 RTCPSender::FeedbackState feedback_state;
933 933
934 EXPECT_EQ(0, rtcp_sender.SendRTCP(feedback_state, kRtcpRr)); 934 EXPECT_EQ(0, rtcp_sender.SendRTCP(feedback_state, kRtcpRr));
935 return SEND_PACKET; 935 return SEND_PACKET;
936 } 936 }
937 937
(...skipping 1320 matching lines...) Expand 10 before | Expand all | Expand 10 after
2258 observation_complete_.Set(); 2258 observation_complete_.Set();
2259 } 2259 }
2260 } 2260 }
2261 } test; 2261 } test;
2262 2262
2263 RunBaseTest(&test); 2263 RunBaseTest(&test);
2264 } 2264 }
2265 #endif 2265 #endif
2266 2266
2267 } // namespace webrtc 2267 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc ('k') | webrtc/voice_engine/channel.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698