Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(137)

Unified Diff: media/base/pipeline_impl.h

Issue 8686010: <video> decode in hardware! (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix out-of-line errors for SHMBuffer and BufferPair. Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/base/pipeline_impl.h
diff --git a/media/base/pipeline_impl.h b/media/base/pipeline_impl.h
index 5fb8f82ec465e27c933cf17a0d907c44a9d807d8..ad173fcee83af4686a59414b3ad1eb877e7a45e2 100644
--- a/media/base/pipeline_impl.h
+++ b/media/base/pipeline_impl.h
@@ -206,8 +206,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();
@@ -231,8 +231,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);
@@ -284,6 +285,10 @@ class MEDIA_EXPORT PipelineImpl : public Pipeline, public FilterHost {
// MessageLoop.
bool PrepareFilter(scoped_refptr<Filter> filter);
+ // DiscardFilter() undoes PrepareFilter's work. CHECK-fails in case of error
+ // or unknown |filter|.
+ void 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();

Powered by Google App Engine
This is Rietveld 408576698