Update MultiplexEncoderAdapter to use EncodedImage::Allocate
Bug: webrtc:9378 Change-Id: Icb09478c7035ec4ddbcb11f402db140a838721f3 Reviewed-on: https://webrtc-review.googlesource.com/c/122881 Reviewed-by: Erik Språng <sprang@webrtc.org> Commit-Queue: Niels Moller <nisse@webrtc.org> Cr-Commit-Position: refs/heads/master@{#26663}
This commit is contained in:
@ -188,7 +188,7 @@ EncodedImage MultiplexEncodedImagePacker::PackAndRelease(
|
||||
frame_headers.push_back(frame_header);
|
||||
}
|
||||
|
||||
combined_image.set_buffer(new uint8_t[bitstream_offset], bitstream_offset);
|
||||
combined_image.Allocate(bitstream_offset);
|
||||
combined_image.set_size(bitstream_offset);
|
||||
|
||||
// header
|
||||
|
@ -247,16 +247,8 @@ int MultiplexEncoderAdapter::Release() {
|
||||
encoders_.clear();
|
||||
adapter_callbacks_.clear();
|
||||
rtc::CritScope cs(&crit_);
|
||||
for (auto& stashed_image : stashed_images_) {
|
||||
for (auto& image_component : stashed_image.second.image_components) {
|
||||
delete[] image_component.encoded_image.data();
|
||||
}
|
||||
}
|
||||
stashed_images_.clear();
|
||||
if (combined_image_.buffer()) {
|
||||
delete[] combined_image_.buffer();
|
||||
combined_image_.set_buffer(nullptr, 0);
|
||||
}
|
||||
|
||||
return WEBRTC_VIDEO_CODEC_OK;
|
||||
}
|
||||
|
||||
@ -275,11 +267,9 @@ EncodedImageCallback::Result MultiplexEncoderAdapter::OnEncodedImage(
|
||||
image_component.codec_type =
|
||||
PayloadStringToCodecType(associated_format_.name);
|
||||
image_component.encoded_image = encodedImage;
|
||||
image_component.encoded_image.set_buffer(new uint8_t[encodedImage.size()],
|
||||
encodedImage.size());
|
||||
image_component.encoded_image.set_size(encodedImage.size());
|
||||
std::memcpy(image_component.encoded_image.data(), encodedImage.data(),
|
||||
encodedImage.size());
|
||||
|
||||
// If we don't already own the buffer, make a copy.
|
||||
image_component.encoded_image.Retain();
|
||||
|
||||
rtc::CritScope cs(&crit_);
|
||||
const auto& stashed_image_itr =
|
||||
@ -302,8 +292,6 @@ EncodedImageCallback::Result MultiplexEncoderAdapter::OnEncodedImage(
|
||||
|
||||
// We have to send out those stashed frames, otherwise the delta frame
|
||||
// dependency chain is broken.
|
||||
if (combined_image_.buffer())
|
||||
delete[] combined_image_.buffer();
|
||||
combined_image_ =
|
||||
MultiplexEncodedImagePacker::PackAndRelease(iter->second);
|
||||
|
||||
|
Reference in New Issue
Block a user