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:
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user