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

Unified Diff: media/filters/pipeline_controller.cc

Issue 2618883002: [Media, Video] Enable the video track for a new renderer. (Closed)
Patch Set: Added ResumedCB to PipelineController Created 3 years, 11 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
« media/blink/webmediaplayer_impl.cc ('K') | « media/filters/pipeline_controller.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/filters/pipeline_controller.cc
diff --git a/media/filters/pipeline_controller.cc b/media/filters/pipeline_controller.cc
index 2055afb9dc08cdd3a3879434301051a1b84167c8..be73e0aad8c9e028c75724b9ee40234b66b8012f 100644
--- a/media/filters/pipeline_controller.cc
+++ b/media/filters/pipeline_controller.cc
@@ -14,17 +14,20 @@ PipelineController::PipelineController(
const RendererFactoryCB& renderer_factory_cb,
const SeekedCB& seeked_cb,
const SuspendedCB& suspended_cb,
+ const ResumedCB& resumed_cb,
const PipelineStatusCB& error_cb)
: pipeline_(pipeline),
renderer_factory_cb_(renderer_factory_cb),
seeked_cb_(seeked_cb),
suspended_cb_(suspended_cb),
+ resumed_cb_(resumed_cb),
error_cb_(error_cb),
weak_factory_(this) {
DCHECK(pipeline_);
DCHECK(!renderer_factory_cb_.is_null());
DCHECK(!seeked_cb_.is_null());
DCHECK(!suspended_cb_.is_null());
+ DCHECK(!resumed_cb_.is_null());
DCHECK(!error_cb_.is_null());
}
@@ -180,6 +183,7 @@ void PipelineController::Dispatch() {
pending_resume_ = false;
state_ = State::RESUMING;
+ pending_resumed_cb_ = true;
pipeline_->Resume(renderer_factory_cb_.Run(), seek_time_,
base::Bind(&PipelineController::OnPipelineStatus,
weak_factory_.GetWeakPtr(), State::PLAYING));
@@ -230,6 +234,11 @@ void PipelineController::Dispatch() {
seeked_cb_.Run(was_pending_time_updated);
return;
}
+
+ if (pending_resumed_cb_) {
+ pending_resumed_cb_ = false;
+ resumed_cb_.Run();
sandersd (OOO until July 31) 2017/01/07 00:56:17 This won't be called if |pending_seeked_cb_| is tr
whywhat 2017/01/07 02:02:35 Done. Would checking for state_ to be RESUMING and
+ }
}
}
« media/blink/webmediaplayer_impl.cc ('K') | « media/filters/pipeline_controller.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698