From 3a1f2e6a694464636d5e779157fc80d691981463 Mon Sep 17 00:00:00 2001 From: Fanny Linderborg Date: Thu, 12 Dec 2024 12:52:50 +0100 Subject: [PATCH] Delete FrameToRender from VCMReceiveCallback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `FrameToRender` method is deprecated and has been replaced by `OnFrameToRender`. Bug: webrtc:358039777 Change-Id: Ibe56bd43cf045d814137ba8c4374bc9b9ce8ef6c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/371302 Commit-Queue: Fanny Linderborg Reviewed-by: Erik Språng Cr-Commit-Position: refs/heads/main@{#43547} --- .../video_coding/generic_decoder_unittest.cc | 14 +------------- .../include/video_coding_defines.h | 17 +---------------- .../video_coding/video_receiver2_unittest.cc | 18 +----------------- .../video_coding/video_receiver_unittest.cc | 17 +---------------- video/video_stream_decoder2.cc | 16 +--------------- video/video_stream_decoder2.h | 11 +---------- 6 files changed, 6 insertions(+), 87 deletions(-) diff --git a/modules/video_coding/generic_decoder_unittest.cc b/modules/video_coding/generic_decoder_unittest.cc index 8300292146..dfc09b9da9 100644 --- a/modules/video_coding/generic_decoder_unittest.cc +++ b/modules/video_coding/generic_decoder_unittest.cc @@ -53,19 +53,7 @@ class MockCorruptionScoreCalculator : public CorruptionScoreCalculator { class ReceiveCallback : public VCMReceiveCallback { public: - int32_t FrameToRender(VideoFrame& frame, - std::optional qp, - TimeDelta decode_time, - VideoContentType content_type, - VideoFrameType frame_type) override { - return OnFrameToRender({.video_frame = frame, - .qp = qp, - .decode_time = decode_time, - .content_type = content_type, - .frame_type = frame_type}); - } - - int32_t OnFrameToRender(const struct FrameToRender& arguments) override { + int32_t OnFrameToRender(const FrameToRender& arguments) override { frames_.push_back(arguments.video_frame); last_corruption_score_ = arguments.corruption_score; return 0; diff --git a/modules/video_coding/include/video_coding_defines.h b/modules/video_coding/include/video_coding_defines.h index 9e97ce03aa..10cf75d41d 100644 --- a/modules/video_coding/include/video_coding_defines.h +++ b/modules/video_coding/include/video_coding_defines.h @@ -63,22 +63,7 @@ class VCMReceiveCallback { std::optional corruption_score; }; - // TODO: bugs.webrtc.org/358039777 - Delete this function. - virtual int32_t FrameToRender(VideoFrame& /* videoFrame */, // NOLINT - std::optional /* qp */, - TimeDelta /* decode_time */, - VideoContentType /* content_type */, - VideoFrameType /* frame_type */) { - RTC_CHECK_NOTREACHED(); - return 0; - } - - // TODO: bugs.webrtc.org/358039777 - Make this pure virtual. - virtual int32_t OnFrameToRender(const struct FrameToRender& arguments) { - return FrameToRender(arguments.video_frame, arguments.qp, - arguments.decode_time, arguments.content_type, - arguments.frame_type); - } + virtual int32_t OnFrameToRender(const FrameToRender& arguments) = 0; virtual void OnDroppedFrames(uint32_t frames_dropped); diff --git a/modules/video_coding/video_receiver2_unittest.cc b/modules/video_coding/video_receiver2_unittest.cc index 1ceba0c9b4..e04eb1f8ca 100644 --- a/modules/video_coding/video_receiver2_unittest.cc +++ b/modules/video_coding/video_receiver2_unittest.cc @@ -12,16 +12,11 @@ #include #include -#include #include #include "api/test/mock_video_decoder.h" -#include "api/units/time_delta.h" #include "api/units/timestamp.h" #include "api/video/encoded_frame.h" -#include "api/video/video_content_type.h" -#include "api/video/video_frame.h" -#include "api/video/video_frame_type.h" #include "common_video/test/utilities.h" #include "modules/video_coding/decoder_database.h" #include "modules/video_coding/timing/timing.h" @@ -41,18 +36,7 @@ class MockVCMReceiveCallback : public VCMReceiveCallback { public: MockVCMReceiveCallback() = default; - MOCK_METHOD(int32_t, - FrameToRender, - (VideoFrame&, - std::optional, - TimeDelta, - VideoContentType, - VideoFrameType), - (override)); - MOCK_METHOD(int32_t, - OnFrameToRender, - (const struct FrameToRender&), - (override)); + MOCK_METHOD(int32_t, OnFrameToRender, (const FrameToRender&), (override)); MOCK_METHOD(void, OnIncomingPayloadType, (int), (override)); MOCK_METHOD(void, OnDecoderInfoChanged, diff --git a/modules/video_coding/video_receiver_unittest.cc b/modules/video_coding/video_receiver_unittest.cc index eab7fa6aef..443679879b 100644 --- a/modules/video_coding/video_receiver_unittest.cc +++ b/modules/video_coding/video_receiver_unittest.cc @@ -9,12 +9,8 @@ */ #include -#include #include "api/test/mock_video_decoder.h" -#include "api/units/time_delta.h" -#include "api/video/video_content_type.h" -#include "api/video/video_frame.h" #include "api/video/video_frame_type.h" #include "api/video_codecs/video_decoder.h" #include "modules/video_coding/include/video_coding.h" @@ -46,18 +42,7 @@ class MockVCMReceiveCallback : public VCMReceiveCallback { MockVCMReceiveCallback() {} virtual ~MockVCMReceiveCallback() {} - MOCK_METHOD(int32_t, - FrameToRender, - (VideoFrame&, - std::optional, - TimeDelta, - VideoContentType, - VideoFrameType), - (override)); - MOCK_METHOD(int32_t, - OnFrameToRender, - (const struct FrameToRender&), - (override)); + MOCK_METHOD(int32_t, OnFrameToRender, (const FrameToRender&), (override)); MOCK_METHOD(void, OnIncomingPayloadType, (int), (override)); MOCK_METHOD(void, OnDecoderInfoChanged, diff --git a/video/video_stream_decoder2.cc b/video/video_stream_decoder2.cc index 30ea4c38ea..86ae6c7b2f 100644 --- a/video/video_stream_decoder2.cc +++ b/video/video_stream_decoder2.cc @@ -14,9 +14,7 @@ #include #include "api/units/time_delta.h" -#include "api/video/video_content_type.h" #include "api/video/video_frame.h" -#include "api/video/video_frame_type.h" #include "api/video_codecs/video_decoder.h" #include "modules/video_coding/video_receiver2.h" #include "rtc_base/checks.h" @@ -50,19 +48,7 @@ VideoStreamDecoder::~VideoStreamDecoder() { // callback won't necessarily be called from the decoding thread. The decoding // thread may have held the lock when calling VideoDecoder::Decode, Reset, or // Release. Acquiring the same lock in the path of decode callback can deadlock. -int32_t VideoStreamDecoder::FrameToRender(VideoFrame& video_frame, - std::optional qp, - TimeDelta decode_time, - VideoContentType content_type, - VideoFrameType frame_type) { - return OnFrameToRender({.video_frame = video_frame, - .qp = qp, - .decode_time = decode_time, - .content_type = content_type, - .frame_type = frame_type}); -} -int32_t VideoStreamDecoder::OnFrameToRender( - const struct FrameToRender& arguments) { +int32_t VideoStreamDecoder::OnFrameToRender(const FrameToRender& arguments) { receive_stats_callback_->OnDecodedFrame( arguments.video_frame, arguments.qp, arguments.decode_time, arguments.content_type, arguments.frame_type); diff --git a/video/video_stream_decoder2.h b/video/video_stream_decoder2.h index df73cf4cbf..09b045d91c 100644 --- a/video/video_stream_decoder2.h +++ b/video/video_stream_decoder2.h @@ -15,14 +15,10 @@ #include #include #include -#include #include #include "api/scoped_refptr.h" -#include "api/units/time_delta.h" -#include "api/video/video_content_type.h" #include "api/video/video_frame.h" -#include "api/video/video_frame_type.h" #include "api/video/video_sink_interface.h" #include "api/video_codecs/video_decoder.h" #include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h" @@ -46,12 +42,7 @@ class VideoStreamDecoder : public VCMReceiveCallback { ~VideoStreamDecoder() override; // Implements VCMReceiveCallback. - int32_t FrameToRender(VideoFrame& video_frame, - std::optional qp, - TimeDelta decode_time, - VideoContentType content_type, - VideoFrameType frame_type) override; - int32_t OnFrameToRender(const struct FrameToRender& arguments) override; + int32_t OnFrameToRender(const FrameToRender& arguments) override; void OnDroppedFrames(uint32_t frames_dropped) override; void OnIncomingPayloadType(int payload_type) override; void OnDecoderInfoChanged(