Add owned data buffer to EncodedImage

Bug: webrtc:9378
Change-Id: I6a66b9301cbadf1d6517bf7a96028099970a20a3
Reviewed-on: https://webrtc-review.googlesource.com/c/117964
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26585}
This commit is contained in:
Niels Möller
2019-02-07 00:02:17 +01:00
committed by Commit Bot
parent e6f6a0cb8d
commit 938dd9f1e8
17 changed files with 105 additions and 108 deletions

View File

@ -221,7 +221,7 @@ EncodedImage MultiplexEncodedImagePacker::PackAndRelease(
for (size_t i = 0; i < images.size(); i++) {
PackBitstream(combined_image.data() + frame_headers[i].bitstream_offset,
images[i]);
delete[] images[i].encoded_image.data();
delete[] images[i].encoded_image.buffer();
}
return combined_image;
@ -263,7 +263,7 @@ MultiplexImage MultiplexEncodedImagePacker::Unpack(
encoded_image.SetTimestamp(combined_image.Timestamp());
encoded_image._frameType = frame_headers[i].frame_type;
encoded_image.set_buffer(
combined_image.data() + frame_headers[i].bitstream_offset,
combined_image.mutable_data() + frame_headers[i].bitstream_offset,
static_cast<size_t>(frame_headers[i].bitstream_length));
const size_t padding =
EncodedImage::GetBufferPaddingBytes(image_component.codec_type);

View File

@ -253,8 +253,8 @@ int MultiplexEncoderAdapter::Release() {
}
}
stashed_images_.clear();
if (combined_image_.data()) {
delete[] combined_image_.data();
if (combined_image_.buffer()) {
delete[] combined_image_.buffer();
combined_image_.set_buffer(nullptr, 0);
}
return WEBRTC_VIDEO_CODEC_OK;
@ -302,8 +302,8 @@ EncodedImageCallback::Result MultiplexEncoderAdapter::OnEncodedImage(
// We have to send out those stashed frames, otherwise the delta frame
// dependency chain is broken.
if (combined_image_.data())
delete[] combined_image_.data();
if (combined_image_.buffer())
delete[] combined_image_.buffer();
combined_image_ =
MultiplexEncodedImagePacker::PackAndRelease(iter->second);