(supplementalImps);
}
/**
* Provide a list of any necessary supplemental IMPs. You need supplemental IMPs if the CPL that you're using for
* your input is in an incomplete IMP. Specify either the supplemental IMP directories with a trailing slash or the
* ASSETMAP.xml files. For example ["s3://bucket/ov/", "s3://bucket/vf2/ASSETMAP.xml"]. You don't need to specify the
* IMP that contains your input CPL, because the service automatically detects it.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSupplementalImps(java.util.Collection)} or {@link #withSupplementalImps(java.util.Collection)} if you
* want to override the existing values.
*
*
* @param supplementalImps
* Provide a list of any necessary supplemental IMPs. You need supplemental IMPs if the CPL that you're using
* for your input is in an incomplete IMP. Specify either the supplemental IMP directories with a trailing
* slash or the ASSETMAP.xml files. For example ["s3://bucket/ov/", "s3://bucket/vf2/ASSETMAP.xml"]. You
* don't need to specify the IMP that contains your input CPL, because the service automatically detects it.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Input withSupplementalImps(String... supplementalImps) {
if (this.supplementalImps == null) {
setSupplementalImps(new java.util.ArrayList(supplementalImps.length));
}
for (String ele : supplementalImps) {
this.supplementalImps.add(ele);
}
return this;
}
/**
* Provide a list of any necessary supplemental IMPs. You need supplemental IMPs if the CPL that you're using for
* your input is in an incomplete IMP. Specify either the supplemental IMP directories with a trailing slash or the
* ASSETMAP.xml files. For example ["s3://bucket/ov/", "s3://bucket/vf2/ASSETMAP.xml"]. You don't need to specify the
* IMP that contains your input CPL, because the service automatically detects it.
*
* @param supplementalImps
* Provide a list of any necessary supplemental IMPs. You need supplemental IMPs if the CPL that you're using
* for your input is in an incomplete IMP. Specify either the supplemental IMP directories with a trailing
* slash or the ASSETMAP.xml files. For example ["s3://bucket/ov/", "s3://bucket/vf2/ASSETMAP.xml"]. You
* don't need to specify the IMP that contains your input CPL, because the service automatically detects it.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Input withSupplementalImps(java.util.Collection supplementalImps) {
setSupplementalImps(supplementalImps);
return this;
}
/**
* Use this Timecode source setting, located under the input settings, to specify how the service counts input video
* frames. This input frame count affects only the behavior of features that apply to a single input at a time, such
* as input clipping and synchronizing some captions formats. Choose Embedded to use the timecodes in your input
* video. Choose Start at zero to start the first frame at zero. Choose Specified start to start the first frame at
* the timecode that you specify in the setting Start timecode. If you don't specify a value for Timecode source, the
* service will use Embedded by default. For more information about timecodes, see
* https://docs.aws.amazon.com/console/mediaconvert/timecode.
*
* @param timecodeSource
* Use this Timecode source setting, located under the input settings, to specify how the service counts
* input video frames. This input frame count affects only the behavior of features that apply to a single
* input at a time, such as input clipping and synchronizing some captions formats. Choose Embedded to use
* the timecodes in your input video. Choose Start at zero to start the first frame at zero. Choose Specified
* start to start the first frame at the timecode that you specify in the setting Start timecode. If you
* don't specify a value for Timecode source, the service will use Embedded by default. For more information
* about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode.
* @see InputTimecodeSource
*/
public void setTimecodeSource(String timecodeSource) {
this.timecodeSource = timecodeSource;
}
/**
* Use this Timecode source setting, located under the input settings, to specify how the service counts input video
* frames. This input frame count affects only the behavior of features that apply to a single input at a time, such
* as input clipping and synchronizing some captions formats. Choose Embedded to use the timecodes in your input
* video. Choose Start at zero to start the first frame at zero. Choose Specified start to start the first frame at
* the timecode that you specify in the setting Start timecode. If you don't specify a value for Timecode source, the
* service will use Embedded by default. For more information about timecodes, see
* https://docs.aws.amazon.com/console/mediaconvert/timecode.
*
* @return Use this Timecode source setting, located under the input settings, to specify how the service counts
* input video frames. This input frame count affects only the behavior of features that apply to a single
* input at a time, such as input clipping and synchronizing some captions formats. Choose Embedded to use
* the timecodes in your input video. Choose Start at zero to start the first frame at zero. Choose
* Specified start to start the first frame at the timecode that you specify in the setting Start timecode.
* If you don't specify a value for Timecode source, the service will use Embedded by default. For more
* information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode.
* @see InputTimecodeSource
*/
public String getTimecodeSource() {
return this.timecodeSource;
}
/**
* Use this Timecode source setting, located under the input settings, to specify how the service counts input video
* frames. This input frame count affects only the behavior of features that apply to a single input at a time, such
* as input clipping and synchronizing some captions formats. Choose Embedded to use the timecodes in your input
* video. Choose Start at zero to start the first frame at zero. Choose Specified start to start the first frame at
* the timecode that you specify in the setting Start timecode. If you don't specify a value for Timecode source, the
* service will use Embedded by default. For more information about timecodes, see
* https://docs.aws.amazon.com/console/mediaconvert/timecode.
*
* @param timecodeSource
* Use this Timecode source setting, located under the input settings, to specify how the service counts
* input video frames. This input frame count affects only the behavior of features that apply to a single
* input at a time, such as input clipping and synchronizing some captions formats. Choose Embedded to use
* the timecodes in your input video. Choose Start at zero to start the first frame at zero. Choose Specified
* start to start the first frame at the timecode that you specify in the setting Start timecode. If you
* don't specify a value for Timecode source, the service will use Embedded by default. For more information
* about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode.
* @return Returns a reference to this object so that method calls can be chained together.
* @see InputTimecodeSource
*/
public Input withTimecodeSource(String timecodeSource) {
setTimecodeSource(timecodeSource);
return this;
}
/**
* Use this Timecode source setting, located under the input settings, to specify how the service counts input video
* frames. This input frame count affects only the behavior of features that apply to a single input at a time, such
* as input clipping and synchronizing some captions formats. Choose Embedded to use the timecodes in your input
* video. Choose Start at zero to start the first frame at zero. Choose Specified start to start the first frame at
* the timecode that you specify in the setting Start timecode. If you don't specify a value for Timecode source, the
* service will use Embedded by default. For more information about timecodes, see
* https://docs.aws.amazon.com/console/mediaconvert/timecode.
*
* @param timecodeSource
* Use this Timecode source setting, located under the input settings, to specify how the service counts
* input video frames. This input frame count affects only the behavior of features that apply to a single
* input at a time, such as input clipping and synchronizing some captions formats. Choose Embedded to use
* the timecodes in your input video. Choose Start at zero to start the first frame at zero. Choose Specified
* start to start the first frame at the timecode that you specify in the setting Start timecode. If you
* don't specify a value for Timecode source, the service will use Embedded by default. For more information
* about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode.
* @return Returns a reference to this object so that method calls can be chained together.
* @see InputTimecodeSource
*/
public Input withTimecodeSource(InputTimecodeSource timecodeSource) {
this.timecodeSource = timecodeSource.toString();
return this;
}
/**
* Specify the timecode that you want the service to use for this input's initial frame. To use this setting, you
* must set the Timecode source setting, located under the input settings, to Specified start. For more information
* about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode.
*
* @param timecodeStart
* Specify the timecode that you want the service to use for this input's initial frame. To use this setting,
* you must set the Timecode source setting, located under the input settings, to Specified start. For more
* information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode.
*/
public void setTimecodeStart(String timecodeStart) {
this.timecodeStart = timecodeStart;
}
/**
* Specify the timecode that you want the service to use for this input's initial frame. To use this setting, you
* must set the Timecode source setting, located under the input settings, to Specified start. For more information
* about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode.
*
* @return Specify the timecode that you want the service to use for this input's initial frame. To use this
* setting, you must set the Timecode source setting, located under the input settings, to Specified start.
* For more information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode.
*/
public String getTimecodeStart() {
return this.timecodeStart;
}
/**
* Specify the timecode that you want the service to use for this input's initial frame. To use this setting, you
* must set the Timecode source setting, located under the input settings, to Specified start. For more information
* about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode.
*
* @param timecodeStart
* Specify the timecode that you want the service to use for this input's initial frame. To use this setting,
* you must set the Timecode source setting, located under the input settings, to Specified start. For more
* information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Input withTimecodeStart(String timecodeStart) {
setTimecodeStart(timecodeStart);
return this;
}
/**
* When you include Video generator, MediaConvert creates a video input with black frames. Use this setting if you
* do not have a video input or if you want to add black video frames before, or after, other inputs. You can
* specify Video generator, or you can specify an Input file, but you cannot specify both. For more information, see
* https://docs.aws.amazon.com/mediaconvert/latest/ug/video-generator.html
*
* @param videoGenerator
* When you include Video generator, MediaConvert creates a video input with black frames. Use this setting
* if you do not have a video input or if you want to add black video frames before, or after, other inputs.
* You can specify Video generator, or you can specify an Input file, but you cannot specify both. For more
* information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/video-generator.html
*/
public void setVideoGenerator(InputVideoGenerator videoGenerator) {
this.videoGenerator = videoGenerator;
}
/**
* When you include Video generator, MediaConvert creates a video input with black frames. Use this setting if you
* do not have a video input or if you want to add black video frames before, or after, other inputs. You can
* specify Video generator, or you can specify an Input file, but you cannot specify both. For more information, see
* https://docs.aws.amazon.com/mediaconvert/latest/ug/video-generator.html
*
* @return When you include Video generator, MediaConvert creates a video input with black frames. Use this setting
* if you do not have a video input or if you want to add black video frames before, or after, other inputs.
* You can specify Video generator, or you can specify an Input file, but you cannot specify both. For more
* information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/video-generator.html
*/
public InputVideoGenerator getVideoGenerator() {
return this.videoGenerator;
}
/**
* When you include Video generator, MediaConvert creates a video input with black frames. Use this setting if you
* do not have a video input or if you want to add black video frames before, or after, other inputs. You can
* specify Video generator, or you can specify an Input file, but you cannot specify both. For more information, see
* https://docs.aws.amazon.com/mediaconvert/latest/ug/video-generator.html
*
* @param videoGenerator
* When you include Video generator, MediaConvert creates a video input with black frames. Use this setting
* if you do not have a video input or if you want to add black video frames before, or after, other inputs.
* You can specify Video generator, or you can specify an Input file, but you cannot specify both. For more
* information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/video-generator.html
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Input withVideoGenerator(InputVideoGenerator videoGenerator) {
setVideoGenerator(videoGenerator);
return this;
}
/**
* Input video selectors contain the video settings for the input. Each of your inputs can have up to one video
* selector.
*
* @param videoSelector
* Input video selectors contain the video settings for the input. Each of your inputs can have up to one
* video selector.
*/
public void setVideoSelector(VideoSelector videoSelector) {
this.videoSelector = videoSelector;
}
/**
* Input video selectors contain the video settings for the input. Each of your inputs can have up to one video
* selector.
*
* @return Input video selectors contain the video settings for the input. Each of your inputs can have up to one
* video selector.
*/
public VideoSelector getVideoSelector() {
return this.videoSelector;
}
/**
* Input video selectors contain the video settings for the input. Each of your inputs can have up to one video
* selector.
*
* @param videoSelector
* Input video selectors contain the video settings for the input. Each of your inputs can have up to one
* video selector.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Input withVideoSelector(VideoSelector videoSelector) {
setVideoSelector(videoSelector);
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 (getAdvancedInputFilter() != null)
sb.append("AdvancedInputFilter: ").append(getAdvancedInputFilter()).append(",");
if (getAdvancedInputFilterSettings() != null)
sb.append("AdvancedInputFilterSettings: ").append(getAdvancedInputFilterSettings()).append(",");
if (getAudioSelectorGroups() != null)
sb.append("AudioSelectorGroups: ").append(getAudioSelectorGroups()).append(",");
if (getAudioSelectors() != null)
sb.append("AudioSelectors: ").append(getAudioSelectors()).append(",");
if (getCaptionSelectors() != null)
sb.append("CaptionSelectors: ").append(getCaptionSelectors()).append(",");
if (getCrop() != null)
sb.append("Crop: ").append(getCrop()).append(",");
if (getDeblockFilter() != null)
sb.append("DeblockFilter: ").append(getDeblockFilter()).append(",");
if (getDecryptionSettings() != null)
sb.append("DecryptionSettings: ").append(getDecryptionSettings()).append(",");
if (getDenoiseFilter() != null)
sb.append("DenoiseFilter: ").append(getDenoiseFilter()).append(",");
if (getDolbyVisionMetadataXml() != null)
sb.append("DolbyVisionMetadataXml: ").append(getDolbyVisionMetadataXml()).append(",");
if (getFileInput() != null)
sb.append("FileInput: ").append(getFileInput()).append(",");
if (getFilterEnable() != null)
sb.append("FilterEnable: ").append(getFilterEnable()).append(",");
if (getFilterStrength() != null)
sb.append("FilterStrength: ").append(getFilterStrength()).append(",");
if (getImageInserter() != null)
sb.append("ImageInserter: ").append(getImageInserter()).append(",");
if (getInputClippings() != null)
sb.append("InputClippings: ").append(getInputClippings()).append(",");
if (getInputScanType() != null)
sb.append("InputScanType: ").append(getInputScanType()).append(",");
if (getPosition() != null)
sb.append("Position: ").append(getPosition()).append(",");
if (getProgramNumber() != null)
sb.append("ProgramNumber: ").append(getProgramNumber()).append(",");
if (getPsiControl() != null)
sb.append("PsiControl: ").append(getPsiControl()).append(",");
if (getSupplementalImps() != null)
sb.append("SupplementalImps: ").append(getSupplementalImps()).append(",");
if (getTimecodeSource() != null)
sb.append("TimecodeSource: ").append(getTimecodeSource()).append(",");
if (getTimecodeStart() != null)
sb.append("TimecodeStart: ").append(getTimecodeStart()).append(",");
if (getVideoGenerator() != null)
sb.append("VideoGenerator: ").append(getVideoGenerator()).append(",");
if (getVideoSelector() != null)
sb.append("VideoSelector: ").append(getVideoSelector());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof Input == false)
return false;
Input other = (Input) obj;
if (other.getAdvancedInputFilter() == null ^ this.getAdvancedInputFilter() == null)
return false;
if (other.getAdvancedInputFilter() != null && other.getAdvancedInputFilter().equals(this.getAdvancedInputFilter()) == false)
return false;
if (other.getAdvancedInputFilterSettings() == null ^ this.getAdvancedInputFilterSettings() == null)
return false;
if (other.getAdvancedInputFilterSettings() != null && other.getAdvancedInputFilterSettings().equals(this.getAdvancedInputFilterSettings()) == false)
return false;
if (other.getAudioSelectorGroups() == null ^ this.getAudioSelectorGroups() == null)
return false;
if (other.getAudioSelectorGroups() != null && other.getAudioSelectorGroups().equals(this.getAudioSelectorGroups()) == false)
return false;
if (other.getAudioSelectors() == null ^ this.getAudioSelectors() == null)
return false;
if (other.getAudioSelectors() != null && other.getAudioSelectors().equals(this.getAudioSelectors()) == false)
return false;
if (other.getCaptionSelectors() == null ^ this.getCaptionSelectors() == null)
return false;
if (other.getCaptionSelectors() != null && other.getCaptionSelectors().equals(this.getCaptionSelectors()) == false)
return false;
if (other.getCrop() == null ^ this.getCrop() == null)
return false;
if (other.getCrop() != null && other.getCrop().equals(this.getCrop()) == false)
return false;
if (other.getDeblockFilter() == null ^ this.getDeblockFilter() == null)
return false;
if (other.getDeblockFilter() != null && other.getDeblockFilter().equals(this.getDeblockFilter()) == false)
return false;
if (other.getDecryptionSettings() == null ^ this.getDecryptionSettings() == null)
return false;
if (other.getDecryptionSettings() != null && other.getDecryptionSettings().equals(this.getDecryptionSettings()) == false)
return false;
if (other.getDenoiseFilter() == null ^ this.getDenoiseFilter() == null)
return false;
if (other.getDenoiseFilter() != null && other.getDenoiseFilter().equals(this.getDenoiseFilter()) == false)
return false;
if (other.getDolbyVisionMetadataXml() == null ^ this.getDolbyVisionMetadataXml() == null)
return false;
if (other.getDolbyVisionMetadataXml() != null && other.getDolbyVisionMetadataXml().equals(this.getDolbyVisionMetadataXml()) == false)
return false;
if (other.getFileInput() == null ^ this.getFileInput() == null)
return false;
if (other.getFileInput() != null && other.getFileInput().equals(this.getFileInput()) == false)
return false;
if (other.getFilterEnable() == null ^ this.getFilterEnable() == null)
return false;
if (other.getFilterEnable() != null && other.getFilterEnable().equals(this.getFilterEnable()) == false)
return false;
if (other.getFilterStrength() == null ^ this.getFilterStrength() == null)
return false;
if (other.getFilterStrength() != null && other.getFilterStrength().equals(this.getFilterStrength()) == false)
return false;
if (other.getImageInserter() == null ^ this.getImageInserter() == null)
return false;
if (other.getImageInserter() != null && other.getImageInserter().equals(this.getImageInserter()) == false)
return false;
if (other.getInputClippings() == null ^ this.getInputClippings() == null)
return false;
if (other.getInputClippings() != null && other.getInputClippings().equals(this.getInputClippings()) == false)
return false;
if (other.getInputScanType() == null ^ this.getInputScanType() == null)
return false;
if (other.getInputScanType() != null && other.getInputScanType().equals(this.getInputScanType()) == false)
return false;
if (other.getPosition() == null ^ this.getPosition() == null)
return false;
if (other.getPosition() != null && other.getPosition().equals(this.getPosition()) == false)
return false;
if (other.getProgramNumber() == null ^ this.getProgramNumber() == null)
return false;
if (other.getProgramNumber() != null && other.getProgramNumber().equals(this.getProgramNumber()) == false)
return false;
if (other.getPsiControl() == null ^ this.getPsiControl() == null)
return false;
if (other.getPsiControl() != null && other.getPsiControl().equals(this.getPsiControl()) == false)
return false;
if (other.getSupplementalImps() == null ^ this.getSupplementalImps() == null)
return false;
if (other.getSupplementalImps() != null && other.getSupplementalImps().equals(this.getSupplementalImps()) == false)
return false;
if (other.getTimecodeSource() == null ^ this.getTimecodeSource() == null)
return false;
if (other.getTimecodeSource() != null && other.getTimecodeSource().equals(this.getTimecodeSource()) == false)
return false;
if (other.getTimecodeStart() == null ^ this.getTimecodeStart() == null)
return false;
if (other.getTimecodeStart() != null && other.getTimecodeStart().equals(this.getTimecodeStart()) == false)
return false;
if (other.getVideoGenerator() == null ^ this.getVideoGenerator() == null)
return false;
if (other.getVideoGenerator() != null && other.getVideoGenerator().equals(this.getVideoGenerator()) == false)
return false;
if (other.getVideoSelector() == null ^ this.getVideoSelector() == null)
return false;
if (other.getVideoSelector() != null && other.getVideoSelector().equals(this.getVideoSelector()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getAdvancedInputFilter() == null) ? 0 : getAdvancedInputFilter().hashCode());
hashCode = prime * hashCode + ((getAdvancedInputFilterSettings() == null) ? 0 : getAdvancedInputFilterSettings().hashCode());
hashCode = prime * hashCode + ((getAudioSelectorGroups() == null) ? 0 : getAudioSelectorGroups().hashCode());
hashCode = prime * hashCode + ((getAudioSelectors() == null) ? 0 : getAudioSelectors().hashCode());
hashCode = prime * hashCode + ((getCaptionSelectors() == null) ? 0 : getCaptionSelectors().hashCode());
hashCode = prime * hashCode + ((getCrop() == null) ? 0 : getCrop().hashCode());
hashCode = prime * hashCode + ((getDeblockFilter() == null) ? 0 : getDeblockFilter().hashCode());
hashCode = prime * hashCode + ((getDecryptionSettings() == null) ? 0 : getDecryptionSettings().hashCode());
hashCode = prime * hashCode + ((getDenoiseFilter() == null) ? 0 : getDenoiseFilter().hashCode());
hashCode = prime * hashCode + ((getDolbyVisionMetadataXml() == null) ? 0 : getDolbyVisionMetadataXml().hashCode());
hashCode = prime * hashCode + ((getFileInput() == null) ? 0 : getFileInput().hashCode());
hashCode = prime * hashCode + ((getFilterEnable() == null) ? 0 : getFilterEnable().hashCode());
hashCode = prime * hashCode + ((getFilterStrength() == null) ? 0 : getFilterStrength().hashCode());
hashCode = prime * hashCode + ((getImageInserter() == null) ? 0 : getImageInserter().hashCode());
hashCode = prime * hashCode + ((getInputClippings() == null) ? 0 : getInputClippings().hashCode());
hashCode = prime * hashCode + ((getInputScanType() == null) ? 0 : getInputScanType().hashCode());
hashCode = prime * hashCode + ((getPosition() == null) ? 0 : getPosition().hashCode());
hashCode = prime * hashCode + ((getProgramNumber() == null) ? 0 : getProgramNumber().hashCode());
hashCode = prime * hashCode + ((getPsiControl() == null) ? 0 : getPsiControl().hashCode());
hashCode = prime * hashCode + ((getSupplementalImps() == null) ? 0 : getSupplementalImps().hashCode());
hashCode = prime * hashCode + ((getTimecodeSource() == null) ? 0 : getTimecodeSource().hashCode());
hashCode = prime * hashCode + ((getTimecodeStart() == null) ? 0 : getTimecodeStart().hashCode());
hashCode = prime * hashCode + ((getVideoGenerator() == null) ? 0 : getVideoGenerator().hashCode());
hashCode = prime * hashCode + ((getVideoSelector() == null) ? 0 : getVideoSelector().hashCode());
return hashCode;
}
@Override
public Input clone() {
try {
return (Input) 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.InputMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}