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);
|
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);
|
combined_image.set_size(bitstream_offset);
|
||||||
|
|
||||||
// header
|
// header
|
||||||
|
@ -247,16 +247,8 @@ int MultiplexEncoderAdapter::Release() {
|
|||||||
encoders_.clear();
|
encoders_.clear();
|
||||||
adapter_callbacks_.clear();
|
adapter_callbacks_.clear();
|
||||||
rtc::CritScope cs(&crit_);
|
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();
|
stashed_images_.clear();
|
||||||
if (combined_image_.buffer()) {
|
|
||||||
delete[] combined_image_.buffer();
|
|
||||||
combined_image_.set_buffer(nullptr, 0);
|
|
||||||
}
|
|
||||||
return WEBRTC_VIDEO_CODEC_OK;
|
return WEBRTC_VIDEO_CODEC_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -275,11 +267,9 @@ EncodedImageCallback::Result MultiplexEncoderAdapter::OnEncodedImage(
|
|||||||
image_component.codec_type =
|
image_component.codec_type =
|
||||||
PayloadStringToCodecType(associated_format_.name);
|
PayloadStringToCodecType(associated_format_.name);
|
||||||
image_component.encoded_image = encodedImage;
|
image_component.encoded_image = encodedImage;
|
||||||
image_component.encoded_image.set_buffer(new uint8_t[encodedImage.size()],
|
|
||||||
encodedImage.size());
|
// If we don't already own the buffer, make a copy.
|
||||||
image_component.encoded_image.set_size(encodedImage.size());
|
image_component.encoded_image.Retain();
|
||||||
std::memcpy(image_component.encoded_image.data(), encodedImage.data(),
|
|
||||||
encodedImage.size());
|
|
||||||
|
|
||||||
rtc::CritScope cs(&crit_);
|
rtc::CritScope cs(&crit_);
|
||||||
const auto& stashed_image_itr =
|
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
|
// We have to send out those stashed frames, otherwise the delta frame
|
||||||
// dependency chain is broken.
|
// dependency chain is broken.
|
||||||
if (combined_image_.buffer())
|
|
||||||
delete[] combined_image_.buffer();
|
|
||||||
combined_image_ =
|
combined_image_ =
|
||||||
MultiplexEncodedImagePacker::PackAndRelease(iter->second);
|
MultiplexEncodedImagePacker::PackAndRelease(iter->second);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user