/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ElasticTranscoder { namespace Model { /** *

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.

See Also:

AWS * API Reference

*/ class JobOutput { public: AWS_ELASTICTRANSCODER_API JobOutput(); AWS_ELASTICTRANSCODER_API JobOutput(Aws::Utils::Json::JsonView jsonValue); AWS_ELASTICTRANSCODER_API JobOutput& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ELASTICTRANSCODER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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.

*/ inline const Aws::String& GetId() const{ return m_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.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

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.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

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.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

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.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

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.

*/ inline JobOutput& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

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.

*/ inline JobOutput& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

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.

*/ inline JobOutput& WithId(const char* value) { SetId(value); 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.

*/ inline const Aws::String& GetKey() const{ return m_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.

*/ inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } /** *

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.

*/ inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } /** *

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.

*/ inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } /** *

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.

*/ inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } /** *

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.

*/ inline JobOutput& WithKey(const Aws::String& value) { SetKey(value); 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.

*/ inline JobOutput& WithKey(Aws::String&& value) { SetKey(std::move(value)); 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.

*/ inline JobOutput& WithKey(const char* value) { SetKey(value); 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.

*/ inline const Aws::String& GetThumbnailPattern() const{ return m_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.

*/ inline bool ThumbnailPatternHasBeenSet() const { return m_thumbnailPatternHasBeenSet; } /** *

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.

*/ inline void SetThumbnailPattern(const Aws::String& value) { m_thumbnailPatternHasBeenSet = true; m_thumbnailPattern = value; } /** *

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.

*/ inline void SetThumbnailPattern(Aws::String&& value) { m_thumbnailPatternHasBeenSet = true; m_thumbnailPattern = std::move(value); } /** *

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.

*/ inline void SetThumbnailPattern(const char* value) { m_thumbnailPatternHasBeenSet = true; m_thumbnailPattern.assign(value); } /** *

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.

*/ inline JobOutput& WithThumbnailPattern(const Aws::String& value) { SetThumbnailPattern(value); 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.

*/ inline JobOutput& WithThumbnailPattern(Aws::String&& value) { SetThumbnailPattern(std::move(value)); 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.

*/ inline JobOutput& WithThumbnailPattern(const char* value) { SetThumbnailPattern(value); return *this;} /** *

The encryption settings, if any, that you want Elastic Transcoder to apply to * your thumbnail.

*/ inline const Encryption& GetThumbnailEncryption() const{ return m_thumbnailEncryption; } /** *

The encryption settings, if any, that you want Elastic Transcoder to apply to * your thumbnail.

*/ inline bool ThumbnailEncryptionHasBeenSet() const { return m_thumbnailEncryptionHasBeenSet; } /** *

The encryption settings, if any, that you want Elastic Transcoder to apply to * your thumbnail.

*/ inline void SetThumbnailEncryption(const Encryption& value) { m_thumbnailEncryptionHasBeenSet = true; m_thumbnailEncryption = value; } /** *

The encryption settings, if any, that you want Elastic Transcoder to apply to * your thumbnail.

*/ inline void SetThumbnailEncryption(Encryption&& value) { m_thumbnailEncryptionHasBeenSet = true; m_thumbnailEncryption = std::move(value); } /** *

The encryption settings, if any, that you want Elastic Transcoder to apply to * your thumbnail.

*/ inline JobOutput& WithThumbnailEncryption(const Encryption& value) { SetThumbnailEncryption(value); return *this;} /** *

The encryption settings, if any, that you want Elastic Transcoder to apply to * your thumbnail.

*/ inline JobOutput& WithThumbnailEncryption(Encryption&& value) { SetThumbnailEncryption(std::move(value)); 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.

*/ inline const Aws::String& GetRotate() const{ return m_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.

*/ inline bool RotateHasBeenSet() const { return m_rotateHasBeenSet; } /** *

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.

*/ inline void SetRotate(const Aws::String& value) { m_rotateHasBeenSet = true; m_rotate = value; } /** *

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.

*/ inline void SetRotate(Aws::String&& value) { m_rotateHasBeenSet = true; m_rotate = std::move(value); } /** *

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.

*/ inline void SetRotate(const char* value) { m_rotateHasBeenSet = true; m_rotate.assign(value); } /** *

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.

*/ inline JobOutput& WithRotate(const Aws::String& value) { SetRotate(value); 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.

*/ inline JobOutput& WithRotate(Aws::String&& value) { SetRotate(std::move(value)); 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.

*/ inline JobOutput& WithRotate(const char* value) { SetRotate(value); 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.

*/ inline const Aws::String& GetPresetId() const{ return m_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.

*/ inline bool PresetIdHasBeenSet() const { return m_presetIdHasBeenSet; } /** *

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.

*/ inline void SetPresetId(const Aws::String& value) { m_presetIdHasBeenSet = true; m_presetId = value; } /** *

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.

*/ inline void SetPresetId(Aws::String&& value) { m_presetIdHasBeenSet = true; m_presetId = std::move(value); } /** *

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.

*/ inline void SetPresetId(const char* value) { m_presetIdHasBeenSet = true; m_presetId.assign(value); } /** *

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.

*/ inline JobOutput& WithPresetId(const Aws::String& value) { SetPresetId(value); 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.

*/ inline JobOutput& WithPresetId(Aws::String&& value) { SetPresetId(std::move(value)); 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.

*/ inline JobOutput& WithPresetId(const char* value) { SetPresetId(value); 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, MPEG-DASH, 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.

*/ inline const Aws::String& GetSegmentDuration() const{ return m_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, MPEG-DASH, 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.

*/ inline bool SegmentDurationHasBeenSet() const { return m_segmentDurationHasBeenSet; } /** *

(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, MPEG-DASH, 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.

*/ inline void SetSegmentDuration(const Aws::String& value) { m_segmentDurationHasBeenSet = true; m_segmentDuration = value; } /** *

(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, MPEG-DASH, 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.

*/ inline void SetSegmentDuration(Aws::String&& value) { m_segmentDurationHasBeenSet = true; m_segmentDuration = std::move(value); } /** *

(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, MPEG-DASH, 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.

*/ inline void SetSegmentDuration(const char* value) { m_segmentDurationHasBeenSet = true; m_segmentDuration.assign(value); } /** *

(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, MPEG-DASH, 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.

*/ inline JobOutput& WithSegmentDuration(const Aws::String& value) { SetSegmentDuration(value); 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, MPEG-DASH, 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.

*/ inline JobOutput& WithSegmentDuration(Aws::String&& value) { SetSegmentDuration(std::move(value)); 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, MPEG-DASH, 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.

*/ inline JobOutput& WithSegmentDuration(const char* value) { SetSegmentDuration(value); 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.

*/ inline const Aws::String& GetStatus() const{ return m_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.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

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.

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

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.

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

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.

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

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.

*/ inline JobOutput& WithStatus(const Aws::String& value) { SetStatus(value); 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.

*/ inline JobOutput& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); 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.

*/ inline JobOutput& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

Information that further explains Status.

*/ inline const Aws::String& GetStatusDetail() const{ return m_statusDetail; } /** *

Information that further explains Status.

*/ inline bool StatusDetailHasBeenSet() const { return m_statusDetailHasBeenSet; } /** *

Information that further explains Status.

*/ inline void SetStatusDetail(const Aws::String& value) { m_statusDetailHasBeenSet = true; m_statusDetail = value; } /** *

Information that further explains Status.

*/ inline void SetStatusDetail(Aws::String&& value) { m_statusDetailHasBeenSet = true; m_statusDetail = std::move(value); } /** *

Information that further explains Status.

*/ inline void SetStatusDetail(const char* value) { m_statusDetailHasBeenSet = true; m_statusDetail.assign(value); } /** *

Information that further explains Status.

*/ inline JobOutput& WithStatusDetail(const Aws::String& value) { SetStatusDetail(value); return *this;} /** *

Information that further explains Status.

*/ inline JobOutput& WithStatusDetail(Aws::String&& value) { SetStatusDetail(std::move(value)); return *this;} /** *

Information that further explains Status.

*/ inline JobOutput& WithStatusDetail(const char* value) { SetStatusDetail(value); return *this;} /** *

Duration of the output file, in seconds.

*/ inline long long GetDuration() const{ return m_duration; } /** *

Duration of the output file, in seconds.

*/ inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } /** *

Duration of the output file, in seconds.

*/ inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; } /** *

Duration of the output file, in seconds.

*/ inline JobOutput& WithDuration(long long value) { SetDuration(value); return *this;} /** *

Specifies the width of the output file in pixels.

*/ inline int GetWidth() const{ return m_width; } /** *

Specifies the width of the output file in pixels.

*/ inline bool WidthHasBeenSet() const { return m_widthHasBeenSet; } /** *

Specifies the width of the output file in pixels.

*/ inline void SetWidth(int value) { m_widthHasBeenSet = true; m_width = value; } /** *

Specifies the width of the output file in pixels.

*/ inline JobOutput& WithWidth(int value) { SetWidth(value); return *this;} /** *

Height of the output file, in pixels.

*/ inline int GetHeight() const{ return m_height; } /** *

Height of the output file, in pixels.

*/ inline bool HeightHasBeenSet() const { return m_heightHasBeenSet; } /** *

Height of the output file, in pixels.

*/ inline void SetHeight(int value) { m_heightHasBeenSet = true; m_height = value; } /** *

Height of the output file, in pixels.

*/ inline JobOutput& WithHeight(int value) { SetHeight(value); return *this;} /** *

Frame rate of the output file, in frames per second.

*/ inline const Aws::String& GetFrameRate() const{ return m_frameRate; } /** *

Frame rate of the output file, in frames per second.

*/ inline bool FrameRateHasBeenSet() const { return m_frameRateHasBeenSet; } /** *

Frame rate of the output file, in frames per second.

*/ inline void SetFrameRate(const Aws::String& value) { m_frameRateHasBeenSet = true; m_frameRate = value; } /** *

Frame rate of the output file, in frames per second.

*/ inline void SetFrameRate(Aws::String&& value) { m_frameRateHasBeenSet = true; m_frameRate = std::move(value); } /** *

Frame rate of the output file, in frames per second.

*/ inline void SetFrameRate(const char* value) { m_frameRateHasBeenSet = true; m_frameRate.assign(value); } /** *

Frame rate of the output file, in frames per second.

*/ inline JobOutput& WithFrameRate(const Aws::String& value) { SetFrameRate(value); return *this;} /** *

Frame rate of the output file, in frames per second.

*/ inline JobOutput& WithFrameRate(Aws::String&& value) { SetFrameRate(std::move(value)); return *this;} /** *

Frame rate of the output file, in frames per second.

*/ inline JobOutput& WithFrameRate(const char* value) { SetFrameRate(value); return *this;} /** *

File size of the output file, in bytes.

*/ inline long long GetFileSize() const{ return m_fileSize; } /** *

File size of the output file, in bytes.

*/ inline bool FileSizeHasBeenSet() const { return m_fileSizeHasBeenSet; } /** *

File size of the output file, in bytes.

*/ inline void SetFileSize(long long value) { m_fileSizeHasBeenSet = true; m_fileSize = value; } /** *

File size of the output file, in bytes.

*/ inline JobOutput& WithFileSize(long long value) { SetFileSize(value); return *this;} /** *

Duration of the output file, in milliseconds.

*/ inline long long GetDurationMillis() const{ return m_durationMillis; } /** *

Duration of the output file, in milliseconds.

*/ inline bool DurationMillisHasBeenSet() const { return m_durationMillisHasBeenSet; } /** *

Duration of the output file, in milliseconds.

*/ inline void SetDurationMillis(long long value) { m_durationMillisHasBeenSet = true; m_durationMillis = value; } /** *

Duration of the output file, in milliseconds.

*/ inline JobOutput& WithDurationMillis(long long value) { SetDurationMillis(value); 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 covers the first one, the third * one covers the second, and the fourth one covers the third.

*/ inline const Aws::Vector& GetWatermarks() const{ return m_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 covers the first one, the third * one covers the second, and the fourth one covers the third.

*/ inline bool WatermarksHasBeenSet() const { return m_watermarksHasBeenSet; } /** *

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 covers the first one, the third * one covers the second, and the fourth one covers the third.

*/ inline void SetWatermarks(const Aws::Vector& value) { m_watermarksHasBeenSet = true; m_watermarks = value; } /** *

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 covers the first one, the third * one covers the second, and the fourth one covers the third.

*/ inline void SetWatermarks(Aws::Vector&& value) { m_watermarksHasBeenSet = true; m_watermarks = std::move(value); } /** *

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 covers the first one, the third * one covers the second, and the fourth one covers the third.

*/ inline JobOutput& WithWatermarks(const Aws::Vector& value) { SetWatermarks(value); 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 covers the first one, the third * one covers the second, and the fourth one covers the third.

*/ inline JobOutput& WithWatermarks(Aws::Vector&& value) { SetWatermarks(std::move(value)); 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 covers the first one, the third * one covers the second, and the fourth one covers the third.

*/ inline JobOutput& AddWatermarks(const JobWatermark& value) { m_watermarksHasBeenSet = true; m_watermarks.push_back(value); 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 covers the first one, the third * one covers the second, and the fourth one covers the third.

*/ inline JobOutput& AddWatermarks(JobWatermark&& value) { m_watermarksHasBeenSet = true; m_watermarks.push_back(std::move(value)); return *this; } /** *

The album art to be associated with the output file, if any.

*/ inline const JobAlbumArt& GetAlbumArt() const{ return m_albumArt; } /** *

The album art to be associated with the output file, if any.

*/ inline bool AlbumArtHasBeenSet() const { return m_albumArtHasBeenSet; } /** *

The album art to be associated with the output file, if any.

*/ inline void SetAlbumArt(const JobAlbumArt& value) { m_albumArtHasBeenSet = true; m_albumArt = value; } /** *

The album art to be associated with the output file, if any.

*/ inline void SetAlbumArt(JobAlbumArt&& value) { m_albumArtHasBeenSet = true; m_albumArt = std::move(value); } /** *

The album art to be associated with the output file, if any.

*/ inline JobOutput& WithAlbumArt(const JobAlbumArt& value) { SetAlbumArt(value); return *this;} /** *

The album art to be associated with the output file, if any.

*/ inline JobOutput& WithAlbumArt(JobAlbumArt&& value) { SetAlbumArt(std::move(value)); 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.

*/ inline const Captions& GetCaptions() const{ return m_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.

*/ inline bool CaptionsHasBeenSet() const { return m_captionsHasBeenSet; } /** *

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.

*/ inline void SetCaptions(const Captions& value) { m_captionsHasBeenSet = true; m_captions = value; } /** *

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.

*/ inline void SetCaptions(Captions&& value) { m_captionsHasBeenSet = true; m_captions = std::move(value); } /** *

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.

*/ inline JobOutput& WithCaptions(const Captions& value) { SetCaptions(value); 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.

*/ inline JobOutput& WithCaptions(Captions&& value) { SetCaptions(std::move(value)); 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 writes an * unencrypted file to your Amazon S3 bucket.

*/ inline const Encryption& GetEncryption() const{ return m_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 writes an * unencrypted file to your Amazon S3 bucket.

*/ inline bool EncryptionHasBeenSet() const { return m_encryptionHasBeenSet; } /** *

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 writes an * unencrypted file to your Amazon S3 bucket.

*/ inline void SetEncryption(const Encryption& value) { m_encryptionHasBeenSet = true; m_encryption = value; } /** *

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 writes an * unencrypted file to your Amazon S3 bucket.

*/ inline void SetEncryption(Encryption&& value) { m_encryptionHasBeenSet = true; m_encryption = std::move(value); } /** *

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 writes an * unencrypted file to your Amazon S3 bucket.

*/ inline JobOutput& WithEncryption(const Encryption& value) { SetEncryption(value); 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 writes an * unencrypted file to your Amazon S3 bucket.

*/ inline JobOutput& WithEncryption(Encryption&& value) { SetEncryption(std::move(value)); 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 is not be included in the job response.

*/ inline const Aws::String& GetAppliedColorSpaceConversion() const{ return m_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 is not be included in the job response.

*/ inline bool AppliedColorSpaceConversionHasBeenSet() const { return m_appliedColorSpaceConversionHasBeenSet; } /** *

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 is not be included in the job response.

*/ inline void SetAppliedColorSpaceConversion(const Aws::String& value) { m_appliedColorSpaceConversionHasBeenSet = true; m_appliedColorSpaceConversion = value; } /** *

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 is not be included in the job response.

*/ inline void SetAppliedColorSpaceConversion(Aws::String&& value) { m_appliedColorSpaceConversionHasBeenSet = true; m_appliedColorSpaceConversion = std::move(value); } /** *

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 is not be included in the job response.

*/ inline void SetAppliedColorSpaceConversion(const char* value) { m_appliedColorSpaceConversionHasBeenSet = true; m_appliedColorSpaceConversion.assign(value); } /** *

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 is not be included in the job response.

*/ inline JobOutput& WithAppliedColorSpaceConversion(const Aws::String& value) { SetAppliedColorSpaceConversion(value); 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 is not be included in the job response.

*/ inline JobOutput& WithAppliedColorSpaceConversion(Aws::String&& value) { SetAppliedColorSpaceConversion(std::move(value)); 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 is not be included in the job response.

*/ inline JobOutput& WithAppliedColorSpaceConversion(const char* value) { SetAppliedColorSpaceConversion(value); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_key; bool m_keyHasBeenSet = false; Aws::String m_thumbnailPattern; bool m_thumbnailPatternHasBeenSet = false; Encryption m_thumbnailEncryption; bool m_thumbnailEncryptionHasBeenSet = false; Aws::String m_rotate; bool m_rotateHasBeenSet = false; Aws::String m_presetId; bool m_presetIdHasBeenSet = false; Aws::String m_segmentDuration; bool m_segmentDurationHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_statusDetail; bool m_statusDetailHasBeenSet = false; long long m_duration; bool m_durationHasBeenSet = false; int m_width; bool m_widthHasBeenSet = false; int m_height; bool m_heightHasBeenSet = false; Aws::String m_frameRate; bool m_frameRateHasBeenSet = false; long long m_fileSize; bool m_fileSizeHasBeenSet = false; long long m_durationMillis; bool m_durationMillisHasBeenSet = false; Aws::Vector m_watermarks; bool m_watermarksHasBeenSet = false; JobAlbumArt m_albumArt; bool m_albumArtHasBeenSet = false; Captions m_captions; bool m_captionsHasBeenSet = false; Encryption m_encryption; bool m_encryptionHasBeenSet = false; Aws::String m_appliedColorSpaceConversion; bool m_appliedColorSpaceConversionHasBeenSet = false; }; } // namespace Model } // namespace ElasticTranscoder } // namespace Aws