diff options
author | acolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-02 17:58:57 +0000 |
---|---|---|
committer | acolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-02 17:58:57 +0000 |
commit | 722fe549b5fae21efea8f84d583e659f9eaee410 (patch) | |
tree | 9fe7a0020f6fabbf39ccc2424eb47f112400a58d /media/base/pipeline_impl.h | |
parent | 49bb7ea3d0ae72016d2a6501985edc57dc3ef6bc (diff) | |
download | chromium_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.h | 6 |
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(). |