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/medialive/model/WavCodingMode.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace MediaLive 22 { 23 namespace Model 24 { 25 26 /** 27 * Wav Settings<p><h3>See Also:</h3> <a 28 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/WavSettings">AWS 29 * API Reference</a></p> 30 */ 31 class AWS_MEDIALIVE_API WavSettings 32 { 33 public: 34 WavSettings(); 35 WavSettings(Aws::Utils::Json::JsonView jsonValue); 36 WavSettings& operator=(Aws::Utils::Json::JsonView jsonValue); 37 Aws::Utils::Json::JsonValue Jsonize() const; 38 39 40 /** 41 * Bits per sample. 42 */ GetBitDepth()43 inline double GetBitDepth() const{ return m_bitDepth; } 44 45 /** 46 * Bits per sample. 47 */ BitDepthHasBeenSet()48 inline bool BitDepthHasBeenSet() const { return m_bitDepthHasBeenSet; } 49 50 /** 51 * Bits per sample. 52 */ SetBitDepth(double value)53 inline void SetBitDepth(double value) { m_bitDepthHasBeenSet = true; m_bitDepth = value; } 54 55 /** 56 * Bits per sample. 57 */ WithBitDepth(double value)58 inline WavSettings& WithBitDepth(double value) { SetBitDepth(value); return *this;} 59 60 61 /** 62 * The audio coding mode for the WAV audio. The mode determines the number of 63 * channels in the audio. 64 */ GetCodingMode()65 inline const WavCodingMode& GetCodingMode() const{ return m_codingMode; } 66 67 /** 68 * The audio coding mode for the WAV audio. The mode determines the number of 69 * channels in the audio. 70 */ CodingModeHasBeenSet()71 inline bool CodingModeHasBeenSet() const { return m_codingModeHasBeenSet; } 72 73 /** 74 * The audio coding mode for the WAV audio. The mode determines the number of 75 * channels in the audio. 76 */ SetCodingMode(const WavCodingMode & value)77 inline void SetCodingMode(const WavCodingMode& value) { m_codingModeHasBeenSet = true; m_codingMode = value; } 78 79 /** 80 * The audio coding mode for the WAV audio. The mode determines the number of 81 * channels in the audio. 82 */ SetCodingMode(WavCodingMode && value)83 inline void SetCodingMode(WavCodingMode&& value) { m_codingModeHasBeenSet = true; m_codingMode = std::move(value); } 84 85 /** 86 * The audio coding mode for the WAV audio. The mode determines the number of 87 * channels in the audio. 88 */ WithCodingMode(const WavCodingMode & value)89 inline WavSettings& WithCodingMode(const WavCodingMode& value) { SetCodingMode(value); return *this;} 90 91 /** 92 * The audio coding mode for the WAV audio. The mode determines the number of 93 * channels in the audio. 94 */ WithCodingMode(WavCodingMode && value)95 inline WavSettings& WithCodingMode(WavCodingMode&& value) { SetCodingMode(std::move(value)); return *this;} 96 97 98 /** 99 * Sample rate in Hz. 100 */ GetSampleRate()101 inline double GetSampleRate() const{ return m_sampleRate; } 102 103 /** 104 * Sample rate in Hz. 105 */ SampleRateHasBeenSet()106 inline bool SampleRateHasBeenSet() const { return m_sampleRateHasBeenSet; } 107 108 /** 109 * Sample rate in Hz. 110 */ SetSampleRate(double value)111 inline void SetSampleRate(double value) { m_sampleRateHasBeenSet = true; m_sampleRate = value; } 112 113 /** 114 * Sample rate in Hz. 115 */ WithSampleRate(double value)116 inline WavSettings& WithSampleRate(double value) { SetSampleRate(value); return *this;} 117 118 private: 119 120 double m_bitDepth; 121 bool m_bitDepthHasBeenSet; 122 123 WavCodingMode m_codingMode; 124 bool m_codingModeHasBeenSet; 125 126 double m_sampleRate; 127 bool m_sampleRateHasBeenSet; 128 }; 129 130 } // namespace Model 131 } // namespace MediaLive 132 } // namespace Aws 133