Delete VCMEncodedFrame methods Buffer and MutableBuffer
Replaced by inherited method EncodedImage::data(). Bug: webrtc:9378 Change-Id: I4ec75148f578c72ffb407f9cbf6b4232cc9cfcf6 Reviewed-on: https://webrtc-review.googlesource.com/c/116962 Reviewed-by: Erik Språng <sprang@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Niels Moller <nisse@webrtc.org> Cr-Commit-Position: refs/heads/master@{#26212}
This commit is contained in:
parent
87da937789
commit
9c843906ca
@ -56,17 +56,8 @@ class VCMEncodedFrame : protected EncodedImage {
|
|||||||
const webrtc::EncodedImage& EncodedImage() const {
|
const webrtc::EncodedImage& EncodedImage() const {
|
||||||
return static_cast<const webrtc::EncodedImage&>(*this);
|
return static_cast<const webrtc::EncodedImage&>(*this);
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* Get pointer to frame buffer
|
using EncodedImage::data;
|
||||||
*/
|
|
||||||
const uint8_t* Buffer() const { return _buffer; }
|
|
||||||
/**
|
|
||||||
* Get pointer to frame buffer that can be mutated.
|
|
||||||
*/
|
|
||||||
uint8_t* MutableBuffer() { return _buffer; }
|
|
||||||
/**
|
|
||||||
* Frame RTP timestamp (90kHz)
|
|
||||||
*/
|
|
||||||
using EncodedImage::set_size;
|
using EncodedImage::set_size;
|
||||||
using EncodedImage::SetSpatialIndex;
|
using EncodedImage::SetSpatialIndex;
|
||||||
using EncodedImage::SetTimestamp;
|
using EncodedImage::SetTimestamp;
|
||||||
|
|||||||
@ -645,10 +645,10 @@ EncodedFrame* FrameBuffer::CombineAndDeleteFrames(
|
|||||||
last_frame->video_timing().receive_finish_ms;
|
last_frame->video_timing().receive_finish_ms;
|
||||||
|
|
||||||
// Append all remaining frames to the first one.
|
// Append all remaining frames to the first one.
|
||||||
uint8_t* buffer = first_frame->MutableBuffer() + first_frame->size();
|
uint8_t* buffer = first_frame->data() + first_frame->size();
|
||||||
for (size_t i = 1; i < frames.size(); ++i) {
|
for (size_t i = 1; i < frames.size(); ++i) {
|
||||||
EncodedFrame* next_frame = frames[i];
|
EncodedFrame* next_frame = frames[i];
|
||||||
memcpy(buffer, next_frame->Buffer(), next_frame->size());
|
memcpy(buffer, next_frame->data(), next_frame->size());
|
||||||
buffer += next_frame->size();
|
buffer += next_frame->size();
|
||||||
delete next_frame;
|
delete next_frame;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -272,7 +272,7 @@ class TestBasicJitterBuffer : public ::testing::TestWithParam<std::string>,
|
|||||||
bool startCode) {
|
bool startCode) {
|
||||||
ASSERT_TRUE(frame_out);
|
ASSERT_TRUE(frame_out);
|
||||||
|
|
||||||
const uint8_t* outData = frame_out->Buffer();
|
const uint8_t* outData = frame_out->data();
|
||||||
unsigned int i = 0;
|
unsigned int i = 0;
|
||||||
|
|
||||||
if (startCode) {
|
if (startCode) {
|
||||||
|
|||||||
@ -451,7 +451,7 @@ TEST_F(TestPacketBuffer, GetBitstream) {
|
|||||||
ASSERT_EQ(1UL, frames_from_callback_.size());
|
ASSERT_EQ(1UL, frames_from_callback_.size());
|
||||||
CheckFrame(seq_num);
|
CheckFrame(seq_num);
|
||||||
EXPECT_EQ(frames_from_callback_[seq_num]->size(), result_length);
|
EXPECT_EQ(frames_from_callback_[seq_num]->size(), result_length);
|
||||||
EXPECT_EQ(memcmp(frames_from_callback_[seq_num]->Buffer(),
|
EXPECT_EQ(memcmp(frames_from_callback_[seq_num]->data(),
|
||||||
"many bitstream, such data", result_length),
|
"many bitstream, such data", result_length),
|
||||||
0);
|
0);
|
||||||
}
|
}
|
||||||
@ -468,7 +468,7 @@ TEST_F(TestPacketBuffer, GetBitstreamOneFrameOnePacket) {
|
|||||||
CheckFrame(0);
|
CheckFrame(0);
|
||||||
EXPECT_EQ(frames_from_callback_[0]->size(), sizeof(bitstream_data));
|
EXPECT_EQ(frames_from_callback_[0]->size(), sizeof(bitstream_data));
|
||||||
EXPECT_EQ(
|
EXPECT_EQ(
|
||||||
memcmp(frames_from_callback_[0]->Buffer(), data, sizeof(bitstream_data)),
|
memcmp(frames_from_callback_[0]->data(), data, sizeof(bitstream_data)),
|
||||||
0);
|
0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -491,8 +491,7 @@ TEST_F(TestPacketBuffer, GetBitstreamOneFrameFullBuffer) {
|
|||||||
ASSERT_EQ(1UL, frames_from_callback_.size());
|
ASSERT_EQ(1UL, frames_from_callback_.size());
|
||||||
CheckFrame(0);
|
CheckFrame(0);
|
||||||
EXPECT_EQ(frames_from_callback_[0]->size(), static_cast<size_t>(kStartSize));
|
EXPECT_EQ(frames_from_callback_[0]->size(), static_cast<size_t>(kStartSize));
|
||||||
EXPECT_EQ(memcmp(frames_from_callback_[0]->Buffer(), expected, kStartSize),
|
EXPECT_EQ(memcmp(frames_from_callback_[0]->data(), expected, kStartSize), 0);
|
||||||
0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(TestPacketBuffer, InsertPacketAfterOldFrameObjectIsRemoved) {
|
TEST_F(TestPacketBuffer, InsertPacketAfterOldFrameObjectIsRemoved) {
|
||||||
@ -619,8 +618,7 @@ TEST_P(TestPacketBufferH264Parameterized, GetBitstreamOneFrameFullBuffer) {
|
|||||||
ASSERT_EQ(1UL, frames_from_callback_.size());
|
ASSERT_EQ(1UL, frames_from_callback_.size());
|
||||||
CheckFrame(0);
|
CheckFrame(0);
|
||||||
EXPECT_EQ(frames_from_callback_[0]->size(), static_cast<size_t>(kStartSize));
|
EXPECT_EQ(frames_from_callback_[0]->size(), static_cast<size_t>(kStartSize));
|
||||||
EXPECT_EQ(memcmp(frames_from_callback_[0]->Buffer(), expected, kStartSize),
|
EXPECT_EQ(memcmp(frames_from_callback_[0]->data(), expected, kStartSize), 0);
|
||||||
0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(TestPacketBufferH264Parameterized, GetBitstreamBufferPadding) {
|
TEST_P(TestPacketBufferH264Parameterized, GetBitstreamBufferPadding) {
|
||||||
@ -650,7 +648,7 @@ TEST_P(TestPacketBufferH264Parameterized, GetBitstreamBufferPadding) {
|
|||||||
EXPECT_EQ(frames_from_callback_[seq_num]->EncodedImage().capacity(),
|
EXPECT_EQ(frames_from_callback_[seq_num]->EncodedImage().capacity(),
|
||||||
sizeof(data_data) + EncodedImage::kBufferPaddingBytesH264);
|
sizeof(data_data) + EncodedImage::kBufferPaddingBytesH264);
|
||||||
EXPECT_EQ(
|
EXPECT_EQ(
|
||||||
memcmp(frames_from_callback_[seq_num]->Buffer(), data, sizeof(data_data)),
|
memcmp(frames_from_callback_[seq_num]->data(), data, sizeof(data_data)),
|
||||||
0);
|
0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -61,16 +61,13 @@ BufferedFrameDecryptor::FrameDecision BufferedFrameDecryptor::DecryptFrame(
|
|||||||
RTC_LOG(LS_ERROR) << "No generic frame descriptor found dropping frame.";
|
RTC_LOG(LS_ERROR) << "No generic frame descriptor found dropping frame.";
|
||||||
return FrameDecision::kDrop;
|
return FrameDecision::kDrop;
|
||||||
}
|
}
|
||||||
// Retrieve the bitstream of the encrypted video frame.
|
|
||||||
rtc::ArrayView<const uint8_t> encrypted_frame_bitstream(frame->Buffer(),
|
|
||||||
frame->size());
|
|
||||||
// Retrieve the maximum possible size of the decrypted payload.
|
// Retrieve the maximum possible size of the decrypted payload.
|
||||||
const size_t max_plaintext_byte_size =
|
const size_t max_plaintext_byte_size =
|
||||||
frame_decryptor_->GetMaxPlaintextByteSize(cricket::MEDIA_TYPE_VIDEO,
|
frame_decryptor_->GetMaxPlaintextByteSize(cricket::MEDIA_TYPE_VIDEO,
|
||||||
frame->size());
|
frame->size());
|
||||||
RTC_CHECK_LE(max_plaintext_byte_size, frame->size());
|
RTC_CHECK_LE(max_plaintext_byte_size, frame->size());
|
||||||
// Place the decrypted frame inline into the existing frame.
|
// Place the decrypted frame inline into the existing frame.
|
||||||
rtc::ArrayView<uint8_t> inline_decrypted_bitstream(frame->MutableBuffer(),
|
rtc::ArrayView<uint8_t> inline_decrypted_bitstream(frame->data(),
|
||||||
max_plaintext_byte_size);
|
max_plaintext_byte_size);
|
||||||
|
|
||||||
// Only enable authenticating the header if the field trial is enabled.
|
// Only enable authenticating the header if the field trial is enabled.
|
||||||
@ -81,10 +78,9 @@ BufferedFrameDecryptor::FrameDecision BufferedFrameDecryptor::DecryptFrame(
|
|||||||
|
|
||||||
// Attempt to decrypt the video frame.
|
// Attempt to decrypt the video frame.
|
||||||
size_t bytes_written = 0;
|
size_t bytes_written = 0;
|
||||||
if (frame_decryptor_->Decrypt(cricket::MEDIA_TYPE_VIDEO, /*csrcs=*/{},
|
if (frame_decryptor_->Decrypt(
|
||||||
additional_data, encrypted_frame_bitstream,
|
cricket::MEDIA_TYPE_VIDEO, /*csrcs=*/{}, additional_data, *frame,
|
||||||
inline_decrypted_bitstream,
|
inline_decrypted_bitstream, &bytes_written) != 0) {
|
||||||
&bytes_written) != 0) {
|
|
||||||
// Only stash frames if we have never decrypted a frame before.
|
// Only stash frames if we have never decrypted a frame before.
|
||||||
return first_frame_decrypted_ ? FrameDecision::kDrop
|
return first_frame_decrypted_ ? FrameDecision::kDrop
|
||||||
: FrameDecision::kStash;
|
: FrameDecision::kStash;
|
||||||
|
|||||||
@ -81,7 +81,7 @@ class MockOnCompleteFrameCallback
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (frame->size() != buffer_.Length() ||
|
if (frame->size() != buffer_.Length() ||
|
||||||
memcmp(buffer_.Data(), frame->Buffer(), buffer_.Length()) != 0) {
|
memcmp(buffer_.Data(), frame->data(), buffer_.Length()) != 0) {
|
||||||
DoOnCompleteFrameFailBitstream(frame.get());
|
DoOnCompleteFrameFailBitstream(frame.get());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -456,7 +456,7 @@ bool VideoReceiveStream::Decode() {
|
|||||||
// Current OnPreDecode only cares about QP for VP8.
|
// Current OnPreDecode only cares about QP for VP8.
|
||||||
int qp = -1;
|
int qp = -1;
|
||||||
if (frame->CodecSpecific()->codecType == kVideoCodecVP8) {
|
if (frame->CodecSpecific()->codecType == kVideoCodecVP8) {
|
||||||
if (!vp8::GetQp(frame->Buffer(), frame->size(), &qp)) {
|
if (!vp8::GetQp(frame->data(), frame->size(), &qp)) {
|
||||||
RTC_LOG(LS_WARNING) << "Failed to extract QP from VP8 video frame";
|
RTC_LOG(LS_WARNING) << "Failed to extract QP from VP8 video frame";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user