Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(153)

Unified Diff: content/common/gpu/media/v4l2_slice_video_decode_accelerator.cc

Issue 1134113002: content/common: Remove use of MessageLoopProxy and deprecated MessageLoop APIs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix CrOS build. Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/common/gpu/media/v4l2_slice_video_decode_accelerator.cc
diff --git a/content/common/gpu/media/v4l2_slice_video_decode_accelerator.cc b/content/common/gpu/media/v4l2_slice_video_decode_accelerator.cc
index 4a7d8ecde92b26c355eef83dc3cbb6101c384c30..c1853cb3ae30baa25d9ea35d33ecb816e3a0242a 100644
--- a/content/common/gpu/media/v4l2_slice_video_decode_accelerator.cc
+++ b/content/common/gpu/media/v4l2_slice_video_decode_accelerator.cc
@@ -14,7 +14,6 @@
#include "base/callback.h"
#include "base/callback_helpers.h"
#include "base/command_line.h"
-#include "base/message_loop/message_loop_proxy.h"
#include "base/numerics/safe_conversions.h"
#include "base/strings/stringprintf.h"
#include "content/common/gpu/media/v4l2_slice_video_decode_accelerator.h"
@@ -162,13 +161,13 @@ V4L2SliceVideoDecodeAccelerator::OutputRecord::OutputRecord()
struct V4L2SliceVideoDecodeAccelerator::BitstreamBufferRef {
BitstreamBufferRef(
base::WeakPtr<VideoDecodeAccelerator::Client>& client,
- const scoped_refptr<base::MessageLoopProxy>& client_message_loop_proxy,
+ const scoped_refptr<base::SingleThreadTaskRunner>& client_task_runner,
base::SharedMemory* shm,
size_t size,
int32 input_id);
~BitstreamBufferRef();
const base::WeakPtr<VideoDecodeAccelerator::Client> client;
- const scoped_refptr<base::MessageLoopProxy> client_message_loop_proxy;
+ const scoped_refptr<base::SingleThreadTaskRunner> client_task_runner;
const scoped_ptr<base::SharedMemory> shm;
const size_t size;
off_t bytes_used;
@@ -177,12 +176,12 @@ struct V4L2SliceVideoDecodeAccelerator::BitstreamBufferRef {
V4L2SliceVideoDecodeAccelerator::BitstreamBufferRef::BitstreamBufferRef(
base::WeakPtr<VideoDecodeAccelerator::Client>& client,
- const scoped_refptr<base::MessageLoopProxy>& client_message_loop_proxy,
+ const scoped_refptr<base::SingleThreadTaskRunner>& client_task_runner,
base::SharedMemory* shm,
size_t size,
int32 input_id)
: client(client),
- client_message_loop_proxy(client_message_loop_proxy),
+ client_task_runner(client_task_runner),
shm(shm),
size(size),
bytes_used(0),
@@ -192,7 +191,7 @@ V4L2SliceVideoDecodeAccelerator::BitstreamBufferRef::BitstreamBufferRef(
V4L2SliceVideoDecodeAccelerator::BitstreamBufferRef::~BitstreamBufferRef() {
if (input_id >= 0) {
DVLOGF(5) << "returning input_id: " << input_id;
- client_message_loop_proxy->PostTask(
+ client_task_runner->PostTask(
FROM_HERE,
base::Bind(&VideoDecodeAccelerator::Client::NotifyEndOfBitstreamBuffer,
client, input_id));
@@ -380,11 +379,11 @@ V4L2SliceVideoDecodeAccelerator::V4L2SliceVideoDecodeAccelerator(
EGLContext egl_context,
const base::WeakPtr<Client>& io_client,
const base::Callback<bool(void)>& make_context_current,
- const scoped_refptr<base::MessageLoopProxy>& io_message_loop_proxy)
+ const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner)
: input_planes_count_(0),
output_planes_count_(0),
- child_message_loop_proxy_(base::MessageLoopProxy::current()),
- io_message_loop_proxy_(io_message_loop_proxy),
+ child_task_runner_(base::ThreadTaskRunnerHandle::Get()),
+ io_task_runner_(io_task_runner),
io_client_(io_client),
device_(device),
decoder_thread_("V4L2SliceVideoDecodeAcceleratorThread"),
@@ -411,7 +410,7 @@ V4L2SliceVideoDecodeAccelerator::V4L2SliceVideoDecodeAccelerator(
V4L2SliceVideoDecodeAccelerator::~V4L2SliceVideoDecodeAccelerator() {
DVLOGF(2);
- DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
+ DCHECK(child_task_runner_->BelongsToCurrentThread());
DCHECK(!decoder_thread_.IsRunning());
DCHECK(!device_poll_thread_.IsRunning());
@@ -420,8 +419,8 @@ V4L2SliceVideoDecodeAccelerator::~V4L2SliceVideoDecodeAccelerator() {
}
void V4L2SliceVideoDecodeAccelerator::NotifyError(Error error) {
- if (!child_message_loop_proxy_->BelongsToCurrentThread()) {
- child_message_loop_proxy_->PostTask(
+ if (!child_task_runner_->BelongsToCurrentThread()) {
+ child_task_runner_->PostTask(
FROM_HERE, base::Bind(&V4L2SliceVideoDecodeAccelerator::NotifyError,
weak_this_, error));
return;
@@ -437,7 +436,7 @@ bool V4L2SliceVideoDecodeAccelerator::Initialize(
media::VideoCodecProfile profile,
VideoDecodeAccelerator::Client* client) {
DVLOGF(3) << "profile: " << profile;
- DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
+ DCHECK(child_task_runner_->BelongsToCurrentThread());
DCHECK_EQ(state_, kUninitialized);
client_ptr_factory_.reset(
@@ -499,12 +498,12 @@ bool V4L2SliceVideoDecodeAccelerator::Initialize(
DLOG(ERROR) << "Initialize(): device thread failed to start";
return false;
}
- decoder_thread_proxy_ = decoder_thread_.message_loop_proxy();
+ decoder_thread_task_runner_ = decoder_thread_.task_runner();
state_ = kInitialized;
// InitializeTask will NOTIFY_ERROR on failure.
- decoder_thread_proxy_->PostTask(
+ decoder_thread_task_runner_->PostTask(
FROM_HERE, base::Bind(&V4L2SliceVideoDecodeAccelerator::InitializeTask,
base::Unretained(this)));
@@ -514,7 +513,7 @@ bool V4L2SliceVideoDecodeAccelerator::Initialize(
void V4L2SliceVideoDecodeAccelerator::InitializeTask() {
DVLOGF(3);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
DCHECK_EQ(state_, kInitialized);
if (!CreateInputBuffers())
@@ -527,10 +526,10 @@ void V4L2SliceVideoDecodeAccelerator::InitializeTask() {
void V4L2SliceVideoDecodeAccelerator::Destroy() {
DVLOGF(3);
- DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
+ DCHECK(child_task_runner_->BelongsToCurrentThread());
if (decoder_thread_.IsRunning()) {
- decoder_thread_proxy_->PostTask(
+ decoder_thread_task_runner_->PostTask(
FROM_HERE, base::Bind(&V4L2SliceVideoDecodeAccelerator::DestroyTask,
base::Unretained(this)));
@@ -544,7 +543,7 @@ void V4L2SliceVideoDecodeAccelerator::Destroy() {
void V4L2SliceVideoDecodeAccelerator::DestroyTask() {
DVLOGF(3);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
state_ = kError;
@@ -625,7 +624,7 @@ bool V4L2SliceVideoDecodeAccelerator::SetupFormats() {
bool V4L2SliceVideoDecodeAccelerator::CreateInputBuffers() {
DVLOGF(3);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
DCHECK(!input_streamon_);
DCHECK(input_buffer_map_.empty());
@@ -672,7 +671,7 @@ bool V4L2SliceVideoDecodeAccelerator::CreateInputBuffers() {
bool V4L2SliceVideoDecodeAccelerator::CreateOutputBuffers() {
DVLOGF(3);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
DCHECK(!output_streamon_);
DCHECK(output_buffer_map_.empty());
DCHECK(surfaces_at_display_.empty());
@@ -726,7 +725,7 @@ bool V4L2SliceVideoDecodeAccelerator::CreateOutputBuffers() {
<< ", visible size=" << visible_size_.ToString()
<< ", coded size=" << coded_size_.ToString();
- child_message_loop_proxy_->PostTask(
+ child_task_runner_->PostTask(
FROM_HERE,
base::Bind(&VideoDecodeAccelerator::Client::ProvidePictureBuffers,
client_, output_buffer_map_.size(), coded_size_,
@@ -743,7 +742,7 @@ bool V4L2SliceVideoDecodeAccelerator::CreateOutputBuffers() {
void V4L2SliceVideoDecodeAccelerator::DestroyInputBuffers() {
DVLOGF(3);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread() ||
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread() ||
!decoder_thread_.IsRunning());
DCHECK(!input_streamon_);
@@ -767,7 +766,7 @@ void V4L2SliceVideoDecodeAccelerator::DismissPictures(
std::vector<int32> picture_buffer_ids,
base::WaitableEvent* done) {
DVLOGF(3);
- DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
+ DCHECK(child_task_runner_->BelongsToCurrentThread());
for (auto picture_buffer_id : picture_buffer_ids) {
DVLOGF(1) << "dismissing PictureBuffer id=" << picture_buffer_id;
@@ -789,14 +788,14 @@ void V4L2SliceVideoDecodeAccelerator::DevicePollTask(bool poll_device) {
// All processing should happen on ServiceDeviceTask(), since we shouldn't
// touch encoder state from this thread.
- decoder_thread_proxy_->PostTask(
+ decoder_thread_task_runner_->PostTask(
FROM_HERE, base::Bind(&V4L2SliceVideoDecodeAccelerator::ServiceDeviceTask,
base::Unretained(this)));
}
void V4L2SliceVideoDecodeAccelerator::ServiceDeviceTask() {
DVLOGF(4);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
// ServiceDeviceTask() should only ever be scheduled from DevicePollTask().
@@ -805,7 +804,7 @@ void V4L2SliceVideoDecodeAccelerator::ServiceDeviceTask() {
}
void V4L2SliceVideoDecodeAccelerator::SchedulePollIfNeeded() {
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
if (!device_poll_thread_.IsRunning()) {
DVLOGF(2) << "Device poll thread stopped, will not schedule poll";
@@ -840,7 +839,7 @@ void V4L2SliceVideoDecodeAccelerator::SchedulePollIfNeeded() {
void V4L2SliceVideoDecodeAccelerator::Enqueue(
const scoped_refptr<V4L2DecodeSurface>& dec_surface) {
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
const int old_inputs_queued = input_buffer_queued_count_;
const int old_outputs_queued = output_buffer_queued_count_;
@@ -869,7 +868,7 @@ void V4L2SliceVideoDecodeAccelerator::Enqueue(
void V4L2SliceVideoDecodeAccelerator::Dequeue() {
DVLOGF(3);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
struct v4l2_buffer dqbuf;
struct v4l2_plane planes[VIDEO_MAX_PLANES];
@@ -954,7 +953,7 @@ void V4L2SliceVideoDecodeAccelerator::ProcessPendingEventsIfNeeded() {
void V4L2SliceVideoDecodeAccelerator::ReuseInputBuffer(int index) {
DVLOGF(4) << "Reusing input buffer, index=" << index;
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
DCHECK_LT(index, static_cast<int>(input_buffer_map_.size()));
InputRecord& input_record = input_buffer_map_[index];
@@ -970,7 +969,7 @@ void V4L2SliceVideoDecodeAccelerator::ReuseInputBuffer(int index) {
void V4L2SliceVideoDecodeAccelerator::ReuseOutputBuffer(int index) {
DVLOGF(4) << "Reusing output buffer, index=" << index;
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
DCHECK_LT(index, static_cast<int>(output_buffer_map_.size()));
OutputRecord& output_record = output_buffer_map_[index];
@@ -1062,7 +1061,7 @@ bool V4L2SliceVideoDecodeAccelerator::EnqueueOutputRecord(int index) {
bool V4L2SliceVideoDecodeAccelerator::StartDevicePoll() {
DVLOGF(3) << "Starting device poll";
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
DCHECK(!device_poll_thread_.IsRunning());
// Start up the device poll thread and schedule its first DevicePollTask().
@@ -1093,7 +1092,7 @@ bool V4L2SliceVideoDecodeAccelerator::StartDevicePoll() {
bool V4L2SliceVideoDecodeAccelerator::StopDevicePoll(bool keep_input_state) {
DVLOGF(3) << "Stopping device poll";
if (decoder_thread_.IsRunning())
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
// Signal the DevicePollTask() to stop, and stop the device poll thread.
if (!device_->SetDevicePollInterrupt()) {
@@ -1161,9 +1160,9 @@ void V4L2SliceVideoDecodeAccelerator::Decode(
const media::BitstreamBuffer& bitstream_buffer) {
DVLOGF(3) << "input_id=" << bitstream_buffer.id()
<< ", size=" << bitstream_buffer.size();
- DCHECK(io_message_loop_proxy_->BelongsToCurrentThread());
+ DCHECK(io_task_runner_->BelongsToCurrentThread());
- decoder_thread_proxy_->PostTask(
+ decoder_thread_task_runner_->PostTask(
FROM_HERE, base::Bind(&V4L2SliceVideoDecodeAccelerator::DecodeTask,
base::Unretained(this), bitstream_buffer));
}
@@ -1172,10 +1171,10 @@ void V4L2SliceVideoDecodeAccelerator::DecodeTask(
const media::BitstreamBuffer& bitstream_buffer) {
DVLOGF(3) << "input_id=" << bitstream_buffer.id()
<< " size=" << bitstream_buffer.size();
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
scoped_ptr<BitstreamBufferRef> bitstream_record(new BitstreamBufferRef(
- io_client_, io_message_loop_proxy_,
+ io_client_, io_task_runner_,
new base::SharedMemory(bitstream_buffer.handle(), true),
bitstream_buffer.size(), bitstream_buffer.id()));
if (!bitstream_record->shm->Map(bitstream_buffer.size())) {
@@ -1192,7 +1191,7 @@ void V4L2SliceVideoDecodeAccelerator::DecodeTask(
}
bool V4L2SliceVideoDecodeAccelerator::TrySetNewBistreamBuffer() {
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
DCHECK(!decoder_current_bitstream_buffer_);
if (decoder_input_queue_.empty())
@@ -1217,9 +1216,9 @@ bool V4L2SliceVideoDecodeAccelerator::TrySetNewBistreamBuffer() {
}
void V4L2SliceVideoDecodeAccelerator::ScheduleDecodeBufferTaskIfNeeded() {
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
if (state_ == kDecoding) {
- decoder_thread_proxy_->PostTask(
+ decoder_thread_task_runner_->PostTask(
FROM_HERE,
base::Bind(&V4L2SliceVideoDecodeAccelerator::DecodeBufferTask,
base::Unretained(this)));
@@ -1228,7 +1227,7 @@ void V4L2SliceVideoDecodeAccelerator::ScheduleDecodeBufferTaskIfNeeded() {
void V4L2SliceVideoDecodeAccelerator::DecodeBufferTask() {
DVLOGF(3);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
if (state_ != kDecoding) {
DVLOGF(3) << "Early exit, not in kDecoding";
@@ -1266,7 +1265,7 @@ void V4L2SliceVideoDecodeAccelerator::DecodeBufferTask() {
void V4L2SliceVideoDecodeAccelerator::InitiateSurfaceSetChange() {
DVLOGF(2);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
DCHECK_EQ(state_, kDecoding);
state_ = kIdle;
@@ -1279,7 +1278,7 @@ void V4L2SliceVideoDecodeAccelerator::InitiateSurfaceSetChange() {
void V4L2SliceVideoDecodeAccelerator::FinishSurfaceSetChangeIfNeeded() {
DVLOGF(2);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
if (!surface_set_change_pending_ || !surfaces_at_device_.empty())
return;
@@ -1326,7 +1325,7 @@ void V4L2SliceVideoDecodeAccelerator::FinishSurfaceSetChangeIfNeeded() {
bool V4L2SliceVideoDecodeAccelerator::DestroyOutputs(bool dismiss) {
DVLOGF(3);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
std::vector<EGLImageKHR> egl_images_to_destroy;
std::vector<int32> picture_buffers_to_dismiss;
@@ -1342,7 +1341,7 @@ bool V4L2SliceVideoDecodeAccelerator::DestroyOutputs(bool dismiss) {
}
if (output_record.egl_image != EGL_NO_IMAGE_KHR) {
- child_message_loop_proxy_->PostTask(
+ child_task_runner_->PostTask(
FROM_HERE,
base::Bind(base::IgnoreResult(&V4L2Device::DestroyEGLImage), device_,
egl_display_, output_record.egl_image));
@@ -1354,7 +1353,7 @@ bool V4L2SliceVideoDecodeAccelerator::DestroyOutputs(bool dismiss) {
if (dismiss) {
DVLOGF(2) << "Scheduling picture dismissal";
base::WaitableEvent done(false, false);
- child_message_loop_proxy_->PostTask(
+ child_task_runner_->PostTask(
FROM_HERE, base::Bind(&V4L2SliceVideoDecodeAccelerator::DismissPictures,
weak_this_, picture_buffers_to_dismiss, &done));
done.Wait();
@@ -1367,7 +1366,7 @@ bool V4L2SliceVideoDecodeAccelerator::DestroyOutputs(bool dismiss) {
bool V4L2SliceVideoDecodeAccelerator::DestroyOutputBuffers() {
DVLOGF(3);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread() ||
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread() ||
!decoder_thread_.IsRunning());
DCHECK(!output_streamon_);
DCHECK(surfaces_at_device_.empty());
@@ -1409,7 +1408,7 @@ bool V4L2SliceVideoDecodeAccelerator::DestroyOutputBuffers() {
void V4L2SliceVideoDecodeAccelerator::AssignPictureBuffers(
const std::vector<media::PictureBuffer>& buffers) {
DVLOGF(3);
- DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
+ DCHECK(child_task_runner_->BelongsToCurrentThread());
if (buffers.size() != output_buffer_map_.size()) {
DLOG(ERROR) << "Failed to provide requested picture buffers. "
@@ -1468,7 +1467,7 @@ void V4L2SliceVideoDecodeAccelerator::AssignPictureBuffers(
void V4L2SliceVideoDecodeAccelerator::ReusePictureBuffer(
int32 picture_buffer_id) {
- DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
+ DCHECK(child_task_runner_->BelongsToCurrentThread());
DVLOGF(4) << "picture_buffer_id=" << picture_buffer_id;
if (!make_context_current_.Run()) {
@@ -1487,7 +1486,7 @@ void V4L2SliceVideoDecodeAccelerator::ReusePictureBuffer(
scoped_ptr<EGLSyncKHRRef> egl_sync_ref(
new EGLSyncKHRRef(egl_display_, egl_sync));
- decoder_thread_proxy_->PostTask(
+ decoder_thread_task_runner_->PostTask(
FROM_HERE,
base::Bind(&V4L2SliceVideoDecodeAccelerator::ReusePictureBufferTask,
base::Unretained(this), picture_buffer_id,
@@ -1498,7 +1497,7 @@ void V4L2SliceVideoDecodeAccelerator::ReusePictureBufferTask(
int32 picture_buffer_id,
scoped_ptr<EGLSyncKHRRef> egl_sync_ref) {
DVLOGF(3) << "picture_buffer_id=" << picture_buffer_id;
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
V4L2DecodeSurfaceByPictureBufferId::iterator it =
surfaces_at_display_.find(picture_buffer_id);
@@ -1531,23 +1530,23 @@ void V4L2SliceVideoDecodeAccelerator::ReusePictureBufferTask(
void V4L2SliceVideoDecodeAccelerator::Flush() {
DVLOGF(3);
- DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
+ DCHECK(child_task_runner_->BelongsToCurrentThread());
- decoder_thread_proxy_->PostTask(
+ decoder_thread_task_runner_->PostTask(
FROM_HERE, base::Bind(&V4L2SliceVideoDecodeAccelerator::FlushTask,
base::Unretained(this)));
}
void V4L2SliceVideoDecodeAccelerator::FlushTask() {
DVLOGF(3);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
if (!decoder_input_queue_.empty()) {
// We are not done with pending inputs, so queue an empty buffer,
// which - when reached - will trigger flush sequence.
decoder_input_queue_.push(
linked_ptr<BitstreamBufferRef>(new BitstreamBufferRef(
- io_client_, io_message_loop_proxy_, nullptr, 0, kFlushBufferId)));
+ io_client_, io_task_runner_, nullptr, 0, kFlushBufferId)));
return;
}
@@ -1557,7 +1556,7 @@ void V4L2SliceVideoDecodeAccelerator::FlushTask() {
void V4L2SliceVideoDecodeAccelerator::InitiateFlush() {
DVLOGF(3);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
DCHECK(!decoder_flushing_);
DCHECK_EQ(state_, kDecoding);
@@ -1577,7 +1576,7 @@ void V4L2SliceVideoDecodeAccelerator::InitiateFlush() {
decoder_flushing_ = true;
- decoder_thread_proxy_->PostTask(
+ decoder_thread_task_runner_->PostTask(
FROM_HERE,
base::Bind(&V4L2SliceVideoDecodeAccelerator::FinishFlushIfNeeded,
base::Unretained(this)));
@@ -1585,7 +1584,7 @@ void V4L2SliceVideoDecodeAccelerator::InitiateFlush() {
void V4L2SliceVideoDecodeAccelerator::FinishFlushIfNeeded() {
DVLOGF(3);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
if (!decoder_flushing_ || !surfaces_at_device_.empty())
return;
@@ -1606,8 +1605,8 @@ void V4L2SliceVideoDecodeAccelerator::FinishFlushIfNeeded() {
SendPictureReady();
- child_message_loop_proxy_->PostTask(
- FROM_HERE, base::Bind(&Client::NotifyFlushDone, client_));
+ child_task_runner_->PostTask(FROM_HERE,
+ base::Bind(&Client::NotifyFlushDone, client_));
decoder_flushing_ = false;
@@ -1618,16 +1617,16 @@ void V4L2SliceVideoDecodeAccelerator::FinishFlushIfNeeded() {
void V4L2SliceVideoDecodeAccelerator::Reset() {
DVLOGF(3);
- DCHECK(child_message_loop_proxy_->BelongsToCurrentThread());
+ DCHECK(child_task_runner_->BelongsToCurrentThread());
- decoder_thread_proxy_->PostTask(
+ decoder_thread_task_runner_->PostTask(
FROM_HERE, base::Bind(&V4L2SliceVideoDecodeAccelerator::ResetTask,
base::Unretained(this)));
}
void V4L2SliceVideoDecodeAccelerator::ResetTask() {
DVLOGF(3);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
if (decoder_resetting_) {
// This is a bug in the client, multiple Reset()s before NotifyResetDone()
@@ -1654,7 +1653,7 @@ void V4L2SliceVideoDecodeAccelerator::ResetTask() {
void V4L2SliceVideoDecodeAccelerator::FinishResetIfNeeded() {
DVLOGF(3);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
if (!decoder_resetting_ || !surfaces_at_device_.empty())
return;
@@ -1682,8 +1681,8 @@ void V4L2SliceVideoDecodeAccelerator::FinishResetIfNeeded() {
decoder_resetting_ = false;
- child_message_loop_proxy_->PostTask(
- FROM_HERE, base::Bind(&Client::NotifyResetDone, client_));
+ child_task_runner_->PostTask(FROM_HERE,
+ base::Bind(&Client::NotifyResetDone, client_));
DVLOGF(3) << "Reset finished";
@@ -1695,8 +1694,8 @@ void V4L2SliceVideoDecodeAccelerator::SetErrorState(Error error) {
// We can touch decoder_state_ only if this is the decoder thread or the
// decoder thread isn't running.
if (decoder_thread_.IsRunning() &&
- !decoder_thread_proxy_->BelongsToCurrentThread()) {
- decoder_thread_proxy_->PostTask(
+ !decoder_thread_task_runner_->BelongsToCurrentThread()) {
+ decoder_thread_task_runner_->PostTask(
FROM_HERE, base::Bind(&V4L2SliceVideoDecodeAccelerator::SetErrorState,
base::Unretained(this), error));
return;
@@ -2049,7 +2048,7 @@ bool V4L2SliceVideoDecodeAccelerator::V4L2H264Accelerator::SubmitSlice(
bool V4L2SliceVideoDecodeAccelerator::SubmitSlice(int index,
const uint8_t* data,
size_t size) {
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
InputRecord& input_record = input_buffer_map_[index];
@@ -2361,7 +2360,7 @@ V4L2SliceVideoDecodeAccelerator::V4L2VP8Accelerator::
void V4L2SliceVideoDecodeAccelerator::DecodeSurface(
const scoped_refptr<V4L2DecodeSurface>& dec_surface) {
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
DVLOGF(3) << "Submitting decode for surface: " << dec_surface->ToString();
Enqueue(dec_surface);
@@ -2370,7 +2369,7 @@ void V4L2SliceVideoDecodeAccelerator::DecodeSurface(
void V4L2SliceVideoDecodeAccelerator::SurfaceReady(
const scoped_refptr<V4L2DecodeSurface>& dec_surface) {
DVLOGF(3);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
decoder_display_queue_.push(dec_surface);
TryOutputSurfaces();
@@ -2391,7 +2390,7 @@ void V4L2SliceVideoDecodeAccelerator::TryOutputSurfaces() {
void V4L2SliceVideoDecodeAccelerator::OutputSurface(
const scoped_refptr<V4L2DecodeSurface>& dec_surface) {
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
OutputRecord& output_record =
output_buffer_map_[dec_surface->output_record()];
@@ -2419,7 +2418,7 @@ void V4L2SliceVideoDecodeAccelerator::OutputSurface(
scoped_refptr<V4L2SliceVideoDecodeAccelerator::V4L2DecodeSurface>
V4L2SliceVideoDecodeAccelerator::CreateSurface() {
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
DCHECK_EQ(state_, kDecoding);
if (free_input_buffers_.empty() || free_output_buffers_.empty())
@@ -2447,7 +2446,7 @@ V4L2SliceVideoDecodeAccelerator::CreateSurface() {
void V4L2SliceVideoDecodeAccelerator::SendPictureReady() {
DVLOGF(3);
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
bool resetting_or_flushing = (decoder_resetting_ || decoder_flushing_);
while (!pending_picture_ready_.empty()) {
bool cleared = pending_picture_ready_.front().cleared;
@@ -2457,7 +2456,7 @@ void V4L2SliceVideoDecodeAccelerator::SendPictureReady() {
<< picture.picture_buffer_id();
// This picture is cleared. Post it to IO thread to reduce latency. This
// should be the case after all pictures are cleared at the beginning.
- io_message_loop_proxy_->PostTask(
+ io_task_runner_->PostTask(
FROM_HERE, base::Bind(&Client::PictureReady, io_client_, picture));
pending_picture_ready_.pop();
} else if (!cleared || resetting_or_flushing) {
@@ -2471,7 +2470,7 @@ void V4L2SliceVideoDecodeAccelerator::SendPictureReady() {
// has to be cleared in the child thread. A picture only needs to be
// cleared once. If the decoder is resetting or flushing, send all
// pictures to ensure PictureReady arrive before reset or flush done.
- child_message_loop_proxy_->PostTaskAndReply(
+ child_task_runner_->PostTaskAndReply(
FROM_HERE, base::Bind(&Client::PictureReady, client_, picture),
// Unretained is safe. If Client::PictureReady gets to run, |this| is
// alive. Destroy() will wait the decode thread to finish.
@@ -2490,7 +2489,7 @@ void V4L2SliceVideoDecodeAccelerator::SendPictureReady() {
void V4L2SliceVideoDecodeAccelerator::PictureCleared() {
DVLOGF(3) << "clearing count=" << picture_clearing_count_;
- DCHECK(decoder_thread_proxy_->BelongsToCurrentThread());
+ DCHECK(decoder_thread_task_runner_->BelongsToCurrentThread());
DCHECK_GT(picture_clearing_count_, 0);
picture_clearing_count_--;
SendPictureReady();

Powered by Google App Engine
This is Rietveld 408576698