/**
* 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
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace MediaConvert
{
namespace Model
{
/**
* Settings for presetSee Also:
AWS
* API Reference
*/
class PresetSettings
{
public:
AWS_MEDIACONVERT_API PresetSettings();
AWS_MEDIACONVERT_API PresetSettings(Aws::Utils::Json::JsonView jsonValue);
AWS_MEDIACONVERT_API PresetSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* Contains groups of audio encoding settings organized by audio codec. Include one
* instance of per output. Can contain multiple groups of encoding settings.
*/
inline const Aws::Vector& GetAudioDescriptions() const{ return m_audioDescriptions; }
/**
* Contains groups of audio encoding settings organized by audio codec. Include one
* instance of per output. Can contain multiple groups of encoding settings.
*/
inline bool AudioDescriptionsHasBeenSet() const { return m_audioDescriptionsHasBeenSet; }
/**
* Contains groups of audio encoding settings organized by audio codec. Include one
* instance of per output. Can contain multiple groups of encoding settings.
*/
inline void SetAudioDescriptions(const Aws::Vector& value) { m_audioDescriptionsHasBeenSet = true; m_audioDescriptions = value; }
/**
* Contains groups of audio encoding settings organized by audio codec. Include one
* instance of per output. Can contain multiple groups of encoding settings.
*/
inline void SetAudioDescriptions(Aws::Vector&& value) { m_audioDescriptionsHasBeenSet = true; m_audioDescriptions = std::move(value); }
/**
* Contains groups of audio encoding settings organized by audio codec. Include one
* instance of per output. Can contain multiple groups of encoding settings.
*/
inline PresetSettings& WithAudioDescriptions(const Aws::Vector& value) { SetAudioDescriptions(value); return *this;}
/**
* Contains groups of audio encoding settings organized by audio codec. Include one
* instance of per output. Can contain multiple groups of encoding settings.
*/
inline PresetSettings& WithAudioDescriptions(Aws::Vector&& value) { SetAudioDescriptions(std::move(value)); return *this;}
/**
* Contains groups of audio encoding settings organized by audio codec. Include one
* instance of per output. Can contain multiple groups of encoding settings.
*/
inline PresetSettings& AddAudioDescriptions(const AudioDescription& value) { m_audioDescriptionsHasBeenSet = true; m_audioDescriptions.push_back(value); return *this; }
/**
* Contains groups of audio encoding settings organized by audio codec. Include one
* instance of per output. Can contain multiple groups of encoding settings.
*/
inline PresetSettings& AddAudioDescriptions(AudioDescription&& value) { m_audioDescriptionsHasBeenSet = true; m_audioDescriptions.push_back(std::move(value)); return *this; }
/**
* This object holds groups of settings related to captions for one output. For
* each output that has captions, include one instance of CaptionDescriptions.
*/
inline const Aws::Vector& GetCaptionDescriptions() const{ return m_captionDescriptions; }
/**
* This object holds groups of settings related to captions for one output. For
* each output that has captions, include one instance of CaptionDescriptions.
*/
inline bool CaptionDescriptionsHasBeenSet() const { return m_captionDescriptionsHasBeenSet; }
/**
* This object holds groups of settings related to captions for one output. For
* each output that has captions, include one instance of CaptionDescriptions.
*/
inline void SetCaptionDescriptions(const Aws::Vector& value) { m_captionDescriptionsHasBeenSet = true; m_captionDescriptions = value; }
/**
* This object holds groups of settings related to captions for one output. For
* each output that has captions, include one instance of CaptionDescriptions.
*/
inline void SetCaptionDescriptions(Aws::Vector&& value) { m_captionDescriptionsHasBeenSet = true; m_captionDescriptions = std::move(value); }
/**
* This object holds groups of settings related to captions for one output. For
* each output that has captions, include one instance of CaptionDescriptions.
*/
inline PresetSettings& WithCaptionDescriptions(const Aws::Vector& value) { SetCaptionDescriptions(value); return *this;}
/**
* This object holds groups of settings related to captions for one output. For
* each output that has captions, include one instance of CaptionDescriptions.
*/
inline PresetSettings& WithCaptionDescriptions(Aws::Vector&& value) { SetCaptionDescriptions(std::move(value)); return *this;}
/**
* This object holds groups of settings related to captions for one output. For
* each output that has captions, include one instance of CaptionDescriptions.
*/
inline PresetSettings& AddCaptionDescriptions(const CaptionDescriptionPreset& value) { m_captionDescriptionsHasBeenSet = true; m_captionDescriptions.push_back(value); return *this; }
/**
* This object holds groups of settings related to captions for one output. For
* each output that has captions, include one instance of CaptionDescriptions.
*/
inline PresetSettings& AddCaptionDescriptions(CaptionDescriptionPreset&& value) { m_captionDescriptionsHasBeenSet = true; m_captionDescriptions.push_back(std::move(value)); return *this; }
/**
* Container specific settings.
*/
inline const ContainerSettings& GetContainerSettings() const{ return m_containerSettings; }
/**
* Container specific settings.
*/
inline bool ContainerSettingsHasBeenSet() const { return m_containerSettingsHasBeenSet; }
/**
* Container specific settings.
*/
inline void SetContainerSettings(const ContainerSettings& value) { m_containerSettingsHasBeenSet = true; m_containerSettings = value; }
/**
* Container specific settings.
*/
inline void SetContainerSettings(ContainerSettings&& value) { m_containerSettingsHasBeenSet = true; m_containerSettings = std::move(value); }
/**
* Container specific settings.
*/
inline PresetSettings& WithContainerSettings(const ContainerSettings& value) { SetContainerSettings(value); return *this;}
/**
* Container specific settings.
*/
inline PresetSettings& WithContainerSettings(ContainerSettings&& value) { SetContainerSettings(std::move(value)); return *this;}
/**
* VideoDescription contains a group of video encoding settings. The specific video
* settings depend on the video codec that you choose for the property codec.
* Include one instance of VideoDescription per output.
*/
inline const VideoDescription& GetVideoDescription() const{ return m_videoDescription; }
/**
* VideoDescription contains a group of video encoding settings. The specific video
* settings depend on the video codec that you choose for the property codec.
* Include one instance of VideoDescription per output.
*/
inline bool VideoDescriptionHasBeenSet() const { return m_videoDescriptionHasBeenSet; }
/**
* VideoDescription contains a group of video encoding settings. The specific video
* settings depend on the video codec that you choose for the property codec.
* Include one instance of VideoDescription per output.
*/
inline void SetVideoDescription(const VideoDescription& value) { m_videoDescriptionHasBeenSet = true; m_videoDescription = value; }
/**
* VideoDescription contains a group of video encoding settings. The specific video
* settings depend on the video codec that you choose for the property codec.
* Include one instance of VideoDescription per output.
*/
inline void SetVideoDescription(VideoDescription&& value) { m_videoDescriptionHasBeenSet = true; m_videoDescription = std::move(value); }
/**
* VideoDescription contains a group of video encoding settings. The specific video
* settings depend on the video codec that you choose for the property codec.
* Include one instance of VideoDescription per output.
*/
inline PresetSettings& WithVideoDescription(const VideoDescription& value) { SetVideoDescription(value); return *this;}
/**
* VideoDescription contains a group of video encoding settings. The specific video
* settings depend on the video codec that you choose for the property codec.
* Include one instance of VideoDescription per output.
*/
inline PresetSettings& WithVideoDescription(VideoDescription&& value) { SetVideoDescription(std::move(value)); return *this;}
private:
Aws::Vector m_audioDescriptions;
bool m_audioDescriptionsHasBeenSet = false;
Aws::Vector m_captionDescriptions;
bool m_captionDescriptionsHasBeenSet = false;
ContainerSettings m_containerSettings;
bool m_containerSettingsHasBeenSet = false;
VideoDescription m_videoDescription;
bool m_videoDescriptionHasBeenSet = false;
};
} // namespace Model
} // namespace MediaConvert
} // namespace Aws