1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/mediaconvert/model/Eac3AtmosSettings.h>
7 #include <aws/core/utils/json/JsonSerializer.h>
8 
9 #include <utility>
10 
11 using namespace Aws::Utils::Json;
12 using namespace Aws::Utils;
13 
14 namespace Aws
15 {
16 namespace MediaConvert
17 {
18 namespace Model
19 {
20 
Eac3AtmosSettings()21 Eac3AtmosSettings::Eac3AtmosSettings() :
22     m_bitrate(0),
23     m_bitrateHasBeenSet(false),
24     m_bitstreamMode(Eac3AtmosBitstreamMode::NOT_SET),
25     m_bitstreamModeHasBeenSet(false),
26     m_codingMode(Eac3AtmosCodingMode::NOT_SET),
27     m_codingModeHasBeenSet(false),
28     m_dialogueIntelligence(Eac3AtmosDialogueIntelligence::NOT_SET),
29     m_dialogueIntelligenceHasBeenSet(false),
30     m_downmixControl(Eac3AtmosDownmixControl::NOT_SET),
31     m_downmixControlHasBeenSet(false),
32     m_dynamicRangeCompressionLine(Eac3AtmosDynamicRangeCompressionLine::NOT_SET),
33     m_dynamicRangeCompressionLineHasBeenSet(false),
34     m_dynamicRangeCompressionRf(Eac3AtmosDynamicRangeCompressionRf::NOT_SET),
35     m_dynamicRangeCompressionRfHasBeenSet(false),
36     m_dynamicRangeControl(Eac3AtmosDynamicRangeControl::NOT_SET),
37     m_dynamicRangeControlHasBeenSet(false),
38     m_loRoCenterMixLevel(0.0),
39     m_loRoCenterMixLevelHasBeenSet(false),
40     m_loRoSurroundMixLevel(0.0),
41     m_loRoSurroundMixLevelHasBeenSet(false),
42     m_ltRtCenterMixLevel(0.0),
43     m_ltRtCenterMixLevelHasBeenSet(false),
44     m_ltRtSurroundMixLevel(0.0),
45     m_ltRtSurroundMixLevelHasBeenSet(false),
46     m_meteringMode(Eac3AtmosMeteringMode::NOT_SET),
47     m_meteringModeHasBeenSet(false),
48     m_sampleRate(0),
49     m_sampleRateHasBeenSet(false),
50     m_speechThreshold(0),
51     m_speechThresholdHasBeenSet(false),
52     m_stereoDownmix(Eac3AtmosStereoDownmix::NOT_SET),
53     m_stereoDownmixHasBeenSet(false),
54     m_surroundExMode(Eac3AtmosSurroundExMode::NOT_SET),
55     m_surroundExModeHasBeenSet(false)
56 {
57 }
58 
Eac3AtmosSettings(JsonView jsonValue)59 Eac3AtmosSettings::Eac3AtmosSettings(JsonView jsonValue) :
60     m_bitrate(0),
61     m_bitrateHasBeenSet(false),
62     m_bitstreamMode(Eac3AtmosBitstreamMode::NOT_SET),
63     m_bitstreamModeHasBeenSet(false),
64     m_codingMode(Eac3AtmosCodingMode::NOT_SET),
65     m_codingModeHasBeenSet(false),
66     m_dialogueIntelligence(Eac3AtmosDialogueIntelligence::NOT_SET),
67     m_dialogueIntelligenceHasBeenSet(false),
68     m_downmixControl(Eac3AtmosDownmixControl::NOT_SET),
69     m_downmixControlHasBeenSet(false),
70     m_dynamicRangeCompressionLine(Eac3AtmosDynamicRangeCompressionLine::NOT_SET),
71     m_dynamicRangeCompressionLineHasBeenSet(false),
72     m_dynamicRangeCompressionRf(Eac3AtmosDynamicRangeCompressionRf::NOT_SET),
73     m_dynamicRangeCompressionRfHasBeenSet(false),
74     m_dynamicRangeControl(Eac3AtmosDynamicRangeControl::NOT_SET),
75     m_dynamicRangeControlHasBeenSet(false),
76     m_loRoCenterMixLevel(0.0),
77     m_loRoCenterMixLevelHasBeenSet(false),
78     m_loRoSurroundMixLevel(0.0),
79     m_loRoSurroundMixLevelHasBeenSet(false),
80     m_ltRtCenterMixLevel(0.0),
81     m_ltRtCenterMixLevelHasBeenSet(false),
82     m_ltRtSurroundMixLevel(0.0),
83     m_ltRtSurroundMixLevelHasBeenSet(false),
84     m_meteringMode(Eac3AtmosMeteringMode::NOT_SET),
85     m_meteringModeHasBeenSet(false),
86     m_sampleRate(0),
87     m_sampleRateHasBeenSet(false),
88     m_speechThreshold(0),
89     m_speechThresholdHasBeenSet(false),
90     m_stereoDownmix(Eac3AtmosStereoDownmix::NOT_SET),
91     m_stereoDownmixHasBeenSet(false),
92     m_surroundExMode(Eac3AtmosSurroundExMode::NOT_SET),
93     m_surroundExModeHasBeenSet(false)
94 {
95   *this = jsonValue;
96 }
97 
operator =(JsonView jsonValue)98 Eac3AtmosSettings& Eac3AtmosSettings::operator =(JsonView jsonValue)
99 {
100   if(jsonValue.ValueExists("bitrate"))
101   {
102     m_bitrate = jsonValue.GetInteger("bitrate");
103 
104     m_bitrateHasBeenSet = true;
105   }
106 
107   if(jsonValue.ValueExists("bitstreamMode"))
108   {
109     m_bitstreamMode = Eac3AtmosBitstreamModeMapper::GetEac3AtmosBitstreamModeForName(jsonValue.GetString("bitstreamMode"));
110 
111     m_bitstreamModeHasBeenSet = true;
112   }
113 
114   if(jsonValue.ValueExists("codingMode"))
115   {
116     m_codingMode = Eac3AtmosCodingModeMapper::GetEac3AtmosCodingModeForName(jsonValue.GetString("codingMode"));
117 
118     m_codingModeHasBeenSet = true;
119   }
120 
121   if(jsonValue.ValueExists("dialogueIntelligence"))
122   {
123     m_dialogueIntelligence = Eac3AtmosDialogueIntelligenceMapper::GetEac3AtmosDialogueIntelligenceForName(jsonValue.GetString("dialogueIntelligence"));
124 
125     m_dialogueIntelligenceHasBeenSet = true;
126   }
127 
128   if(jsonValue.ValueExists("downmixControl"))
129   {
130     m_downmixControl = Eac3AtmosDownmixControlMapper::GetEac3AtmosDownmixControlForName(jsonValue.GetString("downmixControl"));
131 
132     m_downmixControlHasBeenSet = true;
133   }
134 
135   if(jsonValue.ValueExists("dynamicRangeCompressionLine"))
136   {
137     m_dynamicRangeCompressionLine = Eac3AtmosDynamicRangeCompressionLineMapper::GetEac3AtmosDynamicRangeCompressionLineForName(jsonValue.GetString("dynamicRangeCompressionLine"));
138 
139     m_dynamicRangeCompressionLineHasBeenSet = true;
140   }
141 
142   if(jsonValue.ValueExists("dynamicRangeCompressionRf"))
143   {
144     m_dynamicRangeCompressionRf = Eac3AtmosDynamicRangeCompressionRfMapper::GetEac3AtmosDynamicRangeCompressionRfForName(jsonValue.GetString("dynamicRangeCompressionRf"));
145 
146     m_dynamicRangeCompressionRfHasBeenSet = true;
147   }
148 
149   if(jsonValue.ValueExists("dynamicRangeControl"))
150   {
151     m_dynamicRangeControl = Eac3AtmosDynamicRangeControlMapper::GetEac3AtmosDynamicRangeControlForName(jsonValue.GetString("dynamicRangeControl"));
152 
153     m_dynamicRangeControlHasBeenSet = true;
154   }
155 
156   if(jsonValue.ValueExists("loRoCenterMixLevel"))
157   {
158     m_loRoCenterMixLevel = jsonValue.GetDouble("loRoCenterMixLevel");
159 
160     m_loRoCenterMixLevelHasBeenSet = true;
161   }
162 
163   if(jsonValue.ValueExists("loRoSurroundMixLevel"))
164   {
165     m_loRoSurroundMixLevel = jsonValue.GetDouble("loRoSurroundMixLevel");
166 
167     m_loRoSurroundMixLevelHasBeenSet = true;
168   }
169 
170   if(jsonValue.ValueExists("ltRtCenterMixLevel"))
171   {
172     m_ltRtCenterMixLevel = jsonValue.GetDouble("ltRtCenterMixLevel");
173 
174     m_ltRtCenterMixLevelHasBeenSet = true;
175   }
176 
177   if(jsonValue.ValueExists("ltRtSurroundMixLevel"))
178   {
179     m_ltRtSurroundMixLevel = jsonValue.GetDouble("ltRtSurroundMixLevel");
180 
181     m_ltRtSurroundMixLevelHasBeenSet = true;
182   }
183 
184   if(jsonValue.ValueExists("meteringMode"))
185   {
186     m_meteringMode = Eac3AtmosMeteringModeMapper::GetEac3AtmosMeteringModeForName(jsonValue.GetString("meteringMode"));
187 
188     m_meteringModeHasBeenSet = true;
189   }
190 
191   if(jsonValue.ValueExists("sampleRate"))
192   {
193     m_sampleRate = jsonValue.GetInteger("sampleRate");
194 
195     m_sampleRateHasBeenSet = true;
196   }
197 
198   if(jsonValue.ValueExists("speechThreshold"))
199   {
200     m_speechThreshold = jsonValue.GetInteger("speechThreshold");
201 
202     m_speechThresholdHasBeenSet = true;
203   }
204 
205   if(jsonValue.ValueExists("stereoDownmix"))
206   {
207     m_stereoDownmix = Eac3AtmosStereoDownmixMapper::GetEac3AtmosStereoDownmixForName(jsonValue.GetString("stereoDownmix"));
208 
209     m_stereoDownmixHasBeenSet = true;
210   }
211 
212   if(jsonValue.ValueExists("surroundExMode"))
213   {
214     m_surroundExMode = Eac3AtmosSurroundExModeMapper::GetEac3AtmosSurroundExModeForName(jsonValue.GetString("surroundExMode"));
215 
216     m_surroundExModeHasBeenSet = true;
217   }
218 
219   return *this;
220 }
221 
Jsonize() const222 JsonValue Eac3AtmosSettings::Jsonize() const
223 {
224   JsonValue payload;
225 
226   if(m_bitrateHasBeenSet)
227   {
228    payload.WithInteger("bitrate", m_bitrate);
229 
230   }
231 
232   if(m_bitstreamModeHasBeenSet)
233   {
234    payload.WithString("bitstreamMode", Eac3AtmosBitstreamModeMapper::GetNameForEac3AtmosBitstreamMode(m_bitstreamMode));
235   }
236 
237   if(m_codingModeHasBeenSet)
238   {
239    payload.WithString("codingMode", Eac3AtmosCodingModeMapper::GetNameForEac3AtmosCodingMode(m_codingMode));
240   }
241 
242   if(m_dialogueIntelligenceHasBeenSet)
243   {
244    payload.WithString("dialogueIntelligence", Eac3AtmosDialogueIntelligenceMapper::GetNameForEac3AtmosDialogueIntelligence(m_dialogueIntelligence));
245   }
246 
247   if(m_downmixControlHasBeenSet)
248   {
249    payload.WithString("downmixControl", Eac3AtmosDownmixControlMapper::GetNameForEac3AtmosDownmixControl(m_downmixControl));
250   }
251 
252   if(m_dynamicRangeCompressionLineHasBeenSet)
253   {
254    payload.WithString("dynamicRangeCompressionLine", Eac3AtmosDynamicRangeCompressionLineMapper::GetNameForEac3AtmosDynamicRangeCompressionLine(m_dynamicRangeCompressionLine));
255   }
256 
257   if(m_dynamicRangeCompressionRfHasBeenSet)
258   {
259    payload.WithString("dynamicRangeCompressionRf", Eac3AtmosDynamicRangeCompressionRfMapper::GetNameForEac3AtmosDynamicRangeCompressionRf(m_dynamicRangeCompressionRf));
260   }
261 
262   if(m_dynamicRangeControlHasBeenSet)
263   {
264    payload.WithString("dynamicRangeControl", Eac3AtmosDynamicRangeControlMapper::GetNameForEac3AtmosDynamicRangeControl(m_dynamicRangeControl));
265   }
266 
267   if(m_loRoCenterMixLevelHasBeenSet)
268   {
269    payload.WithDouble("loRoCenterMixLevel", m_loRoCenterMixLevel);
270 
271   }
272 
273   if(m_loRoSurroundMixLevelHasBeenSet)
274   {
275    payload.WithDouble("loRoSurroundMixLevel", m_loRoSurroundMixLevel);
276 
277   }
278 
279   if(m_ltRtCenterMixLevelHasBeenSet)
280   {
281    payload.WithDouble("ltRtCenterMixLevel", m_ltRtCenterMixLevel);
282 
283   }
284 
285   if(m_ltRtSurroundMixLevelHasBeenSet)
286   {
287    payload.WithDouble("ltRtSurroundMixLevel", m_ltRtSurroundMixLevel);
288 
289   }
290 
291   if(m_meteringModeHasBeenSet)
292   {
293    payload.WithString("meteringMode", Eac3AtmosMeteringModeMapper::GetNameForEac3AtmosMeteringMode(m_meteringMode));
294   }
295 
296   if(m_sampleRateHasBeenSet)
297   {
298    payload.WithInteger("sampleRate", m_sampleRate);
299 
300   }
301 
302   if(m_speechThresholdHasBeenSet)
303   {
304    payload.WithInteger("speechThreshold", m_speechThreshold);
305 
306   }
307 
308   if(m_stereoDownmixHasBeenSet)
309   {
310    payload.WithString("stereoDownmix", Eac3AtmosStereoDownmixMapper::GetNameForEac3AtmosStereoDownmix(m_stereoDownmix));
311   }
312 
313   if(m_surroundExModeHasBeenSet)
314   {
315    payload.WithString("surroundExMode", Eac3AtmosSurroundExModeMapper::GetNameForEac3AtmosSurroundExMode(m_surroundExMode));
316   }
317 
318   return payload;
319 }
320 
321 } // namespace Model
322 } // namespace MediaConvert
323 } // namespace Aws
324