/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include <aws/mediaconvert/MediaConvert_EXPORTS.h> #include <aws/mediaconvert/model/DashIsoIntervalCadence.h> #include <utility> namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace MediaConvert { namespace Model { /** * Tile and thumbnail settings applicable when imageBasedTrickPlay is * ADVANCED<p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DashIsoImageBasedTrickPlaySettings">AWS * API Reference</a></p> */ class DashIsoImageBasedTrickPlaySettings { public: AWS_MEDIACONVERT_API DashIsoImageBasedTrickPlaySettings(); AWS_MEDIACONVERT_API DashIsoImageBasedTrickPlaySettings(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIACONVERT_API DashIsoImageBasedTrickPlaySettings& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const; /** * The cadence MediaConvert follows for generating thumbnails. If set to * FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in the * output (matching the GOP cadence). If set to FOLLOW_CUSTOM, MediaConvert * generates thumbnails according to the interval you specify in thumbnailInterval. */ inline const DashIsoIntervalCadence& GetIntervalCadence() const{ return m_intervalCadence; } /** * The cadence MediaConvert follows for generating thumbnails. If set to * FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in the * output (matching the GOP cadence). If set to FOLLOW_CUSTOM, MediaConvert * generates thumbnails according to the interval you specify in thumbnailInterval. */ inline bool IntervalCadenceHasBeenSet() const { return m_intervalCadenceHasBeenSet; } /** * The cadence MediaConvert follows for generating thumbnails. If set to * FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in the * output (matching the GOP cadence). If set to FOLLOW_CUSTOM, MediaConvert * generates thumbnails according to the interval you specify in thumbnailInterval. */ inline void SetIntervalCadence(const DashIsoIntervalCadence& value) { m_intervalCadenceHasBeenSet = true; m_intervalCadence = value; } /** * The cadence MediaConvert follows for generating thumbnails. If set to * FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in the * output (matching the GOP cadence). If set to FOLLOW_CUSTOM, MediaConvert * generates thumbnails according to the interval you specify in thumbnailInterval. */ inline void SetIntervalCadence(DashIsoIntervalCadence&& value) { m_intervalCadenceHasBeenSet = true; m_intervalCadence = std::move(value); } /** * The cadence MediaConvert follows for generating thumbnails. If set to * FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in the * output (matching the GOP cadence). If set to FOLLOW_CUSTOM, MediaConvert * generates thumbnails according to the interval you specify in thumbnailInterval. */ inline DashIsoImageBasedTrickPlaySettings& WithIntervalCadence(const DashIsoIntervalCadence& value) { SetIntervalCadence(value); return *this;} /** * The cadence MediaConvert follows for generating thumbnails. If set to * FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in the * output (matching the GOP cadence). If set to FOLLOW_CUSTOM, MediaConvert * generates thumbnails according to the interval you specify in thumbnailInterval. */ inline DashIsoImageBasedTrickPlaySettings& WithIntervalCadence(DashIsoIntervalCadence&& value) { SetIntervalCadence(std::move(value)); return *this;} /** * Height of each thumbnail within each tile image, in pixels. Leave blank to * maintain aspect ratio with thumbnail width. If following the aspect ratio would * lead to a total tile height greater than 4096, then the job will be rejected. * Must be divisible by 2. */ inline int GetThumbnailHeight() const{ return m_thumbnailHeight; } /** * Height of each thumbnail within each tile image, in pixels. Leave blank to * maintain aspect ratio with thumbnail width. If following the aspect ratio would * lead to a total tile height greater than 4096, then the job will be rejected. * Must be divisible by 2. */ inline bool ThumbnailHeightHasBeenSet() const { return m_thumbnailHeightHasBeenSet; } /** * Height of each thumbnail within each tile image, in pixels. Leave blank to * maintain aspect ratio with thumbnail width. If following the aspect ratio would * lead to a total tile height greater than 4096, then the job will be rejected. * Must be divisible by 2. */ inline void SetThumbnailHeight(int value) { m_thumbnailHeightHasBeenSet = true; m_thumbnailHeight = value; } /** * Height of each thumbnail within each tile image, in pixels. Leave blank to * maintain aspect ratio with thumbnail width. If following the aspect ratio would * lead to a total tile height greater than 4096, then the job will be rejected. * Must be divisible by 2. */ inline DashIsoImageBasedTrickPlaySettings& WithThumbnailHeight(int value) { SetThumbnailHeight(value); return *this;} /** * Enter the interval, in seconds, that MediaConvert uses to generate thumbnails. * If the interval you enter doesn't align with the output frame rate, MediaConvert * automatically rounds the interval to align with the output frame rate. For * example, if the output frame rate is 29.97 frames per second and you enter 5, * MediaConvert uses a 150 frame interval to generate thumbnails. */ inline double GetThumbnailInterval() const{ return m_thumbnailInterval; } /** * Enter the interval, in seconds, that MediaConvert uses to generate thumbnails. * If the interval you enter doesn't align with the output frame rate, MediaConvert * automatically rounds the interval to align with the output frame rate. For * example, if the output frame rate is 29.97 frames per second and you enter 5, * MediaConvert uses a 150 frame interval to generate thumbnails. */ inline bool ThumbnailIntervalHasBeenSet() const { return m_thumbnailIntervalHasBeenSet; } /** * Enter the interval, in seconds, that MediaConvert uses to generate thumbnails. * If the interval you enter doesn't align with the output frame rate, MediaConvert * automatically rounds the interval to align with the output frame rate. For * example, if the output frame rate is 29.97 frames per second and you enter 5, * MediaConvert uses a 150 frame interval to generate thumbnails. */ inline void SetThumbnailInterval(double value) { m_thumbnailIntervalHasBeenSet = true; m_thumbnailInterval = value; } /** * Enter the interval, in seconds, that MediaConvert uses to generate thumbnails. * If the interval you enter doesn't align with the output frame rate, MediaConvert * automatically rounds the interval to align with the output frame rate. For * example, if the output frame rate is 29.97 frames per second and you enter 5, * MediaConvert uses a 150 frame interval to generate thumbnails. */ inline DashIsoImageBasedTrickPlaySettings& WithThumbnailInterval(double value) { SetThumbnailInterval(value); return *this;} /** * Width of each thumbnail within each tile image, in pixels. Default is 312. Must * be divisible by 8. */ inline int GetThumbnailWidth() const{ return m_thumbnailWidth; } /** * Width of each thumbnail within each tile image, in pixels. Default is 312. Must * be divisible by 8. */ inline bool ThumbnailWidthHasBeenSet() const { return m_thumbnailWidthHasBeenSet; } /** * Width of each thumbnail within each tile image, in pixels. Default is 312. Must * be divisible by 8. */ inline void SetThumbnailWidth(int value) { m_thumbnailWidthHasBeenSet = true; m_thumbnailWidth = value; } /** * Width of each thumbnail within each tile image, in pixels. Default is 312. Must * be divisible by 8. */ inline DashIsoImageBasedTrickPlaySettings& WithThumbnailWidth(int value) { SetThumbnailWidth(value); return *this;} /** * Number of thumbnails in each column of a tile image. Set a value between 2 and * 2048. Must be divisible by 2. */ inline int GetTileHeight() const{ return m_tileHeight; } /** * Number of thumbnails in each column of a tile image. Set a value between 2 and * 2048. Must be divisible by 2. */ inline bool TileHeightHasBeenSet() const { return m_tileHeightHasBeenSet; } /** * Number of thumbnails in each column of a tile image. Set a value between 2 and * 2048. Must be divisible by 2. */ inline void SetTileHeight(int value) { m_tileHeightHasBeenSet = true; m_tileHeight = value; } /** * Number of thumbnails in each column of a tile image. Set a value between 2 and * 2048. Must be divisible by 2. */ inline DashIsoImageBasedTrickPlaySettings& WithTileHeight(int value) { SetTileHeight(value); return *this;} /** * Number of thumbnails in each row of a tile image. Set a value between 1 and 512. */ inline int GetTileWidth() const{ return m_tileWidth; } /** * Number of thumbnails in each row of a tile image. Set a value between 1 and 512. */ inline bool TileWidthHasBeenSet() const { return m_tileWidthHasBeenSet; } /** * Number of thumbnails in each row of a tile image. Set a value between 1 and 512. */ inline void SetTileWidth(int value) { m_tileWidthHasBeenSet = true; m_tileWidth = value; } /** * Number of thumbnails in each row of a tile image. Set a value between 1 and 512. */ inline DashIsoImageBasedTrickPlaySettings& WithTileWidth(int value) { SetTileWidth(value); return *this;} private: DashIsoIntervalCadence m_intervalCadence; bool m_intervalCadenceHasBeenSet = false; int m_thumbnailHeight; bool m_thumbnailHeightHasBeenSet = false; double m_thumbnailInterval; bool m_thumbnailIntervalHasBeenSet = false; int m_thumbnailWidth; bool m_thumbnailWidthHasBeenSet = false; int m_tileHeight; bool m_tileHeightHasBeenSet = false; int m_tileWidth; bool m_tileWidthHasBeenSet = false; }; } // namespace Model } // namespace MediaConvert } // namespace Aws