aws_sdk_mediaconvert/types/
_audio_description.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// Settings related to one audio tab on the MediaConvert console. In your job JSON, an instance of AudioDescription is equivalent to one audio tab in the console. Usually, one audio tab corresponds to one output audio track. Depending on how you set up your input audio selectors and whether you use audio selector groups, one audio tab can correspond to a group of output audio tracks.
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct AudioDescription {
7    /// Specify the QuickTime audio channel layout tags for the audio channels in this audio track. When you don't specify a value, MediaConvert labels your track as Center (C) by default. To use Audio layout tagging, your output must be in a QuickTime (MOV) container and your audio codec must be AAC, WAV, or AIFF.
8    pub audio_channel_tagging_settings: ::std::option::Option<crate::types::AudioChannelTaggingSettings>,
9    /// Advanced audio normalization settings. Ignore these settings unless you need to comply with a loudness standard.
10    pub audio_normalization_settings: ::std::option::Option<crate::types::AudioNormalizationSettings>,
11    /// Settings for audio pitch correction during framerate conversion.
12    pub audio_pitch_correction_settings: ::std::option::Option<crate::types::AudioPitchCorrectionSettings>,
13    /// Specifies which audio data to use from each input. In the simplest case, specify an "Audio Selector":#inputs-audio_selector by name based on its order within each input. For example if you specify "Audio Selector 3", then the third audio selector will be used from each input. If an input does not have an "Audio Selector 3", then the audio selector marked as "default" in that input will be used. If there is no audio selector marked as "default", silence will be inserted for the duration of that input. Alternatively, an "Audio Selector Group":#inputs-audio_selector_group name may be specified, with similar default/silence behavior. If no audio_source_name is specified, then "Audio Selector 1" will be chosen automatically.
14    pub audio_source_name: ::std::option::Option<::std::string::String>,
15    /// Applies only if Follow Input Audio Type is unchecked (false). A number between 0 and 255. The following are defined in ISO-IEC 13818-1: 0 = Undefined, 1 = Clean Effects, 2 = Hearing Impaired, 3 = Visually Impaired Commentary, 4-255 = Reserved.
16    pub audio_type: ::std::option::Option<i32>,
17    /// When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type, then that value is passed through to the output. If the input contains no ISO 639 audio_type, the value in Audio Type is included in the output. Otherwise the value in Audio Type is included in the output. Note that this field and audioType are both ignored if audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD.
18    pub audio_type_control: ::std::option::Option<crate::types::AudioTypeControl>,
19    /// Settings related to audio encoding. The settings in this group vary depending on the value that you choose for your audio codec.
20    pub codec_settings: ::std::option::Option<crate::types::AudioCodecSettings>,
21    /// Specify the language for this audio output track. The service puts this language code into your output audio track when you set Language code control to Use configured. The service also uses your specified custom language code when you set Language code control to Follow input, but your input file doesn't specify a language code. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming.
22    pub custom_language_code: ::std::option::Option<::std::string::String>,
23    /// Specify the language for your output audio track. To follow the input language: Leave blank. When you do, also set Language code control to Follow input. If no input language is detected MediaConvert will not write an output language code. To follow the input langauge, but fall back to a specified language code if there is no input language to follow: Enter an ISO 639-2 three-letter language code in all capital letters. When you do, also set Language code control to Follow input. To specify the language code: Enter an ISO 639 three-letter language code in all capital letters. When you do, also set Language code control to Use configured.
24    pub language_code: ::std::option::Option<crate::types::LanguageCode>,
25    /// Specify which source for language code takes precedence for this audio track. When you choose Follow input, the service uses the language code from the input track if it's present. If there's no languge code on the input track, the service uses the code that you specify in the setting Language code. When you choose Use configured, the service uses the language code that you specify.
26    pub language_code_control: ::std::option::Option<crate::types::AudioLanguageCodeControl>,
27    /// Advanced audio remixing settings.
28    pub remix_settings: ::std::option::Option<crate::types::RemixSettings>,
29    /// Specify a label for this output audio stream. For example, "English", "Director commentary", or "track_2". For streaming outputs, MediaConvert passes this information into destination manifests for display on the end-viewer's player device. For outputs in other output groups, the service ignores this setting.
30    pub stream_name: ::std::option::Option<::std::string::String>,
31}
32impl AudioDescription {
33    /// Specify the QuickTime audio channel layout tags for the audio channels in this audio track. When you don't specify a value, MediaConvert labels your track as Center (C) by default. To use Audio layout tagging, your output must be in a QuickTime (MOV) container and your audio codec must be AAC, WAV, or AIFF.
34    pub fn audio_channel_tagging_settings(&self) -> ::std::option::Option<&crate::types::AudioChannelTaggingSettings> {
35        self.audio_channel_tagging_settings.as_ref()
36    }
37    /// Advanced audio normalization settings. Ignore these settings unless you need to comply with a loudness standard.
38    pub fn audio_normalization_settings(&self) -> ::std::option::Option<&crate::types::AudioNormalizationSettings> {
39        self.audio_normalization_settings.as_ref()
40    }
41    /// Settings for audio pitch correction during framerate conversion.
42    pub fn audio_pitch_correction_settings(&self) -> ::std::option::Option<&crate::types::AudioPitchCorrectionSettings> {
43        self.audio_pitch_correction_settings.as_ref()
44    }
45    /// Specifies which audio data to use from each input. In the simplest case, specify an "Audio Selector":#inputs-audio_selector by name based on its order within each input. For example if you specify "Audio Selector 3", then the third audio selector will be used from each input. If an input does not have an "Audio Selector 3", then the audio selector marked as "default" in that input will be used. If there is no audio selector marked as "default", silence will be inserted for the duration of that input. Alternatively, an "Audio Selector Group":#inputs-audio_selector_group name may be specified, with similar default/silence behavior. If no audio_source_name is specified, then "Audio Selector 1" will be chosen automatically.
46    pub fn audio_source_name(&self) -> ::std::option::Option<&str> {
47        self.audio_source_name.as_deref()
48    }
49    /// Applies only if Follow Input Audio Type is unchecked (false). A number between 0 and 255. The following are defined in ISO-IEC 13818-1: 0 = Undefined, 1 = Clean Effects, 2 = Hearing Impaired, 3 = Visually Impaired Commentary, 4-255 = Reserved.
50    pub fn audio_type(&self) -> ::std::option::Option<i32> {
51        self.audio_type
52    }
53    /// When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type, then that value is passed through to the output. If the input contains no ISO 639 audio_type, the value in Audio Type is included in the output. Otherwise the value in Audio Type is included in the output. Note that this field and audioType are both ignored if audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD.
54    pub fn audio_type_control(&self) -> ::std::option::Option<&crate::types::AudioTypeControl> {
55        self.audio_type_control.as_ref()
56    }
57    /// Settings related to audio encoding. The settings in this group vary depending on the value that you choose for your audio codec.
58    pub fn codec_settings(&self) -> ::std::option::Option<&crate::types::AudioCodecSettings> {
59        self.codec_settings.as_ref()
60    }
61    /// Specify the language for this audio output track. The service puts this language code into your output audio track when you set Language code control to Use configured. The service also uses your specified custom language code when you set Language code control to Follow input, but your input file doesn't specify a language code. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming.
62    pub fn custom_language_code(&self) -> ::std::option::Option<&str> {
63        self.custom_language_code.as_deref()
64    }
65    /// Specify the language for your output audio track. To follow the input language: Leave blank. When you do, also set Language code control to Follow input. If no input language is detected MediaConvert will not write an output language code. To follow the input langauge, but fall back to a specified language code if there is no input language to follow: Enter an ISO 639-2 three-letter language code in all capital letters. When you do, also set Language code control to Follow input. To specify the language code: Enter an ISO 639 three-letter language code in all capital letters. When you do, also set Language code control to Use configured.
66    pub fn language_code(&self) -> ::std::option::Option<&crate::types::LanguageCode> {
67        self.language_code.as_ref()
68    }
69    /// Specify which source for language code takes precedence for this audio track. When you choose Follow input, the service uses the language code from the input track if it's present. If there's no languge code on the input track, the service uses the code that you specify in the setting Language code. When you choose Use configured, the service uses the language code that you specify.
70    pub fn language_code_control(&self) -> ::std::option::Option<&crate::types::AudioLanguageCodeControl> {
71        self.language_code_control.as_ref()
72    }
73    /// Advanced audio remixing settings.
74    pub fn remix_settings(&self) -> ::std::option::Option<&crate::types::RemixSettings> {
75        self.remix_settings.as_ref()
76    }
77    /// Specify a label for this output audio stream. For example, "English", "Director commentary", or "track_2". For streaming outputs, MediaConvert passes this information into destination manifests for display on the end-viewer's player device. For outputs in other output groups, the service ignores this setting.
78    pub fn stream_name(&self) -> ::std::option::Option<&str> {
79        self.stream_name.as_deref()
80    }
81}
82impl AudioDescription {
83    /// Creates a new builder-style object to manufacture [`AudioDescription`](crate::types::AudioDescription).
84    pub fn builder() -> crate::types::builders::AudioDescriptionBuilder {
85        crate::types::builders::AudioDescriptionBuilder::default()
86    }
87}
88
89/// A builder for [`AudioDescription`](crate::types::AudioDescription).
90#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
91#[non_exhaustive]
92pub struct AudioDescriptionBuilder {
93    pub(crate) audio_channel_tagging_settings: ::std::option::Option<crate::types::AudioChannelTaggingSettings>,
94    pub(crate) audio_normalization_settings: ::std::option::Option<crate::types::AudioNormalizationSettings>,
95    pub(crate) audio_pitch_correction_settings: ::std::option::Option<crate::types::AudioPitchCorrectionSettings>,
96    pub(crate) audio_source_name: ::std::option::Option<::std::string::String>,
97    pub(crate) audio_type: ::std::option::Option<i32>,
98    pub(crate) audio_type_control: ::std::option::Option<crate::types::AudioTypeControl>,
99    pub(crate) codec_settings: ::std::option::Option<crate::types::AudioCodecSettings>,
100    pub(crate) custom_language_code: ::std::option::Option<::std::string::String>,
101    pub(crate) language_code: ::std::option::Option<crate::types::LanguageCode>,
102    pub(crate) language_code_control: ::std::option::Option<crate::types::AudioLanguageCodeControl>,
103    pub(crate) remix_settings: ::std::option::Option<crate::types::RemixSettings>,
104    pub(crate) stream_name: ::std::option::Option<::std::string::String>,
105}
106impl AudioDescriptionBuilder {
107    /// Specify the QuickTime audio channel layout tags for the audio channels in this audio track. When you don't specify a value, MediaConvert labels your track as Center (C) by default. To use Audio layout tagging, your output must be in a QuickTime (MOV) container and your audio codec must be AAC, WAV, or AIFF.
108    pub fn audio_channel_tagging_settings(mut self, input: crate::types::AudioChannelTaggingSettings) -> Self {
109        self.audio_channel_tagging_settings = ::std::option::Option::Some(input);
110        self
111    }
112    /// Specify the QuickTime audio channel layout tags for the audio channels in this audio track. When you don't specify a value, MediaConvert labels your track as Center (C) by default. To use Audio layout tagging, your output must be in a QuickTime (MOV) container and your audio codec must be AAC, WAV, or AIFF.
113    pub fn set_audio_channel_tagging_settings(mut self, input: ::std::option::Option<crate::types::AudioChannelTaggingSettings>) -> Self {
114        self.audio_channel_tagging_settings = input;
115        self
116    }
117    /// Specify the QuickTime audio channel layout tags for the audio channels in this audio track. When you don't specify a value, MediaConvert labels your track as Center (C) by default. To use Audio layout tagging, your output must be in a QuickTime (MOV) container and your audio codec must be AAC, WAV, or AIFF.
118    pub fn get_audio_channel_tagging_settings(&self) -> &::std::option::Option<crate::types::AudioChannelTaggingSettings> {
119        &self.audio_channel_tagging_settings
120    }
121    /// Advanced audio normalization settings. Ignore these settings unless you need to comply with a loudness standard.
122    pub fn audio_normalization_settings(mut self, input: crate::types::AudioNormalizationSettings) -> Self {
123        self.audio_normalization_settings = ::std::option::Option::Some(input);
124        self
125    }
126    /// Advanced audio normalization settings. Ignore these settings unless you need to comply with a loudness standard.
127    pub fn set_audio_normalization_settings(mut self, input: ::std::option::Option<crate::types::AudioNormalizationSettings>) -> Self {
128        self.audio_normalization_settings = input;
129        self
130    }
131    /// Advanced audio normalization settings. Ignore these settings unless you need to comply with a loudness standard.
132    pub fn get_audio_normalization_settings(&self) -> &::std::option::Option<crate::types::AudioNormalizationSettings> {
133        &self.audio_normalization_settings
134    }
135    /// Settings for audio pitch correction during framerate conversion.
136    pub fn audio_pitch_correction_settings(mut self, input: crate::types::AudioPitchCorrectionSettings) -> Self {
137        self.audio_pitch_correction_settings = ::std::option::Option::Some(input);
138        self
139    }
140    /// Settings for audio pitch correction during framerate conversion.
141    pub fn set_audio_pitch_correction_settings(mut self, input: ::std::option::Option<crate::types::AudioPitchCorrectionSettings>) -> Self {
142        self.audio_pitch_correction_settings = input;
143        self
144    }
145    /// Settings for audio pitch correction during framerate conversion.
146    pub fn get_audio_pitch_correction_settings(&self) -> &::std::option::Option<crate::types::AudioPitchCorrectionSettings> {
147        &self.audio_pitch_correction_settings
148    }
149    /// Specifies which audio data to use from each input. In the simplest case, specify an "Audio Selector":#inputs-audio_selector by name based on its order within each input. For example if you specify "Audio Selector 3", then the third audio selector will be used from each input. If an input does not have an "Audio Selector 3", then the audio selector marked as "default" in that input will be used. If there is no audio selector marked as "default", silence will be inserted for the duration of that input. Alternatively, an "Audio Selector Group":#inputs-audio_selector_group name may be specified, with similar default/silence behavior. If no audio_source_name is specified, then "Audio Selector 1" will be chosen automatically.
150    pub fn audio_source_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
151        self.audio_source_name = ::std::option::Option::Some(input.into());
152        self
153    }
154    /// Specifies which audio data to use from each input. In the simplest case, specify an "Audio Selector":#inputs-audio_selector by name based on its order within each input. For example if you specify "Audio Selector 3", then the third audio selector will be used from each input. If an input does not have an "Audio Selector 3", then the audio selector marked as "default" in that input will be used. If there is no audio selector marked as "default", silence will be inserted for the duration of that input. Alternatively, an "Audio Selector Group":#inputs-audio_selector_group name may be specified, with similar default/silence behavior. If no audio_source_name is specified, then "Audio Selector 1" will be chosen automatically.
155    pub fn set_audio_source_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
156        self.audio_source_name = input;
157        self
158    }
159    /// Specifies which audio data to use from each input. In the simplest case, specify an "Audio Selector":#inputs-audio_selector by name based on its order within each input. For example if you specify "Audio Selector 3", then the third audio selector will be used from each input. If an input does not have an "Audio Selector 3", then the audio selector marked as "default" in that input will be used. If there is no audio selector marked as "default", silence will be inserted for the duration of that input. Alternatively, an "Audio Selector Group":#inputs-audio_selector_group name may be specified, with similar default/silence behavior. If no audio_source_name is specified, then "Audio Selector 1" will be chosen automatically.
160    pub fn get_audio_source_name(&self) -> &::std::option::Option<::std::string::String> {
161        &self.audio_source_name
162    }
163    /// Applies only if Follow Input Audio Type is unchecked (false). A number between 0 and 255. The following are defined in ISO-IEC 13818-1: 0 = Undefined, 1 = Clean Effects, 2 = Hearing Impaired, 3 = Visually Impaired Commentary, 4-255 = Reserved.
164    pub fn audio_type(mut self, input: i32) -> Self {
165        self.audio_type = ::std::option::Option::Some(input);
166        self
167    }
168    /// Applies only if Follow Input Audio Type is unchecked (false). A number between 0 and 255. The following are defined in ISO-IEC 13818-1: 0 = Undefined, 1 = Clean Effects, 2 = Hearing Impaired, 3 = Visually Impaired Commentary, 4-255 = Reserved.
169    pub fn set_audio_type(mut self, input: ::std::option::Option<i32>) -> Self {
170        self.audio_type = input;
171        self
172    }
173    /// Applies only if Follow Input Audio Type is unchecked (false). A number between 0 and 255. The following are defined in ISO-IEC 13818-1: 0 = Undefined, 1 = Clean Effects, 2 = Hearing Impaired, 3 = Visually Impaired Commentary, 4-255 = Reserved.
174    pub fn get_audio_type(&self) -> &::std::option::Option<i32> {
175        &self.audio_type
176    }
177    /// When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type, then that value is passed through to the output. If the input contains no ISO 639 audio_type, the value in Audio Type is included in the output. Otherwise the value in Audio Type is included in the output. Note that this field and audioType are both ignored if audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD.
178    pub fn audio_type_control(mut self, input: crate::types::AudioTypeControl) -> Self {
179        self.audio_type_control = ::std::option::Option::Some(input);
180        self
181    }
182    /// When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type, then that value is passed through to the output. If the input contains no ISO 639 audio_type, the value in Audio Type is included in the output. Otherwise the value in Audio Type is included in the output. Note that this field and audioType are both ignored if audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD.
183    pub fn set_audio_type_control(mut self, input: ::std::option::Option<crate::types::AudioTypeControl>) -> Self {
184        self.audio_type_control = input;
185        self
186    }
187    /// When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type, then that value is passed through to the output. If the input contains no ISO 639 audio_type, the value in Audio Type is included in the output. Otherwise the value in Audio Type is included in the output. Note that this field and audioType are both ignored if audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD.
188    pub fn get_audio_type_control(&self) -> &::std::option::Option<crate::types::AudioTypeControl> {
189        &self.audio_type_control
190    }
191    /// Settings related to audio encoding. The settings in this group vary depending on the value that you choose for your audio codec.
192    pub fn codec_settings(mut self, input: crate::types::AudioCodecSettings) -> Self {
193        self.codec_settings = ::std::option::Option::Some(input);
194        self
195    }
196    /// Settings related to audio encoding. The settings in this group vary depending on the value that you choose for your audio codec.
197    pub fn set_codec_settings(mut self, input: ::std::option::Option<crate::types::AudioCodecSettings>) -> Self {
198        self.codec_settings = input;
199        self
200    }
201    /// Settings related to audio encoding. The settings in this group vary depending on the value that you choose for your audio codec.
202    pub fn get_codec_settings(&self) -> &::std::option::Option<crate::types::AudioCodecSettings> {
203        &self.codec_settings
204    }
205    /// Specify the language for this audio output track. The service puts this language code into your output audio track when you set Language code control to Use configured. The service also uses your specified custom language code when you set Language code control to Follow input, but your input file doesn't specify a language code. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming.
206    pub fn custom_language_code(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
207        self.custom_language_code = ::std::option::Option::Some(input.into());
208        self
209    }
210    /// Specify the language for this audio output track. The service puts this language code into your output audio track when you set Language code control to Use configured. The service also uses your specified custom language code when you set Language code control to Follow input, but your input file doesn't specify a language code. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming.
211    pub fn set_custom_language_code(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
212        self.custom_language_code = input;
213        self
214    }
215    /// Specify the language for this audio output track. The service puts this language code into your output audio track when you set Language code control to Use configured. The service also uses your specified custom language code when you set Language code control to Follow input, but your input file doesn't specify a language code. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming.
216    pub fn get_custom_language_code(&self) -> &::std::option::Option<::std::string::String> {
217        &self.custom_language_code
218    }
219    /// Specify the language for your output audio track. To follow the input language: Leave blank. When you do, also set Language code control to Follow input. If no input language is detected MediaConvert will not write an output language code. To follow the input langauge, but fall back to a specified language code if there is no input language to follow: Enter an ISO 639-2 three-letter language code in all capital letters. When you do, also set Language code control to Follow input. To specify the language code: Enter an ISO 639 three-letter language code in all capital letters. When you do, also set Language code control to Use configured.
220    pub fn language_code(mut self, input: crate::types::LanguageCode) -> Self {
221        self.language_code = ::std::option::Option::Some(input);
222        self
223    }
224    /// Specify the language for your output audio track. To follow the input language: Leave blank. When you do, also set Language code control to Follow input. If no input language is detected MediaConvert will not write an output language code. To follow the input langauge, but fall back to a specified language code if there is no input language to follow: Enter an ISO 639-2 three-letter language code in all capital letters. When you do, also set Language code control to Follow input. To specify the language code: Enter an ISO 639 three-letter language code in all capital letters. When you do, also set Language code control to Use configured.
225    pub fn set_language_code(mut self, input: ::std::option::Option<crate::types::LanguageCode>) -> Self {
226        self.language_code = input;
227        self
228    }
229    /// Specify the language for your output audio track. To follow the input language: Leave blank. When you do, also set Language code control to Follow input. If no input language is detected MediaConvert will not write an output language code. To follow the input langauge, but fall back to a specified language code if there is no input language to follow: Enter an ISO 639-2 three-letter language code in all capital letters. When you do, also set Language code control to Follow input. To specify the language code: Enter an ISO 639 three-letter language code in all capital letters. When you do, also set Language code control to Use configured.
230    pub fn get_language_code(&self) -> &::std::option::Option<crate::types::LanguageCode> {
231        &self.language_code
232    }
233    /// Specify which source for language code takes precedence for this audio track. When you choose Follow input, the service uses the language code from the input track if it's present. If there's no languge code on the input track, the service uses the code that you specify in the setting Language code. When you choose Use configured, the service uses the language code that you specify.
234    pub fn language_code_control(mut self, input: crate::types::AudioLanguageCodeControl) -> Self {
235        self.language_code_control = ::std::option::Option::Some(input);
236        self
237    }
238    /// Specify which source for language code takes precedence for this audio track. When you choose Follow input, the service uses the language code from the input track if it's present. If there's no languge code on the input track, the service uses the code that you specify in the setting Language code. When you choose Use configured, the service uses the language code that you specify.
239    pub fn set_language_code_control(mut self, input: ::std::option::Option<crate::types::AudioLanguageCodeControl>) -> Self {
240        self.language_code_control = input;
241        self
242    }
243    /// Specify which source for language code takes precedence for this audio track. When you choose Follow input, the service uses the language code from the input track if it's present. If there's no languge code on the input track, the service uses the code that you specify in the setting Language code. When you choose Use configured, the service uses the language code that you specify.
244    pub fn get_language_code_control(&self) -> &::std::option::Option<crate::types::AudioLanguageCodeControl> {
245        &self.language_code_control
246    }
247    /// Advanced audio remixing settings.
248    pub fn remix_settings(mut self, input: crate::types::RemixSettings) -> Self {
249        self.remix_settings = ::std::option::Option::Some(input);
250        self
251    }
252    /// Advanced audio remixing settings.
253    pub fn set_remix_settings(mut self, input: ::std::option::Option<crate::types::RemixSettings>) -> Self {
254        self.remix_settings = input;
255        self
256    }
257    /// Advanced audio remixing settings.
258    pub fn get_remix_settings(&self) -> &::std::option::Option<crate::types::RemixSettings> {
259        &self.remix_settings
260    }
261    /// Specify a label for this output audio stream. For example, "English", "Director commentary", or "track_2". For streaming outputs, MediaConvert passes this information into destination manifests for display on the end-viewer's player device. For outputs in other output groups, the service ignores this setting.
262    pub fn stream_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
263        self.stream_name = ::std::option::Option::Some(input.into());
264        self
265    }
266    /// Specify a label for this output audio stream. For example, "English", "Director commentary", or "track_2". For streaming outputs, MediaConvert passes this information into destination manifests for display on the end-viewer's player device. For outputs in other output groups, the service ignores this setting.
267    pub fn set_stream_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
268        self.stream_name = input;
269        self
270    }
271    /// Specify a label for this output audio stream. For example, "English", "Director commentary", or "track_2". For streaming outputs, MediaConvert passes this information into destination manifests for display on the end-viewer's player device. For outputs in other output groups, the service ignores this setting.
272    pub fn get_stream_name(&self) -> &::std::option::Option<::std::string::String> {
273        &self.stream_name
274    }
275    /// Consumes the builder and constructs a [`AudioDescription`](crate::types::AudioDescription).
276    pub fn build(self) -> crate::types::AudioDescription {
277        crate::types::AudioDescription {
278            audio_channel_tagging_settings: self.audio_channel_tagging_settings,
279            audio_normalization_settings: self.audio_normalization_settings,
280            audio_pitch_correction_settings: self.audio_pitch_correction_settings,
281            audio_source_name: self.audio_source_name,
282            audio_type: self.audio_type,
283            audio_type_control: self.audio_type_control,
284            codec_settings: self.codec_settings,
285            custom_language_code: self.custom_language_code,
286            language_code: self.language_code,
287            language_code_control: self.language_code_control,
288            remix_settings: self.remix_settings,
289            stream_name: self.stream_name,
290        }
291    }
292}