diff options
-rw-r--r-- | media/base/pipeline_impl.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/media/base/pipeline_impl.cc b/media/base/pipeline_impl.cc index e5f1c0c..21b9338 100644 --- a/media/base/pipeline_impl.cc +++ b/media/base/pipeline_impl.cc @@ -592,6 +592,11 @@ void PipelineImpl::SeekTask(base::TimeDelta time, void PipelineImpl::FilterStateTransitionTask() { DCHECK_EQ(MessageLoop::current(), message_loop_); + // No reason transitioning if we've errored or have stopped. + if (state_ == kError || state_ == kStopped) { + return; + } + if (!StateTransitionsToStarted(state_)) { NOTREACHED() << "Invalid current state: " << state_; SetError(PIPELINE_ERROR_ABORT); |