
com.amazonaws.services.elastictranscoder.model.JobOutput Maven / Gradle / Ivy
Show all versions of aws-java-sdk-elastictranscoder Show documentation
/*
* Copyright 2010-2016 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.elastictranscoder.model;
import java.io.Serializable;
/**
*
* Outputs recommended instead. If you specified one
* output for a job, information about that output. If you specified multiple
* outputs for a job, the Output
object lists information about the
* first output. This duplicates the information that is listed for the first
* output in the Outputs
object.
*
*/
public class JobOutput implements Serializable, Cloneable {
/**
*
* A sequential counter, starting with 1, that identifies an output among
* the outputs from the current job. In the Output syntax, this value is
* always 1.
*
*/
private String id;
/**
*
* The name to assign to the transcoded file. Elastic Transcoder saves the
* file in the Amazon S3 bucket specified by the OutputBucket
* object in the pipeline that is specified by the pipeline ID.
*
*/
private String key;
/**
*
* Whether you want Elastic Transcoder to create thumbnails for your videos
* and, if so, how you want Elastic Transcoder to name the files.
*
*
* If you don't want Elastic Transcoder to create thumbnails, specify "".
*
*
* If you do want Elastic Transcoder to create thumbnails, specify the
* information that you want to include in the file name for each thumbnail.
* You can specify the following values in any sequence:
*
*
* -
*
* {count}
(Required): If you want to create thumbnails,
* you must include {count}
in the
* ThumbnailPattern
object. Wherever you specify
* {count}
, Elastic Transcoder adds a five-digit sequence
* number (beginning with 00001) to thumbnail file names. The number
* indicates where a given thumbnail appears in the sequence of thumbnails
* for a transcoded file.
*
* If you specify a literal value and/or
* {resolution}
but you omit {count}
, Elastic
* Transcoder returns a validation error and does not create the
* job.
* -
*
* Literal values (Optional): You can specify literal values anywhere
* in the ThumbnailPattern
object. For example, you can include
* them as a file name prefix or as a delimiter between
* {resolution}
and {count}
.
*
*
* -
*
* {resolution}
(Optional): If you want Elastic
* Transcoder to include the resolution in the file name, include
* {resolution}
in the ThumbnailPattern
object.
*
*
*
*
* When creating thumbnails, Elastic Transcoder automatically saves the
* files in the format (.jpg or .png) that appears in the preset that you
* specified in the PresetID
value of
* CreateJobOutput
. Elastic Transcoder also appends the
* applicable file name extension.
*
*/
private String thumbnailPattern;
/**
*
* The encryption settings, if any, that you want Elastic Transcoder to
* apply to your thumbnail.
*
*/
private Encryption thumbnailEncryption;
/**
*
* The number of degrees clockwise by which you want Elastic Transcoder to
* rotate the output relative to the input. Enter one of the following
* values:
*
*
* auto
, 0
, 90
, 180
,
* 270
*
*
* The value auto
generally works only if the file that you're
* transcoding contains rotation metadata.
*
*/
private String rotate;
/**
*
* The value of the Id
object for the preset that you want to
* use for this job. The preset determines the audio, video, and thumbnail
* settings that Elastic Transcoder uses for transcoding. To use a preset
* that you created, specify the preset ID that Elastic Transcoder returned
* in the response when you created the preset. You can also use the Elastic
* Transcoder system presets, which you can get with
* ListPresets
.
*
*/
private String presetId;
/**
*
* (Outputs in Fragmented MP4 or MPEG-TS format
* only. If you specify a preset in PresetId
for
* which the value of Container
is fmp4
* (Fragmented MP4) or ts
(MPEG-TS),
* SegmentDuration
is the target maximum duration of each
* segment in seconds. For HLSv3
format playlists, each media
* segment is stored in a separate .ts
file. For
* HLSv4
and Smooth
playlists, all media segments
* for an output are stored in a single file. Each segment is approximately
* the length of the SegmentDuration
, though individual
* segments might be shorter or longer.
*
*
* The range of valid values is 1 to 60 seconds. If the duration of the
* video is not evenly divisible by SegmentDuration
, the
* duration of the last segment is the remainder of total
* length/SegmentDuration.
*
*
* Elastic Transcoder creates an output-specific playlist for each output
* HLS
output that you specify in OutputKeys. To add an output
* to the master playlist for this job, include it in the
* OutputKeys
of the associated playlist.
*
*/
private String segmentDuration;
/**
*
* The status of one output in a job. If you specified only one output for
* the job, Outputs:Status
is always the same as
* Job:Status
. If you specified more than one output:
*
* -
Job:Status
and Outputs:Status
for all of
* the outputs is Submitted until Elastic Transcoder starts to process the
* first output.
* - When Elastic Transcoder starts to process the first output,
*
Outputs:Status
for that output and Job:Status
* both change to Progressing. For each output, the value of
* Outputs:Status
remains Submitted until Elastic Transcoder
* starts to process the output.
* - Job:Status remains Progressing until all of the outputs reach a
* terminal status, either Complete or Error.
* - When all of the outputs reach a terminal status,
*
Job:Status
changes to Complete only if
* Outputs:Status
for all of the outputs is
* Complete
. If Outputs:Status
for one or more
* outputs is Error
, the terminal status for
* Job:Status
is also Error
.
*
* The value of Status
is one of the following:
* Submitted
, Progressing
, Complete
,
* Canceled
, or Error
.
*
*/
private String status;
/**
*
* Information that further explains Status
.
*
*/
private String statusDetail;
/**
*
* Duration of the output file, in seconds.
*
*/
private Long duration;
/**
*
* Specifies the width of the output file in pixels.
*
*/
private Integer width;
/**
*
* Height of the output file, in pixels.
*
*/
private Integer height;
/**
*
* Frame rate of the output file, in frames per second.
*
*/
private String frameRate;
/**
*
* File size of the output file, in bytes.
*
*/
private Long fileSize;
/**
*
* Duration of the output file, in milliseconds.
*
*/
private Long durationMillis;
/**
*
* Information about the watermarks that you want Elastic Transcoder to add
* to the video during transcoding. You can specify up to four watermarks
* for each output. Settings for each watermark must be defined in the
* preset that you specify in Preset
for the current output.
*
*
* Watermarks are added to the output video in the sequence in which you
* list them in the job output—the first watermark in the list is
* added to the output video first, the second watermark in the list is
* added next, and so on. As a result, if the settings in a preset cause
* Elastic Transcoder to place all watermarks in the same location, the
* second watermark that you add will cover the first one, the third one
* will cover the second, and the fourth one will cover the third.
*
*/
private com.amazonaws.internal.SdkInternalList watermarks;
/**
*
* The album art to be associated with the output file, if any.
*
*/
private JobAlbumArt albumArt;
/**
*
* You can create an output file that contains an excerpt from the input
* file. This excerpt, called a clip, can come from the beginning, middle,
* or end of the file. The Composition object contains settings for the
* clips that make up an output file. For the current release, you can only
* specify settings for a single clip per output file. The Composition
* object cannot be null.
*
*/
private com.amazonaws.internal.SdkInternalList composition;
/**
*
* You can configure Elastic Transcoder to transcode captions, or subtitles,
* from one format to another. All captions must be in UTF-8. Elastic
* Transcoder supports two types of captions:
*
*
* -
*
* Embedded: Embedded captions are included in the same file as the
* audio and video. Elastic Transcoder supports only one embedded caption
* per language, to a maximum of 300 embedded captions per file.
*
*
* Valid input values include: CEA-608 (EIA-608
, first
* non-empty channel only), CEA-708 (EIA-708
, first non-empty
* channel only), and mov-text
*
*
* Valid outputs include: mov-text
*
*
* Elastic Transcoder supports a maximum of one embedded format per output.
*
*
* -
*
* Sidecar: Sidecar captions are kept in a separate metadata file
* from the audio and video data. Sidecar captions require a player that is
* capable of understanding the relationship between the video file and the
* sidecar file. Elastic Transcoder supports only one sidecar caption per
* language, to a maximum of 20 sidecar captions per file.
*
*
* Valid input values include: dfxp
(first div element only),
* ebu-tt
, scc
, smpt
,
* srt
, ttml
(first div element only), and
* webvtt
*
*
* Valid outputs include: dfxp
(first div element only),
* scc
, srt
, and webvtt
.
*
*
*
*
* If you want ttml or smpte-tt compatible captions, specify dfxp as your
* output format.
*
*
* Elastic Transcoder does not support OCR (Optical Character Recognition),
* does not accept pictures as a valid input for captions, and is not
* available for audio-only transcoding. Elastic Transcoder does not
* preserve text formatting (for example, italics) during the transcoding
* process.
*
*
* To remove captions or leave the captions empty, set Captions
* to null. To pass through existing captions unchanged, set the
* MergePolicy
to MergeRetain
, and pass in a null
* CaptionSources
array.
*
*
* For more information on embedded files, see the Subtitles Wikipedia page.
*
*
* For more information on sidecar files, see the Extensible Metadata
* Platform and Sidecar file Wikipedia pages.
*
*/
private Captions captions;
/**
*
* The encryption settings, if any, that you want Elastic Transcoder to
* apply to your output files. If you choose to use encryption, you must
* specify a mode to use. If you choose not to use encryption, Elastic
* Transcoder will write an unencrypted file to your Amazon S3 bucket.
*
*/
private Encryption encryption;
/**
*
* If Elastic Transcoder used a preset with a
* ColorSpaceConversionMode
to transcode the output file, the
* AppliedColorSpaceConversion
parameter shows the conversion
* used. If no ColorSpaceConversionMode
was defined in the
* preset, this parameter will not be included in the job response.
*
*/
private String appliedColorSpaceConversion;
/**
*
* A sequential counter, starting with 1, that identifies an output among
* the outputs from the current job. In the Output syntax, this value is
* always 1.
*
*
* @param id
* A sequential counter, starting with 1, that identifies an output
* among the outputs from the current job. In the Output syntax, this
* value is always 1.
*/
public void setId(String id) {
this.id = id;
}
/**
*
* A sequential counter, starting with 1, that identifies an output among
* the outputs from the current job. In the Output syntax, this value is
* always 1.
*
*
* @return A sequential counter, starting with 1, that identifies an output
* among the outputs from the current job. In the Output syntax,
* this value is always 1.
*/
public String getId() {
return this.id;
}
/**
*
* A sequential counter, starting with 1, that identifies an output among
* the outputs from the current job. In the Output syntax, this value is
* always 1.
*
*
* @param id
* A sequential counter, starting with 1, that identifies an output
* among the outputs from the current job. In the Output syntax, this
* value is always 1.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withId(String id) {
setId(id);
return this;
}
/**
*
* The name to assign to the transcoded file. Elastic Transcoder saves the
* file in the Amazon S3 bucket specified by the OutputBucket
* object in the pipeline that is specified by the pipeline ID.
*
*
* @param key
* The name to assign to the transcoded file. Elastic Transcoder
* saves the file in the Amazon S3 bucket specified by the
* OutputBucket
object in the pipeline that is specified
* by the pipeline ID.
*/
public void setKey(String key) {
this.key = key;
}
/**
*
* The name to assign to the transcoded file. Elastic Transcoder saves the
* file in the Amazon S3 bucket specified by the OutputBucket
* object in the pipeline that is specified by the pipeline ID.
*
*
* @return The name to assign to the transcoded file. Elastic Transcoder
* saves the file in the Amazon S3 bucket specified by the
* OutputBucket
object in the pipeline that is
* specified by the pipeline ID.
*/
public String getKey() {
return this.key;
}
/**
*
* The name to assign to the transcoded file. Elastic Transcoder saves the
* file in the Amazon S3 bucket specified by the OutputBucket
* object in the pipeline that is specified by the pipeline ID.
*
*
* @param key
* The name to assign to the transcoded file. Elastic Transcoder
* saves the file in the Amazon S3 bucket specified by the
* OutputBucket
object in the pipeline that is specified
* by the pipeline ID.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withKey(String key) {
setKey(key);
return this;
}
/**
*
* Whether you want Elastic Transcoder to create thumbnails for your videos
* and, if so, how you want Elastic Transcoder to name the files.
*
*
* If you don't want Elastic Transcoder to create thumbnails, specify "".
*
*
* If you do want Elastic Transcoder to create thumbnails, specify the
* information that you want to include in the file name for each thumbnail.
* You can specify the following values in any sequence:
*
*
* -
*
* {count}
(Required): If you want to create thumbnails,
* you must include {count}
in the
* ThumbnailPattern
object. Wherever you specify
* {count}
, Elastic Transcoder adds a five-digit sequence
* number (beginning with 00001) to thumbnail file names. The number
* indicates where a given thumbnail appears in the sequence of thumbnails
* for a transcoded file.
*
* If you specify a literal value and/or
* {resolution}
but you omit {count}
, Elastic
* Transcoder returns a validation error and does not create the
* job.
* -
*
* Literal values (Optional): You can specify literal values anywhere
* in the ThumbnailPattern
object. For example, you can include
* them as a file name prefix or as a delimiter between
* {resolution}
and {count}
.
*
*
* -
*
* {resolution}
(Optional): If you want Elastic
* Transcoder to include the resolution in the file name, include
* {resolution}
in the ThumbnailPattern
object.
*
*
*
*
* When creating thumbnails, Elastic Transcoder automatically saves the
* files in the format (.jpg or .png) that appears in the preset that you
* specified in the PresetID
value of
* CreateJobOutput
. Elastic Transcoder also appends the
* applicable file name extension.
*
*
* @param thumbnailPattern
* Whether you want Elastic Transcoder to create thumbnails for your
* videos and, if so, how you want Elastic Transcoder to name the
* files.
*
* If you don't want Elastic Transcoder to create thumbnails, specify
* "".
*
*
* If you do want Elastic Transcoder to create thumbnails, specify
* the information that you want to include in the file name for each
* thumbnail. You can specify the following values in any sequence:
*
*
* -
*
* {count}
(Required): If you want to create
* thumbnails, you must include {count}
in the
* ThumbnailPattern
object. Wherever you specify
* {count}
, Elastic Transcoder adds a five-digit
* sequence number (beginning with 00001) to thumbnail file
* names. The number indicates where a given thumbnail appears in the
* sequence of thumbnails for a transcoded file.
*
* If you specify a literal value and/or
* {resolution}
but you omit {count}
,
* Elastic Transcoder returns a validation error and does not create
* the job.
* -
*
* Literal values (Optional): You can specify literal values
* anywhere in the ThumbnailPattern
object. For example,
* you can include them as a file name prefix or as a delimiter
* between {resolution}
and {count}
.
*
*
* -
*
* {resolution}
(Optional): If you want Elastic
* Transcoder to include the resolution in the file name, include
* {resolution}
in the ThumbnailPattern
* object.
*
*
*
*
* When creating thumbnails, Elastic Transcoder automatically saves
* the files in the format (.jpg or .png) that appears in the preset
* that you specified in the PresetID
value of
* CreateJobOutput
. Elastic Transcoder also appends the
* applicable file name extension.
*/
public void setThumbnailPattern(String thumbnailPattern) {
this.thumbnailPattern = thumbnailPattern;
}
/**
*
* Whether you want Elastic Transcoder to create thumbnails for your videos
* and, if so, how you want Elastic Transcoder to name the files.
*
*
* If you don't want Elastic Transcoder to create thumbnails, specify "".
*
*
* If you do want Elastic Transcoder to create thumbnails, specify the
* information that you want to include in the file name for each thumbnail.
* You can specify the following values in any sequence:
*
*
* -
*
* {count}
(Required): If you want to create thumbnails,
* you must include {count}
in the
* ThumbnailPattern
object. Wherever you specify
* {count}
, Elastic Transcoder adds a five-digit sequence
* number (beginning with 00001) to thumbnail file names. The number
* indicates where a given thumbnail appears in the sequence of thumbnails
* for a transcoded file.
*
* If you specify a literal value and/or
* {resolution}
but you omit {count}
, Elastic
* Transcoder returns a validation error and does not create the
* job.
* -
*
* Literal values (Optional): You can specify literal values anywhere
* in the ThumbnailPattern
object. For example, you can include
* them as a file name prefix or as a delimiter between
* {resolution}
and {count}
.
*
*
* -
*
* {resolution}
(Optional): If you want Elastic
* Transcoder to include the resolution in the file name, include
* {resolution}
in the ThumbnailPattern
object.
*
*
*
*
* When creating thumbnails, Elastic Transcoder automatically saves the
* files in the format (.jpg or .png) that appears in the preset that you
* specified in the PresetID
value of
* CreateJobOutput
. Elastic Transcoder also appends the
* applicable file name extension.
*
*
* @return Whether you want Elastic Transcoder to create thumbnails for your
* videos and, if so, how you want Elastic Transcoder to name the
* files.
*
* If you don't want Elastic Transcoder to create thumbnails,
* specify "".
*
*
* If you do want Elastic Transcoder to create thumbnails, specify
* the information that you want to include in the file name for
* each thumbnail. You can specify the following values in any
* sequence:
*
*
* -
*
* {count}
(Required): If you want to create
* thumbnails, you must include {count}
in the
* ThumbnailPattern
object. Wherever you specify
* {count}
, Elastic Transcoder adds a five-digit
* sequence number (beginning with 00001) to thumbnail file
* names. The number indicates where a given thumbnail appears in
* the sequence of thumbnails for a transcoded file.
*
* If you specify a literal value and/or
* {resolution}
but you omit {count}
,
* Elastic Transcoder returns a validation error and does not create
* the job.
* -
*
* Literal values (Optional): You can specify literal values
* anywhere in the ThumbnailPattern
object. For
* example, you can include them as a file name prefix or as a
* delimiter between {resolution}
and
* {count}
.
*
*
* -
*
* {resolution}
(Optional): If you want Elastic
* Transcoder to include the resolution in the file name, include
* {resolution}
in the ThumbnailPattern
* object.
*
*
*
*
* When creating thumbnails, Elastic Transcoder automatically saves
* the files in the format (.jpg or .png) that appears in the preset
* that you specified in the PresetID
value of
* CreateJobOutput
. Elastic Transcoder also appends the
* applicable file name extension.
*/
public String getThumbnailPattern() {
return this.thumbnailPattern;
}
/**
*
* Whether you want Elastic Transcoder to create thumbnails for your videos
* and, if so, how you want Elastic Transcoder to name the files.
*
*
* If you don't want Elastic Transcoder to create thumbnails, specify "".
*
*
* If you do want Elastic Transcoder to create thumbnails, specify the
* information that you want to include in the file name for each thumbnail.
* You can specify the following values in any sequence:
*
*
* -
*
* {count}
(Required): If you want to create thumbnails,
* you must include {count}
in the
* ThumbnailPattern
object. Wherever you specify
* {count}
, Elastic Transcoder adds a five-digit sequence
* number (beginning with 00001) to thumbnail file names. The number
* indicates where a given thumbnail appears in the sequence of thumbnails
* for a transcoded file.
*
* If you specify a literal value and/or
* {resolution}
but you omit {count}
, Elastic
* Transcoder returns a validation error and does not create the
* job.
* -
*
* Literal values (Optional): You can specify literal values anywhere
* in the ThumbnailPattern
object. For example, you can include
* them as a file name prefix or as a delimiter between
* {resolution}
and {count}
.
*
*
* -
*
* {resolution}
(Optional): If you want Elastic
* Transcoder to include the resolution in the file name, include
* {resolution}
in the ThumbnailPattern
object.
*
*
*
*
* When creating thumbnails, Elastic Transcoder automatically saves the
* files in the format (.jpg or .png) that appears in the preset that you
* specified in the PresetID
value of
* CreateJobOutput
. Elastic Transcoder also appends the
* applicable file name extension.
*
*
* @param thumbnailPattern
* Whether you want Elastic Transcoder to create thumbnails for your
* videos and, if so, how you want Elastic Transcoder to name the
* files.
*
* If you don't want Elastic Transcoder to create thumbnails, specify
* "".
*
*
* If you do want Elastic Transcoder to create thumbnails, specify
* the information that you want to include in the file name for each
* thumbnail. You can specify the following values in any sequence:
*
*
* -
*
* {count}
(Required): If you want to create
* thumbnails, you must include {count}
in the
* ThumbnailPattern
object. Wherever you specify
* {count}
, Elastic Transcoder adds a five-digit
* sequence number (beginning with 00001) to thumbnail file
* names. The number indicates where a given thumbnail appears in the
* sequence of thumbnails for a transcoded file.
*
* If you specify a literal value and/or
* {resolution}
but you omit {count}
,
* Elastic Transcoder returns a validation error and does not create
* the job.
* -
*
* Literal values (Optional): You can specify literal values
* anywhere in the ThumbnailPattern
object. For example,
* you can include them as a file name prefix or as a delimiter
* between {resolution}
and {count}
.
*
*
* -
*
* {resolution}
(Optional): If you want Elastic
* Transcoder to include the resolution in the file name, include
* {resolution}
in the ThumbnailPattern
* object.
*
*
*
*
* When creating thumbnails, Elastic Transcoder automatically saves
* the files in the format (.jpg or .png) that appears in the preset
* that you specified in the PresetID
value of
* CreateJobOutput
. Elastic Transcoder also appends the
* applicable file name extension.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withThumbnailPattern(String thumbnailPattern) {
setThumbnailPattern(thumbnailPattern);
return this;
}
/**
*
* The encryption settings, if any, that you want Elastic Transcoder to
* apply to your thumbnail.
*
*
* @param thumbnailEncryption
* The encryption settings, if any, that you want Elastic Transcoder
* to apply to your thumbnail.
*/
public void setThumbnailEncryption(Encryption thumbnailEncryption) {
this.thumbnailEncryption = thumbnailEncryption;
}
/**
*
* The encryption settings, if any, that you want Elastic Transcoder to
* apply to your thumbnail.
*
*
* @return The encryption settings, if any, that you want Elastic Transcoder
* to apply to your thumbnail.
*/
public Encryption getThumbnailEncryption() {
return this.thumbnailEncryption;
}
/**
*
* The encryption settings, if any, that you want Elastic Transcoder to
* apply to your thumbnail.
*
*
* @param thumbnailEncryption
* The encryption settings, if any, that you want Elastic Transcoder
* to apply to your thumbnail.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withThumbnailEncryption(Encryption thumbnailEncryption) {
setThumbnailEncryption(thumbnailEncryption);
return this;
}
/**
*
* The number of degrees clockwise by which you want Elastic Transcoder to
* rotate the output relative to the input. Enter one of the following
* values:
*
*
* auto
, 0
, 90
, 180
,
* 270
*
*
* The value auto
generally works only if the file that you're
* transcoding contains rotation metadata.
*
*
* @param rotate
* The number of degrees clockwise by which you want Elastic
* Transcoder to rotate the output relative to the input. Enter one
* of the following values:
*
* auto
, 0
, 90
,
* 180
, 270
*
*
* The value auto
generally works only if the file that
* you're transcoding contains rotation metadata.
*/
public void setRotate(String rotate) {
this.rotate = rotate;
}
/**
*
* The number of degrees clockwise by which you want Elastic Transcoder to
* rotate the output relative to the input. Enter one of the following
* values:
*
*
* auto
, 0
, 90
, 180
,
* 270
*
*
* The value auto
generally works only if the file that you're
* transcoding contains rotation metadata.
*
*
* @return The number of degrees clockwise by which you want Elastic
* Transcoder to rotate the output relative to the input. Enter one
* of the following values:
*
* auto
, 0
, 90
,
* 180
, 270
*
*
* The value auto
generally works only if the file that
* you're transcoding contains rotation metadata.
*/
public String getRotate() {
return this.rotate;
}
/**
*
* The number of degrees clockwise by which you want Elastic Transcoder to
* rotate the output relative to the input. Enter one of the following
* values:
*
*
* auto
, 0
, 90
, 180
,
* 270
*
*
* The value auto
generally works only if the file that you're
* transcoding contains rotation metadata.
*
*
* @param rotate
* The number of degrees clockwise by which you want Elastic
* Transcoder to rotate the output relative to the input. Enter one
* of the following values:
*
* auto
, 0
, 90
,
* 180
, 270
*
*
* The value auto
generally works only if the file that
* you're transcoding contains rotation metadata.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withRotate(String rotate) {
setRotate(rotate);
return this;
}
/**
*
* The value of the Id
object for the preset that you want to
* use for this job. The preset determines the audio, video, and thumbnail
* settings that Elastic Transcoder uses for transcoding. To use a preset
* that you created, specify the preset ID that Elastic Transcoder returned
* in the response when you created the preset. You can also use the Elastic
* Transcoder system presets, which you can get with
* ListPresets
.
*
*
* @param presetId
* The value of the Id
object for the preset that you
* want to use for this job. The preset determines the audio, video,
* and thumbnail settings that Elastic Transcoder uses for
* transcoding. To use a preset that you created, specify the preset
* ID that Elastic Transcoder returned in the response when you
* created the preset. You can also use the Elastic Transcoder system
* presets, which you can get with ListPresets
.
*/
public void setPresetId(String presetId) {
this.presetId = presetId;
}
/**
*
* The value of the Id
object for the preset that you want to
* use for this job. The preset determines the audio, video, and thumbnail
* settings that Elastic Transcoder uses for transcoding. To use a preset
* that you created, specify the preset ID that Elastic Transcoder returned
* in the response when you created the preset. You can also use the Elastic
* Transcoder system presets, which you can get with
* ListPresets
.
*
*
* @return The value of the Id
object for the preset that you
* want to use for this job. The preset determines the audio, video,
* and thumbnail settings that Elastic Transcoder uses for
* transcoding. To use a preset that you created, specify the preset
* ID that Elastic Transcoder returned in the response when you
* created the preset. You can also use the Elastic Transcoder
* system presets, which you can get with ListPresets
.
*/
public String getPresetId() {
return this.presetId;
}
/**
*
* The value of the Id
object for the preset that you want to
* use for this job. The preset determines the audio, video, and thumbnail
* settings that Elastic Transcoder uses for transcoding. To use a preset
* that you created, specify the preset ID that Elastic Transcoder returned
* in the response when you created the preset. You can also use the Elastic
* Transcoder system presets, which you can get with
* ListPresets
.
*
*
* @param presetId
* The value of the Id
object for the preset that you
* want to use for this job. The preset determines the audio, video,
* and thumbnail settings that Elastic Transcoder uses for
* transcoding. To use a preset that you created, specify the preset
* ID that Elastic Transcoder returned in the response when you
* created the preset. You can also use the Elastic Transcoder system
* presets, which you can get with ListPresets
.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withPresetId(String presetId) {
setPresetId(presetId);
return this;
}
/**
*
* (Outputs in Fragmented MP4 or MPEG-TS format
* only. If you specify a preset in PresetId
for
* which the value of Container
is fmp4
* (Fragmented MP4) or ts
(MPEG-TS),
* SegmentDuration
is the target maximum duration of each
* segment in seconds. For HLSv3
format playlists, each media
* segment is stored in a separate .ts
file. For
* HLSv4
and Smooth
playlists, all media segments
* for an output are stored in a single file. Each segment is approximately
* the length of the SegmentDuration
, though individual
* segments might be shorter or longer.
*
*
* The range of valid values is 1 to 60 seconds. If the duration of the
* video is not evenly divisible by SegmentDuration
, the
* duration of the last segment is the remainder of total
* length/SegmentDuration.
*
*
* Elastic Transcoder creates an output-specific playlist for each output
* HLS
output that you specify in OutputKeys. To add an output
* to the master playlist for this job, include it in the
* OutputKeys
of the associated playlist.
*
*
* @param segmentDuration
* (Outputs in Fragmented MP4 or MPEG-TS format only.If
* you specify a preset in PresetId
for which the value
* of Container
is fmp4
(Fragmented MP4) or
* ts
(MPEG-TS), SegmentDuration
is the
* target maximum duration of each segment in seconds. For
* HLSv3
format playlists, each media segment is stored
* in a separate .ts
file. For HLSv4
and
* Smooth
playlists, all media segments for an output
* are stored in a single file. Each segment is approximately the
* length of the SegmentDuration
, though individual
* segments might be shorter or longer.
*
* The range of valid values is 1 to 60 seconds. If the duration of
* the video is not evenly divisible by SegmentDuration
,
* the duration of the last segment is the remainder of total
* length/SegmentDuration.
*
*
* Elastic Transcoder creates an output-specific playlist for each
* output HLS
output that you specify in OutputKeys. To
* add an output to the master playlist for this job, include it in
* the OutputKeys
*/
public void setSegmentDuration(String segmentDuration) {
this.segmentDuration = segmentDuration;
}
/**
*
* (Outputs in Fragmented MP4 or MPEG-TS format
* only. If you specify a preset in PresetId
for
* which the value of Container
is fmp4
* (Fragmented MP4) or ts
(MPEG-TS),
* SegmentDuration
is the target maximum duration of each
* segment in seconds. For HLSv3
format playlists, each media
* segment is stored in a separate .ts
file. For
* HLSv4
and Smooth
playlists, all media segments
* for an output are stored in a single file. Each segment is approximately
* the length of the SegmentDuration
, though individual
* segments might be shorter or longer.
*
*
* The range of valid values is 1 to 60 seconds. If the duration of the
* video is not evenly divisible by SegmentDuration
, the
* duration of the last segment is the remainder of total
* length/SegmentDuration.
*
*
* Elastic Transcoder creates an output-specific playlist for each output
* HLS
output that you specify in OutputKeys. To add an output
* to the master playlist for this job, include it in the
* OutputKeys
of the associated playlist.
*
*
* @return (Outputs in Fragmented MP4 or MPEG-TS format only.If
* you specify a preset in PresetId
for which the value
* of Container
is fmp4
(Fragmented MP4)
* or ts
(MPEG-TS), SegmentDuration
is the
* target maximum duration of each segment in seconds. For
* HLSv3
format playlists, each media segment is stored
* in a separate .ts
file. For HLSv4
and
* Smooth
playlists, all media segments for an output
* are stored in a single file. Each segment is approximately the
* length of the SegmentDuration
, though individual
* segments might be shorter or longer.
*
* The range of valid values is 1 to 60 seconds. If the duration of
* the video is not evenly divisible by SegmentDuration
* , the duration of the last segment is the remainder of total
* length/SegmentDuration.
*
*
* Elastic Transcoder creates an output-specific playlist for each
* output HLS
output that you specify in OutputKeys. To
* add an output to the master playlist for this job, include it in
* the OutputKeys
*/
public String getSegmentDuration() {
return this.segmentDuration;
}
/**
*
* (Outputs in Fragmented MP4 or MPEG-TS format
* only. If you specify a preset in PresetId
for
* which the value of Container
is fmp4
* (Fragmented MP4) or ts
(MPEG-TS),
* SegmentDuration
is the target maximum duration of each
* segment in seconds. For HLSv3
format playlists, each media
* segment is stored in a separate .ts
file. For
* HLSv4
and Smooth
playlists, all media segments
* for an output are stored in a single file. Each segment is approximately
* the length of the SegmentDuration
, though individual
* segments might be shorter or longer.
*
*
* The range of valid values is 1 to 60 seconds. If the duration of the
* video is not evenly divisible by SegmentDuration
, the
* duration of the last segment is the remainder of total
* length/SegmentDuration.
*
*
* Elastic Transcoder creates an output-specific playlist for each output
* HLS
output that you specify in OutputKeys. To add an output
* to the master playlist for this job, include it in the
* OutputKeys
of the associated playlist.
*
*
* @param segmentDuration
* (Outputs in Fragmented MP4 or MPEG-TS format only.If
* you specify a preset in PresetId
for which the value
* of Container
is fmp4
(Fragmented MP4) or
* ts
(MPEG-TS), SegmentDuration
is the
* target maximum duration of each segment in seconds. For
* HLSv3
format playlists, each media segment is stored
* in a separate .ts
file. For HLSv4
and
* Smooth
playlists, all media segments for an output
* are stored in a single file. Each segment is approximately the
* length of the SegmentDuration
, though individual
* segments might be shorter or longer.
*
* The range of valid values is 1 to 60 seconds. If the duration of
* the video is not evenly divisible by SegmentDuration
,
* the duration of the last segment is the remainder of total
* length/SegmentDuration.
*
*
* Elastic Transcoder creates an output-specific playlist for each
* output HLS
output that you specify in OutputKeys. To
* add an output to the master playlist for this job, include it in
* the OutputKeys
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withSegmentDuration(String segmentDuration) {
setSegmentDuration(segmentDuration);
return this;
}
/**
*
* The status of one output in a job. If you specified only one output for
* the job, Outputs:Status
is always the same as
* Job:Status
. If you specified more than one output:
*
* -
Job:Status
and Outputs:Status
for all of
* the outputs is Submitted until Elastic Transcoder starts to process the
* first output.
* - When Elastic Transcoder starts to process the first output,
*
Outputs:Status
for that output and Job:Status
* both change to Progressing. For each output, the value of
* Outputs:Status
remains Submitted until Elastic Transcoder
* starts to process the output.
* - Job:Status remains Progressing until all of the outputs reach a
* terminal status, either Complete or Error.
* - When all of the outputs reach a terminal status,
*
Job:Status
changes to Complete only if
* Outputs:Status
for all of the outputs is
* Complete
. If Outputs:Status
for one or more
* outputs is Error
, the terminal status for
* Job:Status
is also Error
.
*
* The value of Status
is one of the following:
* Submitted
, Progressing
, Complete
,
* Canceled
, or Error
.
*
*
* @param status
* The status of one output in a job. If you specified only one
* output for the job, Outputs:Status
is always the same
* as Job:Status
. If you specified more than one output:
*
* -
Job:Status
and Outputs:Status
for
* all of the outputs is Submitted until Elastic Transcoder starts to
* process the first output.
* - When Elastic Transcoder starts to process the first output,
*
Outputs:Status
for that output and
* Job:Status
both change to Progressing. For each
* output, the value of Outputs:Status
remains Submitted
* until Elastic Transcoder starts to process the output.
* - Job:Status remains Progressing until all of the outputs reach
* a terminal status, either Complete or Error.
* - When all of the outputs reach a terminal status,
*
Job:Status
changes to Complete only if
* Outputs:Status
for all of the outputs is
* Complete
. If Outputs:Status
for one or
* more outputs is Error
, the terminal status for
* Job:Status
is also Error
.
*
* The value of Status
is one of the following:
* Submitted
, Progressing
,
* Complete
, Canceled
, or
* Error
.
*/
public void setStatus(String status) {
this.status = status;
}
/**
*
* The status of one output in a job. If you specified only one output for
* the job, Outputs:Status
is always the same as
* Job:Status
. If you specified more than one output:
*
* -
Job:Status
and Outputs:Status
for all of
* the outputs is Submitted until Elastic Transcoder starts to process the
* first output.
* - When Elastic Transcoder starts to process the first output,
*
Outputs:Status
for that output and Job:Status
* both change to Progressing. For each output, the value of
* Outputs:Status
remains Submitted until Elastic Transcoder
* starts to process the output.
* - Job:Status remains Progressing until all of the outputs reach a
* terminal status, either Complete or Error.
* - When all of the outputs reach a terminal status,
*
Job:Status
changes to Complete only if
* Outputs:Status
for all of the outputs is
* Complete
. If Outputs:Status
for one or more
* outputs is Error
, the terminal status for
* Job:Status
is also Error
.
*
* The value of Status
is one of the following:
* Submitted
, Progressing
, Complete
,
* Canceled
, or Error
.
*
*
* @return The status of one output in a job. If you specified only one
* output for the job, Outputs:Status
is always the
* same as Job:Status
. If you specified more than one
* output:
*
* -
Job:Status
and Outputs:Status
for
* all of the outputs is Submitted until Elastic Transcoder starts
* to process the first output.
* - When Elastic Transcoder starts to process the first output,
*
Outputs:Status
for that output and
* Job:Status
both change to Progressing. For each
* output, the value of Outputs:Status
remains
* Submitted until Elastic Transcoder starts to process the output.
* - Job:Status remains Progressing until all of the outputs reach
* a terminal status, either Complete or Error.
* - When all of the outputs reach a terminal status,
*
Job:Status
changes to Complete only if
* Outputs:Status
for all of the outputs is
* Complete
. If Outputs:Status
for one or
* more outputs is Error
, the terminal status for
* Job:Status
is also Error
.
*
* The value of Status
is one of the following:
* Submitted
, Progressing
,
* Complete
, Canceled
, or
* Error
.
*/
public String getStatus() {
return this.status;
}
/**
*
* The status of one output in a job. If you specified only one output for
* the job, Outputs:Status
is always the same as
* Job:Status
. If you specified more than one output:
*
* -
Job:Status
and Outputs:Status
for all of
* the outputs is Submitted until Elastic Transcoder starts to process the
* first output.
* - When Elastic Transcoder starts to process the first output,
*
Outputs:Status
for that output and Job:Status
* both change to Progressing. For each output, the value of
* Outputs:Status
remains Submitted until Elastic Transcoder
* starts to process the output.
* - Job:Status remains Progressing until all of the outputs reach a
* terminal status, either Complete or Error.
* - When all of the outputs reach a terminal status,
*
Job:Status
changes to Complete only if
* Outputs:Status
for all of the outputs is
* Complete
. If Outputs:Status
for one or more
* outputs is Error
, the terminal status for
* Job:Status
is also Error
.
*
* The value of Status
is one of the following:
* Submitted
, Progressing
, Complete
,
* Canceled
, or Error
.
*
*
* @param status
* The status of one output in a job. If you specified only one
* output for the job, Outputs:Status
is always the same
* as Job:Status
. If you specified more than one output:
*
* -
Job:Status
and Outputs:Status
for
* all of the outputs is Submitted until Elastic Transcoder starts to
* process the first output.
* - When Elastic Transcoder starts to process the first output,
*
Outputs:Status
for that output and
* Job:Status
both change to Progressing. For each
* output, the value of Outputs:Status
remains Submitted
* until Elastic Transcoder starts to process the output.
* - Job:Status remains Progressing until all of the outputs reach
* a terminal status, either Complete or Error.
* - When all of the outputs reach a terminal status,
*
Job:Status
changes to Complete only if
* Outputs:Status
for all of the outputs is
* Complete
. If Outputs:Status
for one or
* more outputs is Error
, the terminal status for
* Job:Status
is also Error
.
*
* The value of Status
is one of the following:
* Submitted
, Progressing
,
* Complete
, Canceled
, or
* Error
.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withStatus(String status) {
setStatus(status);
return this;
}
/**
*
* Information that further explains Status
.
*
*
* @param statusDetail
* Information that further explains Status
.
*/
public void setStatusDetail(String statusDetail) {
this.statusDetail = statusDetail;
}
/**
*
* Information that further explains Status
.
*
*
* @return Information that further explains Status
.
*/
public String getStatusDetail() {
return this.statusDetail;
}
/**
*
* Information that further explains Status
.
*
*
* @param statusDetail
* Information that further explains Status
.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withStatusDetail(String statusDetail) {
setStatusDetail(statusDetail);
return this;
}
/**
*
* Duration of the output file, in seconds.
*
*
* @param duration
* Duration of the output file, in seconds.
*/
public void setDuration(Long duration) {
this.duration = duration;
}
/**
*
* Duration of the output file, in seconds.
*
*
* @return Duration of the output file, in seconds.
*/
public Long getDuration() {
return this.duration;
}
/**
*
* Duration of the output file, in seconds.
*
*
* @param duration
* Duration of the output file, in seconds.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withDuration(Long duration) {
setDuration(duration);
return this;
}
/**
*
* Specifies the width of the output file in pixels.
*
*
* @param width
* Specifies the width of the output file in pixels.
*/
public void setWidth(Integer width) {
this.width = width;
}
/**
*
* Specifies the width of the output file in pixels.
*
*
* @return Specifies the width of the output file in pixels.
*/
public Integer getWidth() {
return this.width;
}
/**
*
* Specifies the width of the output file in pixels.
*
*
* @param width
* Specifies the width of the output file in pixels.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withWidth(Integer width) {
setWidth(width);
return this;
}
/**
*
* Height of the output file, in pixels.
*
*
* @param height
* Height of the output file, in pixels.
*/
public void setHeight(Integer height) {
this.height = height;
}
/**
*
* Height of the output file, in pixels.
*
*
* @return Height of the output file, in pixels.
*/
public Integer getHeight() {
return this.height;
}
/**
*
* Height of the output file, in pixels.
*
*
* @param height
* Height of the output file, in pixels.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withHeight(Integer height) {
setHeight(height);
return this;
}
/**
*
* Frame rate of the output file, in frames per second.
*
*
* @param frameRate
* Frame rate of the output file, in frames per second.
*/
public void setFrameRate(String frameRate) {
this.frameRate = frameRate;
}
/**
*
* Frame rate of the output file, in frames per second.
*
*
* @return Frame rate of the output file, in frames per second.
*/
public String getFrameRate() {
return this.frameRate;
}
/**
*
* Frame rate of the output file, in frames per second.
*
*
* @param frameRate
* Frame rate of the output file, in frames per second.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withFrameRate(String frameRate) {
setFrameRate(frameRate);
return this;
}
/**
*
* File size of the output file, in bytes.
*
*
* @param fileSize
* File size of the output file, in bytes.
*/
public void setFileSize(Long fileSize) {
this.fileSize = fileSize;
}
/**
*
* File size of the output file, in bytes.
*
*
* @return File size of the output file, in bytes.
*/
public Long getFileSize() {
return this.fileSize;
}
/**
*
* File size of the output file, in bytes.
*
*
* @param fileSize
* File size of the output file, in bytes.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withFileSize(Long fileSize) {
setFileSize(fileSize);
return this;
}
/**
*
* Duration of the output file, in milliseconds.
*
*
* @param durationMillis
* Duration of the output file, in milliseconds.
*/
public void setDurationMillis(Long durationMillis) {
this.durationMillis = durationMillis;
}
/**
*
* Duration of the output file, in milliseconds.
*
*
* @return Duration of the output file, in milliseconds.
*/
public Long getDurationMillis() {
return this.durationMillis;
}
/**
*
* Duration of the output file, in milliseconds.
*
*
* @param durationMillis
* Duration of the output file, in milliseconds.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withDurationMillis(Long durationMillis) {
setDurationMillis(durationMillis);
return this;
}
/**
*
* Information about the watermarks that you want Elastic Transcoder to add
* to the video during transcoding. You can specify up to four watermarks
* for each output. Settings for each watermark must be defined in the
* preset that you specify in Preset
for the current output.
*
*
* Watermarks are added to the output video in the sequence in which you
* list them in the job output—the first watermark in the list is
* added to the output video first, the second watermark in the list is
* added next, and so on. As a result, if the settings in a preset cause
* Elastic Transcoder to place all watermarks in the same location, the
* second watermark that you add will cover the first one, the third one
* will cover the second, and the fourth one will cover the third.
*
*
* @return Information about the watermarks that you want Elastic Transcoder
* to add to the video during transcoding. You can specify up to
* four watermarks for each output. Settings for each watermark must
* be defined in the preset that you specify in Preset
* for the current output.
*
* Watermarks are added to the output video in the sequence in which
* you list them in the job output—the first watermark in the
* list is added to the output video first, the second watermark in
* the list is added next, and so on. As a result, if the settings
* in a preset cause Elastic Transcoder to place all watermarks in
* the same location, the second watermark that you add will cover
* the first one, the third one will cover the second, and the
* fourth one will cover the third.
*/
public java.util.List getWatermarks() {
if (watermarks == null) {
watermarks = new com.amazonaws.internal.SdkInternalList();
}
return watermarks;
}
/**
*
* Information about the watermarks that you want Elastic Transcoder to add
* to the video during transcoding. You can specify up to four watermarks
* for each output. Settings for each watermark must be defined in the
* preset that you specify in Preset
for the current output.
*
*
* Watermarks are added to the output video in the sequence in which you
* list them in the job output—the first watermark in the list is
* added to the output video first, the second watermark in the list is
* added next, and so on. As a result, if the settings in a preset cause
* Elastic Transcoder to place all watermarks in the same location, the
* second watermark that you add will cover the first one, the third one
* will cover the second, and the fourth one will cover the third.
*
*
* @param watermarks
* Information about the watermarks that you want Elastic Transcoder
* to add to the video during transcoding. You can specify up to four
* watermarks for each output. Settings for each watermark must be
* defined in the preset that you specify in Preset
for
* the current output.
*
* Watermarks are added to the output video in the sequence in which
* you list them in the job output—the first watermark in the
* list is added to the output video first, the second watermark in
* the list is added next, and so on. As a result, if the settings in
* a preset cause Elastic Transcoder to place all watermarks in the
* same location, the second watermark that you add will cover the
* first one, the third one will cover the second, and the fourth one
* will cover the third.
*/
public void setWatermarks(java.util.Collection watermarks) {
if (watermarks == null) {
this.watermarks = null;
return;
}
this.watermarks = new com.amazonaws.internal.SdkInternalList(
watermarks);
}
/**
*
* Information about the watermarks that you want Elastic Transcoder to add
* to the video during transcoding. You can specify up to four watermarks
* for each output. Settings for each watermark must be defined in the
* preset that you specify in Preset
for the current output.
*
*
* Watermarks are added to the output video in the sequence in which you
* list them in the job output—the first watermark in the list is
* added to the output video first, the second watermark in the list is
* added next, and so on. As a result, if the settings in a preset cause
* Elastic Transcoder to place all watermarks in the same location, the
* second watermark that you add will cover the first one, the third one
* will cover the second, and the fourth one will cover the third.
*
*
* NOTE: This method appends the values to the existing list (if
* any). Use {@link #setWatermarks(java.util.Collection)} or
* {@link #withWatermarks(java.util.Collection)} if you want to override the
* existing values.
*
*
* @param watermarks
* Information about the watermarks that you want Elastic Transcoder
* to add to the video during transcoding. You can specify up to four
* watermarks for each output. Settings for each watermark must be
* defined in the preset that you specify in Preset
for
* the current output.
*
* Watermarks are added to the output video in the sequence in which
* you list them in the job output—the first watermark in the
* list is added to the output video first, the second watermark in
* the list is added next, and so on. As a result, if the settings in
* a preset cause Elastic Transcoder to place all watermarks in the
* same location, the second watermark that you add will cover the
* first one, the third one will cover the second, and the fourth one
* will cover the third.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withWatermarks(JobWatermark... watermarks) {
if (this.watermarks == null) {
setWatermarks(new com.amazonaws.internal.SdkInternalList(
watermarks.length));
}
for (JobWatermark ele : watermarks) {
this.watermarks.add(ele);
}
return this;
}
/**
*
* Information about the watermarks that you want Elastic Transcoder to add
* to the video during transcoding. You can specify up to four watermarks
* for each output. Settings for each watermark must be defined in the
* preset that you specify in Preset
for the current output.
*
*
* Watermarks are added to the output video in the sequence in which you
* list them in the job output—the first watermark in the list is
* added to the output video first, the second watermark in the list is
* added next, and so on. As a result, if the settings in a preset cause
* Elastic Transcoder to place all watermarks in the same location, the
* second watermark that you add will cover the first one, the third one
* will cover the second, and the fourth one will cover the third.
*
*
* @param watermarks
* Information about the watermarks that you want Elastic Transcoder
* to add to the video during transcoding. You can specify up to four
* watermarks for each output. Settings for each watermark must be
* defined in the preset that you specify in Preset
for
* the current output.
*
* Watermarks are added to the output video in the sequence in which
* you list them in the job output—the first watermark in the
* list is added to the output video first, the second watermark in
* the list is added next, and so on. As a result, if the settings in
* a preset cause Elastic Transcoder to place all watermarks in the
* same location, the second watermark that you add will cover the
* first one, the third one will cover the second, and the fourth one
* will cover the third.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withWatermarks(
java.util.Collection watermarks) {
setWatermarks(watermarks);
return this;
}
/**
*
* The album art to be associated with the output file, if any.
*
*
* @param albumArt
* The album art to be associated with the output file, if any.
*/
public void setAlbumArt(JobAlbumArt albumArt) {
this.albumArt = albumArt;
}
/**
*
* The album art to be associated with the output file, if any.
*
*
* @return The album art to be associated with the output file, if any.
*/
public JobAlbumArt getAlbumArt() {
return this.albumArt;
}
/**
*
* The album art to be associated with the output file, if any.
*
*
* @param albumArt
* The album art to be associated with the output file, if any.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withAlbumArt(JobAlbumArt albumArt) {
setAlbumArt(albumArt);
return this;
}
/**
*
* You can create an output file that contains an excerpt from the input
* file. This excerpt, called a clip, can come from the beginning, middle,
* or end of the file. The Composition object contains settings for the
* clips that make up an output file. For the current release, you can only
* specify settings for a single clip per output file. The Composition
* object cannot be null.
*
*
* @return You can create an output file that contains an excerpt from the
* input file. This excerpt, called a clip, can come from the
* beginning, middle, or end of the file. The Composition object
* contains settings for the clips that make up an output file. For
* the current release, you can only specify settings for a single
* clip per output file. The Composition object cannot be null.
*/
public java.util.List getComposition() {
if (composition == null) {
composition = new com.amazonaws.internal.SdkInternalList();
}
return composition;
}
/**
*
* You can create an output file that contains an excerpt from the input
* file. This excerpt, called a clip, can come from the beginning, middle,
* or end of the file. The Composition object contains settings for the
* clips that make up an output file. For the current release, you can only
* specify settings for a single clip per output file. The Composition
* object cannot be null.
*
*
* @param composition
* You can create an output file that contains an excerpt from the
* input file. This excerpt, called a clip, can come from the
* beginning, middle, or end of the file. The Composition object
* contains settings for the clips that make up an output file. For
* the current release, you can only specify settings for a single
* clip per output file. The Composition object cannot be null.
*/
public void setComposition(java.util.Collection composition) {
if (composition == null) {
this.composition = null;
return;
}
this.composition = new com.amazonaws.internal.SdkInternalList(
composition);
}
/**
*
* You can create an output file that contains an excerpt from the input
* file. This excerpt, called a clip, can come from the beginning, middle,
* or end of the file. The Composition object contains settings for the
* clips that make up an output file. For the current release, you can only
* specify settings for a single clip per output file. The Composition
* object cannot be null.
*
*
* NOTE: This method appends the values to the existing list (if
* any). Use {@link #setComposition(java.util.Collection)} or
* {@link #withComposition(java.util.Collection)} if you want to override
* the existing values.
*
*
* @param composition
* You can create an output file that contains an excerpt from the
* input file. This excerpt, called a clip, can come from the
* beginning, middle, or end of the file. The Composition object
* contains settings for the clips that make up an output file. For
* the current release, you can only specify settings for a single
* clip per output file. The Composition object cannot be null.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withComposition(Clip... composition) {
if (this.composition == null) {
setComposition(new com.amazonaws.internal.SdkInternalList(
composition.length));
}
for (Clip ele : composition) {
this.composition.add(ele);
}
return this;
}
/**
*
* You can create an output file that contains an excerpt from the input
* file. This excerpt, called a clip, can come from the beginning, middle,
* or end of the file. The Composition object contains settings for the
* clips that make up an output file. For the current release, you can only
* specify settings for a single clip per output file. The Composition
* object cannot be null.
*
*
* @param composition
* You can create an output file that contains an excerpt from the
* input file. This excerpt, called a clip, can come from the
* beginning, middle, or end of the file. The Composition object
* contains settings for the clips that make up an output file. For
* the current release, you can only specify settings for a single
* clip per output file. The Composition object cannot be null.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withComposition(java.util.Collection composition) {
setComposition(composition);
return this;
}
/**
*
* You can configure Elastic Transcoder to transcode captions, or subtitles,
* from one format to another. All captions must be in UTF-8. Elastic
* Transcoder supports two types of captions:
*
*
* -
*
* Embedded: Embedded captions are included in the same file as the
* audio and video. Elastic Transcoder supports only one embedded caption
* per language, to a maximum of 300 embedded captions per file.
*
*
* Valid input values include: CEA-608 (EIA-608
, first
* non-empty channel only), CEA-708 (EIA-708
, first non-empty
* channel only), and mov-text
*
*
* Valid outputs include: mov-text
*
*
* Elastic Transcoder supports a maximum of one embedded format per output.
*
*
* -
*
* Sidecar: Sidecar captions are kept in a separate metadata file
* from the audio and video data. Sidecar captions require a player that is
* capable of understanding the relationship between the video file and the
* sidecar file. Elastic Transcoder supports only one sidecar caption per
* language, to a maximum of 20 sidecar captions per file.
*
*
* Valid input values include: dfxp
(first div element only),
* ebu-tt
, scc
, smpt
,
* srt
, ttml
(first div element only), and
* webvtt
*
*
* Valid outputs include: dfxp
(first div element only),
* scc
, srt
, and webvtt
.
*
*
*
*
* If you want ttml or smpte-tt compatible captions, specify dfxp as your
* output format.
*
*
* Elastic Transcoder does not support OCR (Optical Character Recognition),
* does not accept pictures as a valid input for captions, and is not
* available for audio-only transcoding. Elastic Transcoder does not
* preserve text formatting (for example, italics) during the transcoding
* process.
*
*
* To remove captions or leave the captions empty, set Captions
* to null. To pass through existing captions unchanged, set the
* MergePolicy
to MergeRetain
, and pass in a null
* CaptionSources
array.
*
*
* For more information on embedded files, see the Subtitles Wikipedia page.
*
*
* For more information on sidecar files, see the Extensible Metadata
* Platform and Sidecar file Wikipedia pages.
*
*
* @param captions
* You can configure Elastic Transcoder to transcode captions, or
* subtitles, from one format to another. All captions must be in
* UTF-8. Elastic Transcoder supports two types of captions:
*
* -
*
* Embedded: Embedded captions are included in the same file
* as the audio and video. Elastic Transcoder supports only one
* embedded caption per language, to a maximum of 300 embedded
* captions per file.
*
*
* Valid input values include: CEA-608 (EIA-608
, first
* non-empty channel only), CEA-708 (EIA-708
, first
* non-empty channel only), and mov-text
*
*
* Valid outputs include: mov-text
*
*
* Elastic Transcoder supports a maximum of one embedded format per
* output.
*
*
* -
*
* Sidecar: Sidecar captions are kept in a separate metadata
* file from the audio and video data. Sidecar captions require a
* player that is capable of understanding the relationship between
* the video file and the sidecar file. Elastic Transcoder supports
* only one sidecar caption per language, to a maximum of 20 sidecar
* captions per file.
*
*
* Valid input values include: dfxp
(first div element
* only), ebu-tt
, scc
, smpt
,
* srt
, ttml
(first div element only), and
* webvtt
*
*
* Valid outputs include: dfxp
(first div element only),
* scc
, srt
, and webvtt
.
*
*
*
*
* If you want ttml or smpte-tt compatible captions, specify dfxp as
* your output format.
*
*
* Elastic Transcoder does not support OCR (Optical Character
* Recognition), does not accept pictures as a valid input for
* captions, and is not available for audio-only transcoding. Elastic
* Transcoder does not preserve text formatting (for example,
* italics) during the transcoding process.
*
*
* To remove captions or leave the captions empty, set
* Captions
to null. To pass through existing captions
* unchanged, set the MergePolicy
to
* MergeRetain
, and pass in a null
* CaptionSources
array.
*
*
* For more information on embedded files, see the Subtitles
* Wikipedia page.
*
*
* For more information on sidecar files, see the Extensible Metadata
* Platform and Sidecar file Wikipedia pages.
*/
public void setCaptions(Captions captions) {
this.captions = captions;
}
/**
*
* You can configure Elastic Transcoder to transcode captions, or subtitles,
* from one format to another. All captions must be in UTF-8. Elastic
* Transcoder supports two types of captions:
*
*
* -
*
* Embedded: Embedded captions are included in the same file as the
* audio and video. Elastic Transcoder supports only one embedded caption
* per language, to a maximum of 300 embedded captions per file.
*
*
* Valid input values include: CEA-608 (EIA-608
, first
* non-empty channel only), CEA-708 (EIA-708
, first non-empty
* channel only), and mov-text
*
*
* Valid outputs include: mov-text
*
*
* Elastic Transcoder supports a maximum of one embedded format per output.
*
*
* -
*
* Sidecar: Sidecar captions are kept in a separate metadata file
* from the audio and video data. Sidecar captions require a player that is
* capable of understanding the relationship between the video file and the
* sidecar file. Elastic Transcoder supports only one sidecar caption per
* language, to a maximum of 20 sidecar captions per file.
*
*
* Valid input values include: dfxp
(first div element only),
* ebu-tt
, scc
, smpt
,
* srt
, ttml
(first div element only), and
* webvtt
*
*
* Valid outputs include: dfxp
(first div element only),
* scc
, srt
, and webvtt
.
*
*
*
*
* If you want ttml or smpte-tt compatible captions, specify dfxp as your
* output format.
*
*
* Elastic Transcoder does not support OCR (Optical Character Recognition),
* does not accept pictures as a valid input for captions, and is not
* available for audio-only transcoding. Elastic Transcoder does not
* preserve text formatting (for example, italics) during the transcoding
* process.
*
*
* To remove captions or leave the captions empty, set Captions
* to null. To pass through existing captions unchanged, set the
* MergePolicy
to MergeRetain
, and pass in a null
* CaptionSources
array.
*
*
* For more information on embedded files, see the Subtitles Wikipedia page.
*
*
* For more information on sidecar files, see the Extensible Metadata
* Platform and Sidecar file Wikipedia pages.
*
*
* @return You can configure Elastic Transcoder to transcode captions, or
* subtitles, from one format to another. All captions must be in
* UTF-8. Elastic Transcoder supports two types of captions:
*
* -
*
* Embedded: Embedded captions are included in the same file
* as the audio and video. Elastic Transcoder supports only one
* embedded caption per language, to a maximum of 300 embedded
* captions per file.
*
*
* Valid input values include: CEA-608 (EIA-608
, first
* non-empty channel only), CEA-708 (EIA-708
, first
* non-empty channel only), and mov-text
*
*
* Valid outputs include: mov-text
*
*
* Elastic Transcoder supports a maximum of one embedded format per
* output.
*
*
* -
*
* Sidecar: Sidecar captions are kept in a separate metadata
* file from the audio and video data. Sidecar captions require a
* player that is capable of understanding the relationship between
* the video file and the sidecar file. Elastic Transcoder supports
* only one sidecar caption per language, to a maximum of 20 sidecar
* captions per file.
*
*
* Valid input values include: dfxp
(first div element
* only), ebu-tt
, scc
, smpt
,
* srt
, ttml
(first div element only), and
* webvtt
*
*
* Valid outputs include: dfxp
(first div element
* only), scc
, srt
, and
* webvtt
.
*
*
*
*
* If you want ttml or smpte-tt compatible captions, specify dfxp as
* your output format.
*
*
* Elastic Transcoder does not support OCR (Optical Character
* Recognition), does not accept pictures as a valid input for
* captions, and is not available for audio-only transcoding.
* Elastic Transcoder does not preserve text formatting (for
* example, italics) during the transcoding process.
*
*
* To remove captions or leave the captions empty, set
* Captions
to null. To pass through existing captions
* unchanged, set the MergePolicy
to
* MergeRetain
, and pass in a null
* CaptionSources
array.
*
*
* For more information on embedded files, see the Subtitles
* Wikipedia page.
*
*
* For more information on sidecar files, see the Extensible
* Metadata Platform and Sidecar file Wikipedia pages.
*/
public Captions getCaptions() {
return this.captions;
}
/**
*
* You can configure Elastic Transcoder to transcode captions, or subtitles,
* from one format to another. All captions must be in UTF-8. Elastic
* Transcoder supports two types of captions:
*
*
* -
*
* Embedded: Embedded captions are included in the same file as the
* audio and video. Elastic Transcoder supports only one embedded caption
* per language, to a maximum of 300 embedded captions per file.
*
*
* Valid input values include: CEA-608 (EIA-608
, first
* non-empty channel only), CEA-708 (EIA-708
, first non-empty
* channel only), and mov-text
*
*
* Valid outputs include: mov-text
*
*
* Elastic Transcoder supports a maximum of one embedded format per output.
*
*
* -
*
* Sidecar: Sidecar captions are kept in a separate metadata file
* from the audio and video data. Sidecar captions require a player that is
* capable of understanding the relationship between the video file and the
* sidecar file. Elastic Transcoder supports only one sidecar caption per
* language, to a maximum of 20 sidecar captions per file.
*
*
* Valid input values include: dfxp
(first div element only),
* ebu-tt
, scc
, smpt
,
* srt
, ttml
(first div element only), and
* webvtt
*
*
* Valid outputs include: dfxp
(first div element only),
* scc
, srt
, and webvtt
.
*
*
*
*
* If you want ttml or smpte-tt compatible captions, specify dfxp as your
* output format.
*
*
* Elastic Transcoder does not support OCR (Optical Character Recognition),
* does not accept pictures as a valid input for captions, and is not
* available for audio-only transcoding. Elastic Transcoder does not
* preserve text formatting (for example, italics) during the transcoding
* process.
*
*
* To remove captions or leave the captions empty, set Captions
* to null. To pass through existing captions unchanged, set the
* MergePolicy
to MergeRetain
, and pass in a null
* CaptionSources
array.
*
*
* For more information on embedded files, see the Subtitles Wikipedia page.
*
*
* For more information on sidecar files, see the Extensible Metadata
* Platform and Sidecar file Wikipedia pages.
*
*
* @param captions
* You can configure Elastic Transcoder to transcode captions, or
* subtitles, from one format to another. All captions must be in
* UTF-8. Elastic Transcoder supports two types of captions:
*
* -
*
* Embedded: Embedded captions are included in the same file
* as the audio and video. Elastic Transcoder supports only one
* embedded caption per language, to a maximum of 300 embedded
* captions per file.
*
*
* Valid input values include: CEA-608 (EIA-608
, first
* non-empty channel only), CEA-708 (EIA-708
, first
* non-empty channel only), and mov-text
*
*
* Valid outputs include: mov-text
*
*
* Elastic Transcoder supports a maximum of one embedded format per
* output.
*
*
* -
*
* Sidecar: Sidecar captions are kept in a separate metadata
* file from the audio and video data. Sidecar captions require a
* player that is capable of understanding the relationship between
* the video file and the sidecar file. Elastic Transcoder supports
* only one sidecar caption per language, to a maximum of 20 sidecar
* captions per file.
*
*
* Valid input values include: dfxp
(first div element
* only), ebu-tt
, scc
, smpt
,
* srt
, ttml
(first div element only), and
* webvtt
*
*
* Valid outputs include: dfxp
(first div element only),
* scc
, srt
, and webvtt
.
*
*
*
*
* If you want ttml or smpte-tt compatible captions, specify dfxp as
* your output format.
*
*
* Elastic Transcoder does not support OCR (Optical Character
* Recognition), does not accept pictures as a valid input for
* captions, and is not available for audio-only transcoding. Elastic
* Transcoder does not preserve text formatting (for example,
* italics) during the transcoding process.
*
*
* To remove captions or leave the captions empty, set
* Captions
to null. To pass through existing captions
* unchanged, set the MergePolicy
to
* MergeRetain
, and pass in a null
* CaptionSources
array.
*
*
* For more information on embedded files, see the Subtitles
* Wikipedia page.
*
*
* For more information on sidecar files, see the Extensible Metadata
* Platform and Sidecar file Wikipedia pages.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withCaptions(Captions captions) {
setCaptions(captions);
return this;
}
/**
*
* The encryption settings, if any, that you want Elastic Transcoder to
* apply to your output files. If you choose to use encryption, you must
* specify a mode to use. If you choose not to use encryption, Elastic
* Transcoder will write an unencrypted file to your Amazon S3 bucket.
*
*
* @param encryption
* The encryption settings, if any, that you want Elastic Transcoder
* to apply to your output files. If you choose to use encryption,
* you must specify a mode to use. If you choose not to use
* encryption, Elastic Transcoder will write an unencrypted file to
* your Amazon S3 bucket.
*/
public void setEncryption(Encryption encryption) {
this.encryption = encryption;
}
/**
*
* The encryption settings, if any, that you want Elastic Transcoder to
* apply to your output files. If you choose to use encryption, you must
* specify a mode to use. If you choose not to use encryption, Elastic
* Transcoder will write an unencrypted file to your Amazon S3 bucket.
*
*
* @return The encryption settings, if any, that you want Elastic Transcoder
* to apply to your output files. If you choose to use encryption,
* you must specify a mode to use. If you choose not to use
* encryption, Elastic Transcoder will write an unencrypted file to
* your Amazon S3 bucket.
*/
public Encryption getEncryption() {
return this.encryption;
}
/**
*
* The encryption settings, if any, that you want Elastic Transcoder to
* apply to your output files. If you choose to use encryption, you must
* specify a mode to use. If you choose not to use encryption, Elastic
* Transcoder will write an unencrypted file to your Amazon S3 bucket.
*
*
* @param encryption
* The encryption settings, if any, that you want Elastic Transcoder
* to apply to your output files. If you choose to use encryption,
* you must specify a mode to use. If you choose not to use
* encryption, Elastic Transcoder will write an unencrypted file to
* your Amazon S3 bucket.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withEncryption(Encryption encryption) {
setEncryption(encryption);
return this;
}
/**
*
* If Elastic Transcoder used a preset with a
* ColorSpaceConversionMode
to transcode the output file, the
* AppliedColorSpaceConversion
parameter shows the conversion
* used. If no ColorSpaceConversionMode
was defined in the
* preset, this parameter will not be included in the job response.
*
*
* @param appliedColorSpaceConversion
* If Elastic Transcoder used a preset with a
* ColorSpaceConversionMode
to transcode the output
* file, the AppliedColorSpaceConversion
parameter shows
* the conversion used. If no ColorSpaceConversionMode
* was defined in the preset, this parameter will not be included in
* the job response.
*/
public void setAppliedColorSpaceConversion(
String appliedColorSpaceConversion) {
this.appliedColorSpaceConversion = appliedColorSpaceConversion;
}
/**
*
* If Elastic Transcoder used a preset with a
* ColorSpaceConversionMode
to transcode the output file, the
* AppliedColorSpaceConversion
parameter shows the conversion
* used. If no ColorSpaceConversionMode
was defined in the
* preset, this parameter will not be included in the job response.
*
*
* @return If Elastic Transcoder used a preset with a
* ColorSpaceConversionMode
to transcode the output
* file, the AppliedColorSpaceConversion
parameter
* shows the conversion used. If no
* ColorSpaceConversionMode
was defined in the preset,
* this parameter will not be included in the job response.
*/
public String getAppliedColorSpaceConversion() {
return this.appliedColorSpaceConversion;
}
/**
*
* If Elastic Transcoder used a preset with a
* ColorSpaceConversionMode
to transcode the output file, the
* AppliedColorSpaceConversion
parameter shows the conversion
* used. If no ColorSpaceConversionMode
was defined in the
* preset, this parameter will not be included in the job response.
*
*
* @param appliedColorSpaceConversion
* If Elastic Transcoder used a preset with a
* ColorSpaceConversionMode
to transcode the output
* file, the AppliedColorSpaceConversion
parameter shows
* the conversion used. If no ColorSpaceConversionMode
* was defined in the preset, this parameter will not be included in
* the job response.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public JobOutput withAppliedColorSpaceConversion(
String appliedColorSpaceConversion) {
setAppliedColorSpaceConversion(appliedColorSpaceConversion);
return this;
}
/**
* Returns a string representation of this object; useful for testing and
* debugging.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getId() != null)
sb.append("Id: " + getId() + ",");
if (getKey() != null)
sb.append("Key: " + getKey() + ",");
if (getThumbnailPattern() != null)
sb.append("ThumbnailPattern: " + getThumbnailPattern() + ",");
if (getThumbnailEncryption() != null)
sb.append("ThumbnailEncryption: " + getThumbnailEncryption() + ",");
if (getRotate() != null)
sb.append("Rotate: " + getRotate() + ",");
if (getPresetId() != null)
sb.append("PresetId: " + getPresetId() + ",");
if (getSegmentDuration() != null)
sb.append("SegmentDuration: " + getSegmentDuration() + ",");
if (getStatus() != null)
sb.append("Status: " + getStatus() + ",");
if (getStatusDetail() != null)
sb.append("StatusDetail: " + getStatusDetail() + ",");
if (getDuration() != null)
sb.append("Duration: " + getDuration() + ",");
if (getWidth() != null)
sb.append("Width: " + getWidth() + ",");
if (getHeight() != null)
sb.append("Height: " + getHeight() + ",");
if (getFrameRate() != null)
sb.append("FrameRate: " + getFrameRate() + ",");
if (getFileSize() != null)
sb.append("FileSize: " + getFileSize() + ",");
if (getDurationMillis() != null)
sb.append("DurationMillis: " + getDurationMillis() + ",");
if (getWatermarks() != null)
sb.append("Watermarks: " + getWatermarks() + ",");
if (getAlbumArt() != null)
sb.append("AlbumArt: " + getAlbumArt() + ",");
if (getComposition() != null)
sb.append("Composition: " + getComposition() + ",");
if (getCaptions() != null)
sb.append("Captions: " + getCaptions() + ",");
if (getEncryption() != null)
sb.append("Encryption: " + getEncryption() + ",");
if (getAppliedColorSpaceConversion() != null)
sb.append("AppliedColorSpaceConversion: "
+ getAppliedColorSpaceConversion());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof JobOutput == false)
return false;
JobOutput other = (JobOutput) obj;
if (other.getId() == null ^ this.getId() == null)
return false;
if (other.getId() != null
&& other.getId().equals(this.getId()) == false)
return false;
if (other.getKey() == null ^ this.getKey() == null)
return false;
if (other.getKey() != null
&& other.getKey().equals(this.getKey()) == false)
return false;
if (other.getThumbnailPattern() == null
^ this.getThumbnailPattern() == null)
return false;
if (other.getThumbnailPattern() != null
&& other.getThumbnailPattern().equals(
this.getThumbnailPattern()) == false)
return false;
if (other.getThumbnailEncryption() == null
^ this.getThumbnailEncryption() == null)
return false;
if (other.getThumbnailEncryption() != null
&& other.getThumbnailEncryption().equals(
this.getThumbnailEncryption()) == false)
return false;
if (other.getRotate() == null ^ this.getRotate() == null)
return false;
if (other.getRotate() != null
&& other.getRotate().equals(this.getRotate()) == false)
return false;
if (other.getPresetId() == null ^ this.getPresetId() == null)
return false;
if (other.getPresetId() != null
&& other.getPresetId().equals(this.getPresetId()) == false)
return false;
if (other.getSegmentDuration() == null
^ this.getSegmentDuration() == null)
return false;
if (other.getSegmentDuration() != null
&& other.getSegmentDuration().equals(this.getSegmentDuration()) == false)
return false;
if (other.getStatus() == null ^ this.getStatus() == null)
return false;
if (other.getStatus() != null
&& other.getStatus().equals(this.getStatus()) == false)
return false;
if (other.getStatusDetail() == null ^ this.getStatusDetail() == null)
return false;
if (other.getStatusDetail() != null
&& other.getStatusDetail().equals(this.getStatusDetail()) == false)
return false;
if (other.getDuration() == null ^ this.getDuration() == null)
return false;
if (other.getDuration() != null
&& other.getDuration().equals(this.getDuration()) == false)
return false;
if (other.getWidth() == null ^ this.getWidth() == null)
return false;
if (other.getWidth() != null
&& other.getWidth().equals(this.getWidth()) == false)
return false;
if (other.getHeight() == null ^ this.getHeight() == null)
return false;
if (other.getHeight() != null
&& other.getHeight().equals(this.getHeight()) == false)
return false;
if (other.getFrameRate() == null ^ this.getFrameRate() == null)
return false;
if (other.getFrameRate() != null
&& other.getFrameRate().equals(this.getFrameRate()) == false)
return false;
if (other.getFileSize() == null ^ this.getFileSize() == null)
return false;
if (other.getFileSize() != null
&& other.getFileSize().equals(this.getFileSize()) == false)
return false;
if (other.getDurationMillis() == null
^ this.getDurationMillis() == null)
return false;
if (other.getDurationMillis() != null
&& other.getDurationMillis().equals(this.getDurationMillis()) == false)
return false;
if (other.getWatermarks() == null ^ this.getWatermarks() == null)
return false;
if (other.getWatermarks() != null
&& other.getWatermarks().equals(this.getWatermarks()) == false)
return false;
if (other.getAlbumArt() == null ^ this.getAlbumArt() == null)
return false;
if (other.getAlbumArt() != null
&& other.getAlbumArt().equals(this.getAlbumArt()) == false)
return false;
if (other.getComposition() == null ^ this.getComposition() == null)
return false;
if (other.getComposition() != null
&& other.getComposition().equals(this.getComposition()) == false)
return false;
if (other.getCaptions() == null ^ this.getCaptions() == null)
return false;
if (other.getCaptions() != null
&& other.getCaptions().equals(this.getCaptions()) == false)
return false;
if (other.getEncryption() == null ^ this.getEncryption() == null)
return false;
if (other.getEncryption() != null
&& other.getEncryption().equals(this.getEncryption()) == false)
return false;
if (other.getAppliedColorSpaceConversion() == null
^ this.getAppliedColorSpaceConversion() == null)
return false;
if (other.getAppliedColorSpaceConversion() != null
&& other.getAppliedColorSpaceConversion().equals(
this.getAppliedColorSpaceConversion()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode
+ ((getId() == null) ? 0 : getId().hashCode());
hashCode = prime * hashCode
+ ((getKey() == null) ? 0 : getKey().hashCode());
hashCode = prime
* hashCode
+ ((getThumbnailPattern() == null) ? 0 : getThumbnailPattern()
.hashCode());
hashCode = prime
* hashCode
+ ((getThumbnailEncryption() == null) ? 0
: getThumbnailEncryption().hashCode());
hashCode = prime * hashCode
+ ((getRotate() == null) ? 0 : getRotate().hashCode());
hashCode = prime * hashCode
+ ((getPresetId() == null) ? 0 : getPresetId().hashCode());
hashCode = prime
* hashCode
+ ((getSegmentDuration() == null) ? 0 : getSegmentDuration()
.hashCode());
hashCode = prime * hashCode
+ ((getStatus() == null) ? 0 : getStatus().hashCode());
hashCode = prime
* hashCode
+ ((getStatusDetail() == null) ? 0 : getStatusDetail()
.hashCode());
hashCode = prime * hashCode
+ ((getDuration() == null) ? 0 : getDuration().hashCode());
hashCode = prime * hashCode
+ ((getWidth() == null) ? 0 : getWidth().hashCode());
hashCode = prime * hashCode
+ ((getHeight() == null) ? 0 : getHeight().hashCode());
hashCode = prime * hashCode
+ ((getFrameRate() == null) ? 0 : getFrameRate().hashCode());
hashCode = prime * hashCode
+ ((getFileSize() == null) ? 0 : getFileSize().hashCode());
hashCode = prime
* hashCode
+ ((getDurationMillis() == null) ? 0 : getDurationMillis()
.hashCode());
hashCode = prime * hashCode
+ ((getWatermarks() == null) ? 0 : getWatermarks().hashCode());
hashCode = prime * hashCode
+ ((getAlbumArt() == null) ? 0 : getAlbumArt().hashCode());
hashCode = prime
* hashCode
+ ((getComposition() == null) ? 0 : getComposition().hashCode());
hashCode = prime * hashCode
+ ((getCaptions() == null) ? 0 : getCaptions().hashCode());
hashCode = prime * hashCode
+ ((getEncryption() == null) ? 0 : getEncryption().hashCode());
hashCode = prime
* hashCode
+ ((getAppliedColorSpaceConversion() == null) ? 0
: getAppliedColorSpaceConversion().hashCode());
return hashCode;
}
@Override
public JobOutput clone() {
try {
return (JobOutput) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException(
"Got a CloneNotSupportedException from Object.clone() "
+ "even though we're Cloneable!", e);
}
}
}