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 #include <aws/mediaconvert/model/Eac3AttenuationControl.h>
9 #include <aws/mediaconvert/model/Eac3BitstreamMode.h>
10 #include <aws/mediaconvert/model/Eac3CodingMode.h>
11 #include <aws/mediaconvert/model/Eac3DcFilter.h>
12 #include <aws/mediaconvert/model/Eac3DynamicRangeCompressionLine.h>
13 #include <aws/mediaconvert/model/Eac3DynamicRangeCompressionRf.h>
14 #include <aws/mediaconvert/model/Eac3LfeControl.h>
15 #include <aws/mediaconvert/model/Eac3LfeFilter.h>
16 #include <aws/mediaconvert/model/Eac3MetadataControl.h>
17 #include <aws/mediaconvert/model/Eac3PassthroughControl.h>
18 #include <aws/mediaconvert/model/Eac3PhaseControl.h>
19 #include <aws/mediaconvert/model/Eac3StereoDownmix.h>
20 #include <aws/mediaconvert/model/Eac3SurroundExMode.h>
21 #include <aws/mediaconvert/model/Eac3SurroundMode.h>
22 #include <utility>
23 
24 namespace Aws
25 {
26 namespace Utils
27 {
28 namespace Json
29 {
30   class JsonValue;
31   class JsonView;
32 } // namespace Json
33 } // namespace Utils
34 namespace MediaConvert
35 {
36 namespace Model
37 {
38 
39   /**
40    * Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the
41    * value EAC3.<p><h3>See Also:</h3>   <a
42    * href="http://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/Eac3Settings">AWS
43    * API Reference</a></p>
44    */
45   class AWS_MEDIACONVERT_API Eac3Settings
46   {
47   public:
48     Eac3Settings();
49     Eac3Settings(Aws::Utils::Json::JsonView jsonValue);
50     Eac3Settings& operator=(Aws::Utils::Json::JsonView jsonValue);
51     Aws::Utils::Json::JsonValue Jsonize() const;
52 
53 
54     /**
55      * If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels.
56      * Only used for 3/2 coding mode.
57      */
GetAttenuationControl()58     inline const Eac3AttenuationControl& GetAttenuationControl() const{ return m_attenuationControl; }
59 
60     /**
61      * If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels.
62      * Only used for 3/2 coding mode.
63      */
AttenuationControlHasBeenSet()64     inline bool AttenuationControlHasBeenSet() const { return m_attenuationControlHasBeenSet; }
65 
66     /**
67      * If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels.
68      * Only used for 3/2 coding mode.
69      */
SetAttenuationControl(const Eac3AttenuationControl & value)70     inline void SetAttenuationControl(const Eac3AttenuationControl& value) { m_attenuationControlHasBeenSet = true; m_attenuationControl = value; }
71 
72     /**
73      * If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels.
74      * Only used for 3/2 coding mode.
75      */
SetAttenuationControl(Eac3AttenuationControl && value)76     inline void SetAttenuationControl(Eac3AttenuationControl&& value) { m_attenuationControlHasBeenSet = true; m_attenuationControl = std::move(value); }
77 
78     /**
79      * If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels.
80      * Only used for 3/2 coding mode.
81      */
WithAttenuationControl(const Eac3AttenuationControl & value)82     inline Eac3Settings& WithAttenuationControl(const Eac3AttenuationControl& value) { SetAttenuationControl(value); return *this;}
83 
84     /**
85      * If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels.
86      * Only used for 3/2 coding mode.
87      */
WithAttenuationControl(Eac3AttenuationControl && value)88     inline Eac3Settings& WithAttenuationControl(Eac3AttenuationControl&& value) { SetAttenuationControl(std::move(value)); return *this;}
89 
90 
91     /**
92      * Specify the average bitrate in bits per second. Valid bitrates depend on the
93      * coding mode.
94      */
GetBitrate()95     inline int GetBitrate() const{ return m_bitrate; }
96 
97     /**
98      * Specify the average bitrate in bits per second. Valid bitrates depend on the
99      * coding mode.
100      */
BitrateHasBeenSet()101     inline bool BitrateHasBeenSet() const { return m_bitrateHasBeenSet; }
102 
103     /**
104      * Specify the average bitrate in bits per second. Valid bitrates depend on the
105      * coding mode.
106      */
SetBitrate(int value)107     inline void SetBitrate(int value) { m_bitrateHasBeenSet = true; m_bitrate = value; }
108 
109     /**
110      * Specify the average bitrate in bits per second. Valid bitrates depend on the
111      * coding mode.
112      */
WithBitrate(int value)113     inline Eac3Settings& WithBitrate(int value) { SetBitrate(value); return *this;}
114 
115 
116     /**
117      * Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For
118      * more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E).
119      */
GetBitstreamMode()120     inline const Eac3BitstreamMode& GetBitstreamMode() const{ return m_bitstreamMode; }
121 
122     /**
123      * Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For
124      * more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E).
125      */
BitstreamModeHasBeenSet()126     inline bool BitstreamModeHasBeenSet() const { return m_bitstreamModeHasBeenSet; }
127 
128     /**
129      * Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For
130      * more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E).
131      */
SetBitstreamMode(const Eac3BitstreamMode & value)132     inline void SetBitstreamMode(const Eac3BitstreamMode& value) { m_bitstreamModeHasBeenSet = true; m_bitstreamMode = value; }
133 
134     /**
135      * Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For
136      * more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E).
137      */
SetBitstreamMode(Eac3BitstreamMode && value)138     inline void SetBitstreamMode(Eac3BitstreamMode&& value) { m_bitstreamModeHasBeenSet = true; m_bitstreamMode = std::move(value); }
139 
140     /**
141      * Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For
142      * more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E).
143      */
WithBitstreamMode(const Eac3BitstreamMode & value)144     inline Eac3Settings& WithBitstreamMode(const Eac3BitstreamMode& value) { SetBitstreamMode(value); return *this;}
145 
146     /**
147      * Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For
148      * more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E).
149      */
WithBitstreamMode(Eac3BitstreamMode && value)150     inline Eac3Settings& WithBitstreamMode(Eac3BitstreamMode&& value) { SetBitstreamMode(std::move(value)); return *this;}
151 
152 
153     /**
154      * Dolby Digital Plus coding mode. Determines number of channels.
155      */
GetCodingMode()156     inline const Eac3CodingMode& GetCodingMode() const{ return m_codingMode; }
157 
158     /**
159      * Dolby Digital Plus coding mode. Determines number of channels.
160      */
CodingModeHasBeenSet()161     inline bool CodingModeHasBeenSet() const { return m_codingModeHasBeenSet; }
162 
163     /**
164      * Dolby Digital Plus coding mode. Determines number of channels.
165      */
SetCodingMode(const Eac3CodingMode & value)166     inline void SetCodingMode(const Eac3CodingMode& value) { m_codingModeHasBeenSet = true; m_codingMode = value; }
167 
168     /**
169      * Dolby Digital Plus coding mode. Determines number of channels.
170      */
SetCodingMode(Eac3CodingMode && value)171     inline void SetCodingMode(Eac3CodingMode&& value) { m_codingModeHasBeenSet = true; m_codingMode = std::move(value); }
172 
173     /**
174      * Dolby Digital Plus coding mode. Determines number of channels.
175      */
WithCodingMode(const Eac3CodingMode & value)176     inline Eac3Settings& WithCodingMode(const Eac3CodingMode& value) { SetCodingMode(value); return *this;}
177 
178     /**
179      * Dolby Digital Plus coding mode. Determines number of channels.
180      */
WithCodingMode(Eac3CodingMode && value)181     inline Eac3Settings& WithCodingMode(Eac3CodingMode&& value) { SetCodingMode(std::move(value)); return *this;}
182 
183 
184     /**
185      * Activates a DC highpass filter for all input channels.
186      */
GetDcFilter()187     inline const Eac3DcFilter& GetDcFilter() const{ return m_dcFilter; }
188 
189     /**
190      * Activates a DC highpass filter for all input channels.
191      */
DcFilterHasBeenSet()192     inline bool DcFilterHasBeenSet() const { return m_dcFilterHasBeenSet; }
193 
194     /**
195      * Activates a DC highpass filter for all input channels.
196      */
SetDcFilter(const Eac3DcFilter & value)197     inline void SetDcFilter(const Eac3DcFilter& value) { m_dcFilterHasBeenSet = true; m_dcFilter = value; }
198 
199     /**
200      * Activates a DC highpass filter for all input channels.
201      */
SetDcFilter(Eac3DcFilter && value)202     inline void SetDcFilter(Eac3DcFilter&& value) { m_dcFilterHasBeenSet = true; m_dcFilter = std::move(value); }
203 
204     /**
205      * Activates a DC highpass filter for all input channels.
206      */
WithDcFilter(const Eac3DcFilter & value)207     inline Eac3Settings& WithDcFilter(const Eac3DcFilter& value) { SetDcFilter(value); return *this;}
208 
209     /**
210      * Activates a DC highpass filter for all input channels.
211      */
WithDcFilter(Eac3DcFilter && value)212     inline Eac3Settings& WithDcFilter(Eac3DcFilter&& value) { SetDcFilter(std::move(value)); return *this;}
213 
214 
215     /**
216      * Sets the dialnorm for the output. If blank and input audio is Dolby Digital
217      * Plus, dialnorm will be passed through.
218      */
GetDialnorm()219     inline int GetDialnorm() const{ return m_dialnorm; }
220 
221     /**
222      * Sets the dialnorm for the output. If blank and input audio is Dolby Digital
223      * Plus, dialnorm will be passed through.
224      */
DialnormHasBeenSet()225     inline bool DialnormHasBeenSet() const { return m_dialnormHasBeenSet; }
226 
227     /**
228      * Sets the dialnorm for the output. If blank and input audio is Dolby Digital
229      * Plus, dialnorm will be passed through.
230      */
SetDialnorm(int value)231     inline void SetDialnorm(int value) { m_dialnormHasBeenSet = true; m_dialnorm = value; }
232 
233     /**
234      * Sets the dialnorm for the output. If blank and input audio is Dolby Digital
235      * Plus, dialnorm will be passed through.
236      */
WithDialnorm(int value)237     inline Eac3Settings& WithDialnorm(int value) { SetDialnorm(value); return *this;}
238 
239 
240     /**
241      * Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
242      * uses when encoding the metadata in the Dolby Digital stream for the line
243      * operating mode. Related setting: When you use this setting, MediaConvert ignores
244      * any value you provide for Dynamic range compression profile
245      * (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC
246      * operating modes and profiles, see the Dynamic Range Control chapter of the Dolby
247      * Metadata Guide at
248      * https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
249      */
GetDynamicRangeCompressionLine()250     inline const Eac3DynamicRangeCompressionLine& GetDynamicRangeCompressionLine() const{ return m_dynamicRangeCompressionLine; }
251 
252     /**
253      * Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
254      * uses when encoding the metadata in the Dolby Digital stream for the line
255      * operating mode. Related setting: When you use this setting, MediaConvert ignores
256      * any value you provide for Dynamic range compression profile
257      * (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC
258      * operating modes and profiles, see the Dynamic Range Control chapter of the Dolby
259      * Metadata Guide at
260      * https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
261      */
DynamicRangeCompressionLineHasBeenSet()262     inline bool DynamicRangeCompressionLineHasBeenSet() const { return m_dynamicRangeCompressionLineHasBeenSet; }
263 
264     /**
265      * Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
266      * uses when encoding the metadata in the Dolby Digital stream for the line
267      * operating mode. Related setting: When you use this setting, MediaConvert ignores
268      * any value you provide for Dynamic range compression profile
269      * (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC
270      * operating modes and profiles, see the Dynamic Range Control chapter of the Dolby
271      * Metadata Guide at
272      * https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
273      */
SetDynamicRangeCompressionLine(const Eac3DynamicRangeCompressionLine & value)274     inline void SetDynamicRangeCompressionLine(const Eac3DynamicRangeCompressionLine& value) { m_dynamicRangeCompressionLineHasBeenSet = true; m_dynamicRangeCompressionLine = value; }
275 
276     /**
277      * Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
278      * uses when encoding the metadata in the Dolby Digital stream for the line
279      * operating mode. Related setting: When you use this setting, MediaConvert ignores
280      * any value you provide for Dynamic range compression profile
281      * (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC
282      * operating modes and profiles, see the Dynamic Range Control chapter of the Dolby
283      * Metadata Guide at
284      * https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
285      */
SetDynamicRangeCompressionLine(Eac3DynamicRangeCompressionLine && value)286     inline void SetDynamicRangeCompressionLine(Eac3DynamicRangeCompressionLine&& value) { m_dynamicRangeCompressionLineHasBeenSet = true; m_dynamicRangeCompressionLine = std::move(value); }
287 
288     /**
289      * Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
290      * uses when encoding the metadata in the Dolby Digital stream for the line
291      * operating mode. Related setting: When you use this setting, MediaConvert ignores
292      * any value you provide for Dynamic range compression profile
293      * (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC
294      * operating modes and profiles, see the Dynamic Range Control chapter of the Dolby
295      * Metadata Guide at
296      * https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
297      */
WithDynamicRangeCompressionLine(const Eac3DynamicRangeCompressionLine & value)298     inline Eac3Settings& WithDynamicRangeCompressionLine(const Eac3DynamicRangeCompressionLine& value) { SetDynamicRangeCompressionLine(value); return *this;}
299 
300     /**
301      * Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
302      * uses when encoding the metadata in the Dolby Digital stream for the line
303      * operating mode. Related setting: When you use this setting, MediaConvert ignores
304      * any value you provide for Dynamic range compression profile
305      * (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC
306      * operating modes and profiles, see the Dynamic Range Control chapter of the Dolby
307      * Metadata Guide at
308      * https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
309      */
WithDynamicRangeCompressionLine(Eac3DynamicRangeCompressionLine && value)310     inline Eac3Settings& WithDynamicRangeCompressionLine(Eac3DynamicRangeCompressionLine&& value) { SetDynamicRangeCompressionLine(std::move(value)); return *this;}
311 
312 
313     /**
314      * Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
315      * uses when encoding the metadata in the Dolby Digital stream for the RF operating
316      * mode. Related setting: When you use this setting, MediaConvert ignores any value
317      * you provide for Dynamic range compression profile
318      * (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC
319      * operating modes and profiles, see the Dynamic Range Control chapter of the Dolby
320      * Metadata Guide at
321      * https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
322      */
GetDynamicRangeCompressionRf()323     inline const Eac3DynamicRangeCompressionRf& GetDynamicRangeCompressionRf() const{ return m_dynamicRangeCompressionRf; }
324 
325     /**
326      * Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
327      * uses when encoding the metadata in the Dolby Digital stream for the RF operating
328      * mode. Related setting: When you use this setting, MediaConvert ignores any value
329      * you provide for Dynamic range compression profile
330      * (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC
331      * operating modes and profiles, see the Dynamic Range Control chapter of the Dolby
332      * Metadata Guide at
333      * https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
334      */
DynamicRangeCompressionRfHasBeenSet()335     inline bool DynamicRangeCompressionRfHasBeenSet() const { return m_dynamicRangeCompressionRfHasBeenSet; }
336 
337     /**
338      * Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
339      * uses when encoding the metadata in the Dolby Digital stream for the RF operating
340      * mode. Related setting: When you use this setting, MediaConvert ignores any value
341      * you provide for Dynamic range compression profile
342      * (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC
343      * operating modes and profiles, see the Dynamic Range Control chapter of the Dolby
344      * Metadata Guide at
345      * https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
346      */
SetDynamicRangeCompressionRf(const Eac3DynamicRangeCompressionRf & value)347     inline void SetDynamicRangeCompressionRf(const Eac3DynamicRangeCompressionRf& value) { m_dynamicRangeCompressionRfHasBeenSet = true; m_dynamicRangeCompressionRf = value; }
348 
349     /**
350      * Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
351      * uses when encoding the metadata in the Dolby Digital stream for the RF operating
352      * mode. Related setting: When you use this setting, MediaConvert ignores any value
353      * you provide for Dynamic range compression profile
354      * (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC
355      * operating modes and profiles, see the Dynamic Range Control chapter of the Dolby
356      * Metadata Guide at
357      * https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
358      */
SetDynamicRangeCompressionRf(Eac3DynamicRangeCompressionRf && value)359     inline void SetDynamicRangeCompressionRf(Eac3DynamicRangeCompressionRf&& value) { m_dynamicRangeCompressionRfHasBeenSet = true; m_dynamicRangeCompressionRf = std::move(value); }
360 
361     /**
362      * Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
363      * uses when encoding the metadata in the Dolby Digital stream for the RF operating
364      * mode. Related setting: When you use this setting, MediaConvert ignores any value
365      * you provide for Dynamic range compression profile
366      * (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC
367      * operating modes and profiles, see the Dynamic Range Control chapter of the Dolby
368      * Metadata Guide at
369      * https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
370      */
WithDynamicRangeCompressionRf(const Eac3DynamicRangeCompressionRf & value)371     inline Eac3Settings& WithDynamicRangeCompressionRf(const Eac3DynamicRangeCompressionRf& value) { SetDynamicRangeCompressionRf(value); return *this;}
372 
373     /**
374      * Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert
375      * uses when encoding the metadata in the Dolby Digital stream for the RF operating
376      * mode. Related setting: When you use this setting, MediaConvert ignores any value
377      * you provide for Dynamic range compression profile
378      * (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC
379      * operating modes and profiles, see the Dynamic Range Control chapter of the Dolby
380      * Metadata Guide at
381      * https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
382      */
WithDynamicRangeCompressionRf(Eac3DynamicRangeCompressionRf && value)383     inline Eac3Settings& WithDynamicRangeCompressionRf(Eac3DynamicRangeCompressionRf&& value) { SetDynamicRangeCompressionRf(std::move(value)); return *this;}
384 
385 
386     /**
387      * When encoding 3/2 audio, controls whether the LFE channel is enabled
388      */
GetLfeControl()389     inline const Eac3LfeControl& GetLfeControl() const{ return m_lfeControl; }
390 
391     /**
392      * When encoding 3/2 audio, controls whether the LFE channel is enabled
393      */
LfeControlHasBeenSet()394     inline bool LfeControlHasBeenSet() const { return m_lfeControlHasBeenSet; }
395 
396     /**
397      * When encoding 3/2 audio, controls whether the LFE channel is enabled
398      */
SetLfeControl(const Eac3LfeControl & value)399     inline void SetLfeControl(const Eac3LfeControl& value) { m_lfeControlHasBeenSet = true; m_lfeControl = value; }
400 
401     /**
402      * When encoding 3/2 audio, controls whether the LFE channel is enabled
403      */
SetLfeControl(Eac3LfeControl && value)404     inline void SetLfeControl(Eac3LfeControl&& value) { m_lfeControlHasBeenSet = true; m_lfeControl = std::move(value); }
405 
406     /**
407      * When encoding 3/2 audio, controls whether the LFE channel is enabled
408      */
WithLfeControl(const Eac3LfeControl & value)409     inline Eac3Settings& WithLfeControl(const Eac3LfeControl& value) { SetLfeControl(value); return *this;}
410 
411     /**
412      * When encoding 3/2 audio, controls whether the LFE channel is enabled
413      */
WithLfeControl(Eac3LfeControl && value)414     inline Eac3Settings& WithLfeControl(Eac3LfeControl&& value) { SetLfeControl(std::move(value)); return *this;}
415 
416 
417     /**
418      * Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid
419      * with 3_2_LFE coding mode.
420      */
GetLfeFilter()421     inline const Eac3LfeFilter& GetLfeFilter() const{ return m_lfeFilter; }
422 
423     /**
424      * Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid
425      * with 3_2_LFE coding mode.
426      */
LfeFilterHasBeenSet()427     inline bool LfeFilterHasBeenSet() const { return m_lfeFilterHasBeenSet; }
428 
429     /**
430      * Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid
431      * with 3_2_LFE coding mode.
432      */
SetLfeFilter(const Eac3LfeFilter & value)433     inline void SetLfeFilter(const Eac3LfeFilter& value) { m_lfeFilterHasBeenSet = true; m_lfeFilter = value; }
434 
435     /**
436      * Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid
437      * with 3_2_LFE coding mode.
438      */
SetLfeFilter(Eac3LfeFilter && value)439     inline void SetLfeFilter(Eac3LfeFilter&& value) { m_lfeFilterHasBeenSet = true; m_lfeFilter = std::move(value); }
440 
441     /**
442      * Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid
443      * with 3_2_LFE coding mode.
444      */
WithLfeFilter(const Eac3LfeFilter & value)445     inline Eac3Settings& WithLfeFilter(const Eac3LfeFilter& value) { SetLfeFilter(value); return *this;}
446 
447     /**
448      * Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid
449      * with 3_2_LFE coding mode.
450      */
WithLfeFilter(Eac3LfeFilter && value)451     inline Eac3Settings& WithLfeFilter(Eac3LfeFilter&& value) { SetLfeFilter(std::move(value)); return *this;}
452 
453 
454     /**
455      * Specify a value for the following Dolby Digital Plus setting: Left only/Right
456      * only center mix (Lo/Ro center). MediaConvert uses this value for downmixing. How
457      * the service uses this value depends on the value that you choose for Stereo
458      * downmix (Eac3StereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5,
459      * -6.0, and -60. The value -60 mutes the channel. This setting applies only if you
460      * keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the
461      * setting Coding mode (Eac3CodingMode). If you choose a different value for Coding
462      * mode, the service ignores Left only/Right only center (loRoCenterMixLevel).
463      */
GetLoRoCenterMixLevel()464     inline double GetLoRoCenterMixLevel() const{ return m_loRoCenterMixLevel; }
465 
466     /**
467      * Specify a value for the following Dolby Digital Plus setting: Left only/Right
468      * only center mix (Lo/Ro center). MediaConvert uses this value for downmixing. How
469      * the service uses this value depends on the value that you choose for Stereo
470      * downmix (Eac3StereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5,
471      * -6.0, and -60. The value -60 mutes the channel. This setting applies only if you
472      * keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the
473      * setting Coding mode (Eac3CodingMode). If you choose a different value for Coding
474      * mode, the service ignores Left only/Right only center (loRoCenterMixLevel).
475      */
LoRoCenterMixLevelHasBeenSet()476     inline bool LoRoCenterMixLevelHasBeenSet() const { return m_loRoCenterMixLevelHasBeenSet; }
477 
478     /**
479      * Specify a value for the following Dolby Digital Plus setting: Left only/Right
480      * only center mix (Lo/Ro center). MediaConvert uses this value for downmixing. How
481      * the service uses this value depends on the value that you choose for Stereo
482      * downmix (Eac3StereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5,
483      * -6.0, and -60. The value -60 mutes the channel. This setting applies only if you
484      * keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the
485      * setting Coding mode (Eac3CodingMode). If you choose a different value for Coding
486      * mode, the service ignores Left only/Right only center (loRoCenterMixLevel).
487      */
SetLoRoCenterMixLevel(double value)488     inline void SetLoRoCenterMixLevel(double value) { m_loRoCenterMixLevelHasBeenSet = true; m_loRoCenterMixLevel = value; }
489 
490     /**
491      * Specify a value for the following Dolby Digital Plus setting: Left only/Right
492      * only center mix (Lo/Ro center). MediaConvert uses this value for downmixing. How
493      * the service uses this value depends on the value that you choose for Stereo
494      * downmix (Eac3StereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5,
495      * -6.0, and -60. The value -60 mutes the channel. This setting applies only if you
496      * keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the
497      * setting Coding mode (Eac3CodingMode). If you choose a different value for Coding
498      * mode, the service ignores Left only/Right only center (loRoCenterMixLevel).
499      */
WithLoRoCenterMixLevel(double value)500     inline Eac3Settings& WithLoRoCenterMixLevel(double value) { SetLoRoCenterMixLevel(value); return *this;}
501 
502 
503     /**
504      * Specify a value for the following Dolby Digital Plus setting: Left only/Right
505      * only (Lo/Ro surround). MediaConvert uses this value for downmixing. How the
506      * service uses this value depends on the value that you choose for Stereo downmix
507      * (Eac3StereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value
508      * -60 mutes the channel. This setting applies only if you keep the default value
509      * of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode
510      * (Eac3CodingMode). If you choose a different value for Coding mode, the service
511      * ignores Left only/Right only surround (loRoSurroundMixLevel).
512      */
GetLoRoSurroundMixLevel()513     inline double GetLoRoSurroundMixLevel() const{ return m_loRoSurroundMixLevel; }
514 
515     /**
516      * Specify a value for the following Dolby Digital Plus setting: Left only/Right
517      * only (Lo/Ro surround). MediaConvert uses this value for downmixing. How the
518      * service uses this value depends on the value that you choose for Stereo downmix
519      * (Eac3StereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value
520      * -60 mutes the channel. This setting applies only if you keep the default value
521      * of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode
522      * (Eac3CodingMode). If you choose a different value for Coding mode, the service
523      * ignores Left only/Right only surround (loRoSurroundMixLevel).
524      */
LoRoSurroundMixLevelHasBeenSet()525     inline bool LoRoSurroundMixLevelHasBeenSet() const { return m_loRoSurroundMixLevelHasBeenSet; }
526 
527     /**
528      * Specify a value for the following Dolby Digital Plus setting: Left only/Right
529      * only (Lo/Ro surround). MediaConvert uses this value for downmixing. How the
530      * service uses this value depends on the value that you choose for Stereo downmix
531      * (Eac3StereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value
532      * -60 mutes the channel. This setting applies only if you keep the default value
533      * of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode
534      * (Eac3CodingMode). If you choose a different value for Coding mode, the service
535      * ignores Left only/Right only surround (loRoSurroundMixLevel).
536      */
SetLoRoSurroundMixLevel(double value)537     inline void SetLoRoSurroundMixLevel(double value) { m_loRoSurroundMixLevelHasBeenSet = true; m_loRoSurroundMixLevel = value; }
538 
539     /**
540      * Specify a value for the following Dolby Digital Plus setting: Left only/Right
541      * only (Lo/Ro surround). MediaConvert uses this value for downmixing. How the
542      * service uses this value depends on the value that you choose for Stereo downmix
543      * (Eac3StereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value
544      * -60 mutes the channel. This setting applies only if you keep the default value
545      * of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode
546      * (Eac3CodingMode). If you choose a different value for Coding mode, the service
547      * ignores Left only/Right only surround (loRoSurroundMixLevel).
548      */
WithLoRoSurroundMixLevel(double value)549     inline Eac3Settings& WithLoRoSurroundMixLevel(double value) { SetLoRoSurroundMixLevel(value); return *this;}
550 
551 
552     /**
553      * Specify a value for the following Dolby Digital Plus setting: Left total/Right
554      * total center mix (Lt/Rt center). MediaConvert uses this value for downmixing.
555      * How the service uses this value depends on the value that you choose for Stereo
556      * downmix (Eac3StereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5,
557      * -6.0, and -60. The value -60 mutes the channel. This setting applies only if you
558      * keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the
559      * setting Coding mode (Eac3CodingMode). If you choose a different value for Coding
560      * mode, the service ignores Left total/Right total center (ltRtCenterMixLevel).
561      */
GetLtRtCenterMixLevel()562     inline double GetLtRtCenterMixLevel() const{ return m_ltRtCenterMixLevel; }
563 
564     /**
565      * Specify a value for the following Dolby Digital Plus setting: Left total/Right
566      * total center mix (Lt/Rt center). MediaConvert uses this value for downmixing.
567      * How the service uses this value depends on the value that you choose for Stereo
568      * downmix (Eac3StereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5,
569      * -6.0, and -60. The value -60 mutes the channel. This setting applies only if you
570      * keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the
571      * setting Coding mode (Eac3CodingMode). If you choose a different value for Coding
572      * mode, the service ignores Left total/Right total center (ltRtCenterMixLevel).
573      */
LtRtCenterMixLevelHasBeenSet()574     inline bool LtRtCenterMixLevelHasBeenSet() const { return m_ltRtCenterMixLevelHasBeenSet; }
575 
576     /**
577      * Specify a value for the following Dolby Digital Plus setting: Left total/Right
578      * total center mix (Lt/Rt center). MediaConvert uses this value for downmixing.
579      * How the service uses this value depends on the value that you choose for Stereo
580      * downmix (Eac3StereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5,
581      * -6.0, and -60. The value -60 mutes the channel. This setting applies only if you
582      * keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the
583      * setting Coding mode (Eac3CodingMode). If you choose a different value for Coding
584      * mode, the service ignores Left total/Right total center (ltRtCenterMixLevel).
585      */
SetLtRtCenterMixLevel(double value)586     inline void SetLtRtCenterMixLevel(double value) { m_ltRtCenterMixLevelHasBeenSet = true; m_ltRtCenterMixLevel = value; }
587 
588     /**
589      * Specify a value for the following Dolby Digital Plus setting: Left total/Right
590      * total center mix (Lt/Rt center). MediaConvert uses this value for downmixing.
591      * How the service uses this value depends on the value that you choose for Stereo
592      * downmix (Eac3StereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5,
593      * -6.0, and -60. The value -60 mutes the channel. This setting applies only if you
594      * keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the
595      * setting Coding mode (Eac3CodingMode). If you choose a different value for Coding
596      * mode, the service ignores Left total/Right total center (ltRtCenterMixLevel).
597      */
WithLtRtCenterMixLevel(double value)598     inline Eac3Settings& WithLtRtCenterMixLevel(double value) { SetLtRtCenterMixLevel(value); return *this;}
599 
600 
601     /**
602      * Specify a value for the following Dolby Digital Plus setting: Left total/Right
603      * total surround mix (Lt/Rt surround). MediaConvert uses this value for
604      * downmixing. How the service uses this value depends on the value that you choose
605      * for Stereo downmix (Eac3StereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0,
606      * and -60. The value -60 mutes the channel. This setting applies only if you keep
607      * the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting
608      * Coding mode (Eac3CodingMode). If you choose a different value for Coding mode,
609      * the service ignores Left total/Right total surround (ltRtSurroundMixLevel).
610      */
GetLtRtSurroundMixLevel()611     inline double GetLtRtSurroundMixLevel() const{ return m_ltRtSurroundMixLevel; }
612 
613     /**
614      * Specify a value for the following Dolby Digital Plus setting: Left total/Right
615      * total surround mix (Lt/Rt surround). MediaConvert uses this value for
616      * downmixing. How the service uses this value depends on the value that you choose
617      * for Stereo downmix (Eac3StereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0,
618      * and -60. The value -60 mutes the channel. This setting applies only if you keep
619      * the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting
620      * Coding mode (Eac3CodingMode). If you choose a different value for Coding mode,
621      * the service ignores Left total/Right total surround (ltRtSurroundMixLevel).
622      */
LtRtSurroundMixLevelHasBeenSet()623     inline bool LtRtSurroundMixLevelHasBeenSet() const { return m_ltRtSurroundMixLevelHasBeenSet; }
624 
625     /**
626      * Specify a value for the following Dolby Digital Plus setting: Left total/Right
627      * total surround mix (Lt/Rt surround). MediaConvert uses this value for
628      * downmixing. How the service uses this value depends on the value that you choose
629      * for Stereo downmix (Eac3StereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0,
630      * and -60. The value -60 mutes the channel. This setting applies only if you keep
631      * the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting
632      * Coding mode (Eac3CodingMode). If you choose a different value for Coding mode,
633      * the service ignores Left total/Right total surround (ltRtSurroundMixLevel).
634      */
SetLtRtSurroundMixLevel(double value)635     inline void SetLtRtSurroundMixLevel(double value) { m_ltRtSurroundMixLevelHasBeenSet = true; m_ltRtSurroundMixLevel = value; }
636 
637     /**
638      * Specify a value for the following Dolby Digital Plus setting: Left total/Right
639      * total surround mix (Lt/Rt surround). MediaConvert uses this value for
640      * downmixing. How the service uses this value depends on the value that you choose
641      * for Stereo downmix (Eac3StereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0,
642      * and -60. The value -60 mutes the channel. This setting applies only if you keep
643      * the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting
644      * Coding mode (Eac3CodingMode). If you choose a different value for Coding mode,
645      * the service ignores Left total/Right total surround (ltRtSurroundMixLevel).
646      */
WithLtRtSurroundMixLevel(double value)647     inline Eac3Settings& WithLtRtSurroundMixLevel(double value) { SetLtRtSurroundMixLevel(value); return *this;}
648 
649 
650     /**
651      * When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or
652      * DolbyE decoder that supplied this audio data. If audio was not supplied from one
653      * of these streams, then the static metadata settings will be used.
654      */
GetMetadataControl()655     inline const Eac3MetadataControl& GetMetadataControl() const{ return m_metadataControl; }
656 
657     /**
658      * When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or
659      * DolbyE decoder that supplied this audio data. If audio was not supplied from one
660      * of these streams, then the static metadata settings will be used.
661      */
MetadataControlHasBeenSet()662     inline bool MetadataControlHasBeenSet() const { return m_metadataControlHasBeenSet; }
663 
664     /**
665      * When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or
666      * DolbyE decoder that supplied this audio data. If audio was not supplied from one
667      * of these streams, then the static metadata settings will be used.
668      */
SetMetadataControl(const Eac3MetadataControl & value)669     inline void SetMetadataControl(const Eac3MetadataControl& value) { m_metadataControlHasBeenSet = true; m_metadataControl = value; }
670 
671     /**
672      * When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or
673      * DolbyE decoder that supplied this audio data. If audio was not supplied from one
674      * of these streams, then the static metadata settings will be used.
675      */
SetMetadataControl(Eac3MetadataControl && value)676     inline void SetMetadataControl(Eac3MetadataControl&& value) { m_metadataControlHasBeenSet = true; m_metadataControl = std::move(value); }
677 
678     /**
679      * When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or
680      * DolbyE decoder that supplied this audio data. If audio was not supplied from one
681      * of these streams, then the static metadata settings will be used.
682      */
WithMetadataControl(const Eac3MetadataControl & value)683     inline Eac3Settings& WithMetadataControl(const Eac3MetadataControl& value) { SetMetadataControl(value); return *this;}
684 
685     /**
686      * When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or
687      * DolbyE decoder that supplied this audio data. If audio was not supplied from one
688      * of these streams, then the static metadata settings will be used.
689      */
WithMetadataControl(Eac3MetadataControl && value)690     inline Eac3Settings& WithMetadataControl(Eac3MetadataControl&& value) { SetMetadataControl(std::move(value)); return *this;}
691 
692 
693     /**
694      * When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is
695      * present on the input. this detection is dynamic over the life of the transcode.
696      * Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+
697      * output as the system alternates between passthrough and encoding.
698      */
GetPassthroughControl()699     inline const Eac3PassthroughControl& GetPassthroughControl() const{ return m_passthroughControl; }
700 
701     /**
702      * When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is
703      * present on the input. this detection is dynamic over the life of the transcode.
704      * Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+
705      * output as the system alternates between passthrough and encoding.
706      */
PassthroughControlHasBeenSet()707     inline bool PassthroughControlHasBeenSet() const { return m_passthroughControlHasBeenSet; }
708 
709     /**
710      * When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is
711      * present on the input. this detection is dynamic over the life of the transcode.
712      * Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+
713      * output as the system alternates between passthrough and encoding.
714      */
SetPassthroughControl(const Eac3PassthroughControl & value)715     inline void SetPassthroughControl(const Eac3PassthroughControl& value) { m_passthroughControlHasBeenSet = true; m_passthroughControl = value; }
716 
717     /**
718      * When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is
719      * present on the input. this detection is dynamic over the life of the transcode.
720      * Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+
721      * output as the system alternates between passthrough and encoding.
722      */
SetPassthroughControl(Eac3PassthroughControl && value)723     inline void SetPassthroughControl(Eac3PassthroughControl&& value) { m_passthroughControlHasBeenSet = true; m_passthroughControl = std::move(value); }
724 
725     /**
726      * When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is
727      * present on the input. this detection is dynamic over the life of the transcode.
728      * Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+
729      * output as the system alternates between passthrough and encoding.
730      */
WithPassthroughControl(const Eac3PassthroughControl & value)731     inline Eac3Settings& WithPassthroughControl(const Eac3PassthroughControl& value) { SetPassthroughControl(value); return *this;}
732 
733     /**
734      * When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is
735      * present on the input. this detection is dynamic over the life of the transcode.
736      * Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+
737      * output as the system alternates between passthrough and encoding.
738      */
WithPassthroughControl(Eac3PassthroughControl && value)739     inline Eac3Settings& WithPassthroughControl(Eac3PassthroughControl&& value) { SetPassthroughControl(std::move(value)); return *this;}
740 
741 
742     /**
743      * Controls the amount of phase-shift applied to the surround channels. Only used
744      * for 3/2 coding mode.
745      */
GetPhaseControl()746     inline const Eac3PhaseControl& GetPhaseControl() const{ return m_phaseControl; }
747 
748     /**
749      * Controls the amount of phase-shift applied to the surround channels. Only used
750      * for 3/2 coding mode.
751      */
PhaseControlHasBeenSet()752     inline bool PhaseControlHasBeenSet() const { return m_phaseControlHasBeenSet; }
753 
754     /**
755      * Controls the amount of phase-shift applied to the surround channels. Only used
756      * for 3/2 coding mode.
757      */
SetPhaseControl(const Eac3PhaseControl & value)758     inline void SetPhaseControl(const Eac3PhaseControl& value) { m_phaseControlHasBeenSet = true; m_phaseControl = value; }
759 
760     /**
761      * Controls the amount of phase-shift applied to the surround channels. Only used
762      * for 3/2 coding mode.
763      */
SetPhaseControl(Eac3PhaseControl && value)764     inline void SetPhaseControl(Eac3PhaseControl&& value) { m_phaseControlHasBeenSet = true; m_phaseControl = std::move(value); }
765 
766     /**
767      * Controls the amount of phase-shift applied to the surround channels. Only used
768      * for 3/2 coding mode.
769      */
WithPhaseControl(const Eac3PhaseControl & value)770     inline Eac3Settings& WithPhaseControl(const Eac3PhaseControl& value) { SetPhaseControl(value); return *this;}
771 
772     /**
773      * Controls the amount of phase-shift applied to the surround channels. Only used
774      * for 3/2 coding mode.
775      */
WithPhaseControl(Eac3PhaseControl && value)776     inline Eac3Settings& WithPhaseControl(Eac3PhaseControl&& value) { SetPhaseControl(std::move(value)); return *this;}
777 
778 
779     /**
780      * This value is always 48000. It represents the sample rate in Hz.
781      */
GetSampleRate()782     inline int GetSampleRate() const{ return m_sampleRate; }
783 
784     /**
785      * This value is always 48000. It represents the sample rate in Hz.
786      */
SampleRateHasBeenSet()787     inline bool SampleRateHasBeenSet() const { return m_sampleRateHasBeenSet; }
788 
789     /**
790      * This value is always 48000. It represents the sample rate in Hz.
791      */
SetSampleRate(int value)792     inline void SetSampleRate(int value) { m_sampleRateHasBeenSet = true; m_sampleRate = value; }
793 
794     /**
795      * This value is always 48000. It represents the sample rate in Hz.
796      */
WithSampleRate(int value)797     inline Eac3Settings& WithSampleRate(int value) { SetSampleRate(value); return *this;}
798 
799 
800     /**
801      * Choose how the service does stereo downmixing. This setting only applies if you
802      * keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the
803      * setting Coding mode (Eac3CodingMode). If you choose a different value for Coding
804      * mode, the service ignores Stereo downmix (Eac3StereoDownmix).
805      */
GetStereoDownmix()806     inline const Eac3StereoDownmix& GetStereoDownmix() const{ return m_stereoDownmix; }
807 
808     /**
809      * Choose how the service does stereo downmixing. This setting only applies if you
810      * keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the
811      * setting Coding mode (Eac3CodingMode). If you choose a different value for Coding
812      * mode, the service ignores Stereo downmix (Eac3StereoDownmix).
813      */
StereoDownmixHasBeenSet()814     inline bool StereoDownmixHasBeenSet() const { return m_stereoDownmixHasBeenSet; }
815 
816     /**
817      * Choose how the service does stereo downmixing. This setting only applies if you
818      * keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the
819      * setting Coding mode (Eac3CodingMode). If you choose a different value for Coding
820      * mode, the service ignores Stereo downmix (Eac3StereoDownmix).
821      */
SetStereoDownmix(const Eac3StereoDownmix & value)822     inline void SetStereoDownmix(const Eac3StereoDownmix& value) { m_stereoDownmixHasBeenSet = true; m_stereoDownmix = value; }
823 
824     /**
825      * Choose how the service does stereo downmixing. This setting only applies if you
826      * keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the
827      * setting Coding mode (Eac3CodingMode). If you choose a different value for Coding
828      * mode, the service ignores Stereo downmix (Eac3StereoDownmix).
829      */
SetStereoDownmix(Eac3StereoDownmix && value)830     inline void SetStereoDownmix(Eac3StereoDownmix&& value) { m_stereoDownmixHasBeenSet = true; m_stereoDownmix = std::move(value); }
831 
832     /**
833      * Choose how the service does stereo downmixing. This setting only applies if you
834      * keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the
835      * setting Coding mode (Eac3CodingMode). If you choose a different value for Coding
836      * mode, the service ignores Stereo downmix (Eac3StereoDownmix).
837      */
WithStereoDownmix(const Eac3StereoDownmix & value)838     inline Eac3Settings& WithStereoDownmix(const Eac3StereoDownmix& value) { SetStereoDownmix(value); return *this;}
839 
840     /**
841      * Choose how the service does stereo downmixing. This setting only applies if you
842      * keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the
843      * setting Coding mode (Eac3CodingMode). If you choose a different value for Coding
844      * mode, the service ignores Stereo downmix (Eac3StereoDownmix).
845      */
WithStereoDownmix(Eac3StereoDownmix && value)846     inline Eac3Settings& WithStereoDownmix(Eac3StereoDownmix&& value) { SetStereoDownmix(std::move(value)); return *this;}
847 
848 
849     /**
850      * When encoding 3/2 audio, sets whether an extra center back surround channel is
851      * matrix encoded into the left and right surround channels.
852      */
GetSurroundExMode()853     inline const Eac3SurroundExMode& GetSurroundExMode() const{ return m_surroundExMode; }
854 
855     /**
856      * When encoding 3/2 audio, sets whether an extra center back surround channel is
857      * matrix encoded into the left and right surround channels.
858      */
SurroundExModeHasBeenSet()859     inline bool SurroundExModeHasBeenSet() const { return m_surroundExModeHasBeenSet; }
860 
861     /**
862      * When encoding 3/2 audio, sets whether an extra center back surround channel is
863      * matrix encoded into the left and right surround channels.
864      */
SetSurroundExMode(const Eac3SurroundExMode & value)865     inline void SetSurroundExMode(const Eac3SurroundExMode& value) { m_surroundExModeHasBeenSet = true; m_surroundExMode = value; }
866 
867     /**
868      * When encoding 3/2 audio, sets whether an extra center back surround channel is
869      * matrix encoded into the left and right surround channels.
870      */
SetSurroundExMode(Eac3SurroundExMode && value)871     inline void SetSurroundExMode(Eac3SurroundExMode&& value) { m_surroundExModeHasBeenSet = true; m_surroundExMode = std::move(value); }
872 
873     /**
874      * When encoding 3/2 audio, sets whether an extra center back surround channel is
875      * matrix encoded into the left and right surround channels.
876      */
WithSurroundExMode(const Eac3SurroundExMode & value)877     inline Eac3Settings& WithSurroundExMode(const Eac3SurroundExMode& value) { SetSurroundExMode(value); return *this;}
878 
879     /**
880      * When encoding 3/2 audio, sets whether an extra center back surround channel is
881      * matrix encoded into the left and right surround channels.
882      */
WithSurroundExMode(Eac3SurroundExMode && value)883     inline Eac3Settings& WithSurroundExMode(Eac3SurroundExMode&& value) { SetSurroundExMode(std::move(value)); return *this;}
884 
885 
886     /**
887      * When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the
888      * two channels.
889      */
GetSurroundMode()890     inline const Eac3SurroundMode& GetSurroundMode() const{ return m_surroundMode; }
891 
892     /**
893      * When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the
894      * two channels.
895      */
SurroundModeHasBeenSet()896     inline bool SurroundModeHasBeenSet() const { return m_surroundModeHasBeenSet; }
897 
898     /**
899      * When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the
900      * two channels.
901      */
SetSurroundMode(const Eac3SurroundMode & value)902     inline void SetSurroundMode(const Eac3SurroundMode& value) { m_surroundModeHasBeenSet = true; m_surroundMode = value; }
903 
904     /**
905      * When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the
906      * two channels.
907      */
SetSurroundMode(Eac3SurroundMode && value)908     inline void SetSurroundMode(Eac3SurroundMode&& value) { m_surroundModeHasBeenSet = true; m_surroundMode = std::move(value); }
909 
910     /**
911      * When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the
912      * two channels.
913      */
WithSurroundMode(const Eac3SurroundMode & value)914     inline Eac3Settings& WithSurroundMode(const Eac3SurroundMode& value) { SetSurroundMode(value); return *this;}
915 
916     /**
917      * When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the
918      * two channels.
919      */
WithSurroundMode(Eac3SurroundMode && value)920     inline Eac3Settings& WithSurroundMode(Eac3SurroundMode&& value) { SetSurroundMode(std::move(value)); return *this;}
921 
922   private:
923 
924     Eac3AttenuationControl m_attenuationControl;
925     bool m_attenuationControlHasBeenSet;
926 
927     int m_bitrate;
928     bool m_bitrateHasBeenSet;
929 
930     Eac3BitstreamMode m_bitstreamMode;
931     bool m_bitstreamModeHasBeenSet;
932 
933     Eac3CodingMode m_codingMode;
934     bool m_codingModeHasBeenSet;
935 
936     Eac3DcFilter m_dcFilter;
937     bool m_dcFilterHasBeenSet;
938 
939     int m_dialnorm;
940     bool m_dialnormHasBeenSet;
941 
942     Eac3DynamicRangeCompressionLine m_dynamicRangeCompressionLine;
943     bool m_dynamicRangeCompressionLineHasBeenSet;
944 
945     Eac3DynamicRangeCompressionRf m_dynamicRangeCompressionRf;
946     bool m_dynamicRangeCompressionRfHasBeenSet;
947 
948     Eac3LfeControl m_lfeControl;
949     bool m_lfeControlHasBeenSet;
950 
951     Eac3LfeFilter m_lfeFilter;
952     bool m_lfeFilterHasBeenSet;
953 
954     double m_loRoCenterMixLevel;
955     bool m_loRoCenterMixLevelHasBeenSet;
956 
957     double m_loRoSurroundMixLevel;
958     bool m_loRoSurroundMixLevelHasBeenSet;
959 
960     double m_ltRtCenterMixLevel;
961     bool m_ltRtCenterMixLevelHasBeenSet;
962 
963     double m_ltRtSurroundMixLevel;
964     bool m_ltRtSurroundMixLevelHasBeenSet;
965 
966     Eac3MetadataControl m_metadataControl;
967     bool m_metadataControlHasBeenSet;
968 
969     Eac3PassthroughControl m_passthroughControl;
970     bool m_passthroughControlHasBeenSet;
971 
972     Eac3PhaseControl m_phaseControl;
973     bool m_phaseControlHasBeenSet;
974 
975     int m_sampleRate;
976     bool m_sampleRateHasBeenSet;
977 
978     Eac3StereoDownmix m_stereoDownmix;
979     bool m_stereoDownmixHasBeenSet;
980 
981     Eac3SurroundExMode m_surroundExMode;
982     bool m_surroundExModeHasBeenSet;
983 
984     Eac3SurroundMode m_surroundMode;
985     bool m_surroundModeHasBeenSet;
986   };
987 
988 } // namespace Model
989 } // namespace MediaConvert
990 } // namespace Aws
991