Chromium Code Reviews| Index: media/filters/chunk_demuxer.cc |
| diff --git a/media/filters/chunk_demuxer.cc b/media/filters/chunk_demuxer.cc |
| index e28a2d313062f98d03e01817df9ba54d39e2db9c..165b495033249b2b63e2aaf551c2075b49586c3b 100644 |
| --- a/media/filters/chunk_demuxer.cc |
| +++ b/media/filters/chunk_demuxer.cc |
| @@ -4,10 +4,14 @@ |
| #include "media/filters/chunk_demuxer.h" |
| +#include <algorithm> |
| +#include <deque> |
|
scherkus (not reviewing)
2012/07/28 23:07:19
were these changes needed due to including m_l_p i
xhwang
2012/07/30 19:58:10
No, it's because of the "include-what-you-use" rul
|
| + |
| #include "base/bind.h" |
| #include "base/callback_helpers.h" |
| +#include "base/location.h" |
| #include "base/logging.h" |
| -#include "base/message_loop.h" |
| +#include "base/message_loop_proxy.h" |
| #include "base/string_util.h" |
| #include "media/base/audio_decoder_config.h" |
| #include "media/base/stream_parser_buffer.h" |
| @@ -401,14 +405,15 @@ void ChunkDemuxerStream::Shutdown() { |
| it->Run(DemuxerStream::kOk, StreamParserBuffer::CreateEOSBuffer()); |
| } |
| -// Helper function that makes sure |read_cb| runs on |message_loop|. |
| -static void RunOnMessageLoop(const DemuxerStream::ReadCB& read_cb, |
| - MessageLoop* message_loop, |
| - DemuxerStream::Status status, |
| - const scoped_refptr<DecoderBuffer>& buffer) { |
| - if (MessageLoop::current() != message_loop) { |
| - message_loop->PostTask(FROM_HERE, base::Bind( |
| - &RunOnMessageLoop, read_cb, message_loop, status, buffer)); |
| +// Helper function that makes sure |read_cb| runs on |message_loop_proxy|. |
| +static void RunOnMessageLoop( |
| + const DemuxerStream::ReadCB& read_cb, |
| + const scoped_refptr<base::MessageLoopProxy>& message_loop_proxy, |
| + DemuxerStream::Status status, |
| + const scoped_refptr<DecoderBuffer>& buffer) { |
| + if (!message_loop_proxy->BelongsToCurrentThread()) { |
| + message_loop_proxy->PostTask(FROM_HERE, base::Bind( |
| + &RunOnMessageLoop, read_cb, message_loop_proxy, status, buffer)); |
| return; |
| } |
| @@ -458,7 +463,7 @@ void ChunkDemuxerStream::DeferRead_Locked(const ReadCB& read_cb) { |
| // Wrap & store |read_cb| so that it will |
| // get called on the current MessageLoop. |
| read_cbs_.push_back(base::Bind(&RunOnMessageLoop, read_cb, |
| - MessageLoop::current())); |
| + base::MessageLoopProxy::current())); |
| } |
| void ChunkDemuxerStream::CreateReadDoneClosures_Locked(ClosureQueue* closures) { |