This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-medialive/include/aws/medialive/model/VideoDescription.h

364 lines
16 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/medialive/MediaLive_EXPORTS.h>
#include <aws/medialive/model/VideoCodecSettings.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/medialive/model/VideoDescriptionRespondToAfd.h>
#include <aws/medialive/model/VideoDescriptionScalingBehavior.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace MediaLive
{
namespace Model
{
/**
* Video settings for this stream.<p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/VideoDescription">AWS
* API Reference</a></p>
*/
class AWS_MEDIALIVE_API VideoDescription
{
public:
VideoDescription();
VideoDescription(Aws::Utils::Json::JsonView jsonValue);
VideoDescription& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* Video codec settings.
*/
inline const VideoCodecSettings& GetCodecSettings() const{ return m_codecSettings; }
/**
* Video codec settings.
*/
inline bool CodecSettingsHasBeenSet() const { return m_codecSettingsHasBeenSet; }
/**
* Video codec settings.
*/
inline void SetCodecSettings(const VideoCodecSettings& value) { m_codecSettingsHasBeenSet = true; m_codecSettings = value; }
/**
* Video codec settings.
*/
inline void SetCodecSettings(VideoCodecSettings&& value) { m_codecSettingsHasBeenSet = true; m_codecSettings = std::move(value); }
/**
* Video codec settings.
*/
inline VideoDescription& WithCodecSettings(const VideoCodecSettings& value) { SetCodecSettings(value); return *this;}
/**
* Video codec settings.
*/
inline VideoDescription& WithCodecSettings(VideoCodecSettings&& value) { SetCodecSettings(std::move(value)); return *this;}
/**
* Output video height, in pixels. Must be an even number. For most codecs, you can
* leave this field and width blank in order to use the height and width
* (resolution) from the source. Note, however, that leaving blank is not
* recommended. For the Frame Capture codec, height and width are required.
*/
inline int GetHeight() const{ return m_height; }
/**
* Output video height, in pixels. Must be an even number. For most codecs, you can
* leave this field and width blank in order to use the height and width
* (resolution) from the source. Note, however, that leaving blank is not
* recommended. For the Frame Capture codec, height and width are required.
*/
inline bool HeightHasBeenSet() const { return m_heightHasBeenSet; }
/**
* Output video height, in pixels. Must be an even number. For most codecs, you can
* leave this field and width blank in order to use the height and width
* (resolution) from the source. Note, however, that leaving blank is not
* recommended. For the Frame Capture codec, height and width are required.
*/
inline void SetHeight(int value) { m_heightHasBeenSet = true; m_height = value; }
/**
* Output video height, in pixels. Must be an even number. For most codecs, you can
* leave this field and width blank in order to use the height and width
* (resolution) from the source. Note, however, that leaving blank is not
* recommended. For the Frame Capture codec, height and width are required.
*/
inline VideoDescription& WithHeight(int value) { SetHeight(value); return *this;}
/**
* The name of this VideoDescription. Outputs will use this name to uniquely
* identify this Description. Description names should be unique within this Live
* Event.
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* The name of this VideoDescription. Outputs will use this name to uniquely
* identify this Description. Description names should be unique within this Live
* Event.
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* The name of this VideoDescription. Outputs will use this name to uniquely
* identify this Description. Description names should be unique within this Live
* Event.
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* The name of this VideoDescription. Outputs will use this name to uniquely
* identify this Description. Description names should be unique within this Live
* Event.
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* The name of this VideoDescription. Outputs will use this name to uniquely
* identify this Description. Description names should be unique within this Live
* Event.
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* The name of this VideoDescription. Outputs will use this name to uniquely
* identify this Description. Description names should be unique within this Live
* Event.
*/
inline VideoDescription& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* The name of this VideoDescription. Outputs will use this name to uniquely
* identify this Description. Description names should be unique within this Live
* Event.
*/
inline VideoDescription& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* The name of this VideoDescription. Outputs will use this name to uniquely
* identify this Description. Description names should be unique within this Live
* Event.
*/
inline VideoDescription& WithName(const char* value) { SetName(value); return *this;}
/**
* Indicates how to respond to the AFD values in the input stream. RESPOND causes
* input video to be clipped, depending on the AFD value, input display aspect
* ratio, and output display aspect ratio, and (except for FRAME_CAPTURE codec)
* includes the values in the output. PASSTHROUGH (does not apply to FRAME_CAPTURE
* codec) ignores the AFD values and includes the values in the output, so input
* video is not clipped. NONE ignores the AFD values and does not include the
* values through to the output, so input video is not clipped.
*/
inline const VideoDescriptionRespondToAfd& GetRespondToAfd() const{ return m_respondToAfd; }
/**
* Indicates how to respond to the AFD values in the input stream. RESPOND causes
* input video to be clipped, depending on the AFD value, input display aspect
* ratio, and output display aspect ratio, and (except for FRAME_CAPTURE codec)
* includes the values in the output. PASSTHROUGH (does not apply to FRAME_CAPTURE
* codec) ignores the AFD values and includes the values in the output, so input
* video is not clipped. NONE ignores the AFD values and does not include the
* values through to the output, so input video is not clipped.
*/
inline bool RespondToAfdHasBeenSet() const { return m_respondToAfdHasBeenSet; }
/**
* Indicates how to respond to the AFD values in the input stream. RESPOND causes
* input video to be clipped, depending on the AFD value, input display aspect
* ratio, and output display aspect ratio, and (except for FRAME_CAPTURE codec)
* includes the values in the output. PASSTHROUGH (does not apply to FRAME_CAPTURE
* codec) ignores the AFD values and includes the values in the output, so input
* video is not clipped. NONE ignores the AFD values and does not include the
* values through to the output, so input video is not clipped.
*/
inline void SetRespondToAfd(const VideoDescriptionRespondToAfd& value) { m_respondToAfdHasBeenSet = true; m_respondToAfd = value; }
/**
* Indicates how to respond to the AFD values in the input stream. RESPOND causes
* input video to be clipped, depending on the AFD value, input display aspect
* ratio, and output display aspect ratio, and (except for FRAME_CAPTURE codec)
* includes the values in the output. PASSTHROUGH (does not apply to FRAME_CAPTURE
* codec) ignores the AFD values and includes the values in the output, so input
* video is not clipped. NONE ignores the AFD values and does not include the
* values through to the output, so input video is not clipped.
*/
inline void SetRespondToAfd(VideoDescriptionRespondToAfd&& value) { m_respondToAfdHasBeenSet = true; m_respondToAfd = std::move(value); }
/**
* Indicates how to respond to the AFD values in the input stream. RESPOND causes
* input video to be clipped, depending on the AFD value, input display aspect
* ratio, and output display aspect ratio, and (except for FRAME_CAPTURE codec)
* includes the values in the output. PASSTHROUGH (does not apply to FRAME_CAPTURE
* codec) ignores the AFD values and includes the values in the output, so input
* video is not clipped. NONE ignores the AFD values and does not include the
* values through to the output, so input video is not clipped.
*/
inline VideoDescription& WithRespondToAfd(const VideoDescriptionRespondToAfd& value) { SetRespondToAfd(value); return *this;}
/**
* Indicates how to respond to the AFD values in the input stream. RESPOND causes
* input video to be clipped, depending on the AFD value, input display aspect
* ratio, and output display aspect ratio, and (except for FRAME_CAPTURE codec)
* includes the values in the output. PASSTHROUGH (does not apply to FRAME_CAPTURE
* codec) ignores the AFD values and includes the values in the output, so input
* video is not clipped. NONE ignores the AFD values and does not include the
* values through to the output, so input video is not clipped.
*/
inline VideoDescription& WithRespondToAfd(VideoDescriptionRespondToAfd&& value) { SetRespondToAfd(std::move(value)); return *this;}
/**
* STRETCH_TO_OUTPUT configures the output position to stretch the video to the
* specified output resolution (height and width). This option will override any
* position value. DEFAULT may insert black boxes (pillar boxes or letter boxes)
* around the video to provide the specified output resolution.
*/
inline const VideoDescriptionScalingBehavior& GetScalingBehavior() const{ return m_scalingBehavior; }
/**
* STRETCH_TO_OUTPUT configures the output position to stretch the video to the
* specified output resolution (height and width). This option will override any
* position value. DEFAULT may insert black boxes (pillar boxes or letter boxes)
* around the video to provide the specified output resolution.
*/
inline bool ScalingBehaviorHasBeenSet() const { return m_scalingBehaviorHasBeenSet; }
/**
* STRETCH_TO_OUTPUT configures the output position to stretch the video to the
* specified output resolution (height and width). This option will override any
* position value. DEFAULT may insert black boxes (pillar boxes or letter boxes)
* around the video to provide the specified output resolution.
*/
inline void SetScalingBehavior(const VideoDescriptionScalingBehavior& value) { m_scalingBehaviorHasBeenSet = true; m_scalingBehavior = value; }
/**
* STRETCH_TO_OUTPUT configures the output position to stretch the video to the
* specified output resolution (height and width). This option will override any
* position value. DEFAULT may insert black boxes (pillar boxes or letter boxes)
* around the video to provide the specified output resolution.
*/
inline void SetScalingBehavior(VideoDescriptionScalingBehavior&& value) { m_scalingBehaviorHasBeenSet = true; m_scalingBehavior = std::move(value); }
/**
* STRETCH_TO_OUTPUT configures the output position to stretch the video to the
* specified output resolution (height and width). This option will override any
* position value. DEFAULT may insert black boxes (pillar boxes or letter boxes)
* around the video to provide the specified output resolution.
*/
inline VideoDescription& WithScalingBehavior(const VideoDescriptionScalingBehavior& value) { SetScalingBehavior(value); return *this;}
/**
* STRETCH_TO_OUTPUT configures the output position to stretch the video to the
* specified output resolution (height and width). This option will override any
* position value. DEFAULT may insert black boxes (pillar boxes or letter boxes)
* around the video to provide the specified output resolution.
*/
inline VideoDescription& WithScalingBehavior(VideoDescriptionScalingBehavior&& value) { SetScalingBehavior(std::move(value)); return *this;}
/**
* Changes the strength of the anti-alias filter used for scaling. 0 is the softest
* setting, 100 is the sharpest. A setting of 50 is recommended for most content.
*/
inline int GetSharpness() const{ return m_sharpness; }
/**
* Changes the strength of the anti-alias filter used for scaling. 0 is the softest
* setting, 100 is the sharpest. A setting of 50 is recommended for most content.
*/
inline bool SharpnessHasBeenSet() const { return m_sharpnessHasBeenSet; }
/**
* Changes the strength of the anti-alias filter used for scaling. 0 is the softest
* setting, 100 is the sharpest. A setting of 50 is recommended for most content.
*/
inline void SetSharpness(int value) { m_sharpnessHasBeenSet = true; m_sharpness = value; }
/**
* Changes the strength of the anti-alias filter used for scaling. 0 is the softest
* setting, 100 is the sharpest. A setting of 50 is recommended for most content.
*/
inline VideoDescription& WithSharpness(int value) { SetSharpness(value); return *this;}
/**
* Output video width, in pixels. Must be an even number. For most codecs, you can
* leave this field and height blank in order to use the height and width
* (resolution) from the source. Note, however, that leaving blank is not
* recommended. For the Frame Capture codec, height and width are required.
*/
inline int GetWidth() const{ return m_width; }
/**
* Output video width, in pixels. Must be an even number. For most codecs, you can
* leave this field and height blank in order to use the height and width
* (resolution) from the source. Note, however, that leaving blank is not
* recommended. For the Frame Capture codec, height and width are required.
*/
inline bool WidthHasBeenSet() const { return m_widthHasBeenSet; }
/**
* Output video width, in pixels. Must be an even number. For most codecs, you can
* leave this field and height blank in order to use the height and width
* (resolution) from the source. Note, however, that leaving blank is not
* recommended. For the Frame Capture codec, height and width are required.
*/
inline void SetWidth(int value) { m_widthHasBeenSet = true; m_width = value; }
/**
* Output video width, in pixels. Must be an even number. For most codecs, you can
* leave this field and height blank in order to use the height and width
* (resolution) from the source. Note, however, that leaving blank is not
* recommended. For the Frame Capture codec, height and width are required.
*/
inline VideoDescription& WithWidth(int value) { SetWidth(value); return *this;}
private:
VideoCodecSettings m_codecSettings;
bool m_codecSettingsHasBeenSet;
int m_height;
bool m_heightHasBeenSet;
Aws::String m_name;
bool m_nameHasBeenSet;
VideoDescriptionRespondToAfd m_respondToAfd;
bool m_respondToAfdHasBeenSet;
VideoDescriptionScalingBehavior m_scalingBehavior;
bool m_scalingBehaviorHasBeenSet;
int m_sharpness;
bool m_sharpnessHasBeenSet;
int m_width;
bool m_widthHasBeenSet;
};
} // namespace Model
} // namespace MediaLive
} // namespace Aws