Revert "Refactor FEC code to use COW buffers"
This reverts commit eec5fff4df92b2330e5fec67ff08c7cbb4c4ab8d.
Reason for revert: Some crashes found by the fuzzer
Original change's description:
> Refactor FEC code to use COW buffers
>
> This refactoring helps to reduce unnecessary memcpy calls on the receive
> side.
>
> This CL replaces
> |uint8 data[IP_PACKET_SIZE]| with |rtc::CopyOnWriteBuffer data| in Packet class,
> removes |length| field there, and does necessary changes.
>
> This is a reland of these two CLs with fixes:
> https://webrtc-review.googlesource.com/c/src/+/144942
> https://webrtc-review.googlesource.com/c/src/+/144881
>
> Bug: webrtc:10750
> Change-Id: I76f6dee5a57ade59942ea2822ca4737edfe6438b
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145332
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29035}
TBR=brandtr@webrtc.org,ilnik@webrtc.org,stefan@webrtc.org
Change-Id: Id3d65fb1324b9f1b0446fe217012115ecacf2b40
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10750
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151130
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29043}
diff --git a/modules/rtp_rtcp/source/ulpfec_receiver_unittest.cc b/modules/rtp_rtcp/source/ulpfec_receiver_unittest.cc
index e233037..32f3bbb 100644
--- a/modules/rtp_rtcp/source/ulpfec_receiver_unittest.cc
+++ b/modules/rtp_rtcp/source/ulpfec_receiver_unittest.cc
@@ -126,16 +126,16 @@
std::unique_ptr<AugmentedPacket> red_packet(
packet_generator_.BuildMediaRedPacket(*packet));
EXPECT_EQ(0, receiver_fec_->AddReceivedRedPacket(
- red_packet->header, red_packet->data.cdata(),
- red_packet->data.size(), kFecPayloadType));
+ red_packet->header, red_packet->data, red_packet->length,
+ kFecPayloadType));
}
void UlpfecReceiverTest::BuildAndAddRedFecPacket(Packet* packet) {
std::unique_ptr<AugmentedPacket> red_packet(
packet_generator_.BuildUlpfecRedPacket(*packet));
EXPECT_EQ(0, receiver_fec_->AddReceivedRedPacket(
- red_packet->header, red_packet->data.cdata(),
- red_packet->data.size(), kFecPayloadType));
+ red_packet->header, red_packet->data, red_packet->length,
+ kFecPayloadType));
}
void UlpfecReceiverTest::VerifyReconstructedMediaPacket(
@@ -144,10 +144,8 @@
// Verify that the content of the reconstructed packet is equal to the
// content of |packet|, and that the same content is received |times| number
// of times in a row.
- EXPECT_CALL(recovered_packet_receiver_,
- OnRecoveredPacket(_, packet.data.size()))
- .With(
- Args<0, 1>(ElementsAreArray(packet.data.cdata(), packet.data.size())))
+ EXPECT_CALL(recovered_packet_receiver_, OnRecoveredPacket(_, packet.length))
+ .With(Args<0, 1>(ElementsAreArray(packet.data, packet.length)))
.Times(times);
}