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

Unified Diff: media/filters/ffmpeg_demuxer.cc

Issue 149475: Replaced DCHECKs to use MessageLoop::current() for FFmpegDemuxer and DecoderBase. (Closed)
Patch Set: Created 11 years, 5 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
« no previous file with comments | « media/filters/ffmpeg_demuxer.h ('k') | media/filters/ffmpeg_video_decoder_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/filters/ffmpeg_demuxer.cc
diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
index c12e0adf76c0c84753864f0585b1f0999b3cdc7b..aa7ff27fe578fe97102395663173e2df11522935 100644
--- a/media/filters/ffmpeg_demuxer.cc
+++ b/media/filters/ffmpeg_demuxer.cc
@@ -110,14 +110,14 @@ void* FFmpegDemuxerStream::QueryInterface(const char* id) {
}
bool FFmpegDemuxerStream::HasPendingReads() {
- DCHECK_EQ(PlatformThread::CurrentId(), demuxer_->thread_id_);
+ DCHECK_EQ(MessageLoop::current(), demuxer_->message_loop());
DCHECK(!stopped_ || read_queue_.empty())
<< "Read queue should have been emptied if demuxing stream is stopped";
return !read_queue_.empty();
}
base::TimeDelta FFmpegDemuxerStream::EnqueuePacket(AVPacket* packet) {
- DCHECK_EQ(PlatformThread::CurrentId(), demuxer_->thread_id_);
+ DCHECK_EQ(MessageLoop::current(), demuxer_->message_loop());
base::TimeDelta timestamp = ConvertTimestamp(packet->pts);
base::TimeDelta duration = ConvertTimestamp(packet->duration);
if (stopped_) {
@@ -138,13 +138,13 @@ base::TimeDelta FFmpegDemuxerStream::EnqueuePacket(AVPacket* packet) {
}
void FFmpegDemuxerStream::FlushBuffers() {
- DCHECK_EQ(PlatformThread::CurrentId(), demuxer_->thread_id_);
+ DCHECK_EQ(MessageLoop::current(), demuxer_->message_loop());
buffer_queue_.clear();
discontinuous_ = true;
}
void FFmpegDemuxerStream::Stop() {
- DCHECK_EQ(PlatformThread::CurrentId(), demuxer_->thread_id_);
+ DCHECK_EQ(MessageLoop::current(), demuxer_->message_loop());
buffer_queue_.clear();
STLDeleteElements(&read_queue_);
stopped_ = true;
@@ -161,7 +161,7 @@ void FFmpegDemuxerStream::Read(Callback1<Buffer*>::Type* read_callback) {
}
void FFmpegDemuxerStream::ReadTask(Callback1<Buffer*>::Type* read_callback) {
- DCHECK_EQ(PlatformThread::CurrentId(), demuxer_->thread_id_);
+ DCHECK_EQ(MessageLoop::current(), demuxer_->message_loop());
// Don't accept any additional reads if we've been told to stop.
//
@@ -182,7 +182,7 @@ void FFmpegDemuxerStream::ReadTask(Callback1<Buffer*>::Type* read_callback) {
}
void FFmpegDemuxerStream::FulfillPendingRead() {
- DCHECK_EQ(PlatformThread::CurrentId(), demuxer_->thread_id_);
+ DCHECK_EQ(MessageLoop::current(), demuxer_->message_loop());
if (buffer_queue_.empty() || read_queue_.empty()) {
return;
}
@@ -215,8 +215,7 @@ base::TimeDelta FFmpegDemuxerStream::ConvertTimestamp(int64 timestamp) {
// FFmpegDemuxer
//
FFmpegDemuxer::FFmpegDemuxer()
- : format_context_(NULL),
- thread_id_(NULL) {
+ : format_context_(NULL) {
}
FFmpegDemuxer::~FFmpegDemuxer() {
@@ -288,6 +287,8 @@ scoped_refptr<DemuxerStream> FFmpegDemuxer::GetStream(int stream) {
}
void FFmpegDemuxer::InititalizeTask(DataSource* data_source) {
+ DCHECK_EQ(MessageLoop::current(), message_loop());
+
// In order to get FFmpeg to use |data_source| for file IO we must transfer
// ownership via FFmpegGlue. We'll add |data_source| to FFmpegGlue and pass
// the resulting key to FFmpeg. FFmpeg will pass the key to FFmpegGlue which
@@ -297,10 +298,6 @@ void FFmpegDemuxer::InititalizeTask(DataSource* data_source) {
//
// Refer to media/filters/ffmpeg_glue.h for details.
- // Grab the thread id for debugging.
- DCHECK(!thread_id_);
- thread_id_ = PlatformThread::CurrentId();
-
// Add our data source and get our unique key.
std::string key = FFmpegGlue::get()->AddDataSource(data_source);
@@ -359,7 +356,7 @@ void FFmpegDemuxer::InititalizeTask(DataSource* data_source) {
}
void FFmpegDemuxer::SeekTask(base::TimeDelta time) {
- DCHECK_EQ(PlatformThread::CurrentId(), thread_id_);
+ DCHECK_EQ(MessageLoop::current(), message_loop());
// Tell streams to flush buffers due to seeking.
StreamVector::iterator iter;
@@ -381,7 +378,7 @@ void FFmpegDemuxer::SeekTask(base::TimeDelta time) {
}
void FFmpegDemuxer::DemuxTask() {
- DCHECK_EQ(PlatformThread::CurrentId(), thread_id_);
+ DCHECK_EQ(MessageLoop::current(), message_loop());
// Make sure we have work to do before demuxing.
if (!StreamsHavePendingReads()) {
@@ -438,7 +435,7 @@ void FFmpegDemuxer::DemuxTask() {
}
void FFmpegDemuxer::StopTask() {
- DCHECK_EQ(PlatformThread::CurrentId(), thread_id_);
+ DCHECK_EQ(MessageLoop::current(), message_loop());
StreamVector::iterator iter;
for (iter = streams_.begin(); iter != streams_.end(); ++iter) {
(*iter)->Stop();
@@ -446,7 +443,7 @@ void FFmpegDemuxer::StopTask() {
}
bool FFmpegDemuxer::StreamsHavePendingReads() {
- DCHECK_EQ(PlatformThread::CurrentId(), thread_id_);
+ DCHECK_EQ(MessageLoop::current(), message_loop());
StreamVector::iterator iter;
for (iter = streams_.begin(); iter != streams_.end(); ++iter) {
if ((*iter)->HasPendingReads()) {
@@ -457,7 +454,7 @@ bool FFmpegDemuxer::StreamsHavePendingReads() {
}
void FFmpegDemuxer::StreamHasEnded() {
- DCHECK_EQ(PlatformThread::CurrentId(), thread_id_);
+ DCHECK_EQ(MessageLoop::current(), message_loop());
StreamVector::iterator iter;
for (iter = streams_.begin(); iter != streams_.end(); ++iter) {
AVPacket* packet = new AVPacket();
« no previous file with comments | « media/filters/ffmpeg_demuxer.h ('k') | media/filters/ffmpeg_video_decoder_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698