summaryrefslogtreecommitdiffstats
path: root/media/base/pipeline_impl.h
diff options
context:
space:
mode:
authoracolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-02 17:58:57 +0000
committeracolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-02 17:58:57 +0000
commit722fe549b5fae21efea8f84d583e659f9eaee410 (patch)
tree9fe7a0020f6fabbf39ccc2424eb47f112400a58d /media/base/pipeline_impl.h
parent49bb7ea3d0ae72016d2a6501985edc57dc3ef6bc (diff)
downloadchromium_src-722fe549b5fae21efea8f84d583e659f9eaee410.zip
chromium_src-722fe549b5fae21efea8f84d583e659f9eaee410.tar.gz
chromium_src-722fe549b5fae21efea8f84d583e659f9eaee410.tar.bz2
Prevent pending callbacks after an error from being interpreted as teardown callbacks.
- Moved teardown state transitions to use TeardownStateTransitionTask() so they can't be confused with normal playback transitions in FilterStateTransitionTask(). - Fixed code so seek callback is called if an error occurs during a Seek(). BUG=71087 TEST=PipelineImplTest.ErrorDuringSeek Review URL: http://codereview.chromium.org/6250092 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73469 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base/pipeline_impl.h')
-rw-r--r--media/base/pipeline_impl.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/media/base/pipeline_impl.h b/media/base/pipeline_impl.h
index addd1ce..3611416 100644
--- a/media/base/pipeline_impl.h
+++ b/media/base/pipeline_impl.h
@@ -183,6 +183,9 @@ class PipelineImpl : public Pipeline, public FilterHost {
// or Stop().
void OnFilterStateTransition();
+ // Callback executed by filters when completing teardown operations.
+ void OnTeardownStateTransition();
+
// The following "task" methods correspond to the public methods, but these
// methods are run as the result of posting a task to the PipelineInternal's
// message loop.
@@ -224,6 +227,9 @@ class PipelineImpl : public Pipeline, public FilterHost {
// Carries out advancing to the next filter during Play()/Pause()/Seek().
void FilterStateTransitionTask();
+ // Carries out advancing to the next teardown operation.
+ void TeardownStateTransitionTask();
+
// Carries out stopping filter threads, deleting filters, running
// appropriate callbacks, and setting the appropriate pipeline state
// depending on whether we performing Stop() or SetError().