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

Unified Diff: services/media/framework/stages/lpcm_stage_output.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
Index: services/media/framework/stages/lpcm_stage_output.cc
diff --git a/services/media/framework/stages/lpcm_stage_output.cc b/services/media/framework/stages/lpcm_stage_output.cc
deleted file mode 100644
index 87cb0331cd7db7a8dc2359d22e4d059bdf5498de..0000000000000000000000000000000000000000
--- a/services/media/framework/stages/lpcm_stage_output.cc
+++ /dev/null
@@ -1,85 +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/engine.h"
-#include "services/media/framework/stages/lpcm_stage_input.h"
-#include "services/media/framework/stages/lpcm_stage_output.h"
-#include "services/media/framework/stages/stage.h"
-
-namespace mojo {
-namespace media {
-
-LpcmStageOutput::LpcmStageOutput() :
- buffer_(nullptr),
- frame_count_(0),
- mix_(false),
- synchronous_(false),
- next_presentation_time_(0) {}
-
-LpcmStageOutput::~LpcmStageOutput() {}
-
-void LpcmStageOutput::set_stream_type(const LpcmStreamType& stream_type) {
- lpcm_demand_.set_bytes_per_frame(stream_type.bytes_per_frame());
-}
-
-void LpcmStageOutput::SupplyFrames(bool end_of_stream, Engine* engine) {
- DCHECK(engine);
- DCHECK(connected());
- DCHECK(end_of_stream || buffer_);
-
- uint64_t duration = frame_count_ - lpcm_demand_.frame_count();
- if (allocator_ != nullptr) {
- SupplyPacketInternal(
- Packet::Create(
- next_presentation_time_,
- duration,
- end_of_stream,
- duration * lpcm_demand_.bytes_per_frame(),
- duration == 0 ? nullptr : buffer_,
- allocator_),
- engine);
- } else {
- SupplyPacketInternal(
- Packet::CreateNoAllocator(
- next_presentation_time_,
- duration,
- end_of_stream,
- duration * lpcm_demand_.bytes_per_frame(),
- duration == 0 ? nullptr : buffer_),
- engine);
- }
-
- next_presentation_time_ += duration;
-
- buffer_ = nullptr;
- frame_count_ = 0;
- mix_ = false;
- synchronous_ = false;
- lpcm_demand_.Reset();
-}
-
-Allocator* LpcmStageOutput::Prepare(bool can_accept_allocator) {
- // The stage isn't concerned with allocators, but we'll need one if our mate
- // isn't LPCM.
- Allocator* allocator = StageOutput::Prepare(true);
- DCHECK(!connected_to_lpcm() || allocator == nullptr);
- if (!connected_to_lpcm()) {
- // Our mate isn't lpcm, so we'll need an allocator to create packet buffers.
- // Use the provided one or the default.
- allocator_ = allocator == nullptr ? Allocator::GetDefault() : allocator;
- }
-
- return nullptr;
-}
-
-LpcmStageOutput* LpcmStageOutput::get_lpcm() {
- return this;
-}
-
-bool LpcmStageOutput::connected_to_lpcm() {
- return mate().get_lpcm() != nullptr;
-}
-
-} // namespace media
-} // namespace mojo
« no previous file with comments | « services/media/framework/stages/lpcm_stage_output.h ('k') | services/media/framework/stages/lpcm_transform_stage.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698