| // Copyright 2020 The Fuchsia 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 "src/media/audio/audio_core/pipeline_config.h" |
| |
| #include <gtest/gtest.h> |
| |
| namespace media::audio { |
| namespace { |
| |
| TEST(PipelineConfigTest, CalculateChannels) { |
| auto config = PipelineConfig::Default(); |
| |
| // No effects, the pipeline channelization is the same as the output of the root mix stage. |
| EXPECT_EQ(config.root().output_channels, config.channels()); |
| |
| // With rechannelization effects, the last effect defines the channelization. |
| config.mutable_root().effects.push_back( |
| {"lib.so", "effect", "e1", "", {config.root().output_channels + 1}}); |
| config.mutable_root().effects.push_back( |
| {"lib.so", "effect", "e2", "", {config.root().output_channels + 2}}); |
| EXPECT_EQ(config.root().output_channels + 2, config.channels()); |
| } |
| |
| } // namespace |
| } // namespace media::audio |