Cleanup usage of csrcs in RtpSenderVideoFrameTransform

CSRCs are decided on a per frame bases, thus keeping a constant copy of
csrcs inside the rtp sender transform delegate is confusing: when transform delegate is created, csrcs list is always empty.

Bug: None
Change-Id: Id94acc76857a47ad9a1dd8254648ab9cb5d6d31d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311840
Reviewed-by: Tony Herre <herre@google.com>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40533}
This commit is contained in:
Danil Chapovalov 2023-08-08 13:07:32 +02:00 committed by WebRTC LUCI CQ
parent 51f6a20d1d
commit 490f0b82d7
4 changed files with 11 additions and 24 deletions

View File

@ -158,7 +158,6 @@ RTPSenderVideo::RTPSenderVideo(const Config& config)
this,
config.frame_transformer,
rtp_sender_->SSRC(),
rtp_sender_->Csrcs(),
config.task_queue_factory)
: nullptr) {
if (frame_transformer_delegate_)

View File

@ -119,12 +119,10 @@ RTPSenderVideoFrameTransformerDelegate::RTPSenderVideoFrameTransformerDelegate(
RTPVideoFrameSenderInterface* sender,
rtc::scoped_refptr<FrameTransformerInterface> frame_transformer,
uint32_t ssrc,
std::vector<uint32_t> csrcs,
TaskQueueFactory* task_queue_factory)
: sender_(sender),
frame_transformer_(std::move(frame_transformer)),
ssrc_(ssrc),
csrcs_(csrcs),
transformation_queue_(task_queue_factory->CreateTaskQueue(
"video_frame_transformer",
TaskQueueFactory::Priority::NORMAL)) {}
@ -143,7 +141,8 @@ bool RTPSenderVideoFrameTransformerDelegate::TransformFrame(
TimeDelta expected_retransmission_time) {
frame_transformer_->Transform(std::make_unique<TransformableVideoSenderFrame>(
encoded_image, video_header, payload_type, codec_type, rtp_timestamp,
expected_retransmission_time, ssrc_, csrcs_));
expected_retransmission_time, ssrc_,
/*csrcs=*/std::vector<uint32_t>()));
return true;
}

View File

