From 14d1c9d968f0c8a4364eb2f7bc395083706ce8af Mon Sep 17 00:00:00 2001 From: Elad Alon Date: Mon, 8 Apr 2019 14:16:17 +0200 Subject: [PATCH] Rename EncoderKeyFrameCallback back to EncoderRtcpFeedback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The name EncoderRtcpFeedback is more appropriate because: 1. "Callback" implies a single function exposed, which is not the case. 2. We intend to add OnLossNotification() to the same class. Bug: webrtc:10501 Change-Id: I75b2e06eb070e85e872eba9fbc354aa4b68c7993 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131289 Commit-Queue: Elad Alon Reviewed-by: Erik Språng Reviewed-by: Niels Moller Cr-Commit-Position: refs/heads/master@{#27490} --- video/BUILD.gn | 6 ++--- ...e_callback.cc => encoder_rtcp_feedback.cc} | 15 ++++++------- ...ame_callback.h => encoder_rtcp_feedback.h} | 20 ++++++++--------- ...t.cc => encoder_rtcp_feedback_unittest.cc} | 22 +++++++++---------- video/video_send_stream_impl.cc | 2 +- video/video_send_stream_impl.h | 4 ++-- 6 files changed, 34 insertions(+), 35 deletions(-) rename video/{encoder_key_frame_callback.cc => encoder_rtcp_feedback.cc} (79%) rename video/{encoder_key_frame_callback.h => encoder_rtcp_feedback.h} (70%) rename video/{encoder_key_frame_callback_unittest.cc => encoder_rtcp_feedback_unittest.cc} (68%) diff --git a/video/BUILD.gn b/video/BUILD.gn index 51dcb9d519..b4b943cb70 100644 --- a/video/BUILD.gn +++ b/video/BUILD.gn @@ -14,8 +14,8 @@ rtc_static_library("video") { "buffered_frame_decryptor.h", "call_stats.cc", "call_stats.h", - "encoder_key_frame_callback.cc", - "encoder_key_frame_callback.h", + "encoder_rtcp_feedback.cc", + "encoder_rtcp_feedback.h", "quality_threshold.cc", "quality_threshold.h", "receive_statistics_proxy.cc", @@ -465,8 +465,8 @@ if (rtc_include_tests) { "call_stats_unittest.cc", "cpu_scaling_tests.cc", "encoder_bitrate_adjuster_unittest.cc", - "encoder_key_frame_callback_unittest.cc", "encoder_overshoot_detector_unittest.cc", + "encoder_rtcp_feedback_unittest.cc", "end_to_end_tests/bandwidth_tests.cc", "end_to_end_tests/call_operation_tests.cc", "end_to_end_tests/codec_tests.cc", diff --git a/video/encoder_key_frame_callback.cc b/video/encoder_rtcp_feedback.cc similarity index 79% rename from video/encoder_key_frame_callback.cc rename to video/encoder_rtcp_feedback.cc index 3116221da2..2c54701af6 100644 --- a/video/encoder_key_frame_callback.cc +++ b/video/encoder_rtcp_feedback.cc @@ -8,7 +8,7 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include "video/encoder_key_frame_callback.h" +#include "video/encoder_rtcp_feedback.h" #include "absl/types/optional.h" #include "rtc_base/checks.h" @@ -20,10 +20,9 @@ namespace { constexpr int kMinKeyframeSendIntervalMs = 300; } // namespace -EncoderKeyFrameCallback::EncoderKeyFrameCallback( - Clock* clock, - const std::vector& ssrcs, - VideoStreamEncoderInterface* encoder) +EncoderRtcpFeedback::EncoderRtcpFeedback(Clock* clock, + const std::vector& ssrcs, + VideoStreamEncoderInterface* encoder) : clock_(clock), ssrcs_(ssrcs), video_stream_encoder_(encoder), @@ -35,7 +34,7 @@ EncoderKeyFrameCallback::EncoderKeyFrameCallback( RTC_DCHECK(!ssrcs.empty()); } -bool EncoderKeyFrameCallback::HasSsrc(uint32_t ssrc) { +bool EncoderRtcpFeedback::HasSsrc(uint32_t ssrc) { for (uint32_t registered_ssrc : ssrcs_) { if (registered_ssrc == ssrc) { return true; @@ -44,7 +43,7 @@ bool EncoderKeyFrameCallback::HasSsrc(uint32_t ssrc) { return false; } -void EncoderKeyFrameCallback::OnReceivedIntraFrameRequest(uint32_t ssrc) { +void EncoderRtcpFeedback::OnReceivedIntraFrameRequest(uint32_t ssrc) { RTC_DCHECK(HasSsrc(ssrc)); { int64_t now_ms = clock_->TimeInMilliseconds(); @@ -59,7 +58,7 @@ void EncoderKeyFrameCallback::OnReceivedIntraFrameRequest(uint32_t ssrc) { video_stream_encoder_->SendKeyFrame(); } -void EncoderKeyFrameCallback::OnKeyFrameRequested(uint64_t channel_id) { +void EncoderRtcpFeedback::OnKeyFrameRequested(uint64_t channel_id) { if (channel_id != ssrcs_[0]) { RTC_LOG(LS_INFO) << "Key frame request on unknown channel id " << channel_id << " expected " << ssrcs_[0]; diff --git a/video/encoder_key_frame_callback.h b/video/encoder_rtcp_feedback.h similarity index 70% rename from video/encoder_key_frame_callback.h rename to video/encoder_rtcp_feedback.h index 9ed3c578a8..1a58a67137 100644 --- a/video/encoder_key_frame_callback.h +++ b/video/encoder_rtcp_feedback.h @@ -7,8 +7,8 @@ * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ -#ifndef VIDEO_ENCODER_KEY_FRAME_CALLBACK_H_ -#define VIDEO_ENCODER_KEY_FRAME_CALLBACK_H_ +#ifndef VIDEO_ENCODER_RTCP_FEEDBACK_H_ +#define VIDEO_ENCODER_RTCP_FEEDBACK_H_ #include @@ -22,16 +22,16 @@ namespace webrtc { class VideoStreamEncoderInterface; -// This class receives keyframe requests from either Mediatransport or the -// RtpRtcp module. +// This class passes feedback (such as key frame requests or loss notifications) +// from either Mediatransport or the RtpRtcp module. // TODO(bugs.webrtc.org/9719): Should be eliminated when RtpMediaTransport is // implemented. -class EncoderKeyFrameCallback : public RtcpIntraFrameObserver, - public MediaTransportKeyFrameRequestCallback { +class EncoderRtcpFeedback : public RtcpIntraFrameObserver, + public MediaTransportKeyFrameRequestCallback { public: - EncoderKeyFrameCallback(Clock* clock, - const std::vector& ssrcs, - VideoStreamEncoderInterface* encoder); + EncoderRtcpFeedback(Clock* clock, + const std::vector& ssrcs, + VideoStreamEncoderInterface* encoder); void OnReceivedIntraFrameRequest(uint32_t ssrc) override; // Implements MediaTransportKeyFrameRequestCallback @@ -52,4 +52,4 @@ class EncoderKeyFrameCallback : public RtcpIntraFrameObserver, } // namespace webrtc -#endif // VIDEO_ENCODER_KEY_FRAME_CALLBACK_H_ +#endif // VIDEO_ENCODER_RTCP_FEEDBACK_H_ diff --git a/video/encoder_key_frame_callback_unittest.cc b/video/encoder_rtcp_feedback_unittest.cc similarity index 68% rename from video/encoder_key_frame_callback_unittest.cc rename to video/encoder_rtcp_feedback_unittest.cc index d00478a89a..fd018aeae2 100644 --- a/video/encoder_key_frame_callback_unittest.cc +++ b/video/encoder_rtcp_feedback_unittest.cc @@ -8,7 +8,7 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include "video/encoder_key_frame_callback.h" +#include "video/encoder_rtcp_feedback.h" #include @@ -23,7 +23,7 @@ class VieKeyRequestTest : public ::testing::Test { VieKeyRequestTest() : simulated_clock_(123456789), encoder_(), - encoder_key_frame_callback_( + encoder_rtcp_feedback_( &simulated_clock_, std::vector(1, VieKeyRequestTest::kSsrc), &encoder_) {} @@ -33,31 +33,31 @@ class VieKeyRequestTest : public ::testing::Test { SimulatedClock simulated_clock_; testing::StrictMock encoder_; - EncoderKeyFrameCallback encoder_key_frame_callback_; + EncoderRtcpFeedback encoder_rtcp_feedback_; }; TEST_F(VieKeyRequestTest, CreateAndTriggerRequests) { EXPECT_CALL(encoder_, SendKeyFrame()).Times(1); - encoder_key_frame_callback_.OnReceivedIntraFrameRequest(kSsrc); + encoder_rtcp_feedback_.OnReceivedIntraFrameRequest(kSsrc); } TEST_F(VieKeyRequestTest, TooManyOnReceivedIntraFrameRequest) { EXPECT_CALL(encoder_, SendKeyFrame()).Times(1); - encoder_key_frame_callback_.OnReceivedIntraFrameRequest(kSsrc); - encoder_key_frame_callback_.OnReceivedIntraFrameRequest(kSsrc); + encoder_rtcp_feedback_.OnReceivedIntraFrameRequest(kSsrc); + encoder_rtcp_feedback_.OnReceivedIntraFrameRequest(kSsrc); simulated_clock_.AdvanceTimeMilliseconds(10); - encoder_key_frame_callback_.OnReceivedIntraFrameRequest(kSsrc); + encoder_rtcp_feedback_.OnReceivedIntraFrameRequest(kSsrc); EXPECT_CALL(encoder_, SendKeyFrame()).Times(1); simulated_clock_.AdvanceTimeMilliseconds(300); - encoder_key_frame_callback_.OnReceivedIntraFrameRequest(kSsrc); - encoder_key_frame_callback_.OnReceivedIntraFrameRequest(kSsrc); - encoder_key_frame_callback_.OnReceivedIntraFrameRequest(kSsrc); + encoder_rtcp_feedback_.OnReceivedIntraFrameRequest(kSsrc); + encoder_rtcp_feedback_.OnReceivedIntraFrameRequest(kSsrc); + encoder_rtcp_feedback_.OnReceivedIntraFrameRequest(kSsrc); } TEST_F(VieKeyRequestTest, TriggerRequestFromMediaTransport) { EXPECT_CALL(encoder_, SendKeyFrame()).Times(1); - encoder_key_frame_callback_.OnKeyFrameRequested(kSsrc); + encoder_rtcp_feedback_.OnKeyFrameRequested(kSsrc); } } // namespace webrtc diff --git a/video/video_send_stream_impl.cc b/video/video_send_stream_impl.cc index 1c291e7a0a..1acf0b3ccb 100644 --- a/video/video_send_stream_impl.cc +++ b/video/video_send_stream_impl.cc @@ -143,7 +143,7 @@ RtpSenderFrameEncryptionConfig CreateFrameEncryptionConfig( } RtpSenderObservers CreateObservers(CallStats* call_stats, - EncoderKeyFrameCallback* encoder_feedback, + EncoderRtcpFeedback* encoder_feedback, SendStatisticsProxy* stats_proxy, SendDelayStats* send_delay_stats) { RtpSenderObservers observers; diff --git a/video/video_send_stream_impl.h b/video/video_send_stream_impl.h index c7510b9b94..f9393d8802 100644 --- a/video/video_send_stream_impl.h +++ b/video/video_send_stream_impl.h @@ -40,7 +40,7 @@ #include "rtc_base/thread_annotations.h" #include "rtc_base/weak_ptr.h" #include "video/call_stats.h" -#include "video/encoder_key_frame_callback.h" +#include "video/encoder_rtcp_feedback.h" #include "video/send_delay_stats.h" #include "video/send_statistics_proxy.h" #include "video/video_send_stream.h" @@ -171,7 +171,7 @@ class VideoSendStreamImpl : public webrtc::BitrateAllocatorObserver, bool has_packet_feedback_; VideoStreamEncoderInterface* const video_stream_encoder_; - EncoderKeyFrameCallback encoder_feedback_; + EncoderRtcpFeedback encoder_feedback_; RtcpBandwidthObserver* const bandwidth_observer_; RtpVideoSenderInterface* const rtp_video_sender_;