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

Unified Diff: media/base/pipeline.cc

Issue 14371023: Remove reference counting from media::Pipeline. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/base/pipeline.h ('k') | media/base/pipeline_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/base/pipeline.cc
diff --git a/media/base/pipeline.cc b/media/base/pipeline.cc
index 84a1e18bf19326bb74081d1c5132fab718e730a7..292aef4c6f5480c166ba91e41e893eda5177d59d 100644
--- a/media/base/pipeline.cc
+++ b/media/base/pipeline.cc
@@ -82,14 +82,14 @@ void Pipeline::Start(scoped_ptr<FilterCollection> collection,
running_ = true;
message_loop_->PostTask(FROM_HERE, base::Bind(
- &Pipeline::StartTask, this, base::Passed(&collection),
+ &Pipeline::StartTask, base::Unretained(this), base::Passed(&collection),
ended_cb, error_cb, seek_cb, buffering_state_cb, duration_change_cb));
}
void Pipeline::Stop(const base::Closure& stop_cb) {
base::AutoLock auto_lock(lock_);
message_loop_->PostTask(FROM_HERE, base::Bind(
- &Pipeline::StopTask, this, stop_cb));
+ &Pipeline::StopTask, base::Unretained(this), stop_cb));
}
void Pipeline::Seek(TimeDelta time, const PipelineStatusCB& seek_cb) {
@@ -100,7 +100,7 @@ void Pipeline::Seek(TimeDelta time, const PipelineStatusCB& seek_cb) {
}
message_loop_->PostTask(FROM_HERE, base::Bind(
- &Pipeline::SeekTask, this, time, seek_cb));
+ &Pipeline::SeekTask, base::Unretained(this), time, seek_cb));
}
bool Pipeline::IsRunning() const {
@@ -131,7 +131,8 @@ void Pipeline::SetPlaybackRate(float playback_rate) {
playback_rate_ = playback_rate;
if (running_) {
message_loop_->PostTask(FROM_HERE, base::Bind(
- &Pipeline::PlaybackRateChangedTask, this, playback_rate));
+ &Pipeline::PlaybackRateChangedTask, base::Unretained(this),
+ playback_rate));
}
}
@@ -148,7 +149,7 @@ void Pipeline::SetVolume(float volume) {
volume_ = volume;
if (running_) {
message_loop_->PostTask(FROM_HERE, base::Bind(
- &Pipeline::VolumeChangedTask, this, volume));
+ &Pipeline::VolumeChangedTask, base::Unretained(this), volume));
}
}
@@ -302,7 +303,7 @@ void Pipeline::SetError(PipelineStatus error) {
VLOG(1) << "Media pipeline error: " << error;
message_loop_->PostTask(FROM_HERE, base::Bind(
- &Pipeline::ErrorChangedTask, this, error));
+ &Pipeline::ErrorChangedTask, base::Unretained(this), error));
media_log_->AddEvent(media_log_->CreatePipelineErrorEvent(error));
}
@@ -310,7 +311,7 @@ void Pipeline::SetError(PipelineStatus error) {
void Pipeline::OnAudioDisabled() {
DCHECK(IsRunning());
message_loop_->PostTask(FROM_HERE, base::Bind(
- &Pipeline::AudioDisabledTask, this));
+ &Pipeline::AudioDisabledTask, base::Unretained(this)));
media_log_->AddEvent(
media_log_->CreateEvent(MediaLogEvent::AUDIO_RENDERER_DISABLED));
}
@@ -395,7 +396,7 @@ TimeDelta Pipeline::TimeForByteOffset_Locked(int64 byte_offset) const {
void Pipeline::OnStateTransition(PipelineStatus status) {
// Force post to process state transitions after current execution frame.
message_loop_->PostTask(FROM_HERE, base::Bind(
- &Pipeline::StateTransitionTask, this, status));
+ &Pipeline::StateTransitionTask, base::Unretained(this), status));
}
void Pipeline::StateTransitionTask(PipelineStatus status) {
@@ -423,7 +424,8 @@ void Pipeline::StateTransitionTask(PipelineStatus status) {
state_ == kSeeking));
pending_callbacks_.reset();
- PipelineStatusCB done_cb = base::Bind(&Pipeline::OnStateTransition, this);
+ PipelineStatusCB done_cb = base::Bind(
+ &Pipeline::OnStateTransition, base::Unretained(this));
// Switch states, performing any entrance actions for the new state as well.
SetState(GetNextState());
@@ -672,14 +674,14 @@ void Pipeline::OnNaturalVideoSizeChanged(const gfx::Size& size) {
void Pipeline::OnAudioRendererEnded() {
// Force post to process ended messages after current execution frame.
message_loop_->PostTask(FROM_HERE, base::Bind(
- &Pipeline::DoAudioRendererEnded, this));
+ &Pipeline::DoAudioRendererEnded, base::Unretained(this)));
media_log_->AddEvent(media_log_->CreateEvent(MediaLogEvent::AUDIO_ENDED));
}
void Pipeline::OnVideoRendererEnded() {
// Force post to process ended messages after current execution frame.
message_loop_->PostTask(FROM_HERE, base::Bind(
- &Pipeline::DoVideoRendererEnded, this));
+ &Pipeline::DoVideoRendererEnded, base::Unretained(this)));
media_log_->AddEvent(media_log_->CreateEvent(MediaLogEvent::VIDEO_ENDED));
}
@@ -725,7 +727,7 @@ void Pipeline::StopTask(const base::Closure& stop_cb) {
pending_callbacks_.reset();
stop_cb_ = stop_cb;
- DoStop(base::Bind(&Pipeline::OnStopCompleted, this));
+ DoStop(base::Bind(&Pipeline::OnStopCompleted, base::Unretained(this)));
}
void Pipeline::ErrorChangedTask(PipelineStatus error) {
@@ -739,7 +741,7 @@ void Pipeline::ErrorChangedTask(PipelineStatus error) {
pending_callbacks_.reset();
status_ = error;
- DoStop(base::Bind(&Pipeline::OnStopCompleted, this));
+ DoStop(base::Bind(&Pipeline::OnStopCompleted, base::Unretained(this)));
}
void Pipeline::PlaybackRateChangedTask(float playback_rate) {
@@ -804,7 +806,8 @@ void Pipeline::SeekTask(TimeDelta time, const PipelineStatusCB& seek_cb) {
clock_->Pause();
clock_->SetTime(seek_timestamp, seek_timestamp);
}
- DoSeek(seek_timestamp, base::Bind(&Pipeline::OnStateTransition, this));
+ DoSeek(seek_timestamp, base::Bind(
+ &Pipeline::OnStateTransition, base::Unretained(this)));
}
void Pipeline::DoAudioRendererEnded() {
@@ -885,12 +888,12 @@ void Pipeline::InitializeAudioRenderer(const PipelineStatusCB& done_cb) {
audio_renderer_->Initialize(
demuxer_->GetStream(DemuxerStream::AUDIO),
done_cb,
- base::Bind(&Pipeline::OnUpdateStatistics, this),
- base::Bind(&Pipeline::OnAudioUnderflow, this),
- base::Bind(&Pipeline::OnAudioTimeUpdate, this),
- base::Bind(&Pipeline::OnAudioRendererEnded, this),
- base::Bind(&Pipeline::OnAudioDisabled, this),
- base::Bind(&Pipeline::SetError, this));
+ base::Bind(&Pipeline::OnUpdateStatistics, base::Unretained(this)),
+ base::Bind(&Pipeline::OnAudioUnderflow, base::Unretained(this)),
+ base::Bind(&Pipeline::OnAudioTimeUpdate, base::Unretained(this)),
+ base::Bind(&Pipeline::OnAudioRendererEnded, base::Unretained(this)),
+ base::Bind(&Pipeline::OnAudioDisabled, base::Unretained(this)),
+ base::Bind(&Pipeline::SetError, base::Unretained(this)));
}
void Pipeline::InitializeVideoRenderer(const PipelineStatusCB& done_cb) {
@@ -909,19 +912,19 @@ void Pipeline::InitializeVideoRenderer(const PipelineStatusCB& done_cb) {
video_renderer_->Initialize(
stream,
done_cb,
- base::Bind(&Pipeline::OnUpdateStatistics, this),
- base::Bind(&Pipeline::OnVideoTimeUpdate, this),
- base::Bind(&Pipeline::OnNaturalVideoSizeChanged, this),
- base::Bind(&Pipeline::OnVideoRendererEnded, this),
- base::Bind(&Pipeline::SetError, this),
- base::Bind(&Pipeline::GetMediaTime, this),
- base::Bind(&Pipeline::GetMediaDuration, this));
+ base::Bind(&Pipeline::OnUpdateStatistics, base::Unretained(this)),
+ base::Bind(&Pipeline::OnVideoTimeUpdate, base::Unretained(this)),
+ base::Bind(&Pipeline::OnNaturalVideoSizeChanged, base::Unretained(this)),
+ base::Bind(&Pipeline::OnVideoRendererEnded, base::Unretained(this)),
+ base::Bind(&Pipeline::SetError, base::Unretained(this)),
+ base::Bind(&Pipeline::GetMediaTime, base::Unretained(this)),
+ base::Bind(&Pipeline::GetMediaDuration, base::Unretained(this)));
}
void Pipeline::OnAudioUnderflow() {
if (!message_loop_->BelongsToCurrentThread()) {
message_loop_->PostTask(FROM_HERE, base::Bind(
- &Pipeline::OnAudioUnderflow, this));
+ &Pipeline::OnAudioUnderflow, base::Unretained(this)));
return;
}
« no previous file with comments | « media/base/pipeline.h ('k') | media/base/pipeline_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698