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

Unified Diff: media/filters/video_frame_scheduler_proxy.cc

Issue 237353007: Refactor VideoRendererImpl to use VideoFrameScheduler. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comments Created 6 years, 8 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
Index: media/filters/video_frame_scheduler_proxy.cc
diff --git a/media/filters/video_frame_scheduler_proxy.cc b/media/filters/video_frame_scheduler_proxy.cc
index 7499dc38d2fe1ca74a63b06a2b69a9c880e0db16..590412e6dca06bda89ce10a047adccb3f548305e 100644
--- a/media/filters/video_frame_scheduler_proxy.cc
+++ b/media/filters/video_frame_scheduler_proxy.cc
@@ -13,14 +13,15 @@ namespace media {
VideoFrameSchedulerProxy::VideoFrameSchedulerProxy(
const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
const scoped_refptr<base::SingleThreadTaskRunner>& scheduler_runner,
- VideoFrameScheduler* scheduler)
+ scoped_ptr<VideoFrameScheduler> scheduler)
: task_runner_(task_runner),
scheduler_runner_(scheduler_runner),
- scheduler_(scheduler),
+ scheduler_(scheduler.Pass()),
weak_factory_(this) {
}
VideoFrameSchedulerProxy::~VideoFrameSchedulerProxy() {
+ scheduler_runner_->DeleteSoon(FROM_HERE, scheduler_.release());
}
void VideoFrameSchedulerProxy::ScheduleVideoFrame(
@@ -31,7 +32,7 @@ void VideoFrameSchedulerProxy::ScheduleVideoFrame(
scheduler_runner_->PostTask(
FROM_HERE,
base::Bind(&VideoFrameScheduler::ScheduleVideoFrame,
- base::Unretained(scheduler_),
+ base::Unretained(scheduler_.get()),
frame,
wall_ticks,
BindToCurrentLoop(done_cb)));
@@ -39,9 +40,9 @@ void VideoFrameSchedulerProxy::ScheduleVideoFrame(
void VideoFrameSchedulerProxy::Reset() {
DCHECK(task_runner_->BelongsToCurrentThread());
- scheduler_runner_->PostTask(
- FROM_HERE,
- base::Bind(&VideoFrameScheduler::Reset, base::Unretained(scheduler_)));
+ scheduler_runner_->PostTask(FROM_HERE,
+ base::Bind(&VideoFrameScheduler::Reset,
+ base::Unretained(scheduler_.get())));
}
} // namespace media

Powered by Google App Engine
This is Rietveld 408576698