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

Side by Side Diff: chromecast/media/cma/ipc/media_message_fifo.cc

Issue 1142513004: Chromecast: MessageLoopProxy cleanup --> SingleThreadTaskRunner. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chromecast/media/cma/ipc/media_message_fifo.h" 5 #include "chromecast/media/cma/ipc/media_message_fifo.h"
6 6
7 #include "base/atomicops.h" 7 #include "base/atomicops.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "base/message_loop/message_loop_proxy.h" 11 #include "base/single_thread_task_runner.h"
12 #include "base/thread_task_runner_handle.h"
12 #include "chromecast/media/cma/base/cma_logging.h" 13 #include "chromecast/media/cma/base/cma_logging.h"
13 #include "chromecast/media/cma/ipc/media_memory_chunk.h" 14 #include "chromecast/media/cma/ipc/media_memory_chunk.h"
14 #include "chromecast/media/cma/ipc/media_message.h" 15 #include "chromecast/media/cma/ipc/media_message.h"
15 #include "chromecast/media/cma/ipc/media_message_type.h" 16 #include "chromecast/media/cma/ipc/media_message_type.h"
16 17
17 namespace chromecast { 18 namespace chromecast {
18 namespace media { 19 namespace media {
19 20
20 class MediaMessageFlag 21 class MediaMessageFlag
21 : public base::RefCountedThreadSafe<MediaMessageFlag> { 22 : public base::RefCountedThreadSafe<MediaMessageFlag> {
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 scoped_refptr<base::SingleThreadTaskRunner> task_runner_; 72 scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
72 base::Closure release_msg_cb_; 73 base::Closure release_msg_cb_;
73 74
74 void* const data_; 75 void* const data_;
75 const size_t size_; 76 const size_t size_;
76 scoped_refptr<MediaMessageFlag> flag_; 77 scoped_refptr<MediaMessageFlag> flag_;
77 78
78 DISALLOW_COPY_AND_ASSIGN(FifoOwnedMemory); 79 DISALLOW_COPY_AND_ASSIGN(FifoOwnedMemory);
79 }; 80 };
80 81
81 FifoOwnedMemory::FifoOwnedMemory( 82 FifoOwnedMemory::FifoOwnedMemory(void* data,
82 void* data, size_t size, 83 size_t size,
83 const scoped_refptr<MediaMessageFlag>& flag, 84 const scoped_refptr<MediaMessageFlag>& flag,
84 const base::Closure& release_msg_cb) 85 const base::Closure& release_msg_cb)
85 : task_runner_(base::MessageLoopProxy::current()), 86 : task_runner_(base::ThreadTaskRunnerHandle::Get()),
86 release_msg_cb_(release_msg_cb), 87 release_msg_cb_(release_msg_cb),
87 data_(data), 88 data_(data),
88 size_(size), 89 size_(size),
89 flag_(flag) { 90 flag_(flag) {
90 } 91 }
91 92
92 FifoOwnedMemory::~FifoOwnedMemory() { 93 FifoOwnedMemory::~FifoOwnedMemory() {
93 // Release the flag before notifying that the message has been released. 94 // Release the flag before notifying that the message has been released.
94 flag_ = scoped_refptr<MediaMessageFlag>(); 95 flag_ = scoped_refptr<MediaMessageFlag>();
95 if (!release_msg_cb_.is_null()) { 96 if (!release_msg_cb_.is_null()) {
96 if (task_runner_->BelongsToCurrentThread()) { 97 if (task_runner_->BelongsToCurrentThread()) {
97 release_msg_cb_.Run(); 98 release_msg_cb_.Run();
98 } else { 99 } else {
99 task_runner_->PostTask(FROM_HERE, release_msg_cb_); 100 task_runner_->PostTask(FROM_HERE, release_msg_cb_);
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 void MediaMessageFifo::CommitInternalRead(size_t new_rd_offset) { 395 void MediaMessageFifo::CommitInternalRead(size_t new_rd_offset) {
395 internal_rd_offset_ = new_rd_offset; 396 internal_rd_offset_ = new_rd_offset;
396 } 397 }
397 398
398 void MediaMessageFifo::CommitInternalWrite(size_t new_wr_offset) { 399 void MediaMessageFifo::CommitInternalWrite(size_t new_wr_offset) {
399 internal_wr_offset_ = new_wr_offset; 400 internal_wr_offset_ = new_wr_offset;
400 } 401 }
401 402
402 } // namespace media 403 } // namespace media
403 } // namespace chromecast 404 } // namespace chromecast
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698