Index: media/base/pipeline_impl.h |
diff --git a/media/base/pipeline_impl.h b/media/base/pipeline_impl.h |
index 57f8aebda2d75c85118f2cadd3b97ffe70bc3475..ad7340eb8d590e75444d6bfbbaae584deb63b649 100644 |
--- a/media/base/pipeline_impl.h |
+++ b/media/base/pipeline_impl.h |
@@ -208,8 +208,8 @@ class MEDIA_EXPORT PipelineImpl : public Pipeline, public FilterHost { |
virtual void SetCurrentReadPosition(int64 offset) OVERRIDE; |
virtual int64 GetCurrentReadPosition() OVERRIDE; |
- // Callback executed by filters upon completing initialization. |
- void OnFilterInitialize(); |
+ // Callbacks executed by filters upon completing initialization. |
+ void OnFilterInitialize(PipelineStatus status); |
// Callback executed by filters upon completing Play(), Pause(), or Stop(). |
void OnFilterStateTransition(); |
@@ -233,8 +233,9 @@ class MEDIA_EXPORT PipelineImpl : public Pipeline, public FilterHost { |
// InitializeTask() performs initialization in multiple passes. It is executed |
// as a result of calling Start() or InitializationComplete() that advances |
// initialization to the next state. It works as a hub of state transition for |
- // initialization. |
- void InitializeTask(); |
+ // initialization. One stage communicates its status to the next through |
+ // |last_stage_status|. |
+ void InitializeTask(PipelineStatus last_stage_status); |
// Stops and destroys all filters, placing the pipeline in the kStopped state. |
void StopTask(const PipelineStatusCB& stop_callback); |
@@ -286,6 +287,10 @@ class MEDIA_EXPORT PipelineImpl : public Pipeline, public FilterHost { |
// MessageLoop. |
bool PrepareFilter(scoped_refptr<Filter> filter); |
+ // DiscardFilter() undoes PrepareFilter's work. Returns false in case of |
+ // error or unknown |filter|. |
+ bool DiscardFilter(scoped_refptr<Filter> filter); |
+ |
// The following initialize methods are used to select a specific type of |
// Filter object from FilterCollection and initialize it asynchronously. |
void InitializeDemuxer(); |