diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-15 19:00:48 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-15 19:00:48 +0000 |
commit | 35d868140820f807fd6fda5093dcf557117d8525 (patch) | |
tree | d6fcc278dfc6f66de4c71ffb09af5436df7b09fd /media | |
parent | 9523c88db869fc1df3b95e29a6d6a8e2fa8bad1f (diff) | |
download | chromium_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')
-rw-r--r-- | media/base/pipeline.cc | 9 |
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; |