1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/medialive/MediaLive_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSVector.h> 9 #include <aws/medialive/model/InputChannelLevel.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace MediaLive 23 { 24 namespace Model 25 { 26 27 /** 28 * Audio Channel Mapping<p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/AudioChannelMapping">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_MEDIALIVE_API AudioChannelMapping 33 { 34 public: 35 AudioChannelMapping(); 36 AudioChannelMapping(Aws::Utils::Json::JsonView jsonValue); 37 AudioChannelMapping& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * Indices and gain values for each input channel that should be remixed into this 43 * output channel. 44 */ GetInputChannelLevels()45 inline const Aws::Vector<InputChannelLevel>& GetInputChannelLevels() const{ return m_inputChannelLevels; } 46 47 /** 48 * Indices and gain values for each input channel that should be remixed into this 49 * output channel. 50 */ InputChannelLevelsHasBeenSet()51 inline bool InputChannelLevelsHasBeenSet() const { return m_inputChannelLevelsHasBeenSet; } 52 53 /** 54 * Indices and gain values for each input channel that should be remixed into this 55 * output channel. 56 */ SetInputChannelLevels(const Aws::Vector<InputChannelLevel> & value)57 inline void SetInputChannelLevels(const Aws::Vector<InputChannelLevel>& value) { m_inputChannelLevelsHasBeenSet = true; m_inputChannelLevels = value; } 58 59 /** 60 * Indices and gain values for each input channel that should be remixed into this 61 * output channel. 62 */ SetInputChannelLevels(Aws::Vector<InputChannelLevel> && value)63 inline void SetInputChannelLevels(Aws::Vector<InputChannelLevel>&& value) { m_inputChannelLevelsHasBeenSet = true; m_inputChannelLevels = std::move(value); } 64 65 /** 66 * Indices and gain values for each input channel that should be remixed into this 67 * output channel. 68 */ WithInputChannelLevels(const Aws::Vector<InputChannelLevel> & value)69 inline AudioChannelMapping& WithInputChannelLevels(const Aws::Vector<InputChannelLevel>& value) { SetInputChannelLevels(value); return *this;} 70 71 /** 72 * Indices and gain values for each input channel that should be remixed into this 73 * output channel. 74 */ WithInputChannelLevels(Aws::Vector<InputChannelLevel> && value)75 inline AudioChannelMapping& WithInputChannelLevels(Aws::Vector<InputChannelLevel>&& value) { SetInputChannelLevels(std::move(value)); return *this;} 76 77 /** 78 * Indices and gain values for each input channel that should be remixed into this 79 * output channel. 80 */ AddInputChannelLevels(const InputChannelLevel & value)81 inline AudioChannelMapping& AddInputChannelLevels(const InputChannelLevel& value) { m_inputChannelLevelsHasBeenSet = true; m_inputChannelLevels.push_back(value); return *this; } 82 83 /** 84 * Indices and gain values for each input channel that should be remixed into this 85 * output channel. 86 */ AddInputChannelLevels(InputChannelLevel && value)87 inline AudioChannelMapping& AddInputChannelLevels(InputChannelLevel&& value) { m_inputChannelLevelsHasBeenSet = true; m_inputChannelLevels.push_back(std::move(value)); return *this; } 88 89 90 /** 91 * The index of the output channel being produced. 92 */ GetOutputChannel()93 inline int GetOutputChannel() const{ return m_outputChannel; } 94 95 /** 96 * The index of the output channel being produced. 97 */ OutputChannelHasBeenSet()98 inline bool OutputChannelHasBeenSet() const { return m_outputChannelHasBeenSet; } 99 100 /** 101 * The index of the output channel being produced. 102 */ SetOutputChannel(int value)103 inline void SetOutputChannel(int value) { m_outputChannelHasBeenSet = true; m_outputChannel = value; } 104 105 /** 106 * The index of the output channel being produced. 107 */ WithOutputChannel(int value)108 inline AudioChannelMapping& WithOutputChannel(int value) { SetOutputChannel(value); return *this;} 109 110 private: 111 112 Aws::Vector<InputChannelLevel> m_inputChannelLevels; 113 bool m_inputChannelLevelsHasBeenSet; 114 115 int m_outputChannel; 116 bool m_outputChannelHasBeenSet; 117 }; 118 119 } // namespace Model 120 } // namespace MediaLive 121 } // namespace Aws 122