software.amazon.awssdk.services.mediaconvert.model.Eac3Settings Maven / Gradle / Ivy
Show all versions of mediaconvert Show documentation
/*
* Copyright 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 software.amazon.awssdk.services.mediaconvert.model;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;
/**
* Required when you set Codec to the value EAC3.
*/
@Generated("software.amazon.awssdk:codegen")
public final class Eac3Settings implements SdkPojo, Serializable, ToCopyableBuilder {
private static final SdkField ATTENUATION_CONTROL_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("AttenuationControl").getter(getter(Eac3Settings::attenuationControlAsString))
.setter(setter(Builder::attenuationControl))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("attenuationControl").build())
.build();
private static final SdkField BITRATE_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("Bitrate").getter(getter(Eac3Settings::bitrate)).setter(setter(Builder::bitrate))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("bitrate").build()).build();
private static final SdkField BITSTREAM_MODE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("BitstreamMode").getter(getter(Eac3Settings::bitstreamModeAsString))
.setter(setter(Builder::bitstreamMode))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("bitstreamMode").build()).build();
private static final SdkField CODING_MODE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("CodingMode").getter(getter(Eac3Settings::codingModeAsString)).setter(setter(Builder::codingMode))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("codingMode").build()).build();
private static final SdkField DC_FILTER_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("DcFilter").getter(getter(Eac3Settings::dcFilterAsString)).setter(setter(Builder::dcFilter))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("dcFilter").build()).build();
private static final SdkField DIALNORM_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("Dialnorm").getter(getter(Eac3Settings::dialnorm)).setter(setter(Builder::dialnorm))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("dialnorm").build()).build();
private static final SdkField DYNAMIC_RANGE_COMPRESSION_LINE_FIELD = SdkField
. builder(MarshallingType.STRING)
.memberName("DynamicRangeCompressionLine")
.getter(getter(Eac3Settings::dynamicRangeCompressionLineAsString))
.setter(setter(Builder::dynamicRangeCompressionLine))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("dynamicRangeCompressionLine")
.build()).build();
private static final SdkField DYNAMIC_RANGE_COMPRESSION_RF_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("DynamicRangeCompressionRf").getter(getter(Eac3Settings::dynamicRangeCompressionRfAsString))
.setter(setter(Builder::dynamicRangeCompressionRf))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("dynamicRangeCompressionRf").build())
.build();
private static final SdkField LFE_CONTROL_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("LfeControl").getter(getter(Eac3Settings::lfeControlAsString)).setter(setter(Builder::lfeControl))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("lfeControl").build()).build();
private static final SdkField LFE_FILTER_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("LfeFilter").getter(getter(Eac3Settings::lfeFilterAsString)).setter(setter(Builder::lfeFilter))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("lfeFilter").build()).build();
private static final SdkField LO_RO_CENTER_MIX_LEVEL_FIELD = SdkField. builder(MarshallingType.DOUBLE)
.memberName("LoRoCenterMixLevel").getter(getter(Eac3Settings::loRoCenterMixLevel))
.setter(setter(Builder::loRoCenterMixLevel))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("loRoCenterMixLevel").build())
.build();
private static final SdkField LO_RO_SURROUND_MIX_LEVEL_FIELD = SdkField. builder(MarshallingType.DOUBLE)
.memberName("LoRoSurroundMixLevel").getter(getter(Eac3Settings::loRoSurroundMixLevel))
.setter(setter(Builder::loRoSurroundMixLevel))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("loRoSurroundMixLevel").build())
.build();
private static final SdkField LT_RT_CENTER_MIX_LEVEL_FIELD = SdkField. builder(MarshallingType.DOUBLE)
.memberName("LtRtCenterMixLevel").getter(getter(Eac3Settings::ltRtCenterMixLevel))
.setter(setter(Builder::ltRtCenterMixLevel))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ltRtCenterMixLevel").build())
.build();
private static final SdkField LT_RT_SURROUND_MIX_LEVEL_FIELD = SdkField. builder(MarshallingType.DOUBLE)
.memberName("LtRtSurroundMixLevel").getter(getter(Eac3Settings::ltRtSurroundMixLevel))
.setter(setter(Builder::ltRtSurroundMixLevel))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ltRtSurroundMixLevel").build())
.build();
private static final SdkField METADATA_CONTROL_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("MetadataControl").getter(getter(Eac3Settings::metadataControlAsString))
.setter(setter(Builder::metadataControl))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("metadataControl").build()).build();
private static final SdkField PASSTHROUGH_CONTROL_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("PassthroughControl").getter(getter(Eac3Settings::passthroughControlAsString))
.setter(setter(Builder::passthroughControl))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("passthroughControl").build())
.build();
private static final SdkField PHASE_CONTROL_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("PhaseControl").getter(getter(Eac3Settings::phaseControlAsString)).setter(setter(Builder::phaseControl))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("phaseControl").build()).build();
private static final SdkField SAMPLE_RATE_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("SampleRate").getter(getter(Eac3Settings::sampleRate)).setter(setter(Builder::sampleRate))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("sampleRate").build()).build();
private static final SdkField STEREO_DOWNMIX_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("StereoDownmix").getter(getter(Eac3Settings::stereoDownmixAsString))
.setter(setter(Builder::stereoDownmix))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("stereoDownmix").build()).build();
private static final SdkField SURROUND_EX_MODE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("SurroundExMode").getter(getter(Eac3Settings::surroundExModeAsString))
.setter(setter(Builder::surroundExMode))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("surroundExMode").build()).build();
private static final SdkField SURROUND_MODE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("SurroundMode").getter(getter(Eac3Settings::surroundModeAsString)).setter(setter(Builder::surroundMode))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("surroundMode").build()).build();
private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(ATTENUATION_CONTROL_FIELD,
BITRATE_FIELD, BITSTREAM_MODE_FIELD, CODING_MODE_FIELD, DC_FILTER_FIELD, DIALNORM_FIELD,
DYNAMIC_RANGE_COMPRESSION_LINE_FIELD, DYNAMIC_RANGE_COMPRESSION_RF_FIELD, LFE_CONTROL_FIELD, LFE_FILTER_FIELD,
LO_RO_CENTER_MIX_LEVEL_FIELD, LO_RO_SURROUND_MIX_LEVEL_FIELD, LT_RT_CENTER_MIX_LEVEL_FIELD,
LT_RT_SURROUND_MIX_LEVEL_FIELD, METADATA_CONTROL_FIELD, PASSTHROUGH_CONTROL_FIELD, PHASE_CONTROL_FIELD,
SAMPLE_RATE_FIELD, STEREO_DOWNMIX_FIELD, SURROUND_EX_MODE_FIELD, SURROUND_MODE_FIELD));
private static final long serialVersionUID = 1L;
private final String attenuationControl;
private final Integer bitrate;
private final String bitstreamMode;
private final String codingMode;
private final String dcFilter;
private final Integer dialnorm;
private final String dynamicRangeCompressionLine;
private final String dynamicRangeCompressionRf;
private final String lfeControl;
private final String lfeFilter;
private final Double loRoCenterMixLevel;
private final Double loRoSurroundMixLevel;
private final Double ltRtCenterMixLevel;
private final Double ltRtSurroundMixLevel;
private final String metadataControl;
private final String passthroughControl;
private final String phaseControl;
private final Integer sampleRate;
private final String stereoDownmix;
private final String surroundExMode;
private final String surroundMode;
private Eac3Settings(BuilderImpl builder) {
this.attenuationControl = builder.attenuationControl;
this.bitrate = builder.bitrate;
this.bitstreamMode = builder.bitstreamMode;
this.codingMode = builder.codingMode;
this.dcFilter = builder.dcFilter;
this.dialnorm = builder.dialnorm;
this.dynamicRangeCompressionLine = builder.dynamicRangeCompressionLine;
this.dynamicRangeCompressionRf = builder.dynamicRangeCompressionRf;
this.lfeControl = builder.lfeControl;
this.lfeFilter = builder.lfeFilter;
this.loRoCenterMixLevel = builder.loRoCenterMixLevel;
this.loRoSurroundMixLevel = builder.loRoSurroundMixLevel;
this.ltRtCenterMixLevel = builder.ltRtCenterMixLevel;
this.ltRtSurroundMixLevel = builder.ltRtSurroundMixLevel;
this.metadataControl = builder.metadataControl;
this.passthroughControl = builder.passthroughControl;
this.phaseControl = builder.phaseControl;
this.sampleRate = builder.sampleRate;
this.stereoDownmix = builder.stereoDownmix;
this.surroundExMode = builder.surroundExMode;
this.surroundMode = builder.surroundMode;
}
/**
* If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode.
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #attenuationControl} will return {@link Eac3AttenuationControl#UNKNOWN_TO_SDK_VERSION}. The raw value
* returned by the service is available from {@link #attenuationControlAsString}.
*
*
* @return If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding
* mode.
* @see Eac3AttenuationControl
*/
public final Eac3AttenuationControl attenuationControl() {
return Eac3AttenuationControl.fromValue(attenuationControl);
}
/**
* If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode.
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #attenuationControl} will return {@link Eac3AttenuationControl#UNKNOWN_TO_SDK_VERSION}. The raw value
* returned by the service is available from {@link #attenuationControlAsString}.
*
*
* @return If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding
* mode.
* @see Eac3AttenuationControl
*/
public final String attenuationControlAsString() {
return attenuationControl;
}
/**
* 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.
*
* @return 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.
*/
public final Integer bitrate() {
return bitrate;
}
/**
* 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).
*
* If the service returns an enum value that is not available in the current SDK version, {@link #bitstreamMode}
* will return {@link Eac3BitstreamMode#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available
* from {@link #bitstreamModeAsString}.
*
*
* @return 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).
* @see Eac3BitstreamMode
*/
public final Eac3BitstreamMode bitstreamMode() {
return Eac3BitstreamMode.fromValue(bitstreamMode);
}
/**
* 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).
*
* If the service returns an enum value that is not available in the current SDK version, {@link #bitstreamMode}
* will return {@link Eac3BitstreamMode#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available
* from {@link #bitstreamModeAsString}.
*
*
* @return 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).
* @see Eac3BitstreamMode
*/
public final String bitstreamModeAsString() {
return bitstreamMode;
}
/**
* Dolby Digital Plus coding mode. Determines number of channels.
*
* If the service returns an enum value that is not available in the current SDK version, {@link #codingMode} will
* return {@link Eac3CodingMode#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #codingModeAsString}.
*
*
* @return Dolby Digital Plus coding mode. Determines number of channels.
* @see Eac3CodingMode
*/
public final Eac3CodingMode codingMode() {
return Eac3CodingMode.fromValue(codingMode);
}
/**
* Dolby Digital Plus coding mode. Determines number of channels.
*
* If the service returns an enum value that is not available in the current SDK version, {@link #codingMode} will
* return {@link Eac3CodingMode#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #codingModeAsString}.
*
*
* @return Dolby Digital Plus coding mode. Determines number of channels.
* @see Eac3CodingMode
*/
public final String codingModeAsString() {
return codingMode;
}
/**
* Activates a DC highpass filter for all input channels.
*
* If the service returns an enum value that is not available in the current SDK version, {@link #dcFilter} will
* return {@link Eac3DcFilter#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #dcFilterAsString}.
*
*
* @return Activates a DC highpass filter for all input channels.
* @see Eac3DcFilter
*/
public final Eac3DcFilter dcFilter() {
return Eac3DcFilter.fromValue(dcFilter);
}
/**
* Activates a DC highpass filter for all input channels.
*
* If the service returns an enum value that is not available in the current SDK version, {@link #dcFilter} will
* return {@link Eac3DcFilter#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #dcFilterAsString}.
*
*
* @return Activates a DC highpass filter for all input channels.
* @see Eac3DcFilter
*/
public final String dcFilterAsString() {
return dcFilter;
}
/**
* Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed
* through.
*
* @return Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed
* through.
*/
public final Integer dialnorm() {
return dialnorm;
}
/**
* 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.
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #dynamicRangeCompressionLine} will return {@link Eac3DynamicRangeCompressionLine#UNKNOWN_TO_SDK_VERSION}.
* The raw value returned by the service is available from {@link #dynamicRangeCompressionLineAsString}.
*
*
* @return 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.
* @see Eac3DynamicRangeCompressionLine
*/
public final Eac3DynamicRangeCompressionLine dynamicRangeCompressionLine() {
return Eac3DynamicRangeCompressionLine.fromValue(dynamicRangeCompressionLine);
}
/**
* 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.
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #dynamicRangeCompressionLine} will return {@link Eac3DynamicRangeCompressionLine#UNKNOWN_TO_SDK_VERSION}.
* The raw value returned by the service is available from {@link #dynamicRangeCompressionLineAsString}.
*
*
* @return 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.
* @see Eac3DynamicRangeCompressionLine
*/
public final String dynamicRangeCompressionLineAsString() {
return dynamicRangeCompressionLine;
}
/**
* 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.
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #dynamicRangeCompressionRf} will return {@link Eac3DynamicRangeCompressionRf#UNKNOWN_TO_SDK_VERSION}. The
* raw value returned by the service is available from {@link #dynamicRangeCompressionRfAsString}.
*
*
* @return 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.
* @see Eac3DynamicRangeCompressionRf
*/
public final Eac3DynamicRangeCompressionRf dynamicRangeCompressionRf() {
return Eac3DynamicRangeCompressionRf.fromValue(dynamicRangeCompressionRf);
}
/**
* 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.
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #dynamicRangeCompressionRf} will return {@link Eac3DynamicRangeCompressionRf#UNKNOWN_TO_SDK_VERSION}. The
* raw value returned by the service is available from {@link #dynamicRangeCompressionRfAsString}.
*
*
* @return 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.
* @see Eac3DynamicRangeCompressionRf
*/
public final String dynamicRangeCompressionRfAsString() {
return dynamicRangeCompressionRf;
}
/**
* When encoding 3/2 audio, controls whether the LFE channel is enabled
*
* If the service returns an enum value that is not available in the current SDK version, {@link #lfeControl} will
* return {@link Eac3LfeControl#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #lfeControlAsString}.
*
*
* @return When encoding 3/2 audio, controls whether the LFE channel is enabled
* @see Eac3LfeControl
*/
public final Eac3LfeControl lfeControl() {
return Eac3LfeControl.fromValue(lfeControl);
}
/**
* When encoding 3/2 audio, controls whether the LFE channel is enabled
*
* If the service returns an enum value that is not available in the current SDK version, {@link #lfeControl} will
* return {@link Eac3LfeControl#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #lfeControlAsString}.
*
*
* @return When encoding 3/2 audio, controls whether the LFE channel is enabled
* @see Eac3LfeControl
*/
public final String lfeControlAsString() {
return lfeControl;
}
/**
* Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode.
*
* If the service returns an enum value that is not available in the current SDK version, {@link #lfeFilter} will
* return {@link Eac3LfeFilter#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #lfeFilterAsString}.
*
*
* @return Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode.
* @see Eac3LfeFilter
*/
public final Eac3LfeFilter lfeFilter() {
return Eac3LfeFilter.fromValue(lfeFilter);
}
/**
* Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode.
*
* If the service returns an enum value that is not available in the current SDK version, {@link #lfeFilter} will
* return {@link Eac3LfeFilter#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #lfeFilterAsString}.
*
*
* @return Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode.
* @see Eac3LfeFilter
*/
public final String lfeFilterAsString() {
return lfeFilter;
}
/**
* 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.
*
* @return 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.
*/
public final Double loRoCenterMixLevel() {
return loRoCenterMixLevel;
}
/**
* 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.
*
* @return 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.
*/
public final Double loRoSurroundMixLevel() {
return loRoSurroundMixLevel;
}
/**
* 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.
*
* @return 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.
*/
public final Double ltRtCenterMixLevel() {
return ltRtCenterMixLevel;
}
/**
* 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.
*
* @return 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.
*/
public final Double ltRtSurroundMixLevel() {
return ltRtSurroundMixLevel;
}
/**
* 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.
*
* If the service returns an enum value that is not available in the current SDK version, {@link #metadataControl}
* will return {@link Eac3MetadataControl#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is
* available from {@link #metadataControlAsString}.
*
*
* @return 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.
* @see Eac3MetadataControl
*/
public final Eac3MetadataControl metadataControl() {
return Eac3MetadataControl.fromValue(metadataControl);
}
/**
* 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.
*
* If the service returns an enum value that is not available in the current SDK version, {@link #metadataControl}
* will return {@link Eac3MetadataControl#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is
* available from {@link #metadataControlAsString}.
*
*
* @return 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.
* @see Eac3MetadataControl
*/
public final String metadataControlAsString() {
return metadataControl;
}
/**
* 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.
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #passthroughControl} will return {@link Eac3PassthroughControl#UNKNOWN_TO_SDK_VERSION}. The raw value
* returned by the service is available from {@link #passthroughControlAsString}.
*
*
* @return 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.
* @see Eac3PassthroughControl
*/
public final Eac3PassthroughControl passthroughControl() {
return Eac3PassthroughControl.fromValue(passthroughControl);
}
/**
* 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.
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #passthroughControl} will return {@link Eac3PassthroughControl#UNKNOWN_TO_SDK_VERSION}. The raw value
* returned by the service is available from {@link #passthroughControlAsString}.
*
*
* @return 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.
* @see Eac3PassthroughControl
*/
public final String passthroughControlAsString() {
return passthroughControl;
}
/**
* Controls the amount of phase-shift applied to the surround channels. Only used for 3/2 coding mode.
*
* If the service returns an enum value that is not available in the current SDK version, {@link #phaseControl} will
* return {@link Eac3PhaseControl#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #phaseControlAsString}.
*
*
* @return Controls the amount of phase-shift applied to the surround channels. Only used for 3/2 coding mode.
* @see Eac3PhaseControl
*/
public final Eac3PhaseControl phaseControl() {
return Eac3PhaseControl.fromValue(phaseControl);
}
/**
* Controls the amount of phase-shift applied to the surround channels. Only used for 3/2 coding mode.
*
* If the service returns an enum value that is not available in the current SDK version, {@link #phaseControl} will
* return {@link Eac3PhaseControl#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #phaseControlAsString}.
*
*
* @return Controls the amount of phase-shift applied to the surround channels. Only used for 3/2 coding mode.
* @see Eac3PhaseControl
*/
public final String phaseControlAsString() {
return phaseControl;
}
/**
* This value is always 48000. It represents the sample rate in Hz.
*
* @return This value is always 48000. It represents the sample rate in Hz.
*/
public final Integer sampleRate() {
return sampleRate;
}
/**
* 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.
*
* If the service returns an enum value that is not available in the current SDK version, {@link #stereoDownmix}
* will return {@link Eac3StereoDownmix#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available
* from {@link #stereoDownmixAsString}.
*
*
* @return 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.
* @see Eac3StereoDownmix
*/
public final Eac3StereoDownmix stereoDownmix() {
return Eac3StereoDownmix.fromValue(stereoDownmix);
}
/**
* 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.
*
* If the service returns an enum value that is not available in the current SDK version, {@link #stereoDownmix}
* will return {@link Eac3StereoDownmix#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available
* from {@link #stereoDownmixAsString}.
*
*
* @return 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.
* @see Eac3StereoDownmix
*/
public final String stereoDownmixAsString() {
return stereoDownmix;
}
/**
* When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and
* right surround channels.
*
* If the service returns an enum value that is not available in the current SDK version, {@link #surroundExMode}
* will return {@link Eac3SurroundExMode#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available
* from {@link #surroundExModeAsString}.
*
*
* @return When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the
* left and right surround channels.
* @see Eac3SurroundExMode
*/
public final Eac3SurroundExMode surroundExMode() {
return Eac3SurroundExMode.fromValue(surroundExMode);
}
/**
* When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and
* right surround channels.
*
* If the service returns an enum value that is not available in the current SDK version, {@link #surroundExMode}
* will return {@link Eac3SurroundExMode#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available
* from {@link #surroundExModeAsString}.
*
*
* @return When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the
* left and right surround channels.
* @see Eac3SurroundExMode
*/
public final String surroundExModeAsString() {
return surroundExMode;
}
/**
* When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels.
*
* If the service returns an enum value that is not available in the current SDK version, {@link #surroundMode} will
* return {@link Eac3SurroundMode#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #surroundModeAsString}.
*
*
* @return When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels.
* @see Eac3SurroundMode
*/
public final Eac3SurroundMode surroundMode() {
return Eac3SurroundMode.fromValue(surroundMode);
}
/**
* When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels.
*
* If the service returns an enum value that is not available in the current SDK version, {@link #surroundMode} will
* return {@link Eac3SurroundMode#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #surroundModeAsString}.
*
*
* @return When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels.
* @see Eac3SurroundMode
*/
public final String surroundModeAsString() {
return surroundMode;
}
@Override
public Builder toBuilder() {
return new BuilderImpl(this);
}
public static Builder builder() {
return new BuilderImpl();
}
public static Class extends Builder> serializableBuilderClass() {
return BuilderImpl.class;
}
@Override
public final int hashCode() {
int hashCode = 1;
hashCode = 31 * hashCode + Objects.hashCode(attenuationControlAsString());
hashCode = 31 * hashCode + Objects.hashCode(bitrate());
hashCode = 31 * hashCode + Objects.hashCode(bitstreamModeAsString());
hashCode = 31 * hashCode + Objects.hashCode(codingModeAsString());
hashCode = 31 * hashCode + Objects.hashCode(dcFilterAsString());
hashCode = 31 * hashCode + Objects.hashCode(dialnorm());
hashCode = 31 * hashCode + Objects.hashCode(dynamicRangeCompressionLineAsString());
hashCode = 31 * hashCode + Objects.hashCode(dynamicRangeCompressionRfAsString());
hashCode = 31 * hashCode + Objects.hashCode(lfeControlAsString());
hashCode = 31 * hashCode + Objects.hashCode(lfeFilterAsString());
hashCode = 31 * hashCode + Objects.hashCode(loRoCenterMixLevel());
hashCode = 31 * hashCode + Objects.hashCode(loRoSurroundMixLevel());
hashCode = 31 * hashCode + Objects.hashCode(ltRtCenterMixLevel());
hashCode = 31 * hashCode + Objects.hashCode(ltRtSurroundMixLevel());
hashCode = 31 * hashCode + Objects.hashCode(metadataControlAsString());
hashCode = 31 * hashCode + Objects.hashCode(passthroughControlAsString());
hashCode = 31 * hashCode + Objects.hashCode(phaseControlAsString());
hashCode = 31 * hashCode + Objects.hashCode(sampleRate());
hashCode = 31 * hashCode + Objects.hashCode(stereoDownmixAsString());
hashCode = 31 * hashCode + Objects.hashCode(surroundExModeAsString());
hashCode = 31 * hashCode + Objects.hashCode(surroundModeAsString());
return hashCode;
}
@Override
public final boolean equals(Object obj) {
return equalsBySdkFields(obj);
}
@Override
public final boolean equalsBySdkFields(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof Eac3Settings)) {
return false;
}
Eac3Settings other = (Eac3Settings) obj;
return Objects.equals(attenuationControlAsString(), other.attenuationControlAsString())
&& Objects.equals(bitrate(), other.bitrate())
&& Objects.equals(bitstreamModeAsString(), other.bitstreamModeAsString())
&& Objects.equals(codingModeAsString(), other.codingModeAsString())
&& Objects.equals(dcFilterAsString(), other.dcFilterAsString()) && Objects.equals(dialnorm(), other.dialnorm())
&& Objects.equals(dynamicRangeCompressionLineAsString(), other.dynamicRangeCompressionLineAsString())
&& Objects.equals(dynamicRangeCompressionRfAsString(), other.dynamicRangeCompressionRfAsString())
&& Objects.equals(lfeControlAsString(), other.lfeControlAsString())
&& Objects.equals(lfeFilterAsString(), other.lfeFilterAsString())
&& Objects.equals(loRoCenterMixLevel(), other.loRoCenterMixLevel())
&& Objects.equals(loRoSurroundMixLevel(), other.loRoSurroundMixLevel())
&& Objects.equals(ltRtCenterMixLevel(), other.ltRtCenterMixLevel())
&& Objects.equals(ltRtSurroundMixLevel(), other.ltRtSurroundMixLevel())
&& Objects.equals(metadataControlAsString(), other.metadataControlAsString())
&& Objects.equals(passthroughControlAsString(), other.passthroughControlAsString())
&& Objects.equals(phaseControlAsString(), other.phaseControlAsString())
&& Objects.equals(sampleRate(), other.sampleRate())
&& Objects.equals(stereoDownmixAsString(), other.stereoDownmixAsString())
&& Objects.equals(surroundExModeAsString(), other.surroundExModeAsString())
&& Objects.equals(surroundModeAsString(), other.surroundModeAsString());
}
/**
* 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.
*/
@Override
public final String toString() {
return ToString.builder("Eac3Settings").add("AttenuationControl", attenuationControlAsString()).add("Bitrate", bitrate())
.add("BitstreamMode", bitstreamModeAsString()).add("CodingMode", codingModeAsString())
.add("DcFilter", dcFilterAsString()).add("Dialnorm", dialnorm())
.add("DynamicRangeCompressionLine", dynamicRangeCompressionLineAsString())
.add("DynamicRangeCompressionRf", dynamicRangeCompressionRfAsString()).add("LfeControl", lfeControlAsString())
.add("LfeFilter", lfeFilterAsString()).add("LoRoCenterMixLevel", loRoCenterMixLevel())
.add("LoRoSurroundMixLevel", loRoSurroundMixLevel()).add("LtRtCenterMixLevel", ltRtCenterMixLevel())
.add("LtRtSurroundMixLevel", ltRtSurroundMixLevel()).add("MetadataControl", metadataControlAsString())
.add("PassthroughControl", passthroughControlAsString()).add("PhaseControl", phaseControlAsString())
.add("SampleRate", sampleRate()).add("StereoDownmix", stereoDownmixAsString())
.add("SurroundExMode", surroundExModeAsString()).add("SurroundMode", surroundModeAsString()).build();
}
public final Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "AttenuationControl":
return Optional.ofNullable(clazz.cast(attenuationControlAsString()));
case "Bitrate":
return Optional.ofNullable(clazz.cast(bitrate()));
case "BitstreamMode":
return Optional.ofNullable(clazz.cast(bitstreamModeAsString()));
case "CodingMode":
return Optional.ofNullable(clazz.cast(codingModeAsString()));
case "DcFilter":
return Optional.ofNullable(clazz.cast(dcFilterAsString()));
case "Dialnorm":
return Optional.ofNullable(clazz.cast(dialnorm()));
case "DynamicRangeCompressionLine":
return Optional.ofNullable(clazz.cast(dynamicRangeCompressionLineAsString()));
case "DynamicRangeCompressionRf":
return Optional.ofNullable(clazz.cast(dynamicRangeCompressionRfAsString()));
case "LfeControl":
return Optional.ofNullable(clazz.cast(lfeControlAsString()));
case "LfeFilter":
return Optional.ofNullable(clazz.cast(lfeFilterAsString()));
case "LoRoCenterMixLevel":
return Optional.ofNullable(clazz.cast(loRoCenterMixLevel()));
case "LoRoSurroundMixLevel":
return Optional.ofNullable(clazz.cast(loRoSurroundMixLevel()));
case "LtRtCenterMixLevel":
return Optional.ofNullable(clazz.cast(ltRtCenterMixLevel()));
case "LtRtSurroundMixLevel":
return Optional.ofNullable(clazz.cast(ltRtSurroundMixLevel()));
case "MetadataControl":
return Optional.ofNullable(clazz.cast(metadataControlAsString()));
case "PassthroughControl":
return Optional.ofNullable(clazz.cast(passthroughControlAsString()));
case "PhaseControl":
return Optional.ofNullable(clazz.cast(phaseControlAsString()));
case "SampleRate":
return Optional.ofNullable(clazz.cast(sampleRate()));
case "StereoDownmix":
return Optional.ofNullable(clazz.cast(stereoDownmixAsString()));
case "SurroundExMode":
return Optional.ofNullable(clazz.cast(surroundExModeAsString()));
case "SurroundMode":
return Optional.ofNullable(clazz.cast(surroundModeAsString()));
default:
return Optional.empty();
}
}
@Override
public final List> sdkFields() {
return SDK_FIELDS;
}
private static Function