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:
parent
51f6a20d1d
commit
490f0b82d7
@ -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_)
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
@ -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_;
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user