AWS SDK for C++

AWS SDK for C++ Version 1.11.748

Loading...
Searching...
No Matches
VideoCodecSettings.h
1
6#pragma once
7#include <aws/medialive/MediaLive_EXPORTS.h>
8#include <aws/medialive/model/Av1Settings.h>
9#include <aws/medialive/model/FrameCaptureSettings.h>
10#include <aws/medialive/model/H264Settings.h>
11#include <aws/medialive/model/H265Settings.h>
12#include <aws/medialive/model/Mpeg2Settings.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace MediaLive {
24namespace Model {
25
32 public:
33 AWS_MEDIALIVE_API VideoCodecSettings() = default;
34 AWS_MEDIALIVE_API VideoCodecSettings(Aws::Utils::Json::JsonView jsonValue);
36 AWS_MEDIALIVE_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
40 inline const FrameCaptureSettings& GetFrameCaptureSettings() const { return m_frameCaptureSettings; }
41 inline bool FrameCaptureSettingsHasBeenSet() const { return m_frameCaptureSettingsHasBeenSet; }
42 template <typename FrameCaptureSettingsT = FrameCaptureSettings>
43 void SetFrameCaptureSettings(FrameCaptureSettingsT&& value) {
44 m_frameCaptureSettingsHasBeenSet = true;
45 m_frameCaptureSettings = std::forward<FrameCaptureSettingsT>(value);
46 }
47 template <typename FrameCaptureSettingsT = FrameCaptureSettings>
48 VideoCodecSettings& WithFrameCaptureSettings(FrameCaptureSettingsT&& value) {
49 SetFrameCaptureSettings(std::forward<FrameCaptureSettingsT>(value));
50 return *this;
51 }
53
55
56 inline const H264Settings& GetH264Settings() const { return m_h264Settings; }
57 inline bool H264SettingsHasBeenSet() const { return m_h264SettingsHasBeenSet; }
58 template <typename H264SettingsT = H264Settings>
59 void SetH264Settings(H264SettingsT&& value) {
60 m_h264SettingsHasBeenSet = true;
61 m_h264Settings = std::forward<H264SettingsT>(value);
62 }
63 template <typename H264SettingsT = H264Settings>
64 VideoCodecSettings& WithH264Settings(H264SettingsT&& value) {
65 SetH264Settings(std::forward<H264SettingsT>(value));
66 return *this;
67 }
69
71
72 inline const H265Settings& GetH265Settings() const { return m_h265Settings; }
73 inline bool H265SettingsHasBeenSet() const { return m_h265SettingsHasBeenSet; }
74 template <typename H265SettingsT = H265Settings>
75 void SetH265Settings(H265SettingsT&& value) {
76 m_h265SettingsHasBeenSet = true;
77 m_h265Settings = std::forward<H265SettingsT>(value);
78 }
79 template <typename H265SettingsT = H265Settings>
80 VideoCodecSettings& WithH265Settings(H265SettingsT&& value) {
81 SetH265Settings(std::forward<H265SettingsT>(value));
82 return *this;
83 }
85
87
88 inline const Mpeg2Settings& GetMpeg2Settings() const { return m_mpeg2Settings; }
89 inline bool Mpeg2SettingsHasBeenSet() const { return m_mpeg2SettingsHasBeenSet; }
90 template <typename Mpeg2SettingsT = Mpeg2Settings>
91 void SetMpeg2Settings(Mpeg2SettingsT&& value) {
92 m_mpeg2SettingsHasBeenSet = true;
93 m_mpeg2Settings = std::forward<Mpeg2SettingsT>(value);
94 }
95 template <typename Mpeg2SettingsT = Mpeg2Settings>
96 VideoCodecSettings& WithMpeg2Settings(Mpeg2SettingsT&& value) {
97 SetMpeg2Settings(std::forward<Mpeg2SettingsT>(value));
98 return *this;
99 }
101
103
104 inline const Av1Settings& GetAv1Settings() const { return m_av1Settings; }
105 inline bool Av1SettingsHasBeenSet() const { return m_av1SettingsHasBeenSet; }
106 template <typename Av1SettingsT = Av1Settings>
107 void SetAv1Settings(Av1SettingsT&& value) {
108 m_av1SettingsHasBeenSet = true;
109 m_av1Settings = std::forward<Av1SettingsT>(value);
110 }
111 template <typename Av1SettingsT = Av1Settings>
112 VideoCodecSettings& WithAv1Settings(Av1SettingsT&& value) {
113 SetAv1Settings(std::forward<Av1SettingsT>(value));
114 return *this;
115 }
117 private:
118 FrameCaptureSettings m_frameCaptureSettings;
119
120 H264Settings m_h264Settings;
121
122 H265Settings m_h265Settings;
123
124 Mpeg2Settings m_mpeg2Settings;
125
126 Av1Settings m_av1Settings;
127 bool m_frameCaptureSettingsHasBeenSet = false;
128 bool m_h264SettingsHasBeenSet = false;
129 bool m_h265SettingsHasBeenSet = false;
130 bool m_mpeg2SettingsHasBeenSet = false;
131 bool m_av1SettingsHasBeenSet = false;
132};
133
134} // namespace Model
135} // namespace MediaLive
136} // namespace Aws
AWS_MEDIALIVE_API VideoCodecSettings(Aws::Utils::Json::JsonView jsonValue)
const H265Settings & GetH265Settings() const
AWS_MEDIALIVE_API VideoCodecSettings()=default
VideoCodecSettings & WithFrameCaptureSettings(FrameCaptureSettingsT &&value)
const H264Settings & GetH264Settings() const
VideoCodecSettings & WithMpeg2Settings(Mpeg2SettingsT &&value)
AWS_MEDIALIVE_API VideoCodecSettings & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_MEDIALIVE_API Aws::Utils::Json::JsonValue Jsonize() const
VideoCodecSettings & WithAv1Settings(Av1SettingsT &&value)
void SetH264Settings(H264SettingsT &&value)
const Mpeg2Settings & GetMpeg2Settings() const
VideoCodecSettings & WithH264Settings(H264SettingsT &&value)
VideoCodecSettings & WithH265Settings(H265SettingsT &&value)
const FrameCaptureSettings & GetFrameCaptureSettings() const
void SetFrameCaptureSettings(FrameCaptureSettingsT &&value)
void SetH265Settings(H265SettingsT &&value)
void SetMpeg2Settings(Mpeg2SettingsT &&value)
Aws::Utils::Json::JsonValue JsonValue