Skip to main content

aws_sdk_mediaconvert/types/
_eac3_settings.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// Required when you set Codec to the value EAC3.
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct Eac3Settings {
7    /// If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode.
8    pub attenuation_control: ::std::option::Option<crate::types::Eac3AttenuationControl>,
9    /// Specify the average bitrate in bits per second. The bitrate that you specify must be a multiple of 8000 within the allowed minimum and maximum values. Leave blank to use the default bitrate for the coding mode you select according ETSI TS 102 366. Valid bitrates for coding mode 1/0: Default: 96000. Minimum: 32000. Maximum: 3024000. Valid bitrates for coding mode 2/0: Default: 192000. Minimum: 96000. Maximum: 3024000. Valid bitrates for coding mode 3/2: Default: 384000. Minimum: 192000. Maximum: 3024000.
10    pub bitrate: ::std::option::Option<i32>,
11    /// Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E).
12    pub bitstream_mode: ::std::option::Option<crate::types::Eac3BitstreamMode>,
13    /// Dolby Digital Plus coding mode. Determines number of channels.
14    pub coding_mode: ::std::option::Option<crate::types::Eac3CodingMode>,
15    /// Activates a DC highpass filter for all input channels.
16    pub dc_filter: ::std::option::Option<crate::types::Eac3DcFilter>,
17    /// Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through.
18    pub dialnorm: ::std::option::Option<i32>,
19    /// Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert uses when encoding the metadata in the Dolby Digital stream for the line operating mode. Related setting: When you use this setting, MediaConvert ignores any value you provide for Dynamic range compression profile. For information about the Dolby Digital DRC operating modes and profiles, see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
20    pub dynamic_range_compression_line: ::std::option::Option<crate::types::Eac3DynamicRangeCompressionLine>,
21    /// Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert uses when encoding the metadata in the Dolby Digital stream for the RF operating mode. Related setting: When you use this setting, MediaConvert ignores any value you provide for Dynamic range compression profile. For information about the Dolby Digital DRC operating modes and profiles, see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
22    pub dynamic_range_compression_rf: ::std::option::Option<crate::types::Eac3DynamicRangeCompressionRf>,
23    /// When encoding 3/2 audio, controls whether the LFE channel is enabled
24    pub lfe_control: ::std::option::Option<crate::types::Eac3LfeControl>,
25    /// Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode.
26    pub lfe_filter: ::std::option::Option<crate::types::Eac3LfeFilter>,
27    /// Specify a value for the following Dolby Digital Plus setting: Left only/Right only center mix. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left only/Right only center.
28    pub lo_ro_center_mix_level: ::std::option::Option<f64>,
29    /// Specify a value for the following Dolby Digital Plus setting: Left only/Right only. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left only/Right only surround.
30    pub lo_ro_surround_mix_level: ::std::option::Option<f64>,
31    /// Specify a value for the following Dolby Digital Plus setting: Left total/Right total center mix. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left total/Right total center.
32    pub lt_rt_center_mix_level: ::std::option::Option<f64>,
33    /// Specify a value for the following Dolby Digital Plus setting: Left total/Right total surround mix. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left total/Right total surround.
34    pub lt_rt_surround_mix_level: ::std::option::Option<f64>,
35    /// When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used.
36    pub metadata_control: ::std::option::Option<crate::types::Eac3MetadataControl>,
37    /// When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is present on the input. this detection is dynamic over the life of the transcode. Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ output as the system alternates between passthrough and encoding.
38    pub passthrough_control: ::std::option::Option<crate::types::Eac3PassthroughControl>,
39    /// Controls the amount of phase-shift applied to the surround channels. Only used for 3/2 coding mode.
40    pub phase_control: ::std::option::Option<crate::types::Eac3PhaseControl>,
41    /// This value is always 48000. It represents the sample rate in Hz.
42    pub sample_rate: ::std::option::Option<i32>,
43    /// Choose how the service does stereo downmixing. This setting only applies if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Stereo downmix.
44    pub stereo_downmix: ::std::option::Option<crate::types::Eac3StereoDownmix>,
45    /// When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels.
46    pub surround_ex_mode: ::std::option::Option<crate::types::Eac3SurroundExMode>,
47    /// When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels.
48    pub surround_mode: ::std::option::Option<crate::types::Eac3SurroundMode>,
49}
50impl Eac3Settings {
51    /// If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode.
52    pub fn attenuation_control(&self) -> ::std::option::Option<&crate::types::Eac3AttenuationControl> {
53        self.attenuation_control.as_ref()
54    }
55    /// Specify the average bitrate in bits per second. The bitrate that you specify must be a multiple of 8000 within the allowed minimum and maximum values. Leave blank to use the default bitrate for the coding mode you select according ETSI TS 102 366. Valid bitrates for coding mode 1/0: Default: 96000. Minimum: 32000. Maximum: 3024000. Valid bitrates for coding mode 2/0: Default: 192000. Minimum: 96000. Maximum: 3024000. Valid bitrates for coding mode 3/2: Default: 384000. Minimum: 192000. Maximum: 3024000.
56    pub fn bitrate(&self) -> ::std::option::Option<i32> {
57        self.bitrate
58    }
59    /// Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E).
60    pub fn bitstream_mode(&self) -> ::std::option::Option<&crate::types::Eac3BitstreamMode> {
61        self.bitstream_mode.as_ref()
62    }
63    /// Dolby Digital Plus coding mode. Determines number of channels.
64    pub fn coding_mode(&self) -> ::std::option::Option<&crate::types::Eac3CodingMode> {
65        self.coding_mode.as_ref()
66    }
67    /// Activates a DC highpass filter for all input channels.
68    pub fn dc_filter(&self) -> ::std::option::Option<&crate::types::Eac3DcFilter> {
69        self.dc_filter.as_ref()
70    }
71    /// Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through.
72    pub fn dialnorm(&self) -> ::std::option::Option<i32> {
73        self.dialnorm
74    }
75    /// Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert uses when encoding the metadata in the Dolby Digital stream for the line operating mode. Related setting: When you use this setting, MediaConvert ignores any value you provide for Dynamic range compression profile. For information about the Dolby Digital DRC operating modes and profiles, see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
76    pub fn dynamic_range_compression_line(&self) -> ::std::option::Option<&crate::types::Eac3DynamicRangeCompressionLine> {
77        self.dynamic_range_compression_line.as_ref()
78    }
79    /// Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert uses when encoding the metadata in the Dolby Digital stream for the RF operating mode. Related setting: When you use this setting, MediaConvert ignores any value you provide for Dynamic range compression profile. For information about the Dolby Digital DRC operating modes and profiles, see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
80    pub fn dynamic_range_compression_rf(&self) -> ::std::option::Option<&crate::types::Eac3DynamicRangeCompressionRf> {
81        self.dynamic_range_compression_rf.as_ref()
82    }
83    /// When encoding 3/2 audio, controls whether the LFE channel is enabled
84    pub fn lfe_control(&self) -> ::std::option::Option<&crate::types::Eac3LfeControl> {
85        self.lfe_control.as_ref()
86    }
87    /// Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode.
88    pub fn lfe_filter(&self) -> ::std::option::Option<&crate::types::Eac3LfeFilter> {
89        self.lfe_filter.as_ref()
90    }
91    /// Specify a value for the following Dolby Digital Plus setting: Left only/Right only center mix. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left only/Right only center.
92    pub fn lo_ro_center_mix_level(&self) -> ::std::option::Option<f64> {
93        self.lo_ro_center_mix_level
94    }
95    /// Specify a value for the following Dolby Digital Plus setting: Left only/Right only. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left only/Right only surround.
96    pub fn lo_ro_surround_mix_level(&self) -> ::std::option::Option<f64> {
97        self.lo_ro_surround_mix_level
98    }
99    /// Specify a value for the following Dolby Digital Plus setting: Left total/Right total center mix. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left total/Right total center.
100    pub fn lt_rt_center_mix_level(&self) -> ::std::option::Option<f64> {
101        self.lt_rt_center_mix_level
102    }
103    /// Specify a value for the following Dolby Digital Plus setting: Left total/Right total surround mix. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left total/Right total surround.
104    pub fn lt_rt_surround_mix_level(&self) -> ::std::option::Option<f64> {
105        self.lt_rt_surround_mix_level
106    }
107    /// When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used.
108    pub fn metadata_control(&self) -> ::std::option::Option<&crate::types::Eac3MetadataControl> {
109        self.metadata_control.as_ref()
110    }
111    /// When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is present on the input. this detection is dynamic over the life of the transcode. Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ output as the system alternates between passthrough and encoding.
112    pub fn passthrough_control(&self) -> ::std::option::Option<&crate::types::Eac3PassthroughControl> {
113        self.passthrough_control.as_ref()
114    }
115    /// Controls the amount of phase-shift applied to the surround channels. Only used for 3/2 coding mode.
116    pub fn phase_control(&self) -> ::std::option::Option<&crate::types::Eac3PhaseControl> {
117        self.phase_control.as_ref()
118    }
119    /// This value is always 48000. It represents the sample rate in Hz.
120    pub fn sample_rate(&self) -> ::std::option::Option<i32> {
121        self.sample_rate
122    }
123    /// Choose how the service does stereo downmixing. This setting only applies if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Stereo downmix.
124    pub fn stereo_downmix(&self) -> ::std::option::Option<&crate::types::Eac3StereoDownmix> {
125        self.stereo_downmix.as_ref()
126    }
127    /// When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels.
128    pub fn surround_ex_mode(&self) -> ::std::option::Option<&crate::types::Eac3SurroundExMode> {
129        self.surround_ex_mode.as_ref()
130    }
131    /// When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels.
132    pub fn surround_mode(&self) -> ::std::option::Option<&crate::types::Eac3SurroundMode> {
133        self.surround_mode.as_ref()
134    }
135}
136impl Eac3Settings {
137    /// Creates a new builder-style object to manufacture [`Eac3Settings`](crate::types::Eac3Settings).
138    pub fn builder() -> crate::types::builders::Eac3SettingsBuilder {
139        crate::types::builders::Eac3SettingsBuilder::default()
140    }
141}
142
143/// A builder for [`Eac3Settings`](crate::types::Eac3Settings).
144#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
145#[non_exhaustive]
146pub struct Eac3SettingsBuilder {
147    pub(crate) attenuation_control: ::std::option::Option<crate::types::Eac3AttenuationControl>,
148    pub(crate) bitrate: ::std::option::Option<i32>,
149    pub(crate) bitstream_mode: ::std::option::Option<crate::types::Eac3BitstreamMode>,
150    pub(crate) coding_mode: ::std::option::Option<crate::types::Eac3CodingMode>,
151    pub(crate) dc_filter: ::std::option::Option<crate::types::Eac3DcFilter>,
152    pub(crate) dialnorm: ::std::option::Option<i32>,
153    pub(crate) dynamic_range_compression_line: ::std::option::Option<crate::types::Eac3DynamicRangeCompressionLine>,
154    pub(crate) dynamic_range_compression_rf: ::std::option::Option<crate::types::Eac3DynamicRangeCompressionRf>,
155    pub(crate) lfe_control: ::std::option::Option<crate::types::Eac3LfeControl>,
156    pub(crate) lfe_filter: ::std::option::Option<crate::types::Eac3LfeFilter>,
157    pub(crate) lo_ro_center_mix_level: ::std::option::Option<f64>,
158    pub(crate) lo_ro_surround_mix_level: ::std::option::Option<f64>,
159    pub(crate) lt_rt_center_mix_level: ::std::option::Option<f64>,
160    pub(crate) lt_rt_surround_mix_level: ::std::option::Option<f64>,
161    pub(crate) metadata_control: ::std::option::Option<crate::types::Eac3MetadataControl>,
162    pub(crate) passthrough_control: ::std::option::Option<crate::types::Eac3PassthroughControl>,
163    pub(crate) phase_control: ::std::option::Option<crate::types::Eac3PhaseControl>,
164    pub(crate) sample_rate: ::std::option::Option<i32>,
165    pub(crate) stereo_downmix: ::std::option::Option<crate::types::Eac3StereoDownmix>,
166    pub(crate) surround_ex_mode: ::std::option::Option<crate::types::Eac3SurroundExMode>,
167    pub(crate) surround_mode: ::std::option::Option<crate::types::Eac3SurroundMode>,
168}
169impl Eac3SettingsBuilder {
170    /// If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode.
171    pub fn attenuation_control(mut self, input: crate::types::Eac3AttenuationControl) -> Self {
172        self.attenuation_control = ::std::option::Option::Some(input);
173        self
174    }
175    /// If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode.
176    pub fn set_attenuation_control(mut self, input: ::std::option::Option<crate::types::Eac3AttenuationControl>) -> Self {
177        self.attenuation_control = input;
178        self
179    }
180    /// If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode.
181    pub fn get_attenuation_control(&self) -> &::std::option::Option<crate::types::Eac3AttenuationControl> {
182        &self.attenuation_control
183    }
184    /// Specify the average bitrate in bits per second. The bitrate that you specify must be a multiple of 8000 within the allowed minimum and maximum values. Leave blank to use the default bitrate for the coding mode you select according ETSI TS 102 366. Valid bitrates for coding mode 1/0: Default: 96000. Minimum: 32000. Maximum: 3024000. Valid bitrates for coding mode 2/0: Default: 192000. Minimum: 96000. Maximum: 3024000. Valid bitrates for coding mode 3/2: Default: 384000. Minimum: 192000. Maximum: 3024000.
185    pub fn bitrate(mut self, input: i32) -> Self {
186        self.bitrate = ::std::option::Option::Some(input);
187        self
188    }
189    /// Specify the average bitrate in bits per second. The bitrate that you specify must be a multiple of 8000 within the allowed minimum and maximum values. Leave blank to use the default bitrate for the coding mode you select according ETSI TS 102 366. Valid bitrates for coding mode 1/0: Default: 96000. Minimum: 32000. Maximum: 3024000. Valid bitrates for coding mode 2/0: Default: 192000. Minimum: 96000. Maximum: 3024000. Valid bitrates for coding mode 3/2: Default: 384000. Minimum: 192000. Maximum: 3024000.
190    pub fn set_bitrate(mut self, input: ::std::option::Option<i32>) -> Self {
191        self.bitrate = input;
192        self
193    }
194    /// Specify the average bitrate in bits per second. The bitrate that you specify must be a multiple of 8000 within the allowed minimum and maximum values. Leave blank to use the default bitrate for the coding mode you select according ETSI TS 102 366. Valid bitrates for coding mode 1/0: Default: 96000. Minimum: 32000. Maximum: 3024000. Valid bitrates for coding mode 2/0: Default: 192000. Minimum: 96000. Maximum: 3024000. Valid bitrates for coding mode 3/2: Default: 384000. Minimum: 192000. Maximum: 3024000.
195    pub fn get_bitrate(&self) -> &::std::option::Option<i32> {
196        &self.bitrate
197    }
198    /// Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E).
199    pub fn bitstream_mode(mut self, input: crate::types::Eac3BitstreamMode) -> Self {
200        self.bitstream_mode = ::std::option::Option::Some(input);
201        self
202    }
203    /// Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E).
204    pub fn set_bitstream_mode(mut self, input: ::std::option::Option<crate::types::Eac3BitstreamMode>) -> Self {
205        self.bitstream_mode = input;
206        self
207    }
208    /// Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E).
209    pub fn get_bitstream_mode(&self) -> &::std::option::Option<crate::types::Eac3BitstreamMode> {
210        &self.bitstream_mode
211    }
212    /// Dolby Digital Plus coding mode. Determines number of channels.
213    pub fn coding_mode(mut self, input: crate::types::Eac3CodingMode) -> Self {
214        self.coding_mode = ::std::option::Option::Some(input);
215        self
216    }
217    /// Dolby Digital Plus coding mode. Determines number of channels.
218    pub fn set_coding_mode(mut self, input: ::std::option::Option<crate::types::Eac3CodingMode>) -> Self {
219        self.coding_mode = input;
220        self
221    }
222    /// Dolby Digital Plus coding mode. Determines number of channels.
223    pub fn get_coding_mode(&self) -> &::std::option::Option<crate::types::Eac3CodingMode> {
224        &self.coding_mode
225    }
226    /// Activates a DC highpass filter for all input channels.
227    pub fn dc_filter(mut self, input: crate::types::Eac3DcFilter) -> Self {
228        self.dc_filter = ::std::option::Option::Some(input);
229        self
230    }
231    /// Activates a DC highpass filter for all input channels.
232    pub fn set_dc_filter(mut self, input: ::std::option::Option<crate::types::Eac3DcFilter>) -> Self {
233        self.dc_filter = input;
234        self
235    }
236    /// Activates a DC highpass filter for all input channels.
237    pub fn get_dc_filter(&self) -> &::std::option::Option<crate::types::Eac3DcFilter> {
238        &self.dc_filter
239    }
240    /// Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through.
241    pub fn dialnorm(mut self, input: i32) -> Self {
242        self.dialnorm = ::std::option::Option::Some(input);
243        self
244    }
245    /// Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through.
246    pub fn set_dialnorm(mut self, input: ::std::option::Option<i32>) -> Self {
247        self.dialnorm = input;
248        self
249    }
250    /// Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through.
251    pub fn get_dialnorm(&self) -> &::std::option::Option<i32> {
252        &self.dialnorm
253    }
254    /// Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert uses when encoding the metadata in the Dolby Digital stream for the line operating mode. Related setting: When you use this setting, MediaConvert ignores any value you provide for Dynamic range compression profile. For information about the Dolby Digital DRC operating modes and profiles, see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
255    pub fn dynamic_range_compression_line(mut self, input: crate::types::Eac3DynamicRangeCompressionLine) -> Self {
256        self.dynamic_range_compression_line = ::std::option::Option::Some(input);
257        self
258    }
259    /// Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert uses when encoding the metadata in the Dolby Digital stream for the line operating mode. Related setting: When you use this setting, MediaConvert ignores any value you provide for Dynamic range compression profile. For information about the Dolby Digital DRC operating modes and profiles, see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
260    pub fn set_dynamic_range_compression_line(mut self, input: ::std::option::Option<crate::types::Eac3DynamicRangeCompressionLine>) -> Self {
261        self.dynamic_range_compression_line = input;
262        self
263    }
264    /// Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert uses when encoding the metadata in the Dolby Digital stream for the line operating mode. Related setting: When you use this setting, MediaConvert ignores any value you provide for Dynamic range compression profile. For information about the Dolby Digital DRC operating modes and profiles, see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
265    pub fn get_dynamic_range_compression_line(&self) -> &::std::option::Option<crate::types::Eac3DynamicRangeCompressionLine> {
266        &self.dynamic_range_compression_line
267    }
268    /// Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert uses when encoding the metadata in the Dolby Digital stream for the RF operating mode. Related setting: When you use this setting, MediaConvert ignores any value you provide for Dynamic range compression profile. For information about the Dolby Digital DRC operating modes and profiles, see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
269    pub fn dynamic_range_compression_rf(mut self, input: crate::types::Eac3DynamicRangeCompressionRf) -> Self {
270        self.dynamic_range_compression_rf = ::std::option::Option::Some(input);
271        self
272    }
273    /// Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert uses when encoding the metadata in the Dolby Digital stream for the RF operating mode. Related setting: When you use this setting, MediaConvert ignores any value you provide for Dynamic range compression profile. For information about the Dolby Digital DRC operating modes and profiles, see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
274    pub fn set_dynamic_range_compression_rf(mut self, input: ::std::option::Option<crate::types::Eac3DynamicRangeCompressionRf>) -> Self {
275        self.dynamic_range_compression_rf = input;
276        self
277    }
278    /// Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert uses when encoding the metadata in the Dolby Digital stream for the RF operating mode. Related setting: When you use this setting, MediaConvert ignores any value you provide for Dynamic range compression profile. For information about the Dolby Digital DRC operating modes and profiles, see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.
279    pub fn get_dynamic_range_compression_rf(&self) -> &::std::option::Option<crate::types::Eac3DynamicRangeCompressionRf> {
280        &self.dynamic_range_compression_rf
281    }
282    /// When encoding 3/2 audio, controls whether the LFE channel is enabled
283    pub fn lfe_control(mut self, input: crate::types::Eac3LfeControl) -> Self {
284        self.lfe_control = ::std::option::Option::Some(input);
285        self
286    }
287    /// When encoding 3/2 audio, controls whether the LFE channel is enabled
288    pub fn set_lfe_control(mut self, input: ::std::option::Option<crate::types::Eac3LfeControl>) -> Self {
289        self.lfe_control = input;
290        self
291    }
292    /// When encoding 3/2 audio, controls whether the LFE channel is enabled
293    pub fn get_lfe_control(&self) -> &::std::option::Option<crate::types::Eac3LfeControl> {
294        &self.lfe_control
295    }
296    /// Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode.
297    pub fn lfe_filter(mut self, input: crate::types::Eac3LfeFilter) -> Self {
298        self.lfe_filter = ::std::option::Option::Some(input);
299        self
300    }
301    /// Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode.
302    pub fn set_lfe_filter(mut self, input: ::std::option::Option<crate::types::Eac3LfeFilter>) -> Self {
303        self.lfe_filter = input;
304        self
305    }
306    /// Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode.
307    pub fn get_lfe_filter(&self) -> &::std::option::Option<crate::types::Eac3LfeFilter> {
308        &self.lfe_filter
309    }
310    /// Specify a value for the following Dolby Digital Plus setting: Left only/Right only center mix. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left only/Right only center.
311    pub fn lo_ro_center_mix_level(mut self, input: f64) -> Self {
312        self.lo_ro_center_mix_level = ::std::option::Option::Some(input);
313        self
314    }
315    /// Specify a value for the following Dolby Digital Plus setting: Left only/Right only center mix. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left only/Right only center.
316    pub fn set_lo_ro_center_mix_level(mut self, input: ::std::option::Option<f64>) -> Self {
317        self.lo_ro_center_mix_level = input;
318        self
319    }
320    /// Specify a value for the following Dolby Digital Plus setting: Left only/Right only center mix. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left only/Right only center.
321    pub fn get_lo_ro_center_mix_level(&self) -> &::std::option::Option<f64> {
322        &self.lo_ro_center_mix_level
323    }
324    /// Specify a value for the following Dolby Digital Plus setting: Left only/Right only. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left only/Right only surround.
325    pub fn lo_ro_surround_mix_level(mut self, input: f64) -> Self {
326        self.lo_ro_surround_mix_level = ::std::option::Option::Some(input);
327        self
328    }
329    /// Specify a value for the following Dolby Digital Plus setting: Left only/Right only. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left only/Right only surround.
330    pub fn set_lo_ro_surround_mix_level(mut self, input: ::std::option::Option<f64>) -> Self {
331        self.lo_ro_surround_mix_level = input;
332        self
333    }
334    /// Specify a value for the following Dolby Digital Plus setting: Left only/Right only. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left only/Right only surround.
335    pub fn get_lo_ro_surround_mix_level(&self) -> &::std::option::Option<f64> {
336        &self.lo_ro_surround_mix_level
337    }
338    /// Specify a value for the following Dolby Digital Plus setting: Left total/Right total center mix. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left total/Right total center.
339    pub fn lt_rt_center_mix_level(mut self, input: f64) -> Self {
340        self.lt_rt_center_mix_level = ::std::option::Option::Some(input);
341        self
342    }
343    /// Specify a value for the following Dolby Digital Plus setting: Left total/Right total center mix. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left total/Right total center.
344    pub fn set_lt_rt_center_mix_level(mut self, input: ::std::option::Option<f64>) -> Self {
345        self.lt_rt_center_mix_level = input;
346        self
347    }
348    /// Specify a value for the following Dolby Digital Plus setting: Left total/Right total center mix. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left total/Right total center.
349    pub fn get_lt_rt_center_mix_level(&self) -> &::std::option::Option<f64> {
350        &self.lt_rt_center_mix_level
351    }
352    /// Specify a value for the following Dolby Digital Plus setting: Left total/Right total surround mix. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left total/Right total surround.
353    pub fn lt_rt_surround_mix_level(mut self, input: f64) -> Self {
354        self.lt_rt_surround_mix_level = ::std::option::Option::Some(input);
355        self
356    }
357    /// Specify a value for the following Dolby Digital Plus setting: Left total/Right total surround mix. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left total/Right total surround.
358    pub fn set_lt_rt_surround_mix_level(mut self, input: ::std::option::Option<f64>) -> Self {
359        self.lt_rt_surround_mix_level = input;
360        self
361    }
362    /// Specify a value for the following Dolby Digital Plus setting: Left total/Right total surround mix. MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix. Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Left total/Right total surround.
363    pub fn get_lt_rt_surround_mix_level(&self) -> &::std::option::Option<f64> {
364        &self.lt_rt_surround_mix_level
365    }
366    /// When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used.
367    pub fn metadata_control(mut self, input: crate::types::Eac3MetadataControl) -> Self {
368        self.metadata_control = ::std::option::Option::Some(input);
369        self
370    }
371    /// When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used.
372    pub fn set_metadata_control(mut self, input: ::std::option::Option<crate::types::Eac3MetadataControl>) -> Self {
373        self.metadata_control = input;
374        self
375    }
376    /// When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used.
377    pub fn get_metadata_control(&self) -> &::std::option::Option<crate::types::Eac3MetadataControl> {
378        &self.metadata_control
379    }
380    /// When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is present on the input. this detection is dynamic over the life of the transcode. Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ output as the system alternates between passthrough and encoding.
381    pub fn passthrough_control(mut self, input: crate::types::Eac3PassthroughControl) -> Self {
382        self.passthrough_control = ::std::option::Option::Some(input);
383        self
384    }
385    /// When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is present on the input. this detection is dynamic over the life of the transcode. Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ output as the system alternates between passthrough and encoding.
386    pub fn set_passthrough_control(mut self, input: ::std::option::Option<crate::types::Eac3PassthroughControl>) -> Self {
387        self.passthrough_control = input;
388        self
389    }
390    /// When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is present on the input. this detection is dynamic over the life of the transcode. Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ output as the system alternates between passthrough and encoding.
391    pub fn get_passthrough_control(&self) -> &::std::option::Option<crate::types::Eac3PassthroughControl> {
392        &self.passthrough_control
393    }
394    /// Controls the amount of phase-shift applied to the surround channels. Only used for 3/2 coding mode.
395    pub fn phase_control(mut self, input: crate::types::Eac3PhaseControl) -> Self {
396        self.phase_control = ::std::option::Option::Some(input);
397        self
398    }
399    /// Controls the amount of phase-shift applied to the surround channels. Only used for 3/2 coding mode.
400    pub fn set_phase_control(mut self, input: ::std::option::Option<crate::types::Eac3PhaseControl>) -> Self {
401        self.phase_control = input;
402        self
403    }
404    /// Controls the amount of phase-shift applied to the surround channels. Only used for 3/2 coding mode.
405    pub fn get_phase_control(&self) -> &::std::option::Option<crate::types::Eac3PhaseControl> {
406        &self.phase_control
407    }
408    /// This value is always 48000. It represents the sample rate in Hz.
409    pub fn sample_rate(mut self, input: i32) -> Self {
410        self.sample_rate = ::std::option::Option::Some(input);
411        self
412    }
413    /// This value is always 48000. It represents the sample rate in Hz.
414    pub fn set_sample_rate(mut self, input: ::std::option::Option<i32>) -> Self {
415        self.sample_rate = input;
416        self
417    }
418    /// This value is always 48000. It represents the sample rate in Hz.
419    pub fn get_sample_rate(&self) -> &::std::option::Option<i32> {
420        &self.sample_rate
421    }
422    /// Choose how the service does stereo downmixing. This setting only applies if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Stereo downmix.
423    pub fn stereo_downmix(mut self, input: crate::types::Eac3StereoDownmix) -> Self {
424        self.stereo_downmix = ::std::option::Option::Some(input);
425        self
426    }
427    /// Choose how the service does stereo downmixing. This setting only applies if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Stereo downmix.
428    pub fn set_stereo_downmix(mut self, input: ::std::option::Option<crate::types::Eac3StereoDownmix>) -> Self {
429        self.stereo_downmix = input;
430        self
431    }
432    /// Choose how the service does stereo downmixing. This setting only applies if you keep the default value of 3/2 - L, R, C, Ls, Rs for the setting Coding mode. If you choose a different value for Coding mode, the service ignores Stereo downmix.
433    pub fn get_stereo_downmix(&self) -> &::std::option::Option<crate::types::Eac3StereoDownmix> {
434        &self.stereo_downmix
435    }
436    /// When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels.
437    pub fn surround_ex_mode(mut self, input: crate::types::Eac3SurroundExMode) -> Self {
438        self.surround_ex_mode = ::std::option::Option::Some(input);
439        self
440    }
441    /// When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels.
442    pub fn set_surround_ex_mode(mut self, input: ::std::option::Option<crate::types::Eac3SurroundExMode>) -> Self {
443        self.surround_ex_mode = input;
444        self
445    }
446    /// When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels.
447    pub fn get_surround_ex_mode(&self) -> &::std::option::Option<crate::types::Eac3SurroundExMode> {
448        &self.surround_ex_mode
449    }
450    /// When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels.
451    pub fn surround_mode(mut self, input: crate::types::Eac3SurroundMode) -> Self {
452        self.surround_mode = ::std::option::Option::Some(input);
453        self
454    }
455    /// When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels.
456    pub fn set_surround_mode(mut self, input: ::std::option::Option<crate::types::Eac3SurroundMode>) -> Self {
457        self.surround_mode = input;
458        self
459    }
460    /// When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels.
461    pub fn get_surround_mode(&self) -> &::std::option::Option<crate::types::Eac3SurroundMode> {
462        &self.surround_mode
463    }
464    /// Consumes the builder and constructs a [`Eac3Settings`](crate::types::Eac3Settings).
465    pub fn build(self) -> crate::types::Eac3Settings {
466        crate::types::Eac3Settings {
467            attenuation_control: self.attenuation_control,
468            bitrate: self.bitrate,
469            bitstream_mode: self.bitstream_mode,
470            coding_mode: self.coding_mode,
471            dc_filter: self.dc_filter,
472            dialnorm: self.dialnorm,
473            dynamic_range_compression_line: self.dynamic_range_compression_line,
474            dynamic_range_compression_rf: self.dynamic_range_compression_rf,
475            lfe_control: self.lfe_control,
476            lfe_filter: self.lfe_filter,
477            lo_ro_center_mix_level: self.lo_ro_center_mix_level,
478            lo_ro_surround_mix_level: self.lo_ro_surround_mix_level,
479            lt_rt_center_mix_level: self.lt_rt_center_mix_level,
480            lt_rt_surround_mix_level: self.lt_rt_surround_mix_level,
481            metadata_control: self.metadata_control,
482            passthrough_control: self.passthrough_control,
483            phase_control: self.phase_control,
484            sample_rate: self.sample_rate,
485            stereo_downmix: self.stereo_downmix,
486            surround_ex_mode: self.surround_ex_mode,
487            surround_mode: self.surround_mode,
488        }
489    }
490}