Reland "Delete the non-const version of the EncodedImage::data() method."
This is a reland of f2969fa868f4913583e79f74ceced5cc6b7d6b7d Original change's description: > Delete the non-const version of the EncodedImage::data() method. > > Bug: webrtc:9378 > Change-Id: I84ace3ca6a2eb4d0f7c3d4e62f815d77df581bfa > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185122 > Reviewed-by: Artem Titov <titovartem@webrtc.org> > Reviewed-by: Philip Eliasson <philipel@webrtc.org> > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > Commit-Queue: Niels Moller <nisse@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#32197} Bug: webrtc:9378 Change-Id: I8521ac567749ea547f91cf7549eb48966baffa11 Tbr: ilnik@webrtc.org Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185807 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Reviewed-by: Marina Ciocea <marinaciocea@webrtc.org> Reviewed-by: Niels Moller <nisse@webrtc.org> Commit-Queue: Niels Moller <nisse@webrtc.org> Cr-Commit-Position: refs/heads/master@{#32209}
This commit is contained in:
@ -110,7 +110,8 @@ static void RtpFragmentize(EncodedImage* encoded_image, SFrameBSInfo* info) {
|
||||
}
|
||||
}
|
||||
// TODO(nisse): Use a cache or buffer pool to avoid allocation?
|
||||
encoded_image->SetEncodedData(EncodedImageBuffer::Create(required_capacity));
|
||||
auto buffer = EncodedImageBuffer::Create(required_capacity);
|
||||
encoded_image->SetEncodedData(buffer);
|
||||
|
||||
// Iterate layers and NAL units, note each NAL unit as a fragment and copy
|
||||
// the data to |encoded_image->_buffer|.
|
||||
@ -132,8 +133,7 @@ static void RtpFragmentize(EncodedImage* encoded_image, SFrameBSInfo* info) {
|
||||
layer_len += layerInfo.pNalLengthInByte[nal];
|
||||
}
|
||||
// Copy the entire layer's data (including start codes).
|
||||
memcpy(encoded_image->data() + encoded_image->size(), layerInfo.pBsBuf,
|
||||
layer_len);
|
||||
memcpy(buffer->data() + encoded_image->size(), layerInfo.pBsBuf, layer_len);
|
||||
encoded_image->set_size(encoded_image->size() + layer_len);
|
||||
}
|
||||
}
|
||||
|
@ -571,16 +571,16 @@ const webrtc::EncodedImage* VideoProcessor::BuildAndStoreSuperframe(
|
||||
}
|
||||
const size_t payload_size_bytes = base_image.size() + encoded_image.size();
|
||||
|
||||
EncodedImage copied_image = encoded_image;
|
||||
copied_image.SetEncodedData(EncodedImageBuffer::Create(payload_size_bytes));
|
||||
auto buffer = EncodedImageBuffer::Create(payload_size_bytes);
|
||||
if (base_image.size()) {
|
||||
RTC_CHECK(base_image.data());
|
||||
memcpy(copied_image.data(), base_image.data(), base_image.size());
|
||||
memcpy(buffer->data(), base_image.data(), base_image.size());
|
||||
}
|
||||
memcpy(copied_image.data() + base_image.size(), encoded_image.data(),
|
||||
memcpy(buffer->data() + base_image.size(), encoded_image.data(),
|
||||
encoded_image.size());
|
||||
|
||||
copied_image.set_size(payload_size_bytes);
|
||||
EncodedImage copied_image = encoded_image;
|
||||
copied_image.SetEncodedData(buffer);
|
||||
|
||||
// Replace previous EncodedImage for this spatial layer.
|
||||
merged_encoded_frames_.at(spatial_idx) = std::move(copied_image);
|
||||
|
Reference in New Issue
Block a user