@ -58,7 +58,6 @@ class RTPSenderVideoFrameTransformerDelegate : public TransformedFrameCallback {
RTPVideoFrameSenderInterface* sender,
rtc::scoped_refptr<FrameTransformerInterface> frame_transformer,
uint32_t ssrc,
std::vector<uint32_t> csrcs,
TaskQueueFactory* send_transport_queue);
void Init();
@ -105,7 +104,6 @@ class RTPSenderVideoFrameTransformerDelegate : public TransformedFrameCallback {
RTPVideoFrameSenderInterface* sender_ RTC_GUARDED_BY(sender_lock_);
rtc::scoped_refptr<FrameTransformerInterface> frame_transformer_;
const uint32_t ssrc_;
std::vector<uint32_t> csrcs_;
// Used when the encoded frames arrives without a current task queue. This can
// happen if a hardware encoder was used.
std::unique_ptr<TaskQueueBase, TaskQueueDeleter> transformation_queue_;

View File

@ -90,8 +90,7 @@ TEST_F(RtpSenderVideoFrameTransformerDelegateTest,
RegisterTransformedFrameCallbackSinkOnInit) {
auto delegate = rtc::make_ref_counted<RTPSenderVideoFrameTransformerDelegate>(
&test_sender_, frame_transformer_,
/*ssrc=*/1111, /*csrcs=*/std::vector<uint32_t>(),
time_controller_.CreateTaskQueueFactory().get());
/*ssrc=*/1111, time_controller_.CreateTaskQueueFactory().get());
EXPECT_CALL(*frame_transformer_,
RegisterTransformedFrameSinkCallback(_, 1111));
delegate->Init();
@ -101,8 +100,7 @@ TEST_F(RtpSenderVideoFrameTransformerDelegateTest,
UnregisterTransformedFrameSinkCallbackOnReset) {
auto delegate = rtc::make_ref_counted<RTPSenderVideoFrameTransformerDelegate>(
&test_sender_, frame_transformer_,
/*ssrc=*/1111, /*csrcs=*/std::vector<uint32_t>(),
time_controller_.CreateTaskQueueFactory().get());
/*ssrc=*/1111, time_controller_.CreateTaskQueueFactory().get());
EXPECT_CALL(*frame_transformer_,
UnregisterTransformedFrameSinkCallback(1111));
delegate->Reset();
@ -112,8 +110,7 @@ TEST_F(RtpSenderVideoFrameTransformerDelegateTest,
TransformFrameCallsTransform) {
auto delegate = rtc::make_ref_counted<RTPSenderVideoFrameTransformerDelegate>(
&test_sender_, frame_transformer_,
/*ssrc=*/1111, /*csrcs=*/std::vector<uint32_t>(),
time_controller_.CreateTaskQueueFactory().get());
/*ssrc=*/1111, time_controller_.CreateTaskQueueFactory().get());
EncodedImage encoded_image;
EXPECT_CALL(*frame_transformer_, Transform);
@ -127,8 +124,7 @@ TEST_F(RtpSenderVideoFrameTransformerDelegateTest,
OnTransformedFrameCallsSenderSendVideo) {
auto delegate = rtc::make_ref_counted<RTPSenderVideoFrameTransformerDelegate>(
&test_sender_, frame_transformer_,
/*ssrc=*/1111, /*csrcs=*/std::vector<uint32_t>(),
time_controller_.CreateTaskQueueFactory().get());
/*ssrc=*/1111, time_controller_.CreateTaskQueueFactory().get());
rtc::scoped_refptr<TransformedFrameCallback> callback;
EXPECT_CALL(*frame_transformer_, RegisterTransformedFrameSinkCallback)
@ -154,8 +150,7 @@ TEST_F(RtpSenderVideoFrameTransformerDelegateTest,
TEST_F(RtpSenderVideoFrameTransformerDelegateTest, CloneSenderVideoFrame) {
auto delegate = rtc::make_ref_counted<RTPSenderVideoFrameTransformerDelegate>(
&test_sender_, frame_transformer_,
/*ssrc=*/1111, /*csrcs=*/std::vector<uint32_t>(),
time_controller_.CreateTaskQueueFactory().get());
/*ssrc=*/1111, time_controller_.CreateTaskQueueFactory().get());
std::unique_ptr<TransformableFrameInterface> frame =
GetTransformableFrame(delegate);
@ -175,8 +170,7 @@ TEST_F(RtpSenderVideoFrameTransformerDelegateTest, CloneSenderVideoFrame) {
TEST_F(RtpSenderVideoFrameTransformerDelegateTest, CloneKeyFrame) {
auto delegate = rtc::make_ref_counted<RTPSenderVideoFrameTransformerDelegate>(
&test_sender_, frame_transformer_,
/*ssrc=*/1111, /*csrcs=*/std::vector<uint32_t>(),
time_controller_.CreateTaskQueueFactory().get());
/*ssrc=*/1111, time_controller_.CreateTaskQueueFactory().get());
std::unique_ptr<TransformableFrameInterface> frame =
GetTransformableFrame(delegate, /*key_frame=*/true);
@ -196,8 +190,7 @@ TEST_F(RtpSenderVideoFrameTransformerDelegateTest, CloneKeyFrame) {
TEST_F(RtpSenderVideoFrameTransformerDelegateTest, MetadataAfterSetMetadata) {
auto delegate = rtc::make_ref_counted<RTPSenderVideoFrameTransformerDelegate>(
&test_sender_, frame_transformer_,
/*ssrc=*/1111, /*csrcs=*/std::vector<uint32_t>(),
time_controller_.CreateTaskQueueFactory().get());
/*ssrc=*/1111, time_controller_.CreateTaskQueueFactory().get());
std::unique_ptr<TransformableFrameInterface> frame =
GetTransformableFrame(delegate);
@ -225,8 +218,7 @@ TEST_F(RtpSenderVideoFrameTransformerDelegateTest,
ReceiverFrameConvertedToSenderFrame) {
auto delegate = rtc::make_ref_counted<RTPSenderVideoFrameTransformerDelegate>(
&test_sender_, frame_transformer_,
/*ssrc=*/1111, /*csrcs=*/std::vector<uint32_t>(),
time_controller_.CreateTaskQueueFactory().get());
/*ssrc=*/1111, time_controller_.CreateTaskQueueFactory().get());
const uint8_t payload_type = 1;
const uint32_t timestamp = 2;
@ -274,8 +266,7 @@ TEST_F(RtpSenderVideoFrameTransformerDelegateTest,
TEST_F(RtpSenderVideoFrameTransformerDelegateTest, SettingRTPTimestamp) {
auto delegate = rtc::make_ref_counted<RTPSenderVideoFrameTransformerDelegate>(
&test_sender_, frame_transformer_,
/*ssrc=*/1111, /*csrcs=*/std::vector<uint32_t>(),
time_controller_.CreateTaskQueueFactory().get());
/*ssrc=*/1111, time_controller_.CreateTaskQueueFactory().get());
std::unique_ptr<TransformableFrameInterface> frame =
GetTransformableFrame(delegate);