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 = [
"+base/containers/queue.h",
"+base/strings/string_piece.h",
"+base/task_runner_util.h",
"+base/threading/thread_task_runner_handle.h",
......
......@@ -107,7 +107,7 @@ void VEAEncoder::RequireBitstreamBuffers(unsigned int /*input_count*/,
vea_requested_input_coded_size_ = input_coded_size;
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) {
std::unique_ptr<base::SharedMemory> shm =
......@@ -139,7 +139,9 @@ void VEAEncoder::BitstreamBufferReady(
data.append(static_cast<char*>(output_buffer->memory()),
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(
*origin_task_runner_.get(), FROM_HERE,
CrossThreadBindOnce(
......@@ -173,7 +175,7 @@ void VEAEncoder::UseOutputBitstreamBufferId(int32_t bitstream_buffer_id) {
void VEAEncoder::FrameFinished(std::unique_ptr<InputBuffer> shm) {
DVLOG(3) << __func__;
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,
......@@ -230,7 +232,8 @@ void VEAEncoder::EncodeOnEncodingTaskRunner(scoped_refptr<VideoFrame> frame,
input_buffer->mapping = input_buffer->region.Map();
} else {
do {
input_buffer = input_buffers_.TakeFirst();
input_buffer = std::move(input_buffers_.front());
input_buffers_.pop();
} while (!input_buffers_.empty() &&
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,
video_frame->stride(media::VideoFrame::kVPlane),
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));
video_encoder_->Encode(video_frame, force_next_frame_to_be_keyframe_);
......
......@@ -5,10 +5,10 @@
#ifndef 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 "media/video/video_encode_accelerator.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 "ui/gfx/geometry/size.h"
......@@ -88,7 +88,8 @@ class VEAEncoder final : public VideoTrackRecorder::Encoder,
Vector<std::unique_ptr<base::SharedMemory>> output_buffers_;
// 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.
bool error_notified_;
......@@ -103,7 +104,8 @@ class VEAEncoder final : public VideoTrackRecorder::Encoder,
gfx::Size vea_requested_input_coded_size_;
// 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.
uint32_t num_frames_after_keyframe_;
......
......@@ -645,6 +645,9 @@ _CONFIG = [
],
'allowed': [
'base::data',
# TODO(crbug.com/960665): Remove it once it is replaced with a WTF equivalent.
'base::queue',
'base::SharedMemory',
'base::StringPiece',
'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