Commit 35d86814 authored by scherkus@chromium.org's avatar scherkus@chromium.org

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
parent 9523c88d
...@@ -110,10 +110,7 @@ void Pipeline::Start(scoped_ptr<FilterCollection> collection, ...@@ -110,10 +110,7 @@ void Pipeline::Start(scoped_ptr<FilterCollection> collection,
const PipelineStatusCB& error_cb, const PipelineStatusCB& error_cb,
const PipelineStatusCB& start_cb) { const PipelineStatusCB& start_cb) {
base::AutoLock auto_lock(lock_); base::AutoLock auto_lock(lock_);
if (running_) { CHECK(!running_) << "Media pipeline is already running";
NOTREACHED() << "Media pipeline is already running";
return;
}
running_ = true; running_ = true;
message_loop_->PostTask(FROM_HERE, base::Bind( message_loop_->PostTask(FROM_HERE, base::Bind(
...@@ -556,7 +553,9 @@ void Pipeline::StartTask(scoped_ptr<FilterCollection> filter_collection, ...@@ -556,7 +553,9 @@ void Pipeline::StartTask(scoped_ptr<FilterCollection> filter_collection,
const PipelineStatusCB& error_cb, const PipelineStatusCB& error_cb,
const PipelineStatusCB& start_cb) { const PipelineStatusCB& start_cb) {
DCHECK(message_loop_->BelongsToCurrentThread()); 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(); filter_collection_ = filter_collection.Pass();
ended_cb_ = ended_cb; ended_cb_ = ended_cb;
error_cb_ = error_cb; error_cb_ = error_cb;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment