Index: media/filters/ffmpeg_demuxer.cc |
diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc |
index 8457520f2398ef6cc84cc3258f5500223715f0b3..4bd653f9640255367681f87aef120a25d36cbbea 100644 |
--- a/media/filters/ffmpeg_demuxer.cc |
+++ b/media/filters/ffmpeg_demuxer.cc |
@@ -59,7 +59,7 @@ FFmpegDemuxerStream::FFmpegDemuxerStream( |
} |
bool FFmpegDemuxerStream::HasPendingReads() { |
- DCHECK_EQ(MessageLoop::current(), demuxer_->message_loop()); |
+ DCHECK(demuxer_->message_loop()->BelongsToCurrentThread()); |
base::AutoLock auto_lock(lock_); |
DCHECK(!stopped_ || read_queue_.empty()) |
<< "Read queue should have been emptied if demuxing stream is stopped"; |
@@ -68,7 +68,7 @@ bool FFmpegDemuxerStream::HasPendingReads() { |
void FFmpegDemuxerStream::EnqueuePacket( |
scoped_ptr_malloc<AVPacket, ScopedPtrAVFreePacket> packet) { |
- DCHECK_EQ(MessageLoop::current(), demuxer_->message_loop()); |
+ DCHECK(demuxer_->message_loop()->BelongsToCurrentThread()); |
base::AutoLock auto_lock(lock_); |
if (stopped_) { |
@@ -110,7 +110,7 @@ void FFmpegDemuxerStream::EnqueuePacket( |
} |
void FFmpegDemuxerStream::FlushBuffers() { |
- DCHECK_EQ(MessageLoop::current(), demuxer_->message_loop()); |
+ DCHECK(demuxer_->message_loop()->BelongsToCurrentThread()); |
base::AutoLock auto_lock(lock_); |
DCHECK(read_queue_.empty()) << "Read requests should be empty"; |
buffer_queue_.clear(); |
@@ -118,7 +118,7 @@ void FFmpegDemuxerStream::FlushBuffers() { |
} |
void FFmpegDemuxerStream::Stop() { |
- DCHECK_EQ(MessageLoop::current(), demuxer_->message_loop()); |
+ DCHECK(demuxer_->message_loop()->BelongsToCurrentThread()); |
base::AutoLock auto_lock(lock_); |
buffer_queue_.clear(); |
for (ReadQueue::iterator it = read_queue_.begin(); |
@@ -168,7 +168,7 @@ void FFmpegDemuxerStream::Read(const ReadCB& read_cb) { |
} |
void FFmpegDemuxerStream::ReadTask(const ReadCB& read_cb) { |
- DCHECK_EQ(MessageLoop::current(), demuxer_->message_loop()); |
+ DCHECK(demuxer_->message_loop()->BelongsToCurrentThread()); |
base::AutoLock auto_lock(lock_); |
// Don't accept any additional reads if we've been told to stop. |
@@ -191,7 +191,7 @@ void FFmpegDemuxerStream::ReadTask(const ReadCB& read_cb) { |
} |
void FFmpegDemuxerStream::FulfillPendingRead() { |
- DCHECK_EQ(MessageLoop::current(), demuxer_->message_loop()); |
+ DCHECK(demuxer_->message_loop()->BelongsToCurrentThread()); |
lock_.AssertAcquired(); |
if (buffer_queue_.empty() || read_queue_.empty()) { |
return; |
@@ -255,7 +255,7 @@ base::TimeDelta FFmpegDemuxerStream::ConvertStreamTimestamp( |
// FFmpegDemuxer |
// |
FFmpegDemuxer::FFmpegDemuxer( |
- MessageLoop* message_loop, |
+ const scoped_refptr<base::MessageLoopProxy>& message_loop, |
const scoped_refptr<DataSource>& data_source) |
: host_(NULL), |
message_loop_(message_loop), |
@@ -408,7 +408,7 @@ bool FFmpegDemuxer::IsStreaming() { |
return data_source_->IsStreaming(); |
} |
-MessageLoop* FFmpegDemuxer::message_loop() { |
+scoped_refptr<base::MessageLoopProxy> FFmpegDemuxer::message_loop() { |
return message_loop_; |
} |
@@ -450,7 +450,7 @@ static int CalculateBitrate( |
void FFmpegDemuxer::InitializeTask(DemuxerHost* host, |
const PipelineStatusCB& status_cb) { |
- DCHECK_EQ(MessageLoop::current(), message_loop_); |
+ DCHECK(message_loop_->BelongsToCurrentThread()); |
host_ = host; |
// TODO(scherkus): DataSource should have a host by this point, |
@@ -569,7 +569,7 @@ void FFmpegDemuxer::InitializeTask(DemuxerHost* host, |
} |
void FFmpegDemuxer::SeekTask(base::TimeDelta time, const PipelineStatusCB& cb) { |
- DCHECK_EQ(MessageLoop::current(), message_loop_); |
+ DCHECK(message_loop_->BelongsToCurrentThread()); |
// Tell streams to flush buffers due to seeking. |
StreamVector::iterator iter; |
@@ -596,7 +596,7 @@ void FFmpegDemuxer::SeekTask(base::TimeDelta time, const PipelineStatusCB& cb) { |
} |
void FFmpegDemuxer::DemuxTask() { |
- DCHECK_EQ(MessageLoop::current(), message_loop_); |
+ DCHECK(message_loop_->BelongsToCurrentThread()); |
// Make sure we have work to do before demuxing. |
if (!StreamsHavePendingReads()) { |
@@ -655,7 +655,7 @@ void FFmpegDemuxer::DemuxTask() { |
} |
void FFmpegDemuxer::StopTask(const base::Closure& callback) { |
- DCHECK_EQ(MessageLoop::current(), message_loop_); |
+ DCHECK(message_loop_->BelongsToCurrentThread()); |
StreamVector::iterator iter; |
for (iter = streams_.begin(); iter != streams_.end(); ++iter) { |
if (*iter) |
@@ -669,7 +669,7 @@ void FFmpegDemuxer::StopTask(const base::Closure& callback) { |
} |
void FFmpegDemuxer::DisableAudioStreamTask() { |
- DCHECK_EQ(MessageLoop::current(), message_loop_); |
+ DCHECK(message_loop_->BelongsToCurrentThread()); |
audio_disabled_ = true; |
StreamVector::iterator iter; |
for (iter = streams_.begin(); iter != streams_.end(); ++iter) { |
@@ -680,7 +680,7 @@ void FFmpegDemuxer::DisableAudioStreamTask() { |
} |
bool FFmpegDemuxer::StreamsHavePendingReads() { |
- DCHECK_EQ(MessageLoop::current(), message_loop_); |
+ DCHECK(message_loop_->BelongsToCurrentThread()); |
StreamVector::iterator iter; |
for (iter = streams_.begin(); iter != streams_.end(); ++iter) { |
if (*iter && (*iter)->HasPendingReads()) { |
@@ -691,7 +691,7 @@ bool FFmpegDemuxer::StreamsHavePendingReads() { |
} |
void FFmpegDemuxer::StreamHasEnded() { |
- DCHECK_EQ(MessageLoop::current(), message_loop_); |
+ DCHECK(message_loop_->BelongsToCurrentThread()); |
StreamVector::iterator iter; |
for (iter = streams_.begin(); iter != streams_.end(); ++iter) { |
if (!*iter || |
@@ -714,7 +714,7 @@ void FFmpegDemuxer::SignalReadCompleted(int size) { |
} |
void FFmpegDemuxer::NotifyBufferingChanged() { |
- DCHECK_EQ(MessageLoop::current(), message_loop_); |
+ DCHECK(message_loop_->BelongsToCurrentThread()); |
Ranges<base::TimeDelta> buffered; |
scoped_refptr<FFmpegDemuxerStream> audio = |
audio_disabled_ ? NULL : GetFFmpegStream(DemuxerStream::AUDIO); |