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/mediaconvert/MediaConvert_EXPORTS.h>
8 
9 namespace Aws
10 {
11 namespace Utils
12 {
13 namespace Json
14 {
15   class JsonValue;
16   class JsonView;
17 } // namespace Json
18 } // namespace Utils
19 namespace MediaConvert
20 {
21 namespace Model
22 {
23 
24   /**
25    * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value
26    * OPUS.<p><h3>See Also:</h3>   <a
27    * href="http://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/OpusSettings">AWS
28    * API Reference</a></p>
29    */
30   class AWS_MEDIACONVERT_API OpusSettings
31   {
32   public:
33     OpusSettings();
34     OpusSettings(Aws::Utils::Json::JsonView jsonValue);
35     OpusSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
36     Aws::Utils::Json::JsonValue Jsonize() const;
37 
38 
39     /**
40      * Optional. Specify the average bitrate in bits per second. Valid values are
41      * multiples of 8000, from 32000 through 192000. The default value is 96000, which
42      * we recommend for quality and bandwidth.
43      */
GetBitrate()44     inline int GetBitrate() const{ return m_bitrate; }
45 
46     /**
47      * Optional. Specify the average bitrate in bits per second. Valid values are
48      * multiples of 8000, from 32000 through 192000. The default value is 96000, which
49      * we recommend for quality and bandwidth.
50      */
BitrateHasBeenSet()51     inline bool BitrateHasBeenSet() const { return m_bitrateHasBeenSet; }
52 
53     /**
54      * Optional. Specify the average bitrate in bits per second. Valid values are
55      * multiples of 8000, from 32000 through 192000. The default value is 96000, which
56      * we recommend for quality and bandwidth.
57      */
SetBitrate(int value)58     inline void SetBitrate(int value) { m_bitrateHasBeenSet = true; m_bitrate = value; }
59 
60     /**
61      * Optional. Specify the average bitrate in bits per second. Valid values are
62      * multiples of 8000, from 32000 through 192000. The default value is 96000, which
63      * we recommend for quality and bandwidth.
64      */
WithBitrate(int value)65     inline OpusSettings& WithBitrate(int value) { SetBitrate(value); return *this;}
66 
67 
68     /**
69      * Specify the number of channels in this output audio track. Choosing Mono on the
70      * console gives you 1 output channel; choosing Stereo gives you 2. In the API,
71      * valid values are 1 and 2.
72      */
GetChannels()73     inline int GetChannels() const{ return m_channels; }
74 
75     /**
76      * Specify the number of channels in this output audio track. Choosing Mono on the
77      * console gives you 1 output channel; choosing Stereo gives you 2. In the API,
78      * valid values are 1 and 2.
79      */
ChannelsHasBeenSet()80     inline bool ChannelsHasBeenSet() const { return m_channelsHasBeenSet; }
81 
82     /**
83      * Specify the number of channels in this output audio track. Choosing Mono on the
84      * console gives you 1 output channel; choosing Stereo gives you 2. In the API,
85      * valid values are 1 and 2.
86      */
SetChannels(int value)87     inline void SetChannels(int value) { m_channelsHasBeenSet = true; m_channels = value; }
88 
89     /**
90      * Specify the number of channels in this output audio track. Choosing Mono on the
91      * console gives you 1 output channel; choosing Stereo gives you 2. In the API,
92      * valid values are 1 and 2.
93      */
WithChannels(int value)94     inline OpusSettings& WithChannels(int value) { SetChannels(value); return *this;}
95 
96 
97     /**
98      * Optional. Sample rate in hz. Valid values are 16000, 24000, and 48000. The
99      * default value is 48000.
100      */
GetSampleRate()101     inline int GetSampleRate() const{ return m_sampleRate; }
102 
103     /**
104      * Optional. Sample rate in hz. Valid values are 16000, 24000, and 48000. The
105      * default value is 48000.
106      */
SampleRateHasBeenSet()107     inline bool SampleRateHasBeenSet() const { return m_sampleRateHasBeenSet; }
108 
109     /**
110      * Optional. Sample rate in hz. Valid values are 16000, 24000, and 48000. The
111      * default value is 48000.
112      */
SetSampleRate(int value)113     inline void SetSampleRate(int value) { m_sampleRateHasBeenSet = true; m_sampleRate = value; }
114 
115     /**
116      * Optional. Sample rate in hz. Valid values are 16000, 24000, and 48000. The
117      * default value is 48000.
118      */
WithSampleRate(int value)119     inline OpusSettings& WithSampleRate(int value) { SetSampleRate(value); return *this;}
120 
121   private:
122 
123     int m_bitrate;
124     bool m_bitrateHasBeenSet;
125 
126     int m_channels;
127     bool m_channelsHasBeenSet;
128 
129     int m_sampleRate;
130     bool m_sampleRateHasBeenSet;
131   };
132 
133 } // namespace Model
134 } // namespace MediaConvert
135 } // namespace Aws
136