Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(40)

Unified Diff: webrtc/modules/rtp_rtcp/source/producer_fec_unittest.cc

Issue 2260803002: Generalize FEC header formatting. (pt. 4) (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/rtp_rtcp/source/producer_fec_unittest.cc
diff --git a/webrtc/modules/rtp_rtcp/source/producer_fec_unittest.cc b/webrtc/modules/rtp_rtcp/source/producer_fec_unittest.cc
index 8b84cf5712229c19df61b50dee55271f649f4961..dc1f3a73bd9c2f482b7efc075aa7d1be87c4dc5a 100644
--- a/webrtc/modules/rtp_rtcp/source/producer_fec_unittest.cc
+++ b/webrtc/modules/rtp_rtcp/source/producer_fec_unittest.cc
@@ -41,11 +41,8 @@ void VerifyHeader(uint16_t seq_num,
class ProducerFecTest : public ::testing::Test {
protected:
- ProducerFecTest() : producer_(&fec_) {}
-
- ForwardErrorCorrection fec_;
ProducerFec producer_;
- FrameGenerator generator_;
+ test::fec::FrameGenerator generator_;
};
// Verifies bug found via fuzzing, where a gap in the packet sequence caused us
@@ -84,7 +81,8 @@ TEST_F(ProducerFecTest, NoEmptyFecWithSeqNumGaps) {
uint16_t num_fec_packets = producer_.NumAvailableFecPackets();
if (num_fec_packets > 0) {
std::vector<std::unique_ptr<RedPacket>> fec_packets =
- producer_.GetFecPacketsAsRed(kRedPayloadType, kFecPayloadType, 100,
+ producer_.GetFecPacketsAsRed(test::fec::kRedPayloadType,
+ test::fec::kFecPayloadType, 100,
p.header_size);
EXPECT_EQ(num_fec_packets, fec_packets.size());
}
@@ -100,12 +98,12 @@ TEST_F(ProducerFecTest, OneFrameFec) {
// media packets for 1 frame is at least |minimum_media_packets_fec_|.
const int kNumPackets = 4;
FecProtectionParams params = {15, 3, kFecMaskRandom};
- std::list<test::RawRtpPacket*> rtp_packets;
+ std::list<test::fec::RawRtpPacket*> rtp_packets;
danilchap 2016/08/22 13:00:41 consider add using ::webrtc::test::fec::RawRtpPack
brandtr 2016/08/23 08:19:11 Done, see https://codereview.webrtc.org/2267393002
generator_.NewFrame(kNumPackets);
producer_.SetFecParameters(&params, 0); // Expecting one FEC packet.
uint32_t last_timestamp = 0;
for (int i = 0; i < kNumPackets; ++i) {
- test::RawRtpPacket* rtp_packet = generator_.NextPacket(i, 10);
+ test::fec::RawRtpPacket* rtp_packet = generator_.NextPacket(i, 10);
rtp_packets.push_back(rtp_packet);
EXPECT_EQ(0, producer_.AddRtpPacketAndGenerateFec(
rtp_packet->data, rtp_packet->length, kRtpHeaderSize));
@@ -114,12 +112,13 @@ TEST_F(ProducerFecTest, OneFrameFec) {
EXPECT_TRUE(producer_.FecAvailable());
uint16_t seq_num = generator_.NextSeqNum();
std::vector<std::unique_ptr<RedPacket>> packets =
- producer_.GetFecPacketsAsRed(kRedPayloadType, kFecPayloadType, seq_num,
+ producer_.GetFecPacketsAsRed(test::fec::kRedPayloadType,
danilchap 2016/08/22 13:00:41 does this constants need to be general? may be kee
brandtr 2016/08/23 08:19:11 Done.
+ test::fec::kFecPayloadType, seq_num,
kRtpHeaderSize);
EXPECT_FALSE(producer_.FecAvailable());
ASSERT_EQ(1u, packets.size());
- VerifyHeader(seq_num, last_timestamp, kRedPayloadType, kFecPayloadType,
- packets.front().get(), false);
+ VerifyHeader(seq_num, last_timestamp, test::fec::kRedPayloadType,
+ test::fec::kFecPayloadType, packets.front().get(), false);
while (!rtp_packets.empty()) {
delete rtp_packets.front();
rtp_packets.pop_front();
@@ -138,13 +137,13 @@ TEST_F(ProducerFecTest, TwoFrameFec) {
const int kNumFrames = 2;
FecProtectionParams params = {15, 3, kFecMaskRandom};
- std::list<test::RawRtpPacket*> rtp_packets;
+ std::list<test::fec::RawRtpPacket*> rtp_packets;
producer_.SetFecParameters(&params, 0); // Expecting one FEC packet.
uint32_t last_timestamp = 0;
for (int i = 0; i < kNumFrames; ++i) {
generator_.NewFrame(kNumPackets);
for (int j = 0; j < kNumPackets; ++j) {
- test::RawRtpPacket* rtp_packet =
+ test::fec::RawRtpPacket* rtp_packet =
generator_.NextPacket(i * kNumPackets + j, 10);
rtp_packets.push_back(rtp_packet);
EXPECT_EQ(0, producer_.AddRtpPacketAndGenerateFec(
@@ -155,12 +154,13 @@ TEST_F(ProducerFecTest, TwoFrameFec) {
EXPECT_TRUE(producer_.FecAvailable());
uint16_t seq_num = generator_.NextSeqNum();
std::vector<std::unique_ptr<RedPacket>> packets =
- producer_.GetFecPacketsAsRed(kRedPayloadType, kFecPayloadType, seq_num,
+ producer_.GetFecPacketsAsRed(test::fec::kRedPayloadType,
+ test::fec::kFecPayloadType, seq_num,
kRtpHeaderSize);
EXPECT_FALSE(producer_.FecAvailable());
ASSERT_EQ(1u, packets.size());
- VerifyHeader(seq_num, last_timestamp, kRedPayloadType, kFecPayloadType,
- packets.front().get(), false);
+ VerifyHeader(seq_num, last_timestamp, test::fec::kRedPayloadType,
+ test::fec::kFecPayloadType, packets.front().get(), false);
while (!rtp_packets.empty()) {
delete rtp_packets.front();
rtp_packets.pop_front();
@@ -169,16 +169,14 @@ TEST_F(ProducerFecTest, TwoFrameFec) {
TEST_F(ProducerFecTest, BuildRedPacket) {
generator_.NewFrame(1);
- test::RawRtpPacket* packet = generator_.NextPacket(0, 10);
+ test::fec::RawRtpPacket* packet = generator_.NextPacket(0, 10);
std::unique_ptr<RedPacket> red_packet =
ProducerFec::BuildRedPacket(packet->data, packet->length - kRtpHeaderSize,
- kRtpHeaderSize, kRedPayloadType);
+ kRtpHeaderSize, test::fec::kRedPayloadType);
EXPECT_EQ(packet->length + 1, red_packet->length());
VerifyHeader(packet->header.header.sequenceNumber,
- packet->header.header.timestamp,
- kRedPayloadType,
- packet->header.header.payloadType,
- red_packet.get(),
+ packet->header.header.timestamp, test::fec::kRedPayloadType,
+ packet->header.header.payloadType, red_packet.get(),
true); // Marker bit set.
for (int i = 0; i < 10; ++i)
EXPECT_EQ(i, red_packet->data()[kRtpHeaderSize + 1 + i]);

Powered by Google App Engine
This is Rietveld 408576698