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

Unified Diff: services/media/framework/stages/distributor_stage.cc

Issue 1678433002: Motown: Remove LPCM optimizations, fix prepare, add flush, add ActiveMultistreamSink model/stage (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Sync Created 4 years, 10 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 | « services/media/framework/stages/distributor_stage.h ('k') | services/media/framework/stages/input.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: services/media/framework/stages/distributor_stage.cc
diff --git a/services/media/framework/stages/distributor_stage.cc b/services/media/framework/stages/distributor_stage.cc
deleted file mode 100644
index 749de98c35e1ab314375d7995a707bac7905d2e5..0000000000000000000000000000000000000000
--- a/services/media/framework/stages/distributor_stage.cc
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "services/media/framework/stages/distributor_stage.h"
-
-namespace mojo {
-namespace media {
-
-DistributorStage::DistributorStage(
- MultiStreamPacketSourcePtr packet_source) :
- packet_source_(packet_source),
- ended_streams_(0) {
- DCHECK(packet_source);
- outputs_.resize(packet_source->stream_count());
-}
-
-DistributorStage::~DistributorStage() {}
-
-uint32_t DistributorStage::input_count() const {
- return 0;
-};
-
-StageInput& DistributorStage::input(uint32_t index) {
- NOTREACHED();
- static StageInput result;
- return result;
-}
-
-uint32_t DistributorStage::output_count() const {
- return outputs_.size();
-}
-
-StageOutput& DistributorStage::output(uint32_t index) {
- DCHECK(index < outputs_.size());
- return outputs_[index];
-}
-
-bool DistributorStage::Prepare(UpdateCallback update_callback) {
- for (StageOutput& output : outputs_) {
- output.Prepare(false);
- }
- return false;
-}
-
-void DistributorStage::Update(Engine* engine) {
- DCHECK(engine);
-
- bool has_positive_demand = false;
- for (StageOutput& output : outputs_) {
- if (output.demand() == Demand::kPositive) {
- has_positive_demand = true;
- break;
- }
- }
-
- while (true) {
- if (cached_packet_ && has_positive_demand) {
- DCHECK(cached_packet_output_index_ < outputs_.size());
- StageOutput& output = outputs_[cached_packet_output_index_];
-
- if (output.demand() != Demand::kNegative) {
- // cached_packet_ is intended for an output which will accept packets.
- output.SupplyPacket(std::move(cached_packet_), engine);
- } else {
- }
- }
-
- if (cached_packet_) {
- // There's still a cached packet. We're done for now.
- return;
- }
-
- if (ended_streams_ == outputs_.size()) {
- // We've seen end-of-stream for all streams. All done.
- return;
- }
-
- // Pull a packet from the source.
- cached_packet_ = packet_source_->PullPacket(&cached_packet_output_index_);
- DCHECK(cached_packet_);
- DCHECK(cached_packet_output_index_ < outputs_.size());
-
- if (cached_packet_->end_of_stream()) {
- ended_streams_++;
- }
- }
-}
-
-} // namespace media
-} // namespace mojo
« no previous file with comments | « services/media/framework/stages/distributor_stage.h ('k') | services/media/framework/stages/input.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698