Fix off-by-one error in DCHECK in ProducerFec.
BUG=chromium:642743 Review-Url: https://codereview.webrtc.org/2294243005 Cr-Commit-Position: refs/heads/master@{#14018}
This commit is contained in:
parent
e8a6697a5e
commit
624c33578f
@ -57,7 +57,7 @@ void RedPacket::CreateHeader(const uint8_t* rtp_header,
|
||||
size_t header_length,
|
||||
int red_payload_type,
|
||||
int payload_type) {
|
||||
RTC_DCHECK_LT(header_length + kRedForFecHeaderLength, length_);
|
||||
RTC_DCHECK_LE(header_length + kRedForFecHeaderLength, length_);
|
||||
memcpy(data_.get(), rtp_header, header_length);
|
||||
// Replace payload type.
|
||||
data_[1] &= 0x80;
|
||||
|
||||
@ -185,4 +185,22 @@ TEST_F(ProducerFecTest, BuildRedPacket) {
|
||||
delete packet;
|
||||
}
|
||||
|
||||
TEST_F(ProducerFecTest, BuildRedPacketWithEmptyPayload) {
|
||||
constexpr size_t kNumFrames = 1;
|
||||
constexpr size_t kPayloadLength = 0;
|
||||
constexpr size_t kRedForFecHeaderLength = 1;
|
||||
|
||||
generator_.NewFrame(kNumFrames);
|
||||
std::unique_ptr<test::RawRtpPacket> packet(
|
||||
generator_.NextPacket(0, kPayloadLength));
|
||||
std::unique_ptr<RedPacket> red_packet =
|
||||
ProducerFec::BuildRedPacket(packet->data, packet->length - kRtpHeaderSize,
|
||||
kRtpHeaderSize, kRedPayloadType);
|
||||
EXPECT_EQ(packet->length + kRedForFecHeaderLength, red_packet->length());
|
||||
VerifyHeader(packet->header.header.sequenceNumber,
|
||||
packet->header.header.timestamp, kRedPayloadType,
|
||||
packet->header.header.payloadType, red_packet.get(),
|
||||
true); // Marker bit set.
|
||||
}
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user