| Index: webrtc/modules/video_coding/video_packet_buffer_unittest.cc
|
| diff --git a/webrtc/modules/video_coding/video_packet_buffer_unittest.cc b/webrtc/modules/video_coding/video_packet_buffer_unittest.cc
|
| index 81534e3007a199de4c8d45e5083b2087d3daaae2..1fe3169259377c86fc4d47af44d8a1cd40f4f213 100644
|
| --- a/webrtc/modules/video_coding/video_packet_buffer_unittest.cc
|
| +++ b/webrtc/modules/video_coding/video_packet_buffer_unittest.cc
|
| @@ -305,7 +305,7 @@ TEST_F(TestPacketBuffer, FramesReordered) {
|
| CheckFrame(seq_num + 3);
|
| }
|
|
|
| -TEST_F(TestPacketBuffer, GetBitstreamFromFrame) {
|
| +TEST_F(TestPacketBuffer, GetBitstream) {
|
| // "many bitstream, such data" with null termination.
|
| uint8_t many[] = {0x6d, 0x61, 0x6e, 0x79, 0x20};
|
| uint8_t bitstream[] = {0x62, 0x69, 0x74, 0x73, 0x74, 0x72,
|
| @@ -331,6 +331,35 @@ TEST_F(TestPacketBuffer, GetBitstreamFromFrame) {
|
| EXPECT_EQ(memcmp(result, "many bitstream, such data", sizeof(result)), 0);
|
| }
|
|
|
| +TEST_F(TestPacketBuffer, GetBitstreamH264BufferPadding) {
|
| + uint16_t seq_num = Rand();
|
| + uint8_t data[] = "some plain old data";
|
| +
|
| + // EncodedImage::kBufferPaddingBytesH264 is unknown at compile time.
|
| + uint8_t* result =
|
| + new uint8_t[sizeof(data) + EncodedImage::kBufferPaddingBytesH264];
|
| +
|
| + VCMPacket packet;
|
| + packet.seqNum = seq_num;
|
| + packet.codec = kVideoCodecH264;
|
| + packet.insertStartCode = true;
|
| + packet.video_header.codecHeader.H264.packetization_type = kH264SingleNalu;
|
| + packet.dataPtr = data;
|
| + packet.sizeBytes = sizeof(data);
|
| + packet.isFirstPacket = true;
|
| + packet.markerBit = true;
|
| + packet_buffer_->InsertPacket(packet);
|
| +
|
| + ASSERT_EQ(1UL, frames_from_callback_.size());
|
| + EXPECT_EQ(frames_from_callback_[seq_num]->EncodedImage()._length,
|
| + sizeof(data));
|
| + EXPECT_EQ(frames_from_callback_[seq_num]->EncodedImage()._size,
|
| + sizeof(data) + EncodedImage::kBufferPaddingBytesH264);
|
| + EXPECT_TRUE(frames_from_callback_[seq_num]->GetBitstream(result));
|
| + EXPECT_EQ(memcmp(result, data, sizeof(data)), 0);
|
| + delete[] result;
|
| +}
|
| +
|
| TEST_F(TestPacketBuffer, FreeSlotsOnFrameDestruction) {
|
| const uint16_t seq_num = Rand();
|
|
|
|
|