com.amazonaws.services.mediaconvert.model.AacSettings Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws-java-sdk-mediaconvert Show documentation
Show all versions of aws-java-sdk-mediaconvert Show documentation
The AWS Java SDK for AWS Elemental MediaConvert module holds the client classes that are used for communicating with AWS Elemental MediaConvert Service
/*
* Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.mediaconvert.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
* Required when you set Codec to the value AAC. The service accepts one of two mutually exclusive groups of AAC
* settings--VBR and CBR. To select one of these modes, set the value of Bitrate control mode to "VBR" or "CBR". In VBR
* mode, you control the audio quality with the setting VBR quality. In CBR mode, you use the setting Bitrate. Defaults
* and valid values depend on the rate control mode.
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AacSettings implements Serializable, Cloneable, StructuredPojo {
/**
* Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio + audio description (AD) as a stereo
* pair. The value for AudioType will be set to 3, which signals to downstream systems that this stream contains
* "broadcaster mixed AD". Note that the input received by the encoder must contain pre-mixed audio; the encoder does
* not perform the mixing. When you choose BROADCASTER_MIXED_AD, the encoder ignores any values you provide in
* AudioType and FollowInputAudioType. Choose NORMAL when the input does not contain pre-mixed audio + audio
* description (AD). In this case, the encoder will use any values you provide for AudioType and
* FollowInputAudioType.
*/
private String audioDescriptionBroadcasterMix;
/**
* Specify the average bitrate in bits per second. The set of valid values for this setting is: 6000, 8000, 10000,
* 12000, 14000, 16000, 20000, 24000, 28000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000,
* 160000, 192000, 224000, 256000, 288000, 320000, 384000, 448000, 512000, 576000, 640000, 768000, 896000, 1024000.
* The value you set is also constrained by the values that you choose for Profile, Bitrate control mode, and Sample
* rate. Default values depend on Bitrate control mode and Profile.
*/
private Integer bitrate;
/** AAC Profile. */
private String codecProfile;
/**
* The Coding mode that you specify determines the number of audio channels and the audio channel layout metadata in
* your AAC output. Valid coding modes depend on the Rate control mode and Profile that you select. The following
* list shows the number of audio channels and channel layout for each coding mode. * 1.0 Audio Description (Receiver
* Mix): One channel, C. Includes audio description data from your stereo input. For more information see ETSI TS 101
* 154 Annex E. * 1.0 Mono: One channel, C. * 2.0 Stereo: Two channels, L, R. * 5.1 Surround: Six channels, C, L, R,
* Ls, Rs, LFE.
*/
private String codingMode;
/** Rate Control Mode. */
private String rateControlMode;
/**
* Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output, you must choose "No container" for
* the output container.
*/
private String rawFormat;
/**
* Specify the Sample rate in Hz. Valid sample rates depend on the Profile and Coding mode that you select. The
* following list shows valid sample rates for each Profile and Coding mode. * LC Profile, Coding mode 1.0, 2.0, and
* Receiver Mix: 8000, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 88200, 96000. * LC Profile, Coding mode 5.1:
* 32000, 44100, 48000, 96000. * HEV1 Profile, Coding mode 1.0 and Receiver Mix: 22050, 24000, 32000, 44100, 48000. *
* HEV1 Profile, Coding mode 2.0 and 5.1: 32000, 44100, 48000, 96000. * HEV2 Profile, Coding mode 2.0: 22050, 24000,
* 32000, 44100, 48000.
*/
private Integer sampleRate;
/** Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers. */
private String specification;
/** VBR Quality Level - Only used if rate_control_mode is VBR. */
private String vbrQuality;
/**
* Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio + audio description (AD) as a stereo
* pair. The value for AudioType will be set to 3, which signals to downstream systems that this stream contains
* "broadcaster mixed AD". Note that the input received by the encoder must contain pre-mixed audio; the encoder does
* not perform the mixing. When you choose BROADCASTER_MIXED_AD, the encoder ignores any values you provide in
* AudioType and FollowInputAudioType. Choose NORMAL when the input does not contain pre-mixed audio + audio
* description (AD). In this case, the encoder will use any values you provide for AudioType and
* FollowInputAudioType.
*
* @param audioDescriptionBroadcasterMix
* Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio + audio description (AD) as a
* stereo pair. The value for AudioType will be set to 3, which signals to downstream systems that this
* stream contains "broadcaster mixed AD". Note that the input received by the encoder must contain pre-mixed
* audio; the encoder does not perform the mixing. When you choose BROADCASTER_MIXED_AD, the encoder ignores
* any values you provide in AudioType and FollowInputAudioType. Choose NORMAL when the input does not
* contain pre-mixed audio + audio description (AD). In this case, the encoder will use any values you
* provide for AudioType and FollowInputAudioType.
* @see AacAudioDescriptionBroadcasterMix
*/
public void setAudioDescriptionBroadcasterMix(String audioDescriptionBroadcasterMix) {
this.audioDescriptionBroadcasterMix = audioDescriptionBroadcasterMix;
}
/**
* Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio + audio description (AD) as a stereo
* pair. The value for AudioType will be set to 3, which signals to downstream systems that this stream contains
* "broadcaster mixed AD". Note that the input received by the encoder must contain pre-mixed audio; the encoder does
* not perform the mixing. When you choose BROADCASTER_MIXED_AD, the encoder ignores any values you provide in
* AudioType and FollowInputAudioType. Choose NORMAL when the input does not contain pre-mixed audio + audio
* description (AD). In this case, the encoder will use any values you provide for AudioType and
* FollowInputAudioType.
*
* @return Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio + audio description (AD) as a
* stereo pair. The value for AudioType will be set to 3, which signals to downstream systems that this
* stream contains "broadcaster mixed AD". Note that the input received by the encoder must contain
* pre-mixed audio; the encoder does not perform the mixing. When you choose BROADCASTER_MIXED_AD, the
* encoder ignores any values you provide in AudioType and FollowInputAudioType. Choose NORMAL when the
* input does not contain pre-mixed audio + audio description (AD). In this case, the encoder will use any
* values you provide for AudioType and FollowInputAudioType.
* @see AacAudioDescriptionBroadcasterMix
*/
public String getAudioDescriptionBroadcasterMix() {
return this.audioDescriptionBroadcasterMix;
}
/**
* Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio + audio description (AD) as a stereo
* pair. The value for AudioType will be set to 3, which signals to downstream systems that this stream contains
* "broadcaster mixed AD". Note that the input received by the encoder must contain pre-mixed audio; the encoder does
* not perform the mixing. When you choose BROADCASTER_MIXED_AD, the encoder ignores any values you provide in
* AudioType and FollowInputAudioType. Choose NORMAL when the input does not contain pre-mixed audio + audio
* description (AD). In this case, the encoder will use any values you provide for AudioType and
* FollowInputAudioType.
*
* @param audioDescriptionBroadcasterMix
* Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio + audio description (AD) as a
* stereo pair. The value for AudioType will be set to 3, which signals to downstream systems that this
* stream contains "broadcaster mixed AD". Note that the input received by the encoder must contain pre-mixed
* audio; the encoder does not perform the mixing. When you choose BROADCASTER_MIXED_AD, the encoder ignores
* any values you provide in AudioType and FollowInputAudioType. Choose NORMAL when the input does not
* contain pre-mixed audio + audio description (AD). In this case, the encoder will use any values you
* provide for AudioType and FollowInputAudioType.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AacAudioDescriptionBroadcasterMix
*/
public AacSettings withAudioDescriptionBroadcasterMix(String audioDescriptionBroadcasterMix) {
setAudioDescriptionBroadcasterMix(audioDescriptionBroadcasterMix);
return this;
}
/**
* Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio + audio description (AD) as a stereo
* pair. The value for AudioType will be set to 3, which signals to downstream systems that this stream contains
* "broadcaster mixed AD". Note that the input received by the encoder must contain pre-mixed audio; the encoder does
* not perform the mixing. When you choose BROADCASTER_MIXED_AD, the encoder ignores any values you provide in
* AudioType and FollowInputAudioType. Choose NORMAL when the input does not contain pre-mixed audio + audio
* description (AD). In this case, the encoder will use any values you provide for AudioType and
* FollowInputAudioType.
*
* @param audioDescriptionBroadcasterMix
* Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio + audio description (AD) as a
* stereo pair. The value for AudioType will be set to 3, which signals to downstream systems that this
* stream contains "broadcaster mixed AD". Note that the input received by the encoder must contain pre-mixed
* audio; the encoder does not perform the mixing. When you choose BROADCASTER_MIXED_AD, the encoder ignores
* any values you provide in AudioType and FollowInputAudioType. Choose NORMAL when the input does not
* contain pre-mixed audio + audio description (AD). In this case, the encoder will use any values you
* provide for AudioType and FollowInputAudioType.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AacAudioDescriptionBroadcasterMix
*/
public AacSettings withAudioDescriptionBroadcasterMix(AacAudioDescriptionBroadcasterMix audioDescriptionBroadcasterMix) {
this.audioDescriptionBroadcasterMix = audioDescriptionBroadcasterMix.toString();
return this;
}
/**
* Specify the average bitrate in bits per second. The set of valid values for this setting is: 6000, 8000, 10000,
* 12000, 14000, 16000, 20000, 24000, 28000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000,
* 160000, 192000, 224000, 256000, 288000, 320000, 384000, 448000, 512000, 576000, 640000, 768000, 896000, 1024000.
* The value you set is also constrained by the values that you choose for Profile, Bitrate control mode, and Sample
* rate. Default values depend on Bitrate control mode and Profile.
*
* @param bitrate
* Specify the average bitrate in bits per second. The set of valid values for this setting is: 6000, 8000,
* 10000, 12000, 14000, 16000, 20000, 24000, 28000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000,
* 128000, 160000, 192000, 224000, 256000, 288000, 320000, 384000, 448000, 512000, 576000, 640000, 768000,
* 896000, 1024000. The value you set is also constrained by the values that you choose for Profile, Bitrate
* control mode, and Sample rate. Default values depend on Bitrate control mode and Profile.
*/
public void setBitrate(Integer bitrate) {
this.bitrate = bitrate;
}
/**
* Specify the average bitrate in bits per second. The set of valid values for this setting is: 6000, 8000, 10000,
* 12000, 14000, 16000, 20000, 24000, 28000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000,
* 160000, 192000, 224000, 256000, 288000, 320000, 384000, 448000, 512000, 576000, 640000, 768000, 896000, 1024000.
* The value you set is also constrained by the values that you choose for Profile, Bitrate control mode, and Sample
* rate. Default values depend on Bitrate control mode and Profile.
*
* @return Specify the average bitrate in bits per second. The set of valid values for this setting is: 6000, 8000,
* 10000, 12000, 14000, 16000, 20000, 24000, 28000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000,
* 128000, 160000, 192000, 224000, 256000, 288000, 320000, 384000, 448000, 512000, 576000, 640000, 768000,
* 896000, 1024000. The value you set is also constrained by the values that you choose for Profile, Bitrate
* control mode, and Sample rate. Default values depend on Bitrate control mode and Profile.
*/
public Integer getBitrate() {
return this.bitrate;
}
/**
* Specify the average bitrate in bits per second. The set of valid values for this setting is: 6000, 8000, 10000,
* 12000, 14000, 16000, 20000, 24000, 28000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000,
* 160000, 192000, 224000, 256000, 288000, 320000, 384000, 448000, 512000, 576000, 640000, 768000, 896000, 1024000.
* The value you set is also constrained by the values that you choose for Profile, Bitrate control mode, and Sample
* rate. Default values depend on Bitrate control mode and Profile.
*
* @param bitrate
* Specify the average bitrate in bits per second. The set of valid values for this setting is: 6000, 8000,
* 10000, 12000, 14000, 16000, 20000, 24000, 28000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000,
* 128000, 160000, 192000, 224000, 256000, 288000, 320000, 384000, 448000, 512000, 576000, 640000, 768000,
* 896000, 1024000. The value you set is also constrained by the values that you choose for Profile, Bitrate
* control mode, and Sample rate. Default values depend on Bitrate control mode and Profile.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AacSettings withBitrate(Integer bitrate) {
setBitrate(bitrate);
return this;
}
/**
* AAC Profile.
*
* @param codecProfile
* AAC Profile.
* @see AacCodecProfile
*/
public void setCodecProfile(String codecProfile) {
this.codecProfile = codecProfile;
}
/**
* AAC Profile.
*
* @return AAC Profile.
* @see AacCodecProfile
*/
public String getCodecProfile() {
return this.codecProfile;
}
/**
* AAC Profile.
*
* @param codecProfile
* AAC Profile.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AacCodecProfile
*/
public AacSettings withCodecProfile(String codecProfile) {
setCodecProfile(codecProfile);
return this;
}
/**
* AAC Profile.
*
* @param codecProfile
* AAC Profile.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AacCodecProfile
*/
public AacSettings withCodecProfile(AacCodecProfile codecProfile) {
this.codecProfile = codecProfile.toString();
return this;
}
/**
* The Coding mode that you specify determines the number of audio channels and the audio channel layout metadata in
* your AAC output. Valid coding modes depend on the Rate control mode and Profile that you select. The following
* list shows the number of audio channels and channel layout for each coding mode. * 1.0 Audio Description (Receiver
* Mix): One channel, C. Includes audio description data from your stereo input. For more information see ETSI TS 101
* 154 Annex E. * 1.0 Mono: One channel, C. * 2.0 Stereo: Two channels, L, R. * 5.1 Surround: Six channels, C, L, R,
* Ls, Rs, LFE.
*
* @param codingMode
* The Coding mode that you specify determines the number of audio channels and the audio channel layout
* metadata in your AAC output. Valid coding modes depend on the Rate control mode and Profile that you
* select. The following list shows the number of audio channels and channel layout for each coding mode. *
* 1.0 Audio Description (Receiver Mix): One channel, C. Includes audio description data from your stereo
* input. For more information see ETSI TS 101 154 Annex E. * 1.0 Mono: One channel, C. * 2.0 Stereo: Two
* channels, L, R. * 5.1 Surround: Six channels, C, L, R, Ls, Rs, LFE.
* @see AacCodingMode
*/
public void setCodingMode(String codingMode) {
this.codingMode = codingMode;
}
/**
* The Coding mode that you specify determines the number of audio channels and the audio channel layout metadata in
* your AAC output. Valid coding modes depend on the Rate control mode and Profile that you select. The following
* list shows the number of audio channels and channel layout for each coding mode. * 1.0 Audio Description (Receiver
* Mix): One channel, C. Includes audio description data from your stereo input. For more information see ETSI TS 101
* 154 Annex E. * 1.0 Mono: One channel, C. * 2.0 Stereo: Two channels, L, R. * 5.1 Surround: Six channels, C, L, R,
* Ls, Rs, LFE.
*
* @return The Coding mode that you specify determines the number of audio channels and the audio channel layout
* metadata in your AAC output. Valid coding modes depend on the Rate control mode and Profile that you
* select. The following list shows the number of audio channels and channel layout for each coding mode. *
* 1.0 Audio Description (Receiver Mix): One channel, C. Includes audio description data from your stereo
* input. For more information see ETSI TS 101 154 Annex E. * 1.0 Mono: One channel, C. * 2.0 Stereo: Two
* channels, L, R. * 5.1 Surround: Six channels, C, L, R, Ls, Rs, LFE.
* @see AacCodingMode
*/
public String getCodingMode() {
return this.codingMode;
}
/**
* The Coding mode that you specify determines the number of audio channels and the audio channel layout metadata in
* your AAC output. Valid coding modes depend on the Rate control mode and Profile that you select. The following
* list shows the number of audio channels and channel layout for each coding mode. * 1.0 Audio Description (Receiver
* Mix): One channel, C. Includes audio description data from your stereo input. For more information see ETSI TS 101
* 154 Annex E. * 1.0 Mono: One channel, C. * 2.0 Stereo: Two channels, L, R. * 5.1 Surround: Six channels, C, L, R,
* Ls, Rs, LFE.
*
* @param codingMode
* The Coding mode that you specify determines the number of audio channels and the audio channel layout
* metadata in your AAC output. Valid coding modes depend on the Rate control mode and Profile that you
* select. The following list shows the number of audio channels and channel layout for each coding mode. *
* 1.0 Audio Description (Receiver Mix): One channel, C. Includes audio description data from your stereo
* input. For more information see ETSI TS 101 154 Annex E. * 1.0 Mono: One channel, C. * 2.0 Stereo: Two
* channels, L, R. * 5.1 Surround: Six channels, C, L, R, Ls, Rs, LFE.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AacCodingMode
*/
public AacSettings withCodingMode(String codingMode) {
setCodingMode(codingMode);
return this;
}
/**
* The Coding mode that you specify determines the number of audio channels and the audio channel layout metadata in
* your AAC output. Valid coding modes depend on the Rate control mode and Profile that you select. The following
* list shows the number of audio channels and channel layout for each coding mode. * 1.0 Audio Description (Receiver
* Mix): One channel, C. Includes audio description data from your stereo input. For more information see ETSI TS 101
* 154 Annex E. * 1.0 Mono: One channel, C. * 2.0 Stereo: Two channels, L, R. * 5.1 Surround: Six channels, C, L, R,
* Ls, Rs, LFE.
*
* @param codingMode
* The Coding mode that you specify determines the number of audio channels and the audio channel layout
* metadata in your AAC output. Valid coding modes depend on the Rate control mode and Profile that you
* select. The following list shows the number of audio channels and channel layout for each coding mode. *
* 1.0 Audio Description (Receiver Mix): One channel, C. Includes audio description data from your stereo
* input. For more information see ETSI TS 101 154 Annex E. * 1.0 Mono: One channel, C. * 2.0 Stereo: Two
* channels, L, R. * 5.1 Surround: Six channels, C, L, R, Ls, Rs, LFE.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AacCodingMode
*/
public AacSettings withCodingMode(AacCodingMode codingMode) {
this.codingMode = codingMode.toString();
return this;
}
/**
* Rate Control Mode.
*
* @param rateControlMode
* Rate Control Mode.
* @see AacRateControlMode
*/
public void setRateControlMode(String rateControlMode) {
this.rateControlMode = rateControlMode;
}
/**
* Rate Control Mode.
*
* @return Rate Control Mode.
* @see AacRateControlMode
*/
public String getRateControlMode() {
return this.rateControlMode;
}
/**
* Rate Control Mode.
*
* @param rateControlMode
* Rate Control Mode.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AacRateControlMode
*/
public AacSettings withRateControlMode(String rateControlMode) {
setRateControlMode(rateControlMode);
return this;
}
/**
* Rate Control Mode.
*
* @param rateControlMode
* Rate Control Mode.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AacRateControlMode
*/
public AacSettings withRateControlMode(AacRateControlMode rateControlMode) {
this.rateControlMode = rateControlMode.toString();
return this;
}
/**
* Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output, you must choose "No container" for
* the output container.
*
* @param rawFormat
* Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output, you must choose
* "No container" for the output container.
* @see AacRawFormat
*/
public void setRawFormat(String rawFormat) {
this.rawFormat = rawFormat;
}
/**
* Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output, you must choose "No container" for
* the output container.
*
* @return Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output, you must choose
* "No container" for the output container.
* @see AacRawFormat
*/
public String getRawFormat() {
return this.rawFormat;
}
/**
* Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output, you must choose "No container" for
* the output container.
*
* @param rawFormat
* Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output, you must choose
* "No container" for the output container.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AacRawFormat
*/
public AacSettings withRawFormat(String rawFormat) {
setRawFormat(rawFormat);
return this;
}
/**
* Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output, you must choose "No container" for
* the output container.
*
* @param rawFormat
* Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output, you must choose
* "No container" for the output container.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AacRawFormat
*/
public AacSettings withRawFormat(AacRawFormat rawFormat) {
this.rawFormat = rawFormat.toString();
return this;
}
/**
* Specify the Sample rate in Hz. Valid sample rates depend on the Profile and Coding mode that you select. The
* following list shows valid sample rates for each Profile and Coding mode. * LC Profile, Coding mode 1.0, 2.0, and
* Receiver Mix: 8000, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 88200, 96000. * LC Profile, Coding mode 5.1:
* 32000, 44100, 48000, 96000. * HEV1 Profile, Coding mode 1.0 and Receiver Mix: 22050, 24000, 32000, 44100, 48000. *
* HEV1 Profile, Coding mode 2.0 and 5.1: 32000, 44100, 48000, 96000. * HEV2 Profile, Coding mode 2.0: 22050, 24000,
* 32000, 44100, 48000.
*
* @param sampleRate
* Specify the Sample rate in Hz. Valid sample rates depend on the Profile and Coding mode that you select.
* The following list shows valid sample rates for each Profile and Coding mode. * LC Profile, Coding mode
* 1.0, 2.0, and Receiver Mix: 8000, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 88200, 96000. * LC
* Profile, Coding mode 5.1: 32000, 44100, 48000, 96000. * HEV1 Profile, Coding mode 1.0 and Receiver Mix:
* 22050, 24000, 32000, 44100, 48000. * HEV1 Profile, Coding mode 2.0 and 5.1: 32000, 44100, 48000, 96000. *
* HEV2 Profile, Coding mode 2.0: 22050, 24000, 32000, 44100, 48000.
*/
public void setSampleRate(Integer sampleRate) {
this.sampleRate = sampleRate;
}
/**
* Specify the Sample rate in Hz. Valid sample rates depend on the Profile and Coding mode that you select. The
* following list shows valid sample rates for each Profile and Coding mode. * LC Profile, Coding mode 1.0, 2.0, and
* Receiver Mix: 8000, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 88200, 96000. * LC Profile, Coding mode 5.1:
* 32000, 44100, 48000, 96000. * HEV1 Profile, Coding mode 1.0 and Receiver Mix: 22050, 24000, 32000, 44100, 48000. *
* HEV1 Profile, Coding mode 2.0 and 5.1: 32000, 44100, 48000, 96000. * HEV2 Profile, Coding mode 2.0: 22050, 24000,
* 32000, 44100, 48000.
*
* @return Specify the Sample rate in Hz. Valid sample rates depend on the Profile and Coding mode that you select.
* The following list shows valid sample rates for each Profile and Coding mode. * LC Profile, Coding mode
* 1.0, 2.0, and Receiver Mix: 8000, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 88200, 96000. * LC
* Profile, Coding mode 5.1: 32000, 44100, 48000, 96000. * HEV1 Profile, Coding mode 1.0 and Receiver Mix:
* 22050, 24000, 32000, 44100, 48000. * HEV1 Profile, Coding mode 2.0 and 5.1: 32000, 44100, 48000, 96000. *
* HEV2 Profile, Coding mode 2.0: 22050, 24000, 32000, 44100, 48000.
*/
public Integer getSampleRate() {
return this.sampleRate;
}
/**
* Specify the Sample rate in Hz. Valid sample rates depend on the Profile and Coding mode that you select. The
* following list shows valid sample rates for each Profile and Coding mode. * LC Profile, Coding mode 1.0, 2.0, and
* Receiver Mix: 8000, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 88200, 96000. * LC Profile, Coding mode 5.1:
* 32000, 44100, 48000, 96000. * HEV1 Profile, Coding mode 1.0 and Receiver Mix: 22050, 24000, 32000, 44100, 48000. *
* HEV1 Profile, Coding mode 2.0 and 5.1: 32000, 44100, 48000, 96000. * HEV2 Profile, Coding mode 2.0: 22050, 24000,
* 32000, 44100, 48000.
*
* @param sampleRate
* Specify the Sample rate in Hz. Valid sample rates depend on the Profile and Coding mode that you select.
* The following list shows valid sample rates for each Profile and Coding mode. * LC Profile, Coding mode
* 1.0, 2.0, and Receiver Mix: 8000, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 88200, 96000. * LC
* Profile, Coding mode 5.1: 32000, 44100, 48000, 96000. * HEV1 Profile, Coding mode 1.0 and Receiver Mix:
* 22050, 24000, 32000, 44100, 48000. * HEV1 Profile, Coding mode 2.0 and 5.1: 32000, 44100, 48000, 96000. *
* HEV2 Profile, Coding mode 2.0: 22050, 24000, 32000, 44100, 48000.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AacSettings withSampleRate(Integer sampleRate) {
setSampleRate(sampleRate);
return this;
}
/**
* Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers.
*
* @param specification
* Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers.
* @see AacSpecification
*/
public void setSpecification(String specification) {
this.specification = specification;
}
/**
* Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers.
*
* @return Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers.
* @see AacSpecification
*/
public String getSpecification() {
return this.specification;
}
/**
* Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers.
*
* @param specification
* Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AacSpecification
*/
public AacSettings withSpecification(String specification) {
setSpecification(specification);
return this;
}
/**
* Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers.
*
* @param specification
* Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AacSpecification
*/
public AacSettings withSpecification(AacSpecification specification) {
this.specification = specification.toString();
return this;
}
/**
* VBR Quality Level - Only used if rate_control_mode is VBR.
*
* @param vbrQuality
* VBR Quality Level - Only used if rate_control_mode is VBR.
* @see AacVbrQuality
*/
public void setVbrQuality(String vbrQuality) {
this.vbrQuality = vbrQuality;
}
/**
* VBR Quality Level - Only used if rate_control_mode is VBR.
*
* @return VBR Quality Level - Only used if rate_control_mode is VBR.
* @see AacVbrQuality
*/
public String getVbrQuality() {
return this.vbrQuality;
}
/**
* VBR Quality Level - Only used if rate_control_mode is VBR.
*
* @param vbrQuality
* VBR Quality Level - Only used if rate_control_mode is VBR.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AacVbrQuality
*/
public AacSettings withVbrQuality(String vbrQuality) {
setVbrQuality(vbrQuality);
return this;
}
/**
* VBR Quality Level - Only used if rate_control_mode is VBR.
*
* @param vbrQuality
* VBR Quality Level - Only used if rate_control_mode is VBR.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AacVbrQuality
*/
public AacSettings withVbrQuality(AacVbrQuality vbrQuality) {
this.vbrQuality = vbrQuality.toString();
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getAudioDescriptionBroadcasterMix() != null)
sb.append("AudioDescriptionBroadcasterMix: ").append(getAudioDescriptionBroadcasterMix()).append(",");
if (getBitrate() != null)
sb.append("Bitrate: ").append(getBitrate()).append(",");
if (getCodecProfile() != null)
sb.append("CodecProfile: ").append(getCodecProfile()).append(",");
if (getCodingMode() != null)
sb.append("CodingMode: ").append(getCodingMode()).append(",");
if (getRateControlMode() != null)
sb.append("RateControlMode: ").append(getRateControlMode()).append(",");
if (getRawFormat() != null)
sb.append("RawFormat: ").append(getRawFormat()).append(",");
if (getSampleRate() != null)
sb.append("SampleRate: ").append(getSampleRate()).append(",");
if (getSpecification() != null)
sb.append("Specification: ").append(getSpecification()).append(",");
if (getVbrQuality() != null)
sb.append("VbrQuality: ").append(getVbrQuality());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof AacSettings == false)
return false;
AacSettings other = (AacSettings) obj;
if (other.getAudioDescriptionBroadcasterMix() == null ^ this.getAudioDescriptionBroadcasterMix() == null)
return false;
if (other.getAudioDescriptionBroadcasterMix() != null
&& other.getAudioDescriptionBroadcasterMix().equals(this.getAudioDescriptionBroadcasterMix()) == false)
return false;
if (other.getBitrate() == null ^ this.getBitrate() == null)
return false;
if (other.getBitrate() != null && other.getBitrate().equals(this.getBitrate()) == false)
return false;
if (other.getCodecProfile() == null ^ this.getCodecProfile() == null)
return false;
if (other.getCodecProfile() != null && other.getCodecProfile().equals(this.getCodecProfile()) == false)
return false;
if (other.getCodingMode() == null ^ this.getCodingMode() == null)
return false;
if (other.getCodingMode() != null && other.getCodingMode().equals(this.getCodingMode()) == false)
return false;
if (other.getRateControlMode() == null ^ this.getRateControlMode() == null)
return false;
if (other.getRateControlMode() != null && other.getRateControlMode().equals(this.getRateControlMode()) == false)
return false;
if (other.getRawFormat() == null ^ this.getRawFormat() == null)
return false;
if (other.getRawFormat() != null && other.getRawFormat().equals(this.getRawFormat()) == false)
return false;
if (other.getSampleRate() == null ^ this.getSampleRate() == null)
return false;
if (other.getSampleRate() != null && other.getSampleRate().equals(this.getSampleRate()) == false)
return false;
if (other.getSpecification() == null ^ this.getSpecification() == null)
return false;
if (other.getSpecification() != null && other.getSpecification().equals(this.getSpecification()) == false)
return false;
if (other.getVbrQuality() == null ^ this.getVbrQuality() == null)
return false;
if (other.getVbrQuality() != null && other.getVbrQuality().equals(this.getVbrQuality()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getAudioDescriptionBroadcasterMix() == null) ? 0 : getAudioDescriptionBroadcasterMix().hashCode());
hashCode = prime * hashCode + ((getBitrate() == null) ? 0 : getBitrate().hashCode());
hashCode = prime * hashCode + ((getCodecProfile() == null) ? 0 : getCodecProfile().hashCode());
hashCode = prime * hashCode + ((getCodingMode() == null) ? 0 : getCodingMode().hashCode());
hashCode = prime * hashCode + ((getRateControlMode() == null) ? 0 : getRateControlMode().hashCode());
hashCode = prime * hashCode + ((getRawFormat() == null) ? 0 : getRawFormat().hashCode());
hashCode = prime * hashCode + ((getSampleRate() == null) ? 0 : getSampleRate().hashCode());
hashCode = prime * hashCode + ((getSpecification() == null) ? 0 : getSpecification().hashCode());
hashCode = prime * hashCode + ((getVbrQuality() == null) ? 0 : getVbrQuality().hashCode());
return hashCode;
}
@Override
public AacSettings clone() {
try {
return (AacSettings) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.mediaconvert.model.transform.AacSettingsMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}