Update test code to use EncodedImage::Allocate

Bug: webrtc:9378
Change-Id: I2ea63b097b0263b264fbbcca295365781fcae621
Reviewed-on: https://webrtc-review.googlesource.com/c/122780
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26690}
This commit is contained in:
Niels Möller
2019-02-14 16:15:54 +01:00
committed by Commit Bot
parent fd965c008c
commit 663844d800
6 changed files with 30 additions and 43 deletions

View File

@ -246,14 +246,6 @@ VideoProcessor::~VideoProcessor() {
// Sanity check.
RTC_CHECK_LE(input_frames_.size(), kMaxBufferedInputFrames);
// Deal with manual memory management of EncodedImage's.
for (size_t i = 0; i < num_simulcast_or_spatial_layers_; ++i) {
uint8_t* data = merged_encoded_frames_.at(i).data();
if (data) {
delete[] data;
}
}
}
void VideoProcessor::ProcessFrame() {
@ -571,27 +563,19 @@ const webrtc::EncodedImage* VideoProcessor::BuildAndStoreSuperframe(
const size_t buffer_size_bytes =
payload_size_bytes + EncodedImage::GetBufferPaddingBytes(codec);
uint8_t* copied_buffer = new uint8_t[buffer_size_bytes];
RTC_CHECK(copied_buffer);
EncodedImage copied_image = encoded_image;
copied_image.Allocate(buffer_size_bytes);
if (base_image.size()) {
RTC_CHECK(base_image.data());
memcpy(copied_buffer, base_image.data(), base_image.size());
memcpy(copied_image.data(), base_image.data(), base_image.size());
}
memcpy(copied_buffer + base_image.size(), encoded_image.data(),
memcpy(copied_image.data() + base_image.size(), encoded_image.data(),
encoded_image.size());
EncodedImage copied_image = encoded_image;
copied_image = encoded_image;
copied_image.set_buffer(copied_buffer, buffer_size_bytes);
copied_image.set_size(payload_size_bytes);
// Replace previous EncodedImage for this spatial layer.
uint8_t* old_buffer = merged_encoded_frames_.at(spatial_idx).buffer();
if (old_buffer) {
delete[] old_buffer;
}
merged_encoded_frames_.at(spatial_idx) = copied_image;
merged_encoded_frames_.at(spatial_idx) = std::move(copied_image);
return &merged_encoded_frames_.at(spatial_idx);
}

View File

@ -109,10 +109,9 @@ class VideoProcessor {
const webrtc::EncodedImage& encoded_image,
const webrtc::CodecSpecificInfo* codec_specific_info)
: video_processor_(video_processor),
buffer_(encoded_image.data(), encoded_image.size()),
encoded_image_(encoded_image),
codec_specific_info_(*codec_specific_info) {
encoded_image_.set_buffer(buffer_.data(), buffer_.size());
encoded_image_.Retain();
}
bool Run() override {
@ -122,7 +121,6 @@ class VideoProcessor {
private:
VideoProcessor* const video_processor_;
rtc::Buffer buffer_;
webrtc::EncodedImage encoded_image_;
const webrtc::CodecSpecificInfo codec_specific_info_;
};