| Index: media/gpu/v4l2_video_encode_accelerator.cc
|
| diff --git a/media/gpu/v4l2_video_encode_accelerator.cc b/media/gpu/v4l2_video_encode_accelerator.cc
|
| index 19db6d94dd2aa5b20fa380642ca1ccfdfb2772dc..481c27741f67a432b51892e1cff95f5213ca70e7 100644
|
| --- a/media/gpu/v4l2_video_encode_accelerator.cc
|
| +++ b/media/gpu/v4l2_video_encode_accelerator.cc
|
| @@ -18,6 +18,7 @@
|
| #include "base/command_line.h"
|
| #include "base/macros.h"
|
| #include "base/numerics/safe_conversions.h"
|
| +#include "base/single_thread_task_runner.h"
|
| #include "base/threading/thread_task_runner_handle.h"
|
| #include "base/trace_event/trace_event.h"
|
| #include "media/base/bind_to_current_loop.h"
|
| @@ -405,7 +406,7 @@ void V4L2VideoEncodeAccelerator::EncodeTask(
|
| const scoped_refptr<VideoFrame>& frame,
|
| bool force_keyframe) {
|
| DVLOG(3) << "EncodeTask(): force_keyframe=" << force_keyframe;
|
| - DCHECK_EQ(encoder_thread_.message_loop(), base::MessageLoop::current());
|
| + DCHECK(encoder_thread_.task_runner()->BelongsToCurrentThread());
|
| DCHECK_NE(encoder_state_, kUninitialized);
|
|
|
| if (encoder_state_ == kError) {
|
| @@ -448,7 +449,7 @@ void V4L2VideoEncodeAccelerator::EncodeTask(
|
| void V4L2VideoEncodeAccelerator::UseOutputBitstreamBufferTask(
|
| std::unique_ptr<BitstreamBufferRef> buffer_ref) {
|
| DVLOG(3) << "UseOutputBitstreamBufferTask(): id=" << buffer_ref->id;
|
| - DCHECK_EQ(encoder_thread_.message_loop(), base::MessageLoop::current());
|
| + DCHECK(encoder_thread_.task_runner()->BelongsToCurrentThread());
|
|
|
| encoder_output_queue_.push_back(
|
| linked_ptr<BitstreamBufferRef>(buffer_ref.release()));
|
| @@ -479,7 +480,7 @@ void V4L2VideoEncodeAccelerator::DestroyTask() {
|
|
|
| void V4L2VideoEncodeAccelerator::ServiceDeviceTask() {
|
| DVLOG(3) << "ServiceDeviceTask()";
|
| - DCHECK_EQ(encoder_thread_.message_loop(), base::MessageLoop::current());
|
| + DCHECK(encoder_thread_.task_runner()->BelongsToCurrentThread());
|
| DCHECK_NE(encoder_state_, kUninitialized);
|
| DCHECK_NE(encoder_state_, kInitialized);
|
|
|
| @@ -523,7 +524,7 @@ void V4L2VideoEncodeAccelerator::ServiceDeviceTask() {
|
| }
|
|
|
| void V4L2VideoEncodeAccelerator::Enqueue() {
|
| - DCHECK_EQ(encoder_thread_.message_loop(), base::MessageLoop::current());
|
| + DCHECK(encoder_thread_.task_runner()->BelongsToCurrentThread());
|
|
|
| DVLOG(3) << "Enqueue() "
|
| << "free_input_buffers: " << free_input_buffers_.size()
|
| @@ -571,7 +572,7 @@ void V4L2VideoEncodeAccelerator::Enqueue() {
|
|
|
| void V4L2VideoEncodeAccelerator::Dequeue() {
|
| DVLOG(3) << "Dequeue()";
|
| - DCHECK_EQ(encoder_thread_.message_loop(), base::MessageLoop::current());
|
| + DCHECK(encoder_thread_.task_runner()->BelongsToCurrentThread());
|
|
|
| // Dequeue completed input (VIDEO_OUTPUT) buffers, and recycle to the free
|
| // list.
|
| @@ -766,7 +767,7 @@ bool V4L2VideoEncodeAccelerator::EnqueueOutputRecord() {
|
|
|
| bool V4L2VideoEncodeAccelerator::StartDevicePoll() {
|
| DVLOG(3) << "StartDevicePoll()";
|
| - DCHECK_EQ(encoder_thread_.message_loop(), base::MessageLoop::current());
|
| + DCHECK(encoder_thread_.task_runner()->BelongsToCurrentThread());
|
| DCHECK(!device_poll_thread_.IsRunning());
|
|
|
| // Start up the device poll thread and schedule its first DevicePollTask().
|
| @@ -836,7 +837,7 @@ bool V4L2VideoEncodeAccelerator::StopDevicePoll() {
|
|
|
| void V4L2VideoEncodeAccelerator::DevicePollTask(bool poll_device) {
|
| DVLOG(3) << "DevicePollTask()";
|
| - DCHECK_EQ(device_poll_thread_.message_loop(), base::MessageLoop::current());
|
| + DCHECK(device_poll_thread_.task_runner()->BelongsToCurrentThread());
|
|
|
| bool event_pending;
|
| if (!device_->Poll(poll_device, &event_pending)) {
|
| @@ -891,7 +892,7 @@ void V4L2VideoEncodeAccelerator::RequestEncodingParametersChangeTask(
|
| uint32_t framerate) {
|
| DVLOG(3) << "RequestEncodingParametersChangeTask(): bitrate=" << bitrate
|
| << ", framerate=" << framerate;
|
| - DCHECK_EQ(encoder_thread_.message_loop(), base::MessageLoop::current());
|
| + DCHECK(encoder_thread_.task_runner()->BelongsToCurrentThread());
|
|
|
| if (bitrate < 1)
|
| bitrate = 1;
|
| @@ -1146,7 +1147,7 @@ bool V4L2VideoEncodeAccelerator::CreateInputBuffers() {
|
| DVLOG(3) << "CreateInputBuffers()";
|
| // This function runs on encoder_thread_ after output buffers have been
|
| // provided by the client.
|
| - DCHECK_EQ(encoder_thread_.message_loop(), base::MessageLoop::current());
|
| + DCHECK(encoder_thread_.task_runner()->BelongsToCurrentThread());
|
| DCHECK(!input_streamon_);
|
|
|
| struct v4l2_requestbuffers reqbufs;
|
|
|