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

com.amazonaws.services.mediaconvert.model.RemixSettings 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;

/**
 * Use Manual audio remixing to adjust audio levels for each audio channel in each output of your job. With audio
 * remixing, you can output more or fewer audio channels than your input audio source provides.
 * 
 * @see AWS API
 *      Documentation
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class RemixSettings implements Serializable, Cloneable, StructuredPojo {

    /**
     * Optionally specify the channel in your input that contains your audio description audio signal. MediaConvert
     * mixes your audio signal across all output channels, while reducing their volume according to your data stream.
     * When you specify an audio description audio channel, you must also specify an audio description data channel. For
     * more information about audio description signals, see the BBC WHP 198 and 051 white papers.
     */
    private Integer audioDescriptionAudioChannel;
    /**
     * Optionally specify the channel in your input that contains your audio description data stream. MediaConvert mixes
     * your audio signal across all output channels, while reducing their volume according to your data stream. When you
     * specify an audio description data channel, you must also specify an audio description audio channel. For more
     * information about audio description signals, see the BBC WHP 198 and 051 white papers.
     */
    private Integer audioDescriptionDataChannel;
    /**
     * Channel mapping contains the group of fields that hold the remixing value for each channel, in dB. Specify remix
     * values to indicate how much of the content from your input audio channel you want in your output audio channels.
     * Each instance of the InputChannels or InputChannelsFineTune array specifies these values for one output channel.
     * Use one instance of this array for each output channel. In the console, each array corresponds to a column in the
     * graphical depiction of the mapping matrix. The rows of the graphical matrix correspond to input channels. Valid
     * values are within the range from -60 (mute) through 6. A setting of 0 passes the input channel unchanged to the
     * output channel (no attenuation or amplification). Use InputChannels or InputChannelsFineTune to specify your remix
     * values. Don't use both.
     */
    private ChannelMapping channelMapping;
    /**
     * Specify the number of audio channels from your input that you want to use in your output. With remixing, you
     * might combine or split the data in these channels, so the number of channels in your final output might be
     * different. If you are doing both input channel mapping and output channel mapping, the number of output channels
     * in your input mapping must be the same as the number of input channels in your output mapping.
     */
    private Integer channelsIn;
    /**
     * Specify the number of channels in this output after remixing. Valid values: 1, 2, 4, 6, 8... 64. (1 and even
     * numbers to 64.) If you are doing both input channel mapping and output channel mapping, the number of output
     * channels in your input mapping must be the same as the number of input channels in your output mapping.
     */
    private Integer channelsOut;

    /**
     * Optionally specify the channel in your input that contains your audio description audio signal. MediaConvert
     * mixes your audio signal across all output channels, while reducing their volume according to your data stream.
     * When you specify an audio description audio channel, you must also specify an audio description data channel. For
     * more information about audio description signals, see the BBC WHP 198 and 051 white papers.
     * 
     * @param audioDescriptionAudioChannel
     *        Optionally specify the channel in your input that contains your audio description audio signal.
     *        MediaConvert mixes your audio signal across all output channels, while reducing their volume according to
     *        your data stream. When you specify an audio description audio channel, you must also specify an audio
     *        description data channel. For more information about audio description signals, see the BBC WHP 198 and
     *        051 white papers.
     */

    public void setAudioDescriptionAudioChannel(Integer audioDescriptionAudioChannel) {
        this.audioDescriptionAudioChannel = audioDescriptionAudioChannel;
    }

    /**
     * Optionally specify the channel in your input that contains your audio description audio signal. MediaConvert
     * mixes your audio signal across all output channels, while reducing their volume according to your data stream.
     * When you specify an audio description audio channel, you must also specify an audio description data channel. For
     * more information about audio description signals, see the BBC WHP 198 and 051 white papers.
     * 
     * @return Optionally specify the channel in your input that contains your audio description audio signal.
     *         MediaConvert mixes your audio signal across all output channels, while reducing their volume according to
     *         your data stream. When you specify an audio description audio channel, you must also specify an audio
     *         description data channel. For more information about audio description signals, see the BBC WHP 198 and
     *         051 white papers.
     */

    public Integer getAudioDescriptionAudioChannel() {
        return this.audioDescriptionAudioChannel;
    }

    /**
     * Optionally specify the channel in your input that contains your audio description audio signal. MediaConvert
     * mixes your audio signal across all output channels, while reducing their volume according to your data stream.
     * When you specify an audio description audio channel, you must also specify an audio description data channel. For
     * more information about audio description signals, see the BBC WHP 198 and 051 white papers.
     * 
     * @param audioDescriptionAudioChannel
     *        Optionally specify the channel in your input that contains your audio description audio signal.
     *        MediaConvert mixes your audio signal across all output channels, while reducing their volume according to
     *        your data stream. When you specify an audio description audio channel, you must also specify an audio
     *        description data channel. For more information about audio description signals, see the BBC WHP 198 and
     *        051 white papers.
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public RemixSettings withAudioDescriptionAudioChannel(Integer audioDescriptionAudioChannel) {
        setAudioDescriptionAudioChannel(audioDescriptionAudioChannel);
        return this;
    }

    /**
     * Optionally specify the channel in your input that contains your audio description data stream. MediaConvert mixes
     * your audio signal across all output channels, while reducing their volume according to your data stream. When you
     * specify an audio description data channel, you must also specify an audio description audio channel. For more
     * information about audio description signals, see the BBC WHP 198 and 051 white papers.
     * 
     * @param audioDescriptionDataChannel
     *        Optionally specify the channel in your input that contains your audio description data stream.
     *        MediaConvert mixes your audio signal across all output channels, while reducing their volume according to
     *        your data stream. When you specify an audio description data channel, you must also specify an audio
     *        description audio channel. For more information about audio description signals, see the BBC WHP 198 and
     *        051 white papers.
     */

    public void setAudioDescriptionDataChannel(Integer audioDescriptionDataChannel) {
        this.audioDescriptionDataChannel = audioDescriptionDataChannel;
    }

    /**
     * Optionally specify the channel in your input that contains your audio description data stream. MediaConvert mixes
     * your audio signal across all output channels, while reducing their volume according to your data stream. When you
     * specify an audio description data channel, you must also specify an audio description audio channel. For more
     * information about audio description signals, see the BBC WHP 198 and 051 white papers.
     * 
     * @return Optionally specify the channel in your input that contains your audio description data stream.
     *         MediaConvert mixes your audio signal across all output channels, while reducing their volume according to
     *         your data stream. When you specify an audio description data channel, you must also specify an audio
     *         description audio channel. For more information about audio description signals, see the BBC WHP 198 and
     *         051 white papers.
     */

    public Integer getAudioDescriptionDataChannel() {
        return this.audioDescriptionDataChannel;
    }

    /**
     * Optionally specify the channel in your input that contains your audio description data stream. MediaConvert mixes
     * your audio signal across all output channels, while reducing their volume according to your data stream. When you
     * specify an audio description data channel, you must also specify an audio description audio channel. For more
     * information about audio description signals, see the BBC WHP 198 and 051 white papers.
     * 
     * @param audioDescriptionDataChannel
     *        Optionally specify the channel in your input that contains your audio description data stream.
     *        MediaConvert mixes your audio signal across all output channels, while reducing their volume according to
     *        your data stream. When you specify an audio description data channel, you must also specify an audio
     *        description audio channel. For more information about audio description signals, see the BBC WHP 198 and
     *        051 white papers.
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public RemixSettings withAudioDescriptionDataChannel(Integer audioDescriptionDataChannel) {
        setAudioDescriptionDataChannel(audioDescriptionDataChannel);
        return this;
    }

    /**
     * Channel mapping contains the group of fields that hold the remixing value for each channel, in dB. Specify remix
     * values to indicate how much of the content from your input audio channel you want in your output audio channels.
     * Each instance of the InputChannels or InputChannelsFineTune array specifies these values for one output channel.
     * Use one instance of this array for each output channel. In the console, each array corresponds to a column in the
     * graphical depiction of the mapping matrix. The rows of the graphical matrix correspond to input channels. Valid
     * values are within the range from -60 (mute) through 6. A setting of 0 passes the input channel unchanged to the
     * output channel (no attenuation or amplification). Use InputChannels or InputChannelsFineTune to specify your remix
     * values. Don't use both.
     * 
     * @param channelMapping
     *        Channel mapping contains the group of fields that hold the remixing value for each channel, in dB. Specify
     *        remix values to indicate how much of the content from your input audio channel you want in your output
     *        audio channels. Each instance of the InputChannels or InputChannelsFineTune array specifies these values
     *        for one output channel. Use one instance of this array for each output channel. In the console, each array
     *        corresponds to a column in the graphical depiction of the mapping matrix. The rows of the graphical matrix
     *        correspond to input channels. Valid values are within the range from -60 (mute) through 6. A setting of 0
     *        passes the input channel unchanged to the output channel (no attenuation or amplification). Use
     *        InputChannels or InputChannelsFineTune to specify your remix values. Don't use both.
     */

    public void setChannelMapping(ChannelMapping channelMapping) {
        this.channelMapping = channelMapping;
    }

    /**
     * Channel mapping contains the group of fields that hold the remixing value for each channel, in dB. Specify remix
     * values to indicate how much of the content from your input audio channel you want in your output audio channels.
     * Each instance of the InputChannels or InputChannelsFineTune array specifies these values for one output channel.
     * Use one instance of this array for each output channel. In the console, each array corresponds to a column in the
     * graphical depiction of the mapping matrix. The rows of the graphical matrix correspond to input channels. Valid
     * values are within the range from -60 (mute) through 6. A setting of 0 passes the input channel unchanged to the
     * output channel (no attenuation or amplification). Use InputChannels or InputChannelsFineTune to specify your remix
     * values. Don't use both.
     * 
     * @return Channel mapping contains the group of fields that hold the remixing value for each channel, in dB.
     *         Specify remix values to indicate how much of the content from your input audio channel you want in your
     *         output audio channels. Each instance of the InputChannels or InputChannelsFineTune array specifies these
     *         values for one output channel. Use one instance of this array for each output channel. In the console,
     *         each array corresponds to a column in the graphical depiction of the mapping matrix. The rows of the
     *         graphical matrix correspond to input channels. Valid values are within the range from -60 (mute) through
     *         6. A setting of 0 passes the input channel unchanged to the output channel (no attenuation or
     *         amplification). Use InputChannels or InputChannelsFineTune to specify your remix values. Don't use both.
     */

    public ChannelMapping getChannelMapping() {
        return this.channelMapping;
    }

    /**
     * Channel mapping contains the group of fields that hold the remixing value for each channel, in dB. Specify remix
     * values to indicate how much of the content from your input audio channel you want in your output audio channels.
     * Each instance of the InputChannels or InputChannelsFineTune array specifies these values for one output channel.
     * Use one instance of this array for each output channel. In the console, each array corresponds to a column in the
     * graphical depiction of the mapping matrix. The rows of the graphical matrix correspond to input channels. Valid
     * values are within the range from -60 (mute) through 6. A setting of 0 passes the input channel unchanged to the
     * output channel (no attenuation or amplification). Use InputChannels or InputChannelsFineTune to specify your remix
     * values. Don't use both.
     * 
     * @param channelMapping
     *        Channel mapping contains the group of fields that hold the remixing value for each channel, in dB. Specify
     *        remix values to indicate how much of the content from your input audio channel you want in your output
     *        audio channels. Each instance of the InputChannels or InputChannelsFineTune array specifies these values
     *        for one output channel. Use one instance of this array for each output channel. In the console, each array
     *        corresponds to a column in the graphical depiction of the mapping matrix. The rows of the graphical matrix
     *        correspond to input channels. Valid values are within the range from -60 (mute) through 6. A setting of 0
     *        passes the input channel unchanged to the output channel (no attenuation or amplification). Use
     *        InputChannels or InputChannelsFineTune to specify your remix values. Don't use both.
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public RemixSettings withChannelMapping(ChannelMapping channelMapping) {
        setChannelMapping(channelMapping);
        return this;
    }

    /**
     * Specify the number of audio channels from your input that you want to use in your output. With remixing, you
     * might combine or split the data in these channels, so the number of channels in your final output might be
     * different. If you are doing both input channel mapping and output channel mapping, the number of output channels
     * in your input mapping must be the same as the number of input channels in your output mapping.
     * 
     * @param channelsIn
     *        Specify the number of audio channels from your input that you want to use in your output. With remixing,
     *        you might combine or split the data in these channels, so the number of channels in your final output
     *        might be different. If you are doing both input channel mapping and output channel mapping, the number of
     *        output channels in your input mapping must be the same as the number of input channels in your output
     *        mapping.
     */

    public void setChannelsIn(Integer channelsIn) {
        this.channelsIn = channelsIn;
    }

    /**
     * Specify the number of audio channels from your input that you want to use in your output. With remixing, you
     * might combine or split the data in these channels, so the number of channels in your final output might be
     * different. If you are doing both input channel mapping and output channel mapping, the number of output channels
     * in your input mapping must be the same as the number of input channels in your output mapping.
     * 
     * @return Specify the number of audio channels from your input that you want to use in your output. With remixing,
     *         you might combine or split the data in these channels, so the number of channels in your final output
     *         might be different. If you are doing both input channel mapping and output channel mapping, the number of
     *         output channels in your input mapping must be the same as the number of input channels in your output
     *         mapping.
     */

    public Integer getChannelsIn() {
        return this.channelsIn;
    }

    /**
     * Specify the number of audio channels from your input that you want to use in your output. With remixing, you
     * might combine or split the data in these channels, so the number of channels in your final output might be
     * different. If you are doing both input channel mapping and output channel mapping, the number of output channels
     * in your input mapping must be the same as the number of input channels in your output mapping.
     * 
     * @param channelsIn
     *        Specify the number of audio channels from your input that you want to use in your output. With remixing,
     *        you might combine or split the data in these channels, so the number of channels in your final output
     *        might be different. If you are doing both input channel mapping and output channel mapping, the number of
     *        output channels in your input mapping must be the same as the number of input channels in your output
     *        mapping.
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public RemixSettings withChannelsIn(Integer channelsIn) {
        setChannelsIn(channelsIn);
        return this;
    }

    /**
     * Specify the number of channels in this output after remixing. Valid values: 1, 2, 4, 6, 8... 64. (1 and even
     * numbers to 64.) If you are doing both input channel mapping and output channel mapping, the number of output
     * channels in your input mapping must be the same as the number of input channels in your output mapping.
     * 
     * @param channelsOut
     *        Specify the number of channels in this output after remixing. Valid values: 1, 2, 4, 6, 8... 64. (1 and
     *        even numbers to 64.) If you are doing both input channel mapping and output channel mapping, the number of
     *        output channels in your input mapping must be the same as the number of input channels in your output
     *        mapping.
     */

    public void setChannelsOut(Integer channelsOut) {
        this.channelsOut = channelsOut;
    }

    /**
     * Specify the number of channels in this output after remixing. Valid values: 1, 2, 4, 6, 8... 64. (1 and even
     * numbers to 64.) If you are doing both input channel mapping and output channel mapping, the number of output
     * channels in your input mapping must be the same as the number of input channels in your output mapping.
     * 
     * @return Specify the number of channels in this output after remixing. Valid values: 1, 2, 4, 6, 8... 64. (1 and
     *         even numbers to 64.) If you are doing both input channel mapping and output channel mapping, the number
     *         of output channels in your input mapping must be the same as the number of input channels in your output
     *         mapping.
     */

    public Integer getChannelsOut() {
        return this.channelsOut;
    }

    /**
     * Specify the number of channels in this output after remixing. Valid values: 1, 2, 4, 6, 8... 64. (1 and even
     * numbers to 64.) If you are doing both input channel mapping and output channel mapping, the number of output
     * channels in your input mapping must be the same as the number of input channels in your output mapping.
     * 
     * @param channelsOut
     *        Specify the number of channels in this output after remixing. Valid values: 1, 2, 4, 6, 8... 64. (1 and
     *        even numbers to 64.) If you are doing both input channel mapping and output channel mapping, the number of
     *        output channels in your input mapping must be the same as the number of input channels in your output
     *        mapping.
     * @return Returns a reference to this object so that method calls can be chained together.
     */

    public RemixSettings withChannelsOut(Integer channelsOut) {
        setChannelsOut(channelsOut);
        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 (getAudioDescriptionAudioChannel() != null)
            sb.append("AudioDescriptionAudioChannel: ").append(getAudioDescriptionAudioChannel()).append(",");
        if (getAudioDescriptionDataChannel() != null)
            sb.append("AudioDescriptionDataChannel: ").append(getAudioDescriptionDataChannel()).append(",");
        if (getChannelMapping() != null)
            sb.append("ChannelMapping: ").append(getChannelMapping()).append(",");
        if (getChannelsIn() != null)
            sb.append("ChannelsIn: ").append(getChannelsIn()).append(",");
        if (getChannelsOut() != null)
            sb.append("ChannelsOut: ").append(getChannelsOut());
        sb.append("}");
        return sb.toString();
    }

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

        if (obj instanceof RemixSettings == false)
            return false;
        RemixSettings other = (RemixSettings) obj;
        if (other.getAudioDescriptionAudioChannel() == null ^ this.getAudioDescriptionAudioChannel() == null)
            return false;
        if (other.getAudioDescriptionAudioChannel() != null && other.getAudioDescriptionAudioChannel().equals(this.getAudioDescriptionAudioChannel()) == false)
            return false;
        if (other.getAudioDescriptionDataChannel() == null ^ this.getAudioDescriptionDataChannel() == null)
            return false;
        if (other.getAudioDescriptionDataChannel() != null && other.getAudioDescriptionDataChannel().equals(this.getAudioDescriptionDataChannel()) == false)
            return false;
        if (other.getChannelMapping() == null ^ this.getChannelMapping() == null)
            return false;
        if (other.getChannelMapping() != null && other.getChannelMapping().equals(this.getChannelMapping()) == false)
            return false;
        if (other.getChannelsIn() == null ^ this.getChannelsIn() == null)
            return false;
        if (other.getChannelsIn() != null && other.getChannelsIn().equals(this.getChannelsIn()) == false)
            return false;
        if (other.getChannelsOut() == null ^ this.getChannelsOut() == null)
            return false;
        if (other.getChannelsOut() != null && other.getChannelsOut().equals(this.getChannelsOut()) == false)
            return false;
        return true;
    }

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

        hashCode = prime * hashCode + ((getAudioDescriptionAudioChannel() == null) ? 0 : getAudioDescriptionAudioChannel().hashCode());
        hashCode = prime * hashCode + ((getAudioDescriptionDataChannel() == null) ? 0 : getAudioDescriptionDataChannel().hashCode());
        hashCode = prime * hashCode + ((getChannelMapping() == null) ? 0 : getChannelMapping().hashCode());
        hashCode = prime * hashCode + ((getChannelsIn() == null) ? 0 : getChannelsIn().hashCode());
        hashCode = prime * hashCode + ((getChannelsOut() == null) ? 0 : getChannelsOut().hashCode());
        return hashCode;
    }

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy