| Index: content/common/gpu/media/v4l2_video_encode_accelerator.cc
|
| diff --git a/content/common/gpu/media/v4l2_video_encode_accelerator.cc b/content/common/gpu/media/v4l2_video_encode_accelerator.cc
|
| index 7f47908fb0338f7a2dae86cf3475954a7299d928..8ee6ec96ca1d3deee0160a248e5e64cdc24843b7 100644
|
| --- a/content/common/gpu/media/v4l2_video_encode_accelerator.cc
|
| +++ b/content/common/gpu/media/v4l2_video_encode_accelerator.cc
|
| @@ -11,8 +11,8 @@
|
|
|
| #include "base/callback.h"
|
| #include "base/command_line.h"
|
| -#include "base/message_loop/message_loop_proxy.h"
|
| #include "base/numerics/safe_conversions.h"
|
| +#include "base/thread_task_runner_handle.h"
|
| #include "base/trace_event/trace_event.h"
|
| #include "content/common/gpu/media/v4l2_video_encode_accelerator.h"
|
| #include "content/public/common/content_switches.h"
|
| @@ -70,7 +70,7 @@ V4L2VideoEncodeAccelerator::OutputRecord::~OutputRecord() {
|
|
|
| V4L2VideoEncodeAccelerator::V4L2VideoEncodeAccelerator(
|
| const scoped_refptr<V4L2Device>& device)
|
| - : child_message_loop_proxy_(base::MessageLoopProxy::current()),
|
| + : child_task_runner_(base::ThreadTaskRunnerHandle::Get()),
|
| output_buffer_byte_size_(0),
|
| device_input_format_(media::VideoFrame::UNKNOWN),
|
| input_planes_count_(0),
|
| @@ -115,7 +115,7 @@ bool V4L2VideoEncodeAccelerator::Initialize(
|
| client_ptr_factory_.reset(new base::WeakPtrFactory<Client>(client));
|
| client_ = client_ptr_factory_->GetWeakPtr();
|
|
|
| - DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
|
| + DCHECK(child_task_runner_->BelongsToCurrentThread());
|
| DCHECK_EQ(encoder_state_, kUninitialized);
|
|
|
| struct v4l2_capability caps;
|
| @@ -173,14 +173,12 @@ bool V4L2VideoEncodeAccelerator::Initialize(
|
|
|
| encoder_state_ = kInitialized;
|
|
|
| - child_message_loop_proxy_->PostTask(
|
| + child_task_runner_->PostTask(
|
| FROM_HERE,
|
| - base::Bind(&Client::RequireBitstreamBuffers,
|
| - client_,
|
| - kInputBufferCount,
|
| - image_processor_.get() ?
|
| - image_processor_->input_allocated_size() :
|
| - input_allocated_size_,
|
| + base::Bind(&Client::RequireBitstreamBuffers, client_, kInputBufferCount,
|
| + image_processor_.get()
|
| + ? image_processor_->input_allocated_size()
|
| + : input_allocated_size_,
|
| output_buffer_byte_size_));
|
| return true;
|
| }
|
| @@ -194,7 +192,7 @@ void V4L2VideoEncodeAccelerator::Encode(
|
| const scoped_refptr<media::VideoFrame>& frame,
|
| bool force_keyframe) {
|
| DVLOG(3) << "Encode(): force_keyframe=" << force_keyframe;
|
| - DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
|
| + DCHECK(child_task_runner_->BelongsToCurrentThread());
|
|
|
| if (image_processor_) {
|
| image_processor_->Process(
|
| @@ -215,7 +213,7 @@ void V4L2VideoEncodeAccelerator::Encode(
|
| void V4L2VideoEncodeAccelerator::UseOutputBitstreamBuffer(
|
| const media::BitstreamBuffer& buffer) {
|
| DVLOG(3) << "UseOutputBitstreamBuffer(): id=" << buffer.id();
|
| - DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
|
| + DCHECK(child_task_runner_->BelongsToCurrentThread());
|
|
|
| if (buffer.size() < output_buffer_byte_size_) {
|
| NOTIFY_ERROR(kInvalidArgumentError);
|
| @@ -243,7 +241,7 @@ void V4L2VideoEncodeAccelerator::RequestEncodingParametersChange(
|
| uint32 framerate) {
|
| DVLOG(3) << "RequestEncodingParametersChange(): bitrate=" << bitrate
|
| << ", framerate=" << framerate;
|
| - DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
|
| + DCHECK(child_task_runner_->BelongsToCurrentThread());
|
|
|
| encoder_thread_.message_loop()->PostTask(
|
| FROM_HERE,
|
| @@ -256,7 +254,7 @@ void V4L2VideoEncodeAccelerator::RequestEncodingParametersChange(
|
|
|
| void V4L2VideoEncodeAccelerator::Destroy() {
|
| DVLOG(3) << "Destroy()";
|
| - DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
|
| + DCHECK(child_task_runner_->BelongsToCurrentThread());
|
|
|
| // We're destroying; cancel all callbacks.
|
| client_ptr_factory_.reset();
|
| @@ -321,7 +319,7 @@ V4L2VideoEncodeAccelerator::GetSupportedProfiles() {
|
| void V4L2VideoEncodeAccelerator::FrameProcessed(
|
| bool force_keyframe,
|
| const scoped_refptr<media::VideoFrame>& frame) {
|
| - DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
|
| + DCHECK(child_task_runner_->BelongsToCurrentThread());
|
| DVLOG(3) << "FrameProcessed(): force_keyframe=" << force_keyframe;
|
|
|
| encoder_thread_.message_loop()->PostTask(
|
| @@ -584,13 +582,10 @@ void V4L2VideoEncodeAccelerator::Dequeue() {
|
| DVLOG(3) << "Dequeue(): returning "
|
| "bitstream_buffer_id=" << output_record.buffer_ref->id
|
| << ", size=" << output_size << ", key_frame=" << key_frame;
|
| - child_message_loop_proxy_->PostTask(
|
| + child_task_runner_->PostTask(
|
| FROM_HERE,
|
| - base::Bind(&Client::BitstreamBufferReady,
|
| - client_,
|
| - output_record.buffer_ref->id,
|
| - output_size,
|
| - key_frame));
|
| + base::Bind(&Client::BitstreamBufferReady, client_,
|
| + output_record.buffer_ref->id, output_size, key_frame));
|
| output_record.at_device = false;
|
| output_record.buffer_ref.reset();
|
| free_output_buffers_.push_back(dqbuf.index);
|
| @@ -774,11 +769,10 @@ void V4L2VideoEncodeAccelerator::DevicePollTask(bool poll_device) {
|
| void V4L2VideoEncodeAccelerator::NotifyError(Error error) {
|
| DVLOG(1) << "NotifyError(): error=" << error;
|
|
|
| - if (!child_message_loop_proxy_->BelongsToCurrentThread()) {
|
| - child_message_loop_proxy_->PostTask(
|
| - FROM_HERE,
|
| - base::Bind(
|
| - &V4L2VideoEncodeAccelerator::NotifyError, weak_this_, error));
|
| + if (!child_task_runner_->BelongsToCurrentThread()) {
|
| + child_task_runner_->PostTask(
|
| + FROM_HERE, base::Bind(&V4L2VideoEncodeAccelerator::NotifyError,
|
| + weak_this_, error));
|
| return;
|
| }
|
|
|
| @@ -843,7 +837,7 @@ void V4L2VideoEncodeAccelerator::RequestEncodingParametersChangeTask(
|
|
|
| bool V4L2VideoEncodeAccelerator::SetOutputFormat(
|
| media::VideoCodecProfile output_profile) {
|
| - DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
|
| + DCHECK(child_task_runner_->BelongsToCurrentThread());
|
| DCHECK(!input_streamon_);
|
| DCHECK(!output_streamon_);
|
|
|
| @@ -878,7 +872,7 @@ bool V4L2VideoEncodeAccelerator::SetOutputFormat(
|
| bool V4L2VideoEncodeAccelerator::NegotiateInputFormat(
|
| media::VideoFrame::Format input_format) {
|
| DVLOG(3) << "NegotiateInputFormat()";
|
| - DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
|
| + DCHECK(child_task_runner_->BelongsToCurrentThread());
|
| DCHECK(!input_streamon_);
|
| DCHECK(!output_streamon_);
|
|
|
| @@ -938,7 +932,7 @@ bool V4L2VideoEncodeAccelerator::SetFormats(
|
| media::VideoFrame::Format input_format,
|
| media::VideoCodecProfile output_profile) {
|
| DVLOG(3) << "SetFormats()";
|
| - DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
|
| + DCHECK(child_task_runner_->BelongsToCurrentThread());
|
| DCHECK(!input_streamon_);
|
| DCHECK(!output_streamon_);
|
|
|
| @@ -1078,7 +1072,7 @@ bool V4L2VideoEncodeAccelerator::CreateInputBuffers() {
|
|
|
| bool V4L2VideoEncodeAccelerator::CreateOutputBuffers() {
|
| DVLOG(3) << "CreateOutputBuffers()";
|
| - DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
|
| + DCHECK(child_task_runner_->BelongsToCurrentThread());
|
| DCHECK(!output_streamon_);
|
|
|
| struct v4l2_requestbuffers reqbufs;
|
| @@ -1120,7 +1114,7 @@ bool V4L2VideoEncodeAccelerator::CreateOutputBuffers() {
|
|
|
| void V4L2VideoEncodeAccelerator::DestroyInputBuffers() {
|
| DVLOG(3) << "DestroyInputBuffers()";
|
| - DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
|
| + DCHECK(child_task_runner_->BelongsToCurrentThread());
|
| DCHECK(!input_streamon_);
|
|
|
| struct v4l2_requestbuffers reqbufs;
|
| @@ -1136,7 +1130,7 @@ void V4L2VideoEncodeAccelerator::DestroyInputBuffers() {
|
|
|
| void V4L2VideoEncodeAccelerator::DestroyOutputBuffers() {
|
| DVLOG(3) << "DestroyOutputBuffers()";
|
| - DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
|
| + DCHECK(child_task_runner_->BelongsToCurrentThread());
|
| DCHECK(!output_streamon_);
|
|
|
| for (size_t i = 0; i < output_buffer_map_.size(); ++i) {
|
|
|