Index: content/renderer/media/android/media_source_delegate.cc |
diff --git a/content/renderer/media/android/media_source_delegate.cc b/content/renderer/media/android/media_source_delegate.cc |
index 90247123558e92bc5cebf70579071cabacac4f65..93e46aac023a77a45f18a8524350c0f378437f48 100644 |
--- a/content/renderer/media/android/media_source_delegate.cc |
+++ b/content/renderer/media/android/media_source_delegate.cc |
@@ -48,7 +48,7 @@ static void LogMediaSourceError(const scoped_refptr<media::MediaLog>& media_log, |
MediaSourceDelegate::MediaSourceDelegate( |
RendererDemuxerAndroid* demuxer_client, |
int demuxer_client_id, |
- const scoped_refptr<base::MessageLoopProxy>& media_loop, |
+ const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, |
const scoped_refptr<media::MediaLog> media_log) |
: demuxer_client_(demuxer_client), |
demuxer_client_id_(demuxer_client_id), |
@@ -62,16 +62,16 @@ MediaSourceDelegate::MediaSourceDelegate( |
browser_seek_time_(media::kNoTimestamp()), |
expecting_regular_seek_(false), |
access_unit_size_(0), |
- main_loop_(base::MessageLoopProxy::current()), |
- media_loop_(media_loop), |
+ main_task_runner_(base::MessageLoopProxy::current()), |
+ media_task_runner_(media_task_runner), |
main_weak_factory_(this), |
media_weak_factory_(this), |
main_weak_this_(main_weak_factory_.GetWeakPtr()) { |
- DCHECK(main_loop_->BelongsToCurrentThread()); |
+ DCHECK(main_task_runner_->BelongsToCurrentThread()); |
} |
MediaSourceDelegate::~MediaSourceDelegate() { |
- DCHECK(main_loop_->BelongsToCurrentThread()); |
+ DCHECK(main_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_; |
DCHECK(!chunk_demuxer_); |
DCHECK(!demuxer_client_); |
@@ -82,7 +82,7 @@ MediaSourceDelegate::~MediaSourceDelegate() { |
} |
void MediaSourceDelegate::Destroy() { |
- DCHECK(main_loop_->BelongsToCurrentThread()); |
+ DCHECK(main_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_; |
if (!chunk_demuxer_) { |
@@ -103,19 +103,19 @@ void MediaSourceDelegate::Destroy() { |
// |this| will be transferred to the callback StopDemuxer() and |
// OnDemuxerStopDone(). They own |this| and OnDemuxerStopDone() will delete |
// it when called, hence using base::Unretained(this) is safe here. |
- media_loop_->PostTask(FROM_HERE, |
+ media_task_runner_->PostTask(FROM_HERE, |
base::Bind(&MediaSourceDelegate::StopDemuxer, |
base::Unretained(this))); |
} |
bool MediaSourceDelegate::IsVideoEncrypted() { |
- DCHECK(main_loop_->BelongsToCurrentThread()); |
+ DCHECK(main_task_runner_->BelongsToCurrentThread()); |
base::AutoLock auto_lock(is_video_encrypted_lock_); |
return is_video_encrypted_; |
} |
base::Time MediaSourceDelegate::GetTimelineOffset() const { |
- DCHECK(main_loop_->BelongsToCurrentThread()); |
+ DCHECK(main_task_runner_->BelongsToCurrentThread()); |
if (!chunk_demuxer_) |
return base::Time(); |
@@ -123,7 +123,7 @@ base::Time MediaSourceDelegate::GetTimelineOffset() const { |
} |
void MediaSourceDelegate::StopDemuxer() { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
DCHECK(chunk_demuxer_); |
demuxer_client_->RemoveDelegate(demuxer_client_id_); |
@@ -151,7 +151,7 @@ void MediaSourceDelegate::InitializeMediaSource( |
const media::SetDecryptorReadyCB& set_decryptor_ready_cb, |
const UpdateNetworkStateCB& update_network_state_cb, |
const DurationChangeCB& duration_change_cb) { |
- DCHECK(main_loop_->BelongsToCurrentThread()); |
+ DCHECK(main_task_runner_->BelongsToCurrentThread()); |
DCHECK(!media_source_opened_cb.is_null()); |
media_source_opened_cb_ = media_source_opened_cb; |
need_key_cb_ = need_key_cb; |
@@ -170,13 +170,13 @@ void MediaSourceDelegate::InitializeMediaSource( |
// |this| will be retained until StopDemuxer() is posted, so Unretained() is |
// safe here. |
- media_loop_->PostTask(FROM_HERE, |
+ media_task_runner_->PostTask(FROM_HERE, |
base::Bind(&MediaSourceDelegate::InitializeDemuxer, |
base::Unretained(this))); |
} |
void MediaSourceDelegate::InitializeDemuxer() { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
demuxer_client_->AddDelegate(demuxer_client_id_, this); |
chunk_demuxer_->Initialize(this, |
base::Bind(&MediaSourceDelegate::OnDemuxerInitDone, |
@@ -205,7 +205,7 @@ size_t MediaSourceDelegate::VideoDecodedByteCount() const { |
} |
void MediaSourceDelegate::CancelPendingSeek(const base::TimeDelta& seek_time) { |
- DCHECK(main_loop_->BelongsToCurrentThread()); |
+ DCHECK(main_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << "(" << seek_time.InSecondsF() << ") : " |
<< demuxer_client_id_; |
@@ -229,7 +229,7 @@ void MediaSourceDelegate::CancelPendingSeek(const base::TimeDelta& seek_time) { |
void MediaSourceDelegate::StartWaitingForSeek( |
const base::TimeDelta& seek_time) { |
- DCHECK(main_loop_->BelongsToCurrentThread()); |
+ DCHECK(main_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << "(" << seek_time.InSecondsF() << ") : " |
<< demuxer_client_id_; |
@@ -257,7 +257,7 @@ void MediaSourceDelegate::StartWaitingForSeek( |
void MediaSourceDelegate::Seek( |
const base::TimeDelta& seek_time, bool is_browser_seek) { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << "(" << seek_time.InSecondsF() << ", " |
<< (is_browser_seek ? "browser seek" : "regular seek") << ") : " |
<< demuxer_client_id_; |
@@ -299,7 +299,7 @@ void MediaSourceDelegate::Seek( |
} |
void MediaSourceDelegate::SeekInternal(const base::TimeDelta& seek_time) { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
DCHECK(IsSeeking()); |
chunk_demuxer_->Seek(seek_time, base::Bind( |
&MediaSourceDelegate::OnDemuxerSeekDone, |
@@ -312,18 +312,18 @@ void MediaSourceDelegate::AddBufferedTimeRange(base::TimeDelta start, |
} |
void MediaSourceDelegate::SetDuration(base::TimeDelta duration) { |
- DCHECK(main_loop_->BelongsToCurrentThread()); |
+ DCHECK(main_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << "(" << duration.InSecondsF() << ") : " |
<< demuxer_client_id_; |
// Force duration change notification to be async to avoid reentrancy into |
// ChunkDemxuer. |
- main_loop_->PostTask(FROM_HERE, base::Bind( |
+ main_task_runner_->PostTask(FROM_HERE, base::Bind( |
&MediaSourceDelegate::OnDurationChanged, main_weak_this_, duration)); |
} |
void MediaSourceDelegate::OnDurationChanged(const base::TimeDelta& duration) { |
- DCHECK(main_loop_->BelongsToCurrentThread()); |
+ DCHECK(main_task_runner_->BelongsToCurrentThread()); |
if (demuxer_client_) |
demuxer_client_->DurationChanged(demuxer_client_id_, duration); |
if (!duration_change_cb_.is_null()) |
@@ -331,7 +331,7 @@ void MediaSourceDelegate::OnDurationChanged(const base::TimeDelta& duration) { |
} |
void MediaSourceDelegate::OnReadFromDemuxer(media::DemuxerStream::Type type) { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << "(" << type << ") : " << demuxer_client_id_; |
if (IsSeeking()) |
return; // Drop the request during seeking. |
@@ -348,7 +348,7 @@ void MediaSourceDelegate::OnReadFromDemuxer(media::DemuxerStream::Type type) { |
void MediaSourceDelegate::ReadFromDemuxerStream(media::DemuxerStream::Type type, |
scoped_ptr<DemuxerData> data, |
size_t index) { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
// DemuxerStream::Read() always returns the read callback asynchronously. |
DemuxerStream* stream = |
(type == DemuxerStream::AUDIO) ? audio_stream_ : video_stream_; |
@@ -363,7 +363,7 @@ void MediaSourceDelegate::OnBufferReady( |
size_t index, |
DemuxerStream::Status status, |
const scoped_refptr<media::DecoderBuffer>& buffer) { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << "(" << index << ", " << status << ", " |
<< ((!buffer || buffer->end_of_stream()) ? |
-1 : buffer->timestamp().InMilliseconds()) |
@@ -481,7 +481,7 @@ void MediaSourceDelegate::RemoveTextStream( |
} |
void MediaSourceDelegate::OnDemuxerInitDone(media::PipelineStatus status) { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << "(" << status << ") : " << demuxer_client_id_; |
DCHECK(chunk_demuxer_); |
@@ -513,12 +513,12 @@ void MediaSourceDelegate::OnDemuxerInitDone(media::PipelineStatus status) { |
} |
void MediaSourceDelegate::InitAudioDecryptingDemuxerStream() { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_; |
DCHECK(!set_decryptor_ready_cb_.is_null()); |
audio_decrypting_demuxer_stream_.reset(new media::DecryptingDemuxerStream( |
- media_loop_, set_decryptor_ready_cb_)); |
+ media_task_runner_, set_decryptor_ready_cb_)); |
audio_decrypting_demuxer_stream_->Initialize( |
audio_stream_, |
base::Bind(&MediaSourceDelegate::OnAudioDecryptingDemuxerStreamInitDone, |
@@ -526,12 +526,12 @@ void MediaSourceDelegate::InitAudioDecryptingDemuxerStream() { |
} |
void MediaSourceDelegate::InitVideoDecryptingDemuxerStream() { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_; |
DCHECK(!set_decryptor_ready_cb_.is_null()); |
video_decrypting_demuxer_stream_.reset(new media::DecryptingDemuxerStream( |
- media_loop_, set_decryptor_ready_cb_)); |
+ media_task_runner_, set_decryptor_ready_cb_)); |
video_decrypting_demuxer_stream_->Initialize( |
video_stream_, |
base::Bind(&MediaSourceDelegate::OnVideoDecryptingDemuxerStreamInitDone, |
@@ -540,7 +540,7 @@ void MediaSourceDelegate::InitVideoDecryptingDemuxerStream() { |
void MediaSourceDelegate::OnAudioDecryptingDemuxerStreamInitDone( |
media::PipelineStatus status) { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << "(" << status << ") : " << demuxer_client_id_; |
DCHECK(chunk_demuxer_); |
@@ -562,7 +562,7 @@ void MediaSourceDelegate::OnAudioDecryptingDemuxerStreamInitDone( |
void MediaSourceDelegate::OnVideoDecryptingDemuxerStreamInitDone( |
media::PipelineStatus status) { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << "(" << status << ") : " << demuxer_client_id_; |
DCHECK(chunk_demuxer_); |
@@ -577,7 +577,7 @@ void MediaSourceDelegate::OnVideoDecryptingDemuxerStreamInitDone( |
} |
void MediaSourceDelegate::OnDemuxerSeekDone(media::PipelineStatus status) { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << "(" << status << ") : " << demuxer_client_id_; |
DCHECK(IsSeeking()); |
@@ -590,7 +590,7 @@ void MediaSourceDelegate::OnDemuxerSeekDone(media::PipelineStatus status) { |
} |
void MediaSourceDelegate::ResetAudioDecryptingDemuxerStream() { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_; |
if (audio_decrypting_demuxer_stream_) { |
audio_decrypting_demuxer_stream_->Reset( |
@@ -603,7 +603,7 @@ void MediaSourceDelegate::ResetAudioDecryptingDemuxerStream() { |
} |
void MediaSourceDelegate::ResetVideoDecryptingDemuxerStream() { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_; |
if (video_decrypting_demuxer_stream_) { |
video_decrypting_demuxer_stream_->Reset(base::Bind( |
@@ -616,7 +616,7 @@ void MediaSourceDelegate::ResetVideoDecryptingDemuxerStream() { |
} |
void MediaSourceDelegate::FinishResettingDecryptingDemuxerStreams() { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_; |
base::AutoLock auto_lock(seeking_lock_); |
@@ -627,22 +627,22 @@ void MediaSourceDelegate::FinishResettingDecryptingDemuxerStreams() { |
} |
void MediaSourceDelegate::OnDemuxerStopDone() { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_; |
- main_loop_->PostTask( |
+ main_task_runner_->PostTask( |
FROM_HERE, |
base::Bind(&MediaSourceDelegate::DeleteSelf, base::Unretained(this))); |
} |
void MediaSourceDelegate::DeleteSelf() { |
- DCHECK(main_loop_->BelongsToCurrentThread()); |
+ DCHECK(main_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_; |
chunk_demuxer_.reset(); |
delete this; |
} |
void MediaSourceDelegate::NotifyDemuxerReady() { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_; |
DCHECK(is_demuxer_ready_); |
@@ -659,7 +659,7 @@ void MediaSourceDelegate::NotifyDemuxerReady() { |
} |
base::TimeDelta MediaSourceDelegate::GetDuration() const { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
if (!chunk_demuxer_) |
return media::kNoTimestamp(); |
@@ -671,7 +671,7 @@ base::TimeDelta MediaSourceDelegate::GetDuration() const { |
} |
void MediaSourceDelegate::OnDemuxerOpened() { |
- DCHECK(main_loop_->BelongsToCurrentThread()); |
+ DCHECK(main_task_runner_->BelongsToCurrentThread()); |
if (media_source_opened_cb_.is_null()) |
return; |
@@ -681,7 +681,7 @@ void MediaSourceDelegate::OnDemuxerOpened() { |
void MediaSourceDelegate::OnNeedKey(const std::string& type, |
const std::vector<uint8>& init_data) { |
- DCHECK(main_loop_->BelongsToCurrentThread()); |
+ DCHECK(main_task_runner_->BelongsToCurrentThread()); |
if (need_key_cb_.is_null()) |
return; |
@@ -736,7 +736,7 @@ base::TimeDelta MediaSourceDelegate::FindBufferedBrowserSeekTime_Locked( |
bool MediaSourceDelegate::GetDemuxerConfigFromStream( |
media::DemuxerConfigs* configs, bool is_audio) { |
- DCHECK(media_loop_->BelongsToCurrentThread()); |
+ DCHECK(media_task_runner_->BelongsToCurrentThread()); |
if (!is_demuxer_ready_) |
return false; |
if (is_audio && audio_stream_) { |