summaryrefslogtreecommitdiffstats
path: root/media/base/pipeline.cc
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-15 19:00:48 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-15 19:00:48 +0000
commit35d868140820f807fd6fda5093dcf557117d8525 (patch)
treed6fcc278dfc6f66de4c71ffb09af5436df7b09fd /media/base/pipeline.cc
parent9523c88db869fc1df3b95e29a6d6a8e2fa8bad1f (diff)
downloadchromium_src-35d868140820f807fd6fda5093dcf557117d8525.zip
chromium_src-35d868140820f807fd6fda5093dcf557117d8525.tar.gz
chromium_src-35d868140820f807fd6fda5093dcf557117d8525.tar.bz2
Upgrade Pipeline::Start() NOTREACHED() back into a CHECK().
Unlike Seek(), calling Start() while running is a clear programmer error. If the pipeline did stop running and you called Start() again, make sure to no-op inside StartTask(). Review URL: https://chromiumcodereview.appspot.com/10857018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151721 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base/pipeline.cc')
-rw-r--r--media/base/pipeline.cc9
1 files changed, 4 insertions, 5 deletions
diff --git a/media/base/pipeline.cc b/media/base/pipeline.cc
index a4bfd29..55f8a40 100644
--- a/media/base/pipeline.cc
+++ b/media/base/pipeline.cc
@@ -110,10 +110,7 @@ void Pipeline::Start(scoped_ptr<FilterCollection> collection,
const PipelineStatusCB& error_cb,
const PipelineStatusCB& start_cb) {
base::AutoLock auto_lock(lock_);
- if (running_) {
- NOTREACHED() << "Media pipeline is already running";
- return;
- }
+ CHECK(!running_) << "Media pipeline is already running";
running_ = true;
message_loop_->PostTask(FROM_HERE, base::Bind(
@@ -556,7 +553,9 @@ void Pipeline::StartTask(scoped_ptr<FilterCollection> filter_collection,
const PipelineStatusCB& error_cb,
const PipelineStatusCB& start_cb) {
DCHECK(message_loop_->BelongsToCurrentThread());
- DCHECK_EQ(kCreated, state_);
+ CHECK_EQ(kCreated, state_)
+ << "Media pipeline cannot be started more than once";
+
filter_collection_ = filter_collection.Pass();
ended_cb_ = ended_cb;
error_cb_ = error_cb;