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

Side by Side Diff: services/media/framework/engine.h

Issue 1822333002: Motown: wholesale clang-format (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: dalesat Created 4 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef SERVICES_MEDIA_FRAMEWORK_ENGINE_H_ 5 #ifndef SERVICES_MEDIA_FRAMEWORK_ENGINE_H_
6 #define SERVICES_MEDIA_FRAMEWORK_ENGINE_H_ 6 #define SERVICES_MEDIA_FRAMEWORK_ENGINE_H_
7 7
8 #include <list> 8 #include <list>
9 #include <queue> 9 #include <queue>
10 #include <stack> 10 #include <stack>
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 // Queues the stage for update and winds down the backlog. 100 // Queues the stage for update and winds down the backlog.
101 void RequestUpdate(Stage* stage); 101 void RequestUpdate(Stage* stage);
102 102
103 // Pushes the stage to the supply backlog if it isn't already there. 103 // Pushes the stage to the supply backlog if it isn't already there.
104 void PushToSupplyBacklog(Stage* stage); 104 void PushToSupplyBacklog(Stage* stage);
105 105
106 // Pushes the stage to the demand backlog if it isn't already there. 106 // Pushes the stage to the demand backlog if it isn't already there.
107 void PushToDemandBacklog(Stage* stage); 107 void PushToDemandBacklog(Stage* stage);
108 108
109 private: 109 private:
110 using UpstreamVisitor = std::function<void( 110 using UpstreamVisitor =
111 const InputRef& input, 111 std::function<void(const InputRef& input,
112 const OutputRef& output, 112 const OutputRef& output,
113 const Stage::UpstreamCallback& callback)>; 113 const Stage::UpstreamCallback& callback)>;
114 using DownstreamVisitor = std::function<void( 114 using DownstreamVisitor =
115 const OutputRef& output, 115 std::function<void(const OutputRef& output,
116 const InputRef& input, 116 const InputRef& input,
117 const Stage::DownstreamCallback& callback)>; 117 const Stage::DownstreamCallback& callback)>;
118 118
119 void VisitUpstream( 119 void VisitUpstream(const InputRef& input, const UpstreamVisitor& vistor);
120 const InputRef& input,
121 const UpstreamVisitor& vistor);
122 120
123 void VisitDownstream( 121 void VisitDownstream(const OutputRef& output,
124 const OutputRef& output, 122 const DownstreamVisitor& vistor);
125 const DownstreamVisitor& vistor);
126 123
127 // Processes the entire backlog. 124 // Processes the entire backlog.
128 void Update(); 125 void Update();
129 126
130 // Performs processing for a single stage, updating the backlog accordingly. 127 // Performs processing for a single stage, updating the backlog accordingly.
131 void Update(Stage *stage); 128 void Update(Stage* stage);
132 129
133 // Pops a stage from the supply backlog and returns it or returns nullptr if 130 // Pops a stage from the supply backlog and returns it or returns nullptr if
134 // the supply backlog is empty. 131 // the supply backlog is empty.
135 Stage* PopFromSupplyBacklog(); 132 Stage* PopFromSupplyBacklog();
136 133
137 // Pops a stage from the demand backlog and returns it or returns nullptr if 134 // Pops a stage from the demand backlog and returns it or returns nullptr if
138 // the demand backlog is empty. 135 // the demand backlog is empty.
139 Stage* PopFromDemandBacklog(); 136 Stage* PopFromDemandBacklog();
140 137
141 mutable base::Lock lock_; 138 mutable base::Lock lock_;
142 // supply_backlog_ contains pointers to all the stages that have been supplied 139 // supply_backlog_ contains pointers to all the stages that have been supplied
143 // (packets or frames) but have not been updated since. demand_backlog_ does 140 // (packets or frames) but have not been updated since. demand_backlog_ does
144 // the same for demand. The use of queue vs stack here is a guess as to what 141 // the same for demand. The use of queue vs stack here is a guess as to what
145 // will yield the best results. It's possible that only a single backlog is 142 // will yield the best results. It's possible that only a single backlog is
146 // required. 143 // required.
147 // TODO(dalesat): Determine the best ordering and implement it. 144 // TODO(dalesat): Determine the best ordering and implement it.
148 std::queue<Stage*> supply_backlog_; 145 std::queue<Stage*> supply_backlog_;
149 std::stack<Stage*> demand_backlog_; 146 std::stack<Stage*> demand_backlog_;
150 bool packets_produced_; 147 bool packets_produced_;
151 }; 148 };
152 149
153 } // namespace media 150 } // namespace media
154 } // namespace mojo 151 } // namespace mojo
155 152
156 #endif // SERVICES_MEDIA_FRAMEWORK_ENGINE_H_ 153 #endif // SERVICES_MEDIA_FRAMEWORK_ENGINE_H_
OLDNEW
« no previous file with comments | « services/media/framework/conversion_pipeline_builder.cc ('k') | services/media/framework/engine.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698