Rename EncoderKeyFrameCallback back to EncoderRtcpFeedback

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 <eladalon@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27490}
This commit is contained in:
Elad Alon 2019-04-08 14:16:17 +02:00 committed by Commit Bot
parent 8b60e8bc34
commit 14d1c9d968
6 changed files with 34 additions and 35 deletions

View File

@ -14,8 +14,8 @@ rtc_static_library("video") {
"buffered_frame_decryptor.h", "buffered_frame_decryptor.h",
"call_stats.cc", "call_stats.cc",
"call_stats.h", "call_stats.h",
"encoder_key_frame_callback.cc", "encoder_rtcp_feedback.cc",
"encoder_key_frame_callback.h", "encoder_rtcp_feedback.h",
"quality_threshold.cc", "quality_threshold.cc",
"quality_threshold.h", "quality_threshold.h",
"receive_statistics_proxy.cc", "receive_statistics_proxy.cc",
@ -465,8 +465,8 @@ if (rtc_include_tests) {
"call_stats_unittest.cc", "call_stats_unittest.cc",
"cpu_scaling_tests.cc", "cpu_scaling_tests.cc",
"encoder_bitrate_adjuster_unittest.cc", "encoder_bitrate_adjuster_unittest.cc",
"encoder_key_frame_callback_unittest.cc",
"encoder_overshoot_detector_unittest.cc", "encoder_overshoot_detector_unittest.cc",
"encoder_rtcp_feedback_unittest.cc",
"end_to_end_tests/bandwidth_tests.cc", "end_to_end_tests/bandwidth_tests.cc",
"end_to_end_tests/call_operation_tests.cc", "end_to_end_tests/call_operation_tests.cc",
"end_to_end_tests/codec_tests.cc", "end_to_end_tests/codec_tests.cc",

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree. * 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 "absl/types/optional.h"
#include "rtc_base/checks.h" #include "rtc_base/checks.h"
@ -20,10 +20,9 @@ namespace {
constexpr int kMinKeyframeSendIntervalMs = 300; constexpr int kMinKeyframeSendIntervalMs = 300;
} // namespace } // namespace
EncoderKeyFrameCallback::EncoderKeyFrameCallback( EncoderRtcpFeedback::EncoderRtcpFeedback(Clock* clock,
Clock* clock, const std::vector<uint32_t>& ssrcs,
const std::vector<uint32_t>& ssrcs, VideoStreamEncoderInterface* encoder)
VideoStreamEncoderInterface* encoder)
: clock_(clock), : clock_(clock),
ssrcs_(ssrcs), ssrcs_(ssrcs),
video_stream_encoder_(encoder), video_stream_encoder_(encoder),
@ -35,7 +34,7 @@ EncoderKeyFrameCallback::EncoderKeyFrameCallback(
RTC_DCHECK(!ssrcs.empty()); RTC_DCHECK(!ssrcs.empty());
} }
bool EncoderKeyFrameCallback::HasSsrc(uint32_t ssrc) { bool EncoderRtcpFeedback::HasSsrc(uint32_t ssrc) {
for (uint32_t registered_ssrc : ssrcs_) { for (uint32_t registered_ssrc : ssrcs_) {
if (registered_ssrc == ssrc) { if (registered_ssrc == ssrc) {
return true; return true;
@ -44,7 +43,7 @@ bool EncoderKeyFrameCallback::HasSsrc(uint32_t ssrc) {
return false; return false;
} }
void EncoderKeyFrameCallback::OnReceivedIntraFrameRequest(uint32_t ssrc) { void EncoderRtcpFeedback::OnReceivedIntraFrameRequest(uint32_t ssrc) {
RTC_DCHECK(HasSsrc(ssrc)); RTC_DCHECK(HasSsrc(ssrc));
{ {
int64_t now_ms = clock_->TimeInMilliseconds(); int64_t now_ms = clock_->TimeInMilliseconds();
@ -59,7 +58,7 @@ void EncoderKeyFrameCallback::OnReceivedIntraFrameRequest(uint32_t ssrc) {
video_stream_encoder_->SendKeyFrame(); video_stream_encoder_->SendKeyFrame();
} }
void EncoderKeyFrameCallback::OnKeyFrameRequested(uint64_t channel_id) { void EncoderRtcpFeedback::OnKeyFrameRequested(uint64_t channel_id) {
if (channel_id != ssrcs_[0]) { if (channel_id != ssrcs_[0]) {
RTC_LOG(LS_INFO) << "Key frame request on unknown channel id " << channel_id RTC_LOG(LS_INFO) << "Key frame request on unknown channel id " << channel_id
<< " expected " << ssrcs_[0]; << " expected " << ssrcs_[0];

View File

@ -7,8 +7,8 @@
* in the file PATENTS. All contributing project authors may * in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree. * be found in the AUTHORS file in the root of the source tree.
*/ */
#ifndef VIDEO_ENCODER_KEY_FRAME_CALLBACK_H_ #ifndef VIDEO_ENCODER_RTCP_FEEDBACK_H_
#define VIDEO_ENCODER_KEY_FRAME_CALLBACK_H_ #define VIDEO_ENCODER_RTCP_FEEDBACK_H_
#include <vector> #include <vector>
@ -22,16 +22,16 @@ namespace webrtc {
class VideoStreamEncoderInterface; class VideoStreamEncoderInterface;
// This class receives keyframe requests from either Mediatransport or the // This class passes feedback (such as key frame requests or loss notifications)
// RtpRtcp module. // from either Mediatransport or the RtpRtcp module.
// TODO(bugs.webrtc.org/9719): Should be eliminated when RtpMediaTransport is // TODO(bugs.webrtc.org/9719): Should be eliminated when RtpMediaTransport is
// implemented. // implemented.
class EncoderKeyFrameCallback : public RtcpIntraFrameObserver, class EncoderRtcpFeedback : public RtcpIntraFrameObserver,
public MediaTransportKeyFrameRequestCallback { public MediaTransportKeyFrameRequestCallback {
public: public:
EncoderKeyFrameCallback(Clock* clock, EncoderRtcpFeedback(Clock* clock,
const std::vector<uint32_t>& ssrcs, const std::vector<uint32_t>& ssrcs,
VideoStreamEncoderInterface* encoder); VideoStreamEncoderInterface* encoder);
void OnReceivedIntraFrameRequest(uint32_t ssrc) override; void OnReceivedIntraFrameRequest(uint32_t ssrc) override;
// Implements MediaTransportKeyFrameRequestCallback // Implements MediaTransportKeyFrameRequestCallback
@ -52,4 +52,4 @@ class EncoderKeyFrameCallback : public RtcpIntraFrameObserver,
} // namespace webrtc } // namespace webrtc
#endif // VIDEO_ENCODER_KEY_FRAME_CALLBACK_H_ #endif // VIDEO_ENCODER_RTCP_FEEDBACK_H_

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree. * 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 <memory> #include <memory>
@ -23,7 +23,7 @@ class VieKeyRequestTest : public ::testing::Test {
VieKeyRequestTest() VieKeyRequestTest()
: simulated_clock_(123456789), : simulated_clock_(123456789),
encoder_(), encoder_(),
encoder_key_frame_callback_( encoder_rtcp_feedback_(
&simulated_clock_, &simulated_clock_,
std::vector<uint32_t>(1, VieKeyRequestTest::kSsrc), std::vector<uint32_t>(1, VieKeyRequestTest::kSsrc),
&encoder_) {} &encoder_) {}
@ -33,31 +33,31 @@ class VieKeyRequestTest : public ::testing::Test {
SimulatedClock simulated_clock_; SimulatedClock simulated_clock_;
testing::StrictMock<MockVideoStreamEncoder> encoder_; testing::StrictMock<MockVideoStreamEncoder> encoder_;
EncoderKeyFrameCallback encoder_key_frame_callback_; EncoderRtcpFeedback encoder_rtcp_feedback_;
}; };
TEST_F(VieKeyRequestTest, CreateAndTriggerRequests) { TEST_F(VieKeyRequestTest, CreateAndTriggerRequests) {
EXPECT_CALL(encoder_, SendKeyFrame()).Times(1); EXPECT_CALL(encoder_, SendKeyFrame()).Times(1);
encoder_key_frame_callback_.OnReceivedIntraFrameRequest(kSsrc); encoder_rtcp_feedback_.OnReceivedIntraFrameRequest(kSsrc);
} }
TEST_F(VieKeyRequestTest, TooManyOnReceivedIntraFrameRequest) { TEST_F(VieKeyRequestTest, TooManyOnReceivedIntraFrameRequest) {
EXPECT_CALL(encoder_, SendKeyFrame()).Times(1); EXPECT_CALL(encoder_, SendKeyFrame()).Times(1);
encoder_key_frame_callback_.OnReceivedIntraFrameRequest(kSsrc); encoder_rtcp_feedback_.OnReceivedIntraFrameRequest(kSsrc);
encoder_key_frame_callback_.OnReceivedIntraFrameRequest(kSsrc); encoder_rtcp_feedback_.OnReceivedIntraFrameRequest(kSsrc);
simulated_clock_.AdvanceTimeMilliseconds(10); simulated_clock_.AdvanceTimeMilliseconds(10);
encoder_key_frame_callback_.OnReceivedIntraFrameRequest(kSsrc); encoder_rtcp_feedback_.OnReceivedIntraFrameRequest(kSsrc);
EXPECT_CALL(encoder_, SendKeyFrame()).Times(1); EXPECT_CALL(encoder_, SendKeyFrame()).Times(1);
simulated_clock_.AdvanceTimeMilliseconds(300); simulated_clock_.AdvanceTimeMilliseconds(300);
encoder_key_frame_callback_.OnReceivedIntraFrameRequest(kSsrc); encoder_rtcp_feedback_.OnReceivedIntraFrameRequest(kSsrc);
encoder_key_frame_callback_.OnReceivedIntraFrameRequest(kSsrc); encoder_rtcp_feedback_.OnReceivedIntraFrameRequest(kSsrc);
encoder_key_frame_callback_.OnReceivedIntraFrameRequest(kSsrc); encoder_rtcp_feedback_.OnReceivedIntraFrameRequest(kSsrc);
} }
TEST_F(VieKeyRequestTest, TriggerRequestFromMediaTransport) { TEST_F(VieKeyRequestTest, TriggerRequestFromMediaTransport) {
EXPECT_CALL(encoder_, SendKeyFrame()).Times(1); EXPECT_CALL(encoder_, SendKeyFrame()).Times(1);
encoder_key_frame_callback_.OnKeyFrameRequested(kSsrc); encoder_rtcp_feedback_.OnKeyFrameRequested(kSsrc);
} }
} // namespace webrtc } // namespace webrtc

View File

@ -143,7 +143,7 @@ RtpSenderFrameEncryptionConfig CreateFrameEncryptionConfig(
} }
RtpSenderObservers CreateObservers(CallStats* call_stats, RtpSenderObservers CreateObservers(CallStats* call_stats,
EncoderKeyFrameCallback* encoder_feedback, EncoderRtcpFeedback* encoder_feedback,
SendStatisticsProxy* stats_proxy, SendStatisticsProxy* stats_proxy,
SendDelayStats* send_delay_stats) { SendDelayStats* send_delay_stats) {
RtpSenderObservers observers; RtpSenderObservers observers;

View File

@ -40,7 +40,7 @@
#include "rtc_base/thread_annotations.h" #include "rtc_base/thread_annotations.h"
#include "rtc_base/weak_ptr.h" #include "rtc_base/weak_ptr.h"
#include "video/call_stats.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_delay_stats.h"
#include "video/send_statistics_proxy.h" #include "video/send_statistics_proxy.h"
#include "video/video_send_stream.h" #include "video/video_send_stream.h"
@ -171,7 +171,7 @@ class VideoSendStreamImpl : public webrtc::BitrateAllocatorObserver,
bool has_packet_feedback_; bool has_packet_feedback_;
VideoStreamEncoderInterface* const video_stream_encoder_; VideoStreamEncoderInterface* const video_stream_encoder_;
EncoderKeyFrameCallback encoder_feedback_; EncoderRtcpFeedback encoder_feedback_;
RtcpBandwidthObserver* const bandwidth_observer_; RtcpBandwidthObserver* const bandwidth_observer_;
RtpVideoSenderInterface* const rtp_video_sender_; RtpVideoSenderInterface* const rtp_video_sender_;