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

Unified Diff: media/base/pipeline_impl.h

Issue 5744002: Refactor PipelineImpl to use CompositeFilter to manage Filter state transitions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix CR nits & remove dead code. Created 9 years, 12 months 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
« no previous file with comments | « media/base/pipeline.h ('k') | media/base/pipeline_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/base/pipeline_impl.h
diff --git a/media/base/pipeline_impl.h b/media/base/pipeline_impl.h
index ee1f882b9a93c6cecf94bceb0f1961460ad22e27..9a217fd80a270335a185880cbb96be845a105804 100644
--- a/media/base/pipeline_impl.h
+++ b/media/base/pipeline_impl.h
@@ -18,6 +18,7 @@
#include "base/threading/thread.h"
#include "base/time.h"
#include "media/base/clock.h"
+#include "media/base/composite_filter.h"
#include "media/base/filter_host.h"
#include "media/base/pipeline.h"
@@ -119,6 +120,9 @@ class PipelineImpl : public Pipeline, public FilterHost {
// is used by the constructor, and the Stop() method.
void ResetState();
+ // Updates |state_|. All state transitions should use this call.
+ void set_state(State next_state);
+
// Simple method used to make sure the pipeline is running normally.
bool IsPipelineOk();
@@ -353,12 +357,6 @@ class PipelineImpl : public Pipeline, public FilterHost {
// Member that tracks the current state.
State state_;
- // For kPausing, kSeeking and kStarting, we need to track how many filters
- // have completed transitioning to the destination state. When
- // |remaining_transitions_| reaches 0 the pipeline can transition out
- // of the current state.
- size_t remaining_transitions_;
-
// For kSeeking we need to remember where we're seeking between filter
// replies.
base::TimeDelta seek_timestamp_;
@@ -388,20 +386,14 @@ class PipelineImpl : public Pipeline, public FilterHost {
scoped_ptr<PipelineCallback> error_callback_;
scoped_ptr<PipelineCallback> network_callback_;
- // Vector of our filters and map maintaining the relationship between the
- // FilterType and the filter itself.
- typedef std::vector<scoped_refptr<Filter> > FilterVector;
- FilterVector filters_;
+ // Reference to the filter(s) that constitute the pipeline.
+ scoped_refptr<Filter> pipeline_filter_;
// Renderer references used for setting the volume and determining
// when playback has finished.
scoped_refptr<AudioRenderer> audio_renderer_;
scoped_refptr<VideoRenderer> video_renderer_;
- // Vector of threads owned by the pipeline and being used by filters.
- typedef std::vector<base::Thread*> FilterThreadVector;
- FilterThreadVector filter_threads_;
-
// Helper class that stores filter references during pipeline
// initialization.
class PipelineInitState;
« no previous file with comments | « media/base/pipeline.h ('k') | media/base/pipeline_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698