Commit ea6ef9ec authored by Guido Urdaneta's avatar Guido Urdaneta Committed by Commit Bot

Revert "Replace base::queue with WTF::Deque in mediarecorder"

This reverts commit be8f1163.

Reason for revert: crbug.com/977942

Original change's description:
> Replace base::queue with WTF::Deque in mediarecorder
>
> This is a part of moving media recorder implementation to blink.
> This CL replaces base::queue with WTF::Deque in mediarecorder.
>
> Bug: 960665
> Change-Id: If3b1a795b5e21cfd54b83c46481bf6591efaa74a
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1669255
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Reviewed-by: Guido Urdaneta <guidou@chromium.org>
> Commit-Queue: Miyoung Shin <myid.shin@igalia.com>
> Cr-Commit-Position: refs/heads/master@{#671211}

TBR=mcasas@chromium.org,haraken@chromium.org,guidou@chromium.org,myid.shin@igalia.com

Bug: 960665
Change-Id: I33d40175cfe2cc357fbd876408579c7c07ab4a29
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1730063Reviewed-by: default avatarGuido Urdaneta <guidou@chromium.org>
Reviewed-by: default avatarMarina Ciocea <marinaciocea@chromium.org>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#683220}
parent d2d5a268
include_rules = [ include_rules = [
"+base/containers/queue.h",
"+base/strings/string_piece.h", "+base/strings/string_piece.h",
"+base/task_runner_util.h", "+base/task_runner_util.h",
"+base/threading/thread_task_runner_handle.h", "+base/threading/thread_task_runner_handle.h",
......
...@@ -107,7 +107,7 @@ void VEAEncoder::RequireBitstreamBuffers(unsigned int /*input_count*/, ...@@ -107,7 +107,7 @@ void VEAEncoder::RequireBitstreamBuffers(unsigned int /*input_count*/,
vea_requested_input_coded_size_ = input_coded_size; vea_requested_input_coded_size_ = input_coded_size;
output_buffers_.clear(); output_buffers_.clear();
Deque<std::unique_ptr<InputBuffer>>().Swap(input_buffers_); base::queue<std::unique_ptr<InputBuffer>>().swap(input_buffers_);
for (int i = 0; i < kVEAEncoderOutputBufferCount; ++i) { for (int i = 0; i < kVEAEncoderOutputBufferCount; ++i) {
std::unique_ptr<base::SharedMemory> shm = std::unique_ptr<base::SharedMemory> shm =
...@@ -139,7 +139,9 @@ void VEAEncoder::BitstreamBufferReady( ...@@ -139,7 +139,9 @@ void VEAEncoder::BitstreamBufferReady(
data.append(static_cast<char*>(output_buffer->memory()), data.append(static_cast<char*>(output_buffer->memory()),
metadata.payload_size_bytes); metadata.payload_size_bytes);
const auto front_frame = frames_in_encode_.TakeFirst(); const auto front_frame = frames_in_encode_.front();
frames_in_encode_.pop();
PostCrossThreadTask( PostCrossThreadTask(
*origin_task_runner_.get(), FROM_HERE, *origin_task_runner_.get(), FROM_HERE,
CrossThreadBindOnce( CrossThreadBindOnce(
...@@ -173,7 +175,7 @@ void VEAEncoder::UseOutputBitstreamBufferId(int32_t bitstream_buffer_id) { ...@@ -173,7 +175,7 @@ void VEAEncoder::UseOutputBitstreamBufferId(int32_t bitstream_buffer_id) {
void VEAEncoder::FrameFinished(std::unique_ptr<InputBuffer> shm) { void VEAEncoder::FrameFinished(std::unique_ptr<InputBuffer> shm) {
DVLOG(3) << __func__; DVLOG(3) << __func__;
DCHECK(encoding_task_runner_->BelongsToCurrentThread()); DCHECK(encoding_task_runner_->BelongsToCurrentThread());
input_buffers_.push_back(std::move(shm)); input_buffers_.push(std::move(shm));
} }
void VEAEncoder::EncodeOnEncodingTaskRunner(scoped_refptr<VideoFrame> frame, void VEAEncoder::EncodeOnEncodingTaskRunner(scoped_refptr<VideoFrame> frame,
...@@ -230,7 +232,8 @@ void VEAEncoder::EncodeOnEncodingTaskRunner(scoped_refptr<VideoFrame> frame, ...@@ -230,7 +232,8 @@ void VEAEncoder::EncodeOnEncodingTaskRunner(scoped_refptr<VideoFrame> frame,
input_buffer->mapping = input_buffer->region.Map(); input_buffer->mapping = input_buffer->region.Map();
} else { } else {
do { do {
input_buffer = input_buffers_.TakeFirst(); input_buffer = std::move(input_buffers_.front());
input_buffers_.pop();
} while (!input_buffers_.empty() && } while (!input_buffers_.empty() &&
input_buffer->mapping.size() < desired_mapped_size); input_buffer->mapping.size() < desired_mapped_size);
if (!input_buffer || input_buffer->mapping.size() < desired_mapped_size) if (!input_buffer || input_buffer->mapping.size() < desired_mapped_size)
...@@ -264,7 +267,7 @@ void VEAEncoder::EncodeOnEncodingTaskRunner(scoped_refptr<VideoFrame> frame, ...@@ -264,7 +267,7 @@ void VEAEncoder::EncodeOnEncodingTaskRunner(scoped_refptr<VideoFrame> frame,
video_frame->stride(media::VideoFrame::kVPlane), video_frame->stride(media::VideoFrame::kVPlane),
input_visible_size_.width(), input_visible_size_.height()); input_visible_size_.width(), input_visible_size_.height());
} }
frames_in_encode_.push_back(std::make_pair( frames_in_encode_.push(std::make_pair(
media::WebmMuxer::VideoParameters(frame), capture_timestamp)); media::WebmMuxer::VideoParameters(frame), capture_timestamp));
video_encoder_->Encode(video_frame, force_next_frame_to_be_keyframe_); video_encoder_->Encode(video_frame, force_next_frame_to_be_keyframe_);
......
...@@ -5,10 +5,10 @@ ...@@ -5,10 +5,10 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIARECORDER_VEA_ENCODER_H_ #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIARECORDER_VEA_ENCODER_H_
#define THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIARECORDER_VEA_ENCODER_H_ #define THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIARECORDER_VEA_ENCODER_H_
#include "base/containers/queue.h"
#include "base/single_thread_task_runner.h" #include "base/single_thread_task_runner.h"
#include "media/video/video_encode_accelerator.h" #include "media/video/video_encode_accelerator.h"
#include "third_party/blink/renderer/modules/mediarecorder/video_track_recorder.h" #include "third_party/blink/renderer/modules/mediarecorder/video_track_recorder.h"
#include "third_party/blink/renderer/platform/wtf/deque.h"
#include "third_party/blink/renderer/platform/wtf/vector.h" #include "third_party/blink/renderer/platform/wtf/vector.h"
#include "ui/gfx/geometry/size.h" #include "ui/gfx/geometry/size.h"
...@@ -88,7 +88,8 @@ class VEAEncoder final : public VideoTrackRecorder::Encoder, ...@@ -88,7 +88,8 @@ class VEAEncoder final : public VideoTrackRecorder::Encoder,
Vector<std::unique_ptr<base::SharedMemory>> output_buffers_; Vector<std::unique_ptr<base::SharedMemory>> output_buffers_;
// Shared memory buffers for output with the VEA as FIFO. // Shared memory buffers for output with the VEA as FIFO.
Deque<std::unique_ptr<InputBuffer>> input_buffers_; // TODO(crbug.com/960665): Replace with a WTF equivalent.
base::queue<std::unique_ptr<InputBuffer>> input_buffers_;
// Tracks error status. // Tracks error status.
bool error_notified_; bool error_notified_;
...@@ -103,7 +104,8 @@ class VEAEncoder final : public VideoTrackRecorder::Encoder, ...@@ -103,7 +104,8 @@ class VEAEncoder final : public VideoTrackRecorder::Encoder,
gfx::Size vea_requested_input_coded_size_; gfx::Size vea_requested_input_coded_size_;
// Frames and corresponding timestamps in encode as FIFO. // Frames and corresponding timestamps in encode as FIFO.
Deque<VideoParamsAndTimestamp> frames_in_encode_; // TODO(crbug.com/960665): Replace with a WTF equivalent.
base::queue<VideoParamsAndTimestamp> frames_in_encode_;
// Number of encoded frames produced consecutively without a keyframe. // Number of encoded frames produced consecutively without a keyframe.
uint32_t num_frames_after_keyframe_; uint32_t num_frames_after_keyframe_;
......
...@@ -645,6 +645,9 @@ _CONFIG = [ ...@@ -645,6 +645,9 @@ _CONFIG = [
], ],
'allowed': [ 'allowed': [
'base::data', 'base::data',
# TODO(crbug.com/960665): Remove it once it is replaced with a WTF equivalent.
'base::queue',
'base::SharedMemory', 'base::SharedMemory',
'base::StringPiece', 'base::StringPiece',
'base::ThreadTaskRunnerHandle', 'base::ThreadTaskRunnerHandle',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment