Index: content/renderer/media/gpu/rtc_video_encoder.cc |
diff --git a/content/renderer/media/gpu/rtc_video_encoder.cc b/content/renderer/media/gpu/rtc_video_encoder.cc |
index 13c2414bac56c15ff6863d765e77db23c6853a00..5cf10a7bb77c5b5300a3064795ea4b73fe2d1a8f 100644 |
--- a/content/renderer/media/gpu/rtc_video_encoder.cc |
+++ b/content/renderer/media/gpu/rtc_video_encoder.cc |
@@ -6,11 +6,13 @@ |
#include <string.h> |
+#include <memory> |
+#include <vector> |
+ |
#include "base/bind.h" |
#include "base/location.h" |
#include "base/logging.h" |
#include "base/macros.h" |
-#include "base/memory/scoped_vector.h" |
#include "base/metrics/histogram_macros.h" |
#include "base/numerics/safe_conversions.h" |
#include "base/rand_util.h" |
@@ -222,8 +224,8 @@ class RTCVideoEncoder::Impl |
gfx::Size input_visible_size_; |
// Shared memory buffers for input/output with the VEA. |
- ScopedVector<base::SharedMemory> input_buffers_; |
- ScopedVector<base::SharedMemory> output_buffers_; |
+ std::vector<std::unique_ptr<base::SharedMemory>> input_buffers_; |
+ std::vector<std::unique_ptr<base::SharedMemory>> output_buffers_; |
// Input buffers ready to be filled with input from Encode(). As a LIFO since |
// we don't care about ordering. |
@@ -426,7 +428,7 @@ void RTCVideoEncoder::Impl::RequireBitstreamBuffers( |
media::VideoEncodeAccelerator::kPlatformFailureError); |
return; |
} |
- input_buffers_.push_back(shm.release()); |
+ input_buffers_.push_back(std::move(shm)); |
input_buffers_free_.push_back(i); |
} |
@@ -438,7 +440,7 @@ void RTCVideoEncoder::Impl::RequireBitstreamBuffers( |
media::VideoEncodeAccelerator::kPlatformFailureError); |
return; |
} |
- output_buffers_.push_back(shm.release()); |
+ output_buffers_.push_back(std::move(shm)); |
} |
// Immediately provide all output buffers to the VEA. |
@@ -468,7 +470,8 @@ void RTCVideoEncoder::Impl::BitstreamBufferReady(int32_t bitstream_buffer_id, |
media::VideoEncodeAccelerator::kPlatformFailureError); |
return; |
} |
- base::SharedMemory* output_buffer = output_buffers_[bitstream_buffer_id]; |
+ base::SharedMemory* output_buffer = |
+ output_buffers_[bitstream_buffer_id].get(); |
if (payload_size > output_buffer->mapped_size()) { |
LogAndNotifyError(FROM_HERE, "invalid payload_size", |
media::VideoEncodeAccelerator::kPlatformFailureError); |
@@ -579,7 +582,7 @@ void RTCVideoEncoder::Impl::EncodeOneFrame() { |
const base::TimeDelta timestamp = |
frame ? frame->timestamp() |
: base::TimeDelta::FromMilliseconds(next_frame->ntp_time_ms()); |
- base::SharedMemory* input_buffer = input_buffers_[index]; |
+ base::SharedMemory* input_buffer = input_buffers_[index].get(); |
frame = media::VideoFrame::WrapExternalSharedMemory( |
media::PIXEL_FORMAT_I420, input_frame_coded_size_, |
gfx::Rect(input_visible_size_), input_visible_size_, |