From 35d868140820f807fd6fda5093dcf557117d8525 Mon Sep 17 00:00:00 2001 From: "scherkus@chromium.org" Date: Wed, 15 Aug 2012 19:00:48 +0000 Subject: 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 --- media/base/pipeline.cc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'media/base/pipeline.cc') 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 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 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; -- cgit v1.1