com.amazonaws.services.medialive.model.GlobalConfiguration Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws-java-sdk-medialive Show documentation
Show all versions of aws-java-sdk-medialive Show documentation
The AWS Java SDK for AWS Elemental MediaLive module holds the client classes that are used for communicating with AWS Elemental MediaLive Service
/*
* Copyright 2018-2023 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.medialive.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
* Global Configuration
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class GlobalConfiguration implements Serializable, Cloneable, StructuredPojo {
/** Value to set the initial audio gain for the Live Event. */
private Integer initialAudioGain;
/**
* Indicates the action to take when the current input completes (e.g. end-of-file). When switchAndLoopInputs is
* configured the encoder will restart at the beginning of the first input. When "none" is configured the encoder
* will transcode either black, a solid color, or a user specified slate images per the "Input Loss Behavior"
* configuration until the next input switch occurs (which is controlled through the Channel Schedule API).
*/
private String inputEndAction;
/** Settings for system actions when input is lost. */
private InputLossBehavior inputLossBehavior;
/**
* Indicates how MediaLive pipelines are synchronized.
*
* PIPELINE_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the other. EPOCH_LOCKING
* - MediaLive will attempt to synchronize the output of each pipeline to the Unix epoch.
*/
private String outputLockingMode;
/**
* Indicates whether the rate of frames emitted by the Live encoder should be paced by its system clock (which
* optionally may be locked to another source via NTP) or should be locked to the clock of the source that is
* providing the input stream.
*/
private String outputTimingSource;
/**
* Adjusts video input buffer for streams with very low video framerates. This is commonly set to enabled for music
* channels with less than one video frame per second.
*/
private String supportLowFramerateInputs;
/**
* Value to set the initial audio gain for the Live Event.
*
* @param initialAudioGain
* Value to set the initial audio gain for the Live Event.
*/
public void setInitialAudioGain(Integer initialAudioGain) {
this.initialAudioGain = initialAudioGain;
}
/**
* Value to set the initial audio gain for the Live Event.
*
* @return Value to set the initial audio gain for the Live Event.
*/
public Integer getInitialAudioGain() {
return this.initialAudioGain;
}
/**
* Value to set the initial audio gain for the Live Event.
*
* @param initialAudioGain
* Value to set the initial audio gain for the Live Event.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GlobalConfiguration withInitialAudioGain(Integer initialAudioGain) {
setInitialAudioGain(initialAudioGain);
return this;
}
/**
* Indicates the action to take when the current input completes (e.g. end-of-file). When switchAndLoopInputs is
* configured the encoder will restart at the beginning of the first input. When "none" is configured the encoder
* will transcode either black, a solid color, or a user specified slate images per the "Input Loss Behavior"
* configuration until the next input switch occurs (which is controlled through the Channel Schedule API).
*
* @param inputEndAction
* Indicates the action to take when the current input completes (e.g. end-of-file). When switchAndLoopInputs
* is configured the encoder will restart at the beginning of the first input. When "none" is configured the
* encoder will transcode either black, a solid color, or a user specified slate images per the
* "Input Loss Behavior" configuration until the next input switch occurs (which is controlled through the
* Channel Schedule API).
* @see GlobalConfigurationInputEndAction
*/
public void setInputEndAction(String inputEndAction) {
this.inputEndAction = inputEndAction;
}
/**
* Indicates the action to take when the current input completes (e.g. end-of-file). When switchAndLoopInputs is
* configured the encoder will restart at the beginning of the first input. When "none" is configured the encoder
* will transcode either black, a solid color, or a user specified slate images per the "Input Loss Behavior"
* configuration until the next input switch occurs (which is controlled through the Channel Schedule API).
*
* @return Indicates the action to take when the current input completes (e.g. end-of-file). When
* switchAndLoopInputs is configured the encoder will restart at the beginning of the first input. When
* "none" is configured the encoder will transcode either black, a solid color, or a user specified slate
* images per the "Input Loss Behavior" configuration until the next input switch occurs (which is
* controlled through the Channel Schedule API).
* @see GlobalConfigurationInputEndAction
*/
public String getInputEndAction() {
return this.inputEndAction;
}
/**
* Indicates the action to take when the current input completes (e.g. end-of-file). When switchAndLoopInputs is
* configured the encoder will restart at the beginning of the first input. When "none" is configured the encoder
* will transcode either black, a solid color, or a user specified slate images per the "Input Loss Behavior"
* configuration until the next input switch occurs (which is controlled through the Channel Schedule API).
*
* @param inputEndAction
* Indicates the action to take when the current input completes (e.g. end-of-file). When switchAndLoopInputs
* is configured the encoder will restart at the beginning of the first input. When "none" is configured the
* encoder will transcode either black, a solid color, or a user specified slate images per the
* "Input Loss Behavior" configuration until the next input switch occurs (which is controlled through the
* Channel Schedule API).
* @return Returns a reference to this object so that method calls can be chained together.
* @see GlobalConfigurationInputEndAction
*/
public GlobalConfiguration withInputEndAction(String inputEndAction) {
setInputEndAction(inputEndAction);
return this;
}
/**
* Indicates the action to take when the current input completes (e.g. end-of-file). When switchAndLoopInputs is
* configured the encoder will restart at the beginning of the first input. When "none" is configured the encoder
* will transcode either black, a solid color, or a user specified slate images per the "Input Loss Behavior"
* configuration until the next input switch occurs (which is controlled through the Channel Schedule API).
*
* @param inputEndAction
* Indicates the action to take when the current input completes (e.g. end-of-file). When switchAndLoopInputs
* is configured the encoder will restart at the beginning of the first input. When "none" is configured the
* encoder will transcode either black, a solid color, or a user specified slate images per the
* "Input Loss Behavior" configuration until the next input switch occurs (which is controlled through the
* Channel Schedule API).
* @return Returns a reference to this object so that method calls can be chained together.
* @see GlobalConfigurationInputEndAction
*/
public GlobalConfiguration withInputEndAction(GlobalConfigurationInputEndAction inputEndAction) {
this.inputEndAction = inputEndAction.toString();
return this;
}
/**
* Settings for system actions when input is lost.
*
* @param inputLossBehavior
* Settings for system actions when input is lost.
*/
public void setInputLossBehavior(InputLossBehavior inputLossBehavior) {
this.inputLossBehavior = inputLossBehavior;
}
/**
* Settings for system actions when input is lost.
*
* @return Settings for system actions when input is lost.
*/
public InputLossBehavior getInputLossBehavior() {
return this.inputLossBehavior;
}
/**
* Settings for system actions when input is lost.
*
* @param inputLossBehavior
* Settings for system actions when input is lost.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GlobalConfiguration withInputLossBehavior(InputLossBehavior inputLossBehavior) {
setInputLossBehavior(inputLossBehavior);
return this;
}
/**
* Indicates how MediaLive pipelines are synchronized.
*
* PIPELINE_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the other. EPOCH_LOCKING
* - MediaLive will attempt to synchronize the output of each pipeline to the Unix epoch.
*
* @param outputLockingMode
* Indicates how MediaLive pipelines are synchronized.
*
* PIPELINE_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the other.
* EPOCH_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the Unix epoch.
* @see GlobalConfigurationOutputLockingMode
*/
public void setOutputLockingMode(String outputLockingMode) {
this.outputLockingMode = outputLockingMode;
}
/**
* Indicates how MediaLive pipelines are synchronized.
*
* PIPELINE_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the other. EPOCH_LOCKING
* - MediaLive will attempt to synchronize the output of each pipeline to the Unix epoch.
*
* @return Indicates how MediaLive pipelines are synchronized.
*
* PIPELINE_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the other.
* EPOCH_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the Unix epoch.
* @see GlobalConfigurationOutputLockingMode
*/
public String getOutputLockingMode() {
return this.outputLockingMode;
}
/**
* Indicates how MediaLive pipelines are synchronized.
*
* PIPELINE_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the other. EPOCH_LOCKING
* - MediaLive will attempt to synchronize the output of each pipeline to the Unix epoch.
*
* @param outputLockingMode
* Indicates how MediaLive pipelines are synchronized.
*
* PIPELINE_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the other.
* EPOCH_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the Unix epoch.
* @return Returns a reference to this object so that method calls can be chained together.
* @see GlobalConfigurationOutputLockingMode
*/
public GlobalConfiguration withOutputLockingMode(String outputLockingMode) {
setOutputLockingMode(outputLockingMode);
return this;
}
/**
* Indicates how MediaLive pipelines are synchronized.
*
* PIPELINE_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the other. EPOCH_LOCKING
* - MediaLive will attempt to synchronize the output of each pipeline to the Unix epoch.
*
* @param outputLockingMode
* Indicates how MediaLive pipelines are synchronized.
*
* PIPELINE_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the other.
* EPOCH_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the Unix epoch.
* @return Returns a reference to this object so that method calls can be chained together.
* @see GlobalConfigurationOutputLockingMode
*/
public GlobalConfiguration withOutputLockingMode(GlobalConfigurationOutputLockingMode outputLockingMode) {
this.outputLockingMode = outputLockingMode.toString();
return this;
}
/**
* Indicates whether the rate of frames emitted by the Live encoder should be paced by its system clock (which
* optionally may be locked to another source via NTP) or should be locked to the clock of the source that is
* providing the input stream.
*
* @param outputTimingSource
* Indicates whether the rate of frames emitted by the Live encoder should be paced by its system clock
* (which optionally may be locked to another source via NTP) or should be locked to the clock of the source
* that is providing the input stream.
* @see GlobalConfigurationOutputTimingSource
*/
public void setOutputTimingSource(String outputTimingSource) {
this.outputTimingSource = outputTimingSource;
}
/**
* Indicates whether the rate of frames emitted by the Live encoder should be paced by its system clock (which
* optionally may be locked to another source via NTP) or should be locked to the clock of the source that is
* providing the input stream.
*
* @return Indicates whether the rate of frames emitted by the Live encoder should be paced by its system clock
* (which optionally may be locked to another source via NTP) or should be locked to the clock of the source
* that is providing the input stream.
* @see GlobalConfigurationOutputTimingSource
*/
public String getOutputTimingSource() {
return this.outputTimingSource;
}
/**
* Indicates whether the rate of frames emitted by the Live encoder should be paced by its system clock (which
* optionally may be locked to another source via NTP) or should be locked to the clock of the source that is
* providing the input stream.
*
* @param outputTimingSource
* Indicates whether the rate of frames emitted by the Live encoder should be paced by its system clock
* (which optionally may be locked to another source via NTP) or should be locked to the clock of the source
* that is providing the input stream.
* @return Returns a reference to this object so that method calls can be chained together.
* @see GlobalConfigurationOutputTimingSource
*/
public GlobalConfiguration withOutputTimingSource(String outputTimingSource) {
setOutputTimingSource(outputTimingSource);
return this;
}
/**
* Indicates whether the rate of frames emitted by the Live encoder should be paced by its system clock (which
* optionally may be locked to another source via NTP) or should be locked to the clock of the source that is
* providing the input stream.
*
* @param outputTimingSource
* Indicates whether the rate of frames emitted by the Live encoder should be paced by its system clock
* (which optionally may be locked to another source via NTP) or should be locked to the clock of the source
* that is providing the input stream.
* @return Returns a reference to this object so that method calls can be chained together.
* @see GlobalConfigurationOutputTimingSource
*/
public GlobalConfiguration withOutputTimingSource(GlobalConfigurationOutputTimingSource outputTimingSource) {
this.outputTimingSource = outputTimingSource.toString();
return this;
}
/**
* Adjusts video input buffer for streams with very low video framerates. This is commonly set to enabled for music
* channels with less than one video frame per second.
*
* @param supportLowFramerateInputs
* Adjusts video input buffer for streams with very low video framerates. This is commonly set to enabled for
* music channels with less than one video frame per second.
* @see GlobalConfigurationLowFramerateInputs
*/
public void setSupportLowFramerateInputs(String supportLowFramerateInputs) {
this.supportLowFramerateInputs = supportLowFramerateInputs;
}
/**
* Adjusts video input buffer for streams with very low video framerates. This is commonly set to enabled for music
* channels with less than one video frame per second.
*
* @return Adjusts video input buffer for streams with very low video framerates. This is commonly set to enabled
* for music channels with less than one video frame per second.
* @see GlobalConfigurationLowFramerateInputs
*/
public String getSupportLowFramerateInputs() {
return this.supportLowFramerateInputs;
}
/**
* Adjusts video input buffer for streams with very low video framerates. This is commonly set to enabled for music
* channels with less than one video frame per second.
*
* @param supportLowFramerateInputs
* Adjusts video input buffer for streams with very low video framerates. This is commonly set to enabled for
* music channels with less than one video frame per second.
* @return Returns a reference to this object so that method calls can be chained together.
* @see GlobalConfigurationLowFramerateInputs
*/
public GlobalConfiguration withSupportLowFramerateInputs(String supportLowFramerateInputs) {
setSupportLowFramerateInputs(supportLowFramerateInputs);
return this;
}
/**
* Adjusts video input buffer for streams with very low video framerates. This is commonly set to enabled for music
* channels with less than one video frame per second.
*
* @param supportLowFramerateInputs
* Adjusts video input buffer for streams with very low video framerates. This is commonly set to enabled for
* music channels with less than one video frame per second.
* @return Returns a reference to this object so that method calls can be chained together.
* @see GlobalConfigurationLowFramerateInputs
*/
public GlobalConfiguration withSupportLowFramerateInputs(GlobalConfigurationLowFramerateInputs supportLowFramerateInputs) {
this.supportLowFramerateInputs = supportLowFramerateInputs.toString();
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getInitialAudioGain() != null)
sb.append("InitialAudioGain: ").append(getInitialAudioGain()).append(",");
if (getInputEndAction() != null)
sb.append("InputEndAction: ").append(getInputEndAction()).append(",");
if (getInputLossBehavior() != null)
sb.append("InputLossBehavior: ").append(getInputLossBehavior()).append(",");
if (getOutputLockingMode() != null)
sb.append("OutputLockingMode: ").append(getOutputLockingMode()).append(",");
if (getOutputTimingSource() != null)
sb.append("OutputTimingSource: ").append(getOutputTimingSource()).append(",");
if (getSupportLowFramerateInputs() != null)
sb.append("SupportLowFramerateInputs: ").append(getSupportLowFramerateInputs());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof GlobalConfiguration == false)
return false;
GlobalConfiguration other = (GlobalConfiguration) obj;
if (other.getInitialAudioGain() == null ^ this.getInitialAudioGain() == null)
return false;
if (other.getInitialAudioGain() != null && other.getInitialAudioGain().equals(this.getInitialAudioGain()) == false)
return false;
if (other.getInputEndAction() == null ^ this.getInputEndAction() == null)
return false;
if (other.getInputEndAction() != null && other.getInputEndAction().equals(this.getInputEndAction()) == false)
return false;
if (other.getInputLossBehavior() == null ^ this.getInputLossBehavior() == null)
return false;
if (other.getInputLossBehavior() != null && other.getInputLossBehavior().equals(this.getInputLossBehavior()) == false)
return false;
if (other.getOutputLockingMode() == null ^ this.getOutputLockingMode() == null)
return false;
if (other.getOutputLockingMode() != null && other.getOutputLockingMode().equals(this.getOutputLockingMode()) == false)
return false;
if (other.getOutputTimingSource() == null ^ this.getOutputTimingSource() == null)
return false;
if (other.getOutputTimingSource() != null && other.getOutputTimingSource().equals(this.getOutputTimingSource()) == false)
return false;
if (other.getSupportLowFramerateInputs() == null ^ this.getSupportLowFramerateInputs() == null)
return false;
if (other.getSupportLowFramerateInputs() != null && other.getSupportLowFramerateInputs().equals(this.getSupportLowFramerateInputs()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getInitialAudioGain() == null) ? 0 : getInitialAudioGain().hashCode());
hashCode = prime * hashCode + ((getInputEndAction() == null) ? 0 : getInputEndAction().hashCode());
hashCode = prime * hashCode + ((getInputLossBehavior() == null) ? 0 : getInputLossBehavior().hashCode());
hashCode = prime * hashCode + ((getOutputLockingMode() == null) ? 0 : getOutputLockingMode().hashCode());
hashCode = prime * hashCode + ((getOutputTimingSource() == null) ? 0 : getOutputTimingSource().hashCode());
hashCode = prime * hashCode + ((getSupportLowFramerateInputs() == null) ? 0 : getSupportLowFramerateInputs().hashCode());
return hashCode;
}
@Override
public GlobalConfiguration clone() {
try {
return (GlobalConfiguration) 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.medialive.model.transform.GlobalConfigurationMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}