From 68053a30044f678a37d80fc17001c653f3b6ce0c Mon Sep 17 00:00:00 2001 From: "acolwell@chromium.org" Date: Wed, 26 Jan 2011 19:40:19 +0000 Subject: Fix a teardown hang caused by an Abort() call while there is a pending read. BUG=64754 TEST=BufferedDataSourceTest.StopDoesNotUseMessageLoopForCallback , BufferedDataSourceTest.AbortDuringPendingRead Review URL: http://codereview.chromium.org/6342018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72668 0039d316-1c4b-4281-b951-d872f2087c98 --- media/base/pipeline_impl.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'media/base/pipeline_impl.cc') diff --git a/media/base/pipeline_impl.cc b/media/base/pipeline_impl.cc index d039664..e096b22 100644 --- a/media/base/pipeline_impl.cc +++ b/media/base/pipeline_impl.cc @@ -377,7 +377,9 @@ PipelineImpl::State PipelineImpl::FindNextState(State current) { } else if (current == kFlushing) { // We will always honor Seek() before Stop(). This is based on the // assumption that we never accept Seek() after Stop(). - DCHECK(IsPipelineSeeking() || IsPipelineStopPending()); + DCHECK(IsPipelineSeeking() || + IsPipelineStopPending() || + IsPipelineTearingDown()); return IsPipelineSeeking() ? kSeeking : kStopping; } else if (current == kSeeking) { return kStarting; -- cgit v1.1