diff --git a/webrtc/modules/rtp_rtcp/interface/rtp_rtcp.h b/webrtc/modules/rtp_rtcp/interface/rtp_rtcp.h index 34ab74e71a..d09d9935b8 100644 --- a/webrtc/modules/rtp_rtcp/interface/rtp_rtcp.h +++ b/webrtc/modules/rtp_rtcp/interface/rtp_rtcp.h @@ -456,21 +456,6 @@ class RtpRtcp : public Module { virtual int32_t RemoteRTCPStat( std::vector* receiveBlocks) const = 0; - /* - * Set received RTCP report block - * - * return -1 on failure else 0 - */ - virtual int32_t AddRTCPReportBlock(uint32_t SSRC, - const RTCPReportBlock* receiveBlock) = 0; - - /* - * RemoveRTCPReportBlock - * - * return -1 on failure else 0 - */ - virtual int32_t RemoveRTCPReportBlock(uint32_t SSRC) = 0; - /* * (APP) Application specific data * diff --git a/webrtc/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h b/webrtc/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h index 0a4ceef1bd..f5c228134a 100644 --- a/webrtc/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h +++ b/webrtc/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h @@ -173,10 +173,6 @@ class MockRtpRtcp : public RtpRtcp { int32_t(RTCPSenderInfo* senderInfo)); MOCK_CONST_METHOD1(RemoteRTCPStat, int32_t(std::vector* receiveBlocks)); - MOCK_METHOD2(AddRTCPReportBlock, - int32_t(const uint32_t SSRC, const RTCPReportBlock* receiveBlock)); - MOCK_METHOD1(RemoveRTCPReportBlock, - int32_t(const uint32_t SSRC)); MOCK_METHOD4(SetRTCPApplicationSpecificData, int32_t(const uint8_t subType, const uint32_t name, const uint8_t* data, const uint16_t length)); MOCK_METHOD1(SetRTCPVoIPMetrics, diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_sender.cc b/webrtc/modules/rtp_rtcp/source/rtcp_sender.cc index e2ad3f0cc3..d0feed5084 100644 --- a/webrtc/modules/rtp_rtcp/source/rtcp_sender.cc +++ b/webrtc/modules/rtp_rtcp/source/rtcp_sender.cc @@ -184,9 +184,6 @@ RTCPSender::~RTCPSender() { for (auto it : internal_report_blocks_) delete it.second; - for (auto it : external_report_blocks_) - delete it.second; - for (auto it : csrc_cnames_) delete it.second; } @@ -467,13 +464,6 @@ bool RTCPSender::SendTimeOfXrRrReport(uint32_t mid_ntp, return true; } -int32_t RTCPSender::AddExternalReportBlock( - uint32_t SSRC, - const RTCPReportBlock* reportBlock) { - CriticalSectionScoped lock(critical_section_rtcp_sender_.get()); - return AddReportBlock(SSRC, &external_report_blocks_, reportBlock); -} - int32_t RTCPSender::AddReportBlock( uint32_t SSRC, std::map* report_blocks, @@ -496,20 +486,6 @@ int32_t RTCPSender::AddReportBlock( return 0; } -int32_t RTCPSender::RemoveExternalReportBlock(uint32_t SSRC) { - CriticalSectionScoped lock(critical_section_rtcp_sender_.get()); - - std::map::iterator it = - external_report_blocks_.find(SSRC); - - if (it == external_report_blocks_.end()) { - return -1; - } - delete it->second; - external_report_blocks_.erase(it); - return 0; -} - RTCPSender::BuildResult RTCPSender::BuildSR(RtcpContext* ctx) { // sanity if (ctx->position + 52 >= IP_PACKET_SIZE) { @@ -716,13 +692,6 @@ RTCPSender::BuildResult RTCPSender::BuildRR(RtcpContext* ctx) { RTCPSender::BuildResult RTCPSender::BuildExtendedJitterReport( RtcpContext* ctx) { - if (external_report_blocks_.size() > 0) { - // TODO(andresp): Remove external report blocks since they are not - // supported. - LOG(LS_ERROR) << "Handling of external report blocks not implemented."; - return BuildResult::kError; - } - // sanity if (ctx->position + 8 >= IP_PACKET_SIZE) return BuildResult::kTruncated; @@ -1661,8 +1630,7 @@ bool RTCPSender::RtcpXrReceiverReferenceTime() const { RTCPSender::BuildResult RTCPSender::WriteAllReportBlocksToBuffer( RtcpContext* ctx, uint8_t* numberOfReportBlocks) { - *numberOfReportBlocks = external_report_blocks_.size(); - *numberOfReportBlocks += internal_report_blocks_.size(); + *numberOfReportBlocks = internal_report_blocks_.size(); if ((ctx->position + *numberOfReportBlocks * 24) >= IP_PACKET_SIZE) { LOG(LS_WARNING) << "Can't fit all report blocks."; return BuildResult::kError; @@ -1672,7 +1640,6 @@ RTCPSender::BuildResult RTCPSender::WriteAllReportBlocksToBuffer( delete internal_report_blocks_.begin()->second; internal_report_blocks_.erase(internal_report_blocks_.begin()); } - WriteReportBlocksToBuffer(ctx, external_report_blocks_); return BuildResult::kSuccess; } diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_sender.h b/webrtc/modules/rtp_rtcp/source/rtcp_sender.h index 57fbe2b7a7..673aaf0f2e 100644 --- a/webrtc/modules/rtp_rtcp/source/rtcp_sender.h +++ b/webrtc/modules/rtp_rtcp/source/rtcp_sender.h @@ -121,11 +121,6 @@ public: bool repeat = false, uint64_t pictureID = 0); - int32_t AddExternalReportBlock(uint32_t SSRC, - const RTCPReportBlock* receiveBlock); - - int32_t RemoveExternalReportBlock(uint32_t SSRC); - bool REMB() const; void SetREMBStatus(bool enable); @@ -273,8 +268,6 @@ private: GUARDED_BY(critical_section_rtcp_sender_); std::map internal_report_blocks_ GUARDED_BY(critical_section_rtcp_sender_); - std::map external_report_blocks_ - GUARDED_BY(critical_section_rtcp_sender_); std::map csrc_cnames_ GUARDED_BY(critical_section_rtcp_sender_); diff --git a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc index 935929558e..7e95370a5c 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc @@ -628,17 +628,6 @@ int32_t ModuleRtpRtcpImpl::RemoteRTCPStat( return rtcp_receiver_.StatisticsReceived(receive_blocks); } -int32_t ModuleRtpRtcpImpl::AddRTCPReportBlock( - const uint32_t ssrc, - const RTCPReportBlock* report_block) { - return rtcp_sender_.AddExternalReportBlock(ssrc, report_block); -} - -int32_t ModuleRtpRtcpImpl::RemoveRTCPReportBlock( - const uint32_t ssrc) { - return rtcp_sender_.RemoveExternalReportBlock(ssrc); -} - // (REMB) Receiver Estimated Max Bitrate. bool ModuleRtpRtcpImpl::REMB() const { return rtcp_sender_.REMB(); diff --git a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.h b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.h index e8c9a21485..a5417300c5 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.h +++ b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.h @@ -183,12 +183,6 @@ class ModuleRtpRtcpImpl : public RtpRtcp { int32_t RemoteRTCPStat( std::vector* receive_blocks) const override; - // Set received RTCP report block. - int32_t AddRTCPReportBlock(uint32_t ssrc, - const RTCPReportBlock* receive_block) override; - - int32_t RemoveRTCPReportBlock(uint32_t ssrc) override; - // (REMB) Receiver Estimated Max Bitrate. bool REMB() const override; diff --git a/webrtc/modules/rtp_rtcp/test/testAPI/test_api_rtcp.cc b/webrtc/modules/rtp_rtcp/test/testAPI/test_api_rtcp.cc index 10b561deb5..741b7ac0bd 100644 --- a/webrtc/modules/rtp_rtcp/test/testAPI/test_api_rtcp.cc +++ b/webrtc/modules/rtp_rtcp/test/testAPI/test_api_rtcp.cc @@ -246,103 +246,6 @@ TEST_F(RtpRtcpRtcpTest, RTCP_CNAME) { EXPECT_EQ(-1, module2->RemoteCNAME(rtp_receiver2_->SSRC(), cName)); } -TEST_F(RtpRtcpRtcpTest, RTCP) { - RTCPReportBlock reportBlock; - reportBlock.remoteSSRC = 1; - reportBlock.sourceSSRC = 2; - reportBlock.cumulativeLost = 1; - reportBlock.delaySinceLastSR = 2; - reportBlock.extendedHighSeqNum = 3; - reportBlock.fractionLost= 4; - reportBlock.jitter = 5; - reportBlock.lastSR = 6; - - // Set report blocks. - EXPECT_EQ(0, module1->AddRTCPReportBlock(test_csrcs[0], &reportBlock)); - - reportBlock.lastSR= 7; - EXPECT_EQ(0, module1->AddRTCPReportBlock(test_csrcs[1], &reportBlock)); - - uint32_t name = 't' << 24; - name += 'e' << 16; - name += 's' << 8; - name += 't'; - EXPECT_EQ(0, module1->SetRTCPApplicationSpecificData( - 3, - name, - (const uint8_t *)"test test test test test test test test test"\ - " test test test test test test test test test test test test test"\ - " test test test test test test test test test test test test test"\ - " test test test test test test test test test test test test test"\ - " test test test test test test test test test test test test ", - 300)); - - // send RTCP packet, triggered by timer - fake_clock.AdvanceTimeMilliseconds(7500); - module1->Process(); - fake_clock.AdvanceTimeMilliseconds(100); - module2->Process(); - - uint32_t receivedNTPsecs = 0; - uint32_t receivedNTPfrac = 0; - uint32_t RTCPArrivalTimeSecs = 0; - uint32_t RTCPArrivalTimeFrac = 0; - EXPECT_EQ(0, module2->RemoteNTP(&receivedNTPsecs, - &receivedNTPfrac, - &RTCPArrivalTimeSecs, - &RTCPArrivalTimeFrac, - NULL)); - - - // get all report blocks - std::vector report_blocks; - EXPECT_EQ(0, module1->RemoteRTCPStat(&report_blocks)); - ASSERT_EQ(1u, report_blocks.size()); - const RTCPReportBlock& reportBlockReceived = report_blocks[0]; - - float secSinceLastReport = - static_cast(reportBlockReceived.delaySinceLastSR) / 65536.0f; - EXPECT_GE(0.101f, secSinceLastReport); - EXPECT_LE(0.100f, secSinceLastReport); - EXPECT_EQ(test_sequence_number, reportBlockReceived.extendedHighSeqNum); - EXPECT_EQ(0, reportBlockReceived.fractionLost); - - EXPECT_EQ(static_cast(0), - reportBlockReceived.cumulativeLost); - - StreamStatistician *statistician = - receive_statistics2_->GetStatistician(reportBlockReceived.sourceSSRC); - RtcpStatistics stats; - EXPECT_TRUE(statistician->GetStatistics(&stats, true)); - EXPECT_EQ(0, stats.fraction_lost); - EXPECT_EQ((uint32_t)0, stats.cumulative_lost); - EXPECT_EQ(test_sequence_number, stats.extended_max_sequence_number); - EXPECT_EQ(reportBlockReceived.jitter, stats.jitter); - - int64_t RTT; - int64_t avgRTT; - int64_t minRTT; - int64_t maxRTT; - - // Get RoundTripTime. - EXPECT_EQ(0, module1->RTT(test_ssrc + 1, &RTT, &avgRTT, &minRTT, &maxRTT)); - EXPECT_GE(10, RTT); - EXPECT_GE(10, avgRTT); - EXPECT_GE(10, minRTT); - EXPECT_GE(10, maxRTT); - - // Set report blocks. - EXPECT_EQ(0, module1->AddRTCPReportBlock(test_csrcs[0], &reportBlock)); - - // Test receive report. - EXPECT_EQ(0, module1->SetSendingStatus(false)); - - // Send RTCP packet, triggered by timer. - fake_clock.AdvanceTimeMilliseconds(5000); - module1->Process(); - module2->Process(); -} - TEST_F(RtpRtcpRtcpTest, RemoteRTCPStatRemote) { std::vector report_blocks;