All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.mediaconvert.model.AudioCodecSettings Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Elemental MediaConvert module holds the client classes that are used for communicating with AWS Elemental MediaConvert Service

There is a newer version: 1.12.778
Show newest version
/*
 * 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;

/**
 * Settings related to audio encoding. The settings in this group vary depending on the value that you choose for your
 * audio codec.
 * 
 * @see AWS
 *      API Documentation
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AudioCodecSettings implements Serializable, Cloneable, StructuredPojo {

    /**
     * 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.
     */
    private AacSettings aacSettings;
    /** Required when you set Codec to the value AC3. */
    private Ac3Settings ac3Settings;
    /** Required when you set Codec to the value AIFF. */
    private AiffSettings aiffSettings;
    /**
     * Choose the audio codec for this output. Note that the option Dolby Digital passthrough applies only to Dolby
     * Digital and Dolby Digital Plus audio inputs. Make sure that you choose a codec that's supported with your output
     * container:
     * https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#reference-codecs-containers
     * -output-audio For audio-only outputs, make sure that both your input audio codec and your output audio codec are
     * supported for audio-only workflows. For more information, see:
     * https://docs.aws.amazon.com/mediaconvert/latest/ug/reference
     * -codecs-containers-input.html#reference-codecs-containers-input-audio-only and
     * https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#audio-only-output
     */
    private String codec;
    /** Required when you set Codec to the value EAC3_ATMOS. */
    private Eac3AtmosSettings eac3AtmosSettings;
    /** Required when you set Codec to the value EAC3. */
    private Eac3Settings eac3Settings;
    /** Required when you set Codec, under AudioDescriptions>CodecSettings, to the value FLAC. */
    private FlacSettings flacSettings;
    /** Required when you set Codec to the value MP2. */
    private Mp2Settings mp2Settings;
    /** Required when you set Codec, under AudioDescriptions>CodecSettings, to the value MP3. */
    private Mp3Settings mp3Settings;
    /** Required when you set Codec, under AudioDescriptions>CodecSettings, to the value OPUS. */
    private OpusSettings opusSettings;
    /** Required when you set Codec, under AudioDescriptions>CodecSettings, to the value Vorbis. */
    private VorbisSettings vorbisSettings;
    /** Required when you set Codec to the value WAV. */
    private WavSettings wavSettings;

    /**
     * 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.
     * 
     * @param aacSettings
     *        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.
     */

    public void setAacSettings(AacSettings aacSettings) {
        this.aacSettings = aacSettings;
    }

    /**
     * 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.
     * 
     * @return 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.
     */

    public AacSettings getAacSettings() {
        return this.aacSettings;
    }

    /**
     * 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.
     * 
     * @param aacSettings
     *        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.
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public AudioCodecSettings withAacSettings(AacSettings aacSettings) {
        setAacSettings(aacSettings);
        return this;
    }

    /**
     * Required when you set Codec to the value AC3.
     * 
     * @param ac3Settings
     *        Required when you set Codec to the value AC3.
     */

    public void setAc3Settings(Ac3Settings ac3Settings) {
        this.ac3Settings = ac3Settings;
    }

    /**
     * Required when you set Codec to the value AC3.
     * 
     * @return Required when you set Codec to the value AC3.
     */

    public Ac3Settings getAc3Settings() {
        return this.ac3Settings;
    }

    /**
     * Required when you set Codec to the value AC3.
     * 
     * @param ac3Settings
     *        Required when you set Codec to the value AC3.
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public AudioCodecSettings withAc3Settings(Ac3Settings ac3Settings) {
        setAc3Settings(ac3Settings);
        return this;
    }

    /**
     * Required when you set Codec to the value AIFF.
     * 
     * @param aiffSettings
     *        Required when you set Codec to the value AIFF.
     */

    public void setAiffSettings(AiffSettings aiffSettings) {
        this.aiffSettings = aiffSettings;
    }

    /**
     * Required when you set Codec to the value AIFF.
     * 
     * @return Required when you set Codec to the value AIFF.
     */

    public AiffSettings getAiffSettings() {
        return this.aiffSettings;
    }

    /**
     * Required when you set Codec to the value AIFF.
     * 
     * @param aiffSettings
     *        Required when you set Codec to the value AIFF.
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public AudioCodecSettings withAiffSettings(AiffSettings aiffSettings) {
        setAiffSettings(aiffSettings);
        return this;
    }

    /**
     * Choose the audio codec for this output. Note that the option Dolby Digital passthrough applies only to Dolby
     * Digital and Dolby Digital Plus audio inputs. Make sure that you choose a codec that's supported with your output
     * container:
     * https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#reference-codecs-containers
     * -output-audio For audio-only outputs, make sure that both your input audio codec and your output audio codec are
     * supported for audio-only workflows. For more information, see:
     * https://docs.aws.amazon.com/mediaconvert/latest/ug/reference
     * -codecs-containers-input.html#reference-codecs-containers-input-audio-only and
     * https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#audio-only-output
     * 
     * @param codec
     *        Choose the audio codec for this output. Note that the option Dolby Digital passthrough applies only to
     *        Dolby Digital and Dolby Digital Plus audio inputs. Make sure that you choose a codec that's supported with
     *        your output container:
     *        https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#
     *        reference-codecs-containers-output-audio For audio-only outputs, make sure that both your input audio
     *        codec and your output audio codec are supported for audio-only workflows. For more information, see:
     *        https:
     *        //docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers-input.html#reference-codecs-
     *        containers-input-audio-only and
     *        https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#audio-only-output
     * @see AudioCodec
     */

    public void setCodec(String codec) {
        this.codec = codec;
    }

    /**
     * Choose the audio codec for this output. Note that the option Dolby Digital passthrough applies only to Dolby
     * Digital and Dolby Digital Plus audio inputs. Make sure that you choose a codec that's supported with your output
     * container:
     * https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#reference-codecs-containers
     * -output-audio For audio-only outputs, make sure that both your input audio codec and your output audio codec are
     * supported for audio-only workflows. For more information, see:
     * https://docs.aws.amazon.com/mediaconvert/latest/ug/reference
     * -codecs-containers-input.html#reference-codecs-containers-input-audio-only and
     * https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#audio-only-output
     * 
     * @return Choose the audio codec for this output. Note that the option Dolby Digital passthrough applies only to
     *         Dolby Digital and Dolby Digital Plus audio inputs. Make sure that you choose a codec that's supported
     *         with your output container:
     *         https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers
     *         .html#reference-codecs-containers-output-audio For audio-only outputs, make sure that both your input
     *         audio codec and your output audio codec are supported for audio-only workflows. For more information,
     *         see: https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers-input.html#reference-
     *         codecs-containers-input-audio-only and
     *         https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#audio-only-output
     * @see AudioCodec
     */

    public String getCodec() {
        return this.codec;
    }

    /**
     * Choose the audio codec for this output. Note that the option Dolby Digital passthrough applies only to Dolby
     * Digital and Dolby Digital Plus audio inputs. Make sure that you choose a codec that's supported with your output
     * container:
     * https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#reference-codecs-containers
     * -output-audio For audio-only outputs, make sure that both your input audio codec and your output audio codec are
     * supported for audio-only workflows. For more information, see:
     * https://docs.aws.amazon.com/mediaconvert/latest/ug/reference
     * -codecs-containers-input.html#reference-codecs-containers-input-audio-only and
     * https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#audio-only-output
     * 
     * @param codec
     *        Choose the audio codec for this output. Note that the option Dolby Digital passthrough applies only to
     *        Dolby Digital and Dolby Digital Plus audio inputs. Make sure that you choose a codec that's supported with
     *        your output container:
     *        https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#
     *        reference-codecs-containers-output-audio For audio-only outputs, make sure that both your input audio
     *        codec and your output audio codec are supported for audio-only workflows. For more information, see:
     *        https:
     *        //docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers-input.html#reference-codecs-
     *        containers-input-audio-only and
     *        https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#audio-only-output
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see AudioCodec
     */

    public AudioCodecSettings withCodec(String codec) {
        setCodec(codec);
        return this;
    }

    /**
     * Choose the audio codec for this output. Note that the option Dolby Digital passthrough applies only to Dolby
     * Digital and Dolby Digital Plus audio inputs. Make sure that you choose a codec that's supported with your output
     * container:
     * https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#reference-codecs-containers
     * -output-audio For audio-only outputs, make sure that both your input audio codec and your output audio codec are
     * supported for audio-only workflows. For more information, see:
     * https://docs.aws.amazon.com/mediaconvert/latest/ug/reference
     * -codecs-containers-input.html#reference-codecs-containers-input-audio-only and
     * https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#audio-only-output
     * 
     * @param codec
     *        Choose the audio codec for this output. Note that the option Dolby Digital passthrough applies only to
     *        Dolby Digital and Dolby Digital Plus audio inputs. Make sure that you choose a codec that's supported with
     *        your output container:
     *        https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#
     *        reference-codecs-containers-output-audio For audio-only outputs, make sure that both your input audio
     *        codec and your output audio codec are supported for audio-only workflows. For more information, see:
     *        https:
     *        //docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers-input.html#reference-codecs-
     *        containers-input-audio-only and
     *        https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#audio-only-output
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see AudioCodec
     */

    public AudioCodecSettings withCodec(AudioCodec codec) {
        this.codec = codec.toString();
        return this;
    }

    /**
     * Required when you set Codec to the value EAC3_ATMOS.
     * 
     * @param eac3AtmosSettings
     *        Required when you set Codec to the value EAC3_ATMOS.
     */

    public void setEac3AtmosSettings(Eac3AtmosSettings eac3AtmosSettings) {
        this.eac3AtmosSettings = eac3AtmosSettings;
    }

    /**
     * Required when you set Codec to the value EAC3_ATMOS.
     * 
     * @return Required when you set Codec to the value EAC3_ATMOS.
     */

    public Eac3AtmosSettings getEac3AtmosSettings() {
        return this.eac3AtmosSettings;
    }

    /**
     * Required when you set Codec to the value EAC3_ATMOS.
     * 
     * @param eac3AtmosSettings
     *        Required when you set Codec to the value EAC3_ATMOS.
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public AudioCodecSettings withEac3AtmosSettings(Eac3AtmosSettings eac3AtmosSettings) {
        setEac3AtmosSettings(eac3AtmosSettings);
        return this;
    }

    /**
     * Required when you set Codec to the value EAC3.
     * 
     * @param eac3Settings
     *        Required when you set Codec to the value EAC3.
     */

    public void setEac3Settings(Eac3Settings eac3Settings) {
        this.eac3Settings = eac3Settings;
    }

    /**
     * Required when you set Codec to the value EAC3.
     * 
     * @return Required when you set Codec to the value EAC3.
     */

    public Eac3Settings getEac3Settings() {
        return this.eac3Settings;
    }

    /**
     * Required when you set Codec to the value EAC3.
     * 
     * @param eac3Settings
     *        Required when you set Codec to the value EAC3.
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public AudioCodecSettings withEac3Settings(Eac3Settings eac3Settings) {
        setEac3Settings(eac3Settings);
        return this;
    }

    /**
     * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value FLAC.
     * 
     * @param flacSettings
     *        Required when you set Codec, under AudioDescriptions>CodecSettings, to the value FLAC.
     */

    public void setFlacSettings(FlacSettings flacSettings) {
        this.flacSettings = flacSettings;
    }

    /**
     * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value FLAC.
     * 
     * @return Required when you set Codec, under AudioDescriptions>CodecSettings, to the value FLAC.
     */

    public FlacSettings getFlacSettings() {
        return this.flacSettings;
    }

    /**
     * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value FLAC.
     * 
     * @param flacSettings
     *        Required when you set Codec, under AudioDescriptions>CodecSettings, to the value FLAC.
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public AudioCodecSettings withFlacSettings(FlacSettings flacSettings) {
        setFlacSettings(flacSettings);
        return this;
    }

    /**
     * Required when you set Codec to the value MP2.
     * 
     * @param mp2Settings
     *        Required when you set Codec to the value MP2.
     */

    public void setMp2Settings(Mp2Settings mp2Settings) {
        this.mp2Settings = mp2Settings;
    }

    /**
     * Required when you set Codec to the value MP2.
     * 
     * @return Required when you set Codec to the value MP2.
     */

    public Mp2Settings getMp2Settings() {
        return this.mp2Settings;
    }

    /**
     * Required when you set Codec to the value MP2.
     * 
     * @param mp2Settings
     *        Required when you set Codec to the value MP2.
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public AudioCodecSettings withMp2Settings(Mp2Settings mp2Settings) {
        setMp2Settings(mp2Settings);
        return this;
    }

    /**
     * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value MP3.
     * 
     * @param mp3Settings
     *        Required when you set Codec, under AudioDescriptions>CodecSettings, to the value MP3.
     */

    public void setMp3Settings(Mp3Settings mp3Settings) {
        this.mp3Settings = mp3Settings;
    }

    /**
     * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value MP3.
     * 
     * @return Required when you set Codec, under AudioDescriptions>CodecSettings, to the value MP3.
     */

    public Mp3Settings getMp3Settings() {
        return this.mp3Settings;
    }

    /**
     * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value MP3.
     * 
     * @param mp3Settings
     *        Required when you set Codec, under AudioDescriptions>CodecSettings, to the value MP3.
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public AudioCodecSettings withMp3Settings(Mp3Settings mp3Settings) {
        setMp3Settings(mp3Settings);
        return this;
    }

    /**
     * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value OPUS.
     * 
     * @param opusSettings
     *        Required when you set Codec, under AudioDescriptions>CodecSettings, to the value OPUS.
     */

    public void setOpusSettings(OpusSettings opusSettings) {
        this.opusSettings = opusSettings;
    }

    /**
     * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value OPUS.
     * 
     * @return Required when you set Codec, under AudioDescriptions>CodecSettings, to the value OPUS.
     */

    public OpusSettings getOpusSettings() {
        return this.opusSettings;
    }

    /**
     * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value OPUS.
     * 
     * @param opusSettings
     *        Required when you set Codec, under AudioDescriptions>CodecSettings, to the value OPUS.
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public AudioCodecSettings withOpusSettings(OpusSettings opusSettings) {
        setOpusSettings(opusSettings);
        return this;
    }

    /**
     * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value Vorbis.
     * 
     * @param vorbisSettings
     *        Required when you set Codec, under AudioDescriptions>CodecSettings, to the value Vorbis.
     */

    public void setVorbisSettings(VorbisSettings vorbisSettings) {
        this.vorbisSettings = vorbisSettings;
    }

    /**
     * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value Vorbis.
     * 
     * @return Required when you set Codec, under AudioDescriptions>CodecSettings, to the value Vorbis.
     */

    public VorbisSettings getVorbisSettings() {
        return this.vorbisSettings;
    }

    /**
     * Required when you set Codec, under AudioDescriptions>CodecSettings, to the value Vorbis.
     * 
     * @param vorbisSettings
     *        Required when you set Codec, under AudioDescriptions>CodecSettings, to the value Vorbis.
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public AudioCodecSettings withVorbisSettings(VorbisSettings vorbisSettings) {
        setVorbisSettings(vorbisSettings);
        return this;
    }

    /**
     * Required when you set Codec to the value WAV.
     * 
     * @param wavSettings
     *        Required when you set Codec to the value WAV.
     */

    public void setWavSettings(WavSettings wavSettings) {
        this.wavSettings = wavSettings;
    }

    /**
     * Required when you set Codec to the value WAV.
     * 
     * @return Required when you set Codec to the value WAV.
     */

    public WavSettings getWavSettings() {
        return this.wavSettings;
    }

    /**
     * Required when you set Codec to the value WAV.
     * 
     * @param wavSettings
     *        Required when you set Codec to the value WAV.
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public AudioCodecSettings withWavSettings(WavSettings wavSettings) {
        setWavSettings(wavSettings);
        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 (getAacSettings() != null)
            sb.append("AacSettings: ").append(getAacSettings()).append(",");
        if (getAc3Settings() != null)
            sb.append("Ac3Settings: ").append(getAc3Settings()).append(",");
        if (getAiffSettings() != null)
            sb.append("AiffSettings: ").append(getAiffSettings()).append(",");
        if (getCodec() != null)
            sb.append("Codec: ").append(getCodec()).append(",");
        if (getEac3AtmosSettings() != null)
            sb.append("Eac3AtmosSettings: ").append(getEac3AtmosSettings()).append(",");
        if (getEac3Settings() != null)
            sb.append("Eac3Settings: ").append(getEac3Settings()).append(",");
        if (getFlacSettings() != null)
            sb.append("FlacSettings: ").append(getFlacSettings()).append(",");
        if (getMp2Settings() != null)
            sb.append("Mp2Settings: ").append(getMp2Settings()).append(",");
        if (getMp3Settings() != null)
            sb.append("Mp3Settings: ").append(getMp3Settings()).append(",");
        if (getOpusSettings() != null)
            sb.append("OpusSettings: ").append(getOpusSettings()).append(",");
        if (getVorbisSettings() != null)
            sb.append("VorbisSettings: ").append(getVorbisSettings()).append(",");
        if (getWavSettings() != null)
            sb.append("WavSettings: ").append(getWavSettings());
        sb.append("}");
        return sb.toString();
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;

        if (obj instanceof AudioCodecSettings == false)
            return false;
        AudioCodecSettings other = (AudioCodecSettings) obj;
        if (other.getAacSettings() == null ^ this.getAacSettings() == null)
            return false;
        if (other.getAacSettings() != null && other.getAacSettings().equals(this.getAacSettings()) == false)
            return false;
        if (other.getAc3Settings() == null ^ this.getAc3Settings() == null)
            return false;
        if (other.getAc3Settings() != null && other.getAc3Settings().equals(this.getAc3Settings()) == false)
            return false;
        if (other.getAiffSettings() == null ^ this.getAiffSettings() == null)
            return false;
        if (other.getAiffSettings() != null && other.getAiffSettings().equals(this.getAiffSettings()) == false)
            return false;
        if (other.getCodec() == null ^ this.getCodec() == null)
            return false;
        if (other.getCodec() != null && other.getCodec().equals(this.getCodec()) == false)
            return false;
        if (other.getEac3AtmosSettings() == null ^ this.getEac3AtmosSettings() == null)
            return false;
        if (other.getEac3AtmosSettings() != null && other.getEac3AtmosSettings().equals(this.getEac3AtmosSettings()) == false)
            return false;
        if (other.getEac3Settings() == null ^ this.getEac3Settings() == null)
            return false;
        if (other.getEac3Settings() != null && other.getEac3Settings().equals(this.getEac3Settings()) == false)
            return false;
        if (other.getFlacSettings() == null ^ this.getFlacSettings() == null)
            return false;
        if (other.getFlacSettings() != null && other.getFlacSettings().equals(this.getFlacSettings()) == false)
            return false;
        if (other.getMp2Settings() == null ^ this.getMp2Settings() == null)
            return false;
        if (other.getMp2Settings() != null && other.getMp2Settings().equals(this.getMp2Settings()) == false)
            return false;
        if (other.getMp3Settings() == null ^ this.getMp3Settings() == null)
            return false;
        if (other.getMp3Settings() != null && other.getMp3Settings().equals(this.getMp3Settings()) == false)
            return false;
        if (other.getOpusSettings() == null ^ this.getOpusSettings() == null)
            return false;
        if (other.getOpusSettings() != null && other.getOpusSettings().equals(this.getOpusSettings()) == false)
            return false;
        if (other.getVorbisSettings() == null ^ this.getVorbisSettings() == null)
            return false;
        if (other.getVorbisSettings() != null && other.getVorbisSettings().equals(this.getVorbisSettings()) == false)
            return false;
        if (other.getWavSettings() == null ^ this.getWavSettings() == null)
            return false;
        if (other.getWavSettings() != null && other.getWavSettings().equals(this.getWavSettings()) == false)
            return false;
        return true;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int hashCode = 1;

        hashCode = prime * hashCode + ((getAacSettings() == null) ? 0 : getAacSettings().hashCode());
        hashCode = prime * hashCode + ((getAc3Settings() == null) ? 0 : getAc3Settings().hashCode());
        hashCode = prime * hashCode + ((getAiffSettings() == null) ? 0 : getAiffSettings().hashCode());
        hashCode = prime * hashCode + ((getCodec() == null) ? 0 : getCodec().hashCode());
        hashCode = prime * hashCode + ((getEac3AtmosSettings() == null) ? 0 : getEac3AtmosSettings().hashCode());
        hashCode = prime * hashCode + ((getEac3Settings() == null) ? 0 : getEac3Settings().hashCode());
        hashCode = prime * hashCode + ((getFlacSettings() == null) ? 0 : getFlacSettings().hashCode());
        hashCode = prime * hashCode + ((getMp2Settings() == null) ? 0 : getMp2Settings().hashCode());
        hashCode = prime * hashCode + ((getMp3Settings() == null) ? 0 : getMp3Settings().hashCode());
        hashCode = prime * hashCode + ((getOpusSettings() == null) ? 0 : getOpusSettings().hashCode());
        hashCode = prime * hashCode + ((getVorbisSettings() == null) ? 0 : getVorbisSettings().hashCode());
        hashCode = prime * hashCode + ((getWavSettings() == null) ? 0 : getWavSettings().hashCode());
        return hashCode;
    }

    @Override
    public AudioCodecSettings clone() {
        try {
            return (AudioCodecSettings) 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.AudioCodecSettingsMarshaller.getInstance().marshall(this, protocolMarshaller);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy