1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/medialive/MediaLive_EXPORTS.h> 8 #include <aws/medialive/model/FrameCaptureSettings.h> 9 #include <aws/medialive/model/H264Settings.h> 10 #include <aws/medialive/model/H265Settings.h> 11 #include <aws/medialive/model/Mpeg2Settings.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Json 19 { 20 class JsonValue; 21 class JsonView; 22 } // namespace Json 23 } // namespace Utils 24 namespace MediaLive 25 { 26 namespace Model 27 { 28 29 /** 30 * Video Codec Settings<p><h3>See Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/VideoCodecSettings">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_MEDIALIVE_API VideoCodecSettings 35 { 36 public: 37 VideoCodecSettings(); 38 VideoCodecSettings(Aws::Utils::Json::JsonView jsonValue); 39 VideoCodecSettings& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 GetFrameCaptureSettings()44 inline const FrameCaptureSettings& GetFrameCaptureSettings() const{ return m_frameCaptureSettings; } 45 46 FrameCaptureSettingsHasBeenSet()47 inline bool FrameCaptureSettingsHasBeenSet() const { return m_frameCaptureSettingsHasBeenSet; } 48 49 SetFrameCaptureSettings(const FrameCaptureSettings & value)50 inline void SetFrameCaptureSettings(const FrameCaptureSettings& value) { m_frameCaptureSettingsHasBeenSet = true; m_frameCaptureSettings = value; } 51 52 SetFrameCaptureSettings(FrameCaptureSettings && value)53 inline void SetFrameCaptureSettings(FrameCaptureSettings&& value) { m_frameCaptureSettingsHasBeenSet = true; m_frameCaptureSettings = std::move(value); } 54 55 WithFrameCaptureSettings(const FrameCaptureSettings & value)56 inline VideoCodecSettings& WithFrameCaptureSettings(const FrameCaptureSettings& value) { SetFrameCaptureSettings(value); return *this;} 57 58 WithFrameCaptureSettings(FrameCaptureSettings && value)59 inline VideoCodecSettings& WithFrameCaptureSettings(FrameCaptureSettings&& value) { SetFrameCaptureSettings(std::move(value)); return *this;} 60 61 62 GetH264Settings()63 inline const H264Settings& GetH264Settings() const{ return m_h264Settings; } 64 65 H264SettingsHasBeenSet()66 inline bool H264SettingsHasBeenSet() const { return m_h264SettingsHasBeenSet; } 67 68 SetH264Settings(const H264Settings & value)69 inline void SetH264Settings(const H264Settings& value) { m_h264SettingsHasBeenSet = true; m_h264Settings = value; } 70 71 SetH264Settings(H264Settings && value)72 inline void SetH264Settings(H264Settings&& value) { m_h264SettingsHasBeenSet = true; m_h264Settings = std::move(value); } 73 74 WithH264Settings(const H264Settings & value)75 inline VideoCodecSettings& WithH264Settings(const H264Settings& value) { SetH264Settings(value); return *this;} 76 77 WithH264Settings(H264Settings && value)78 inline VideoCodecSettings& WithH264Settings(H264Settings&& value) { SetH264Settings(std::move(value)); return *this;} 79 80 81 GetH265Settings()82 inline const H265Settings& GetH265Settings() const{ return m_h265Settings; } 83 84 H265SettingsHasBeenSet()85 inline bool H265SettingsHasBeenSet() const { return m_h265SettingsHasBeenSet; } 86 87 SetH265Settings(const H265Settings & value)88 inline void SetH265Settings(const H265Settings& value) { m_h265SettingsHasBeenSet = true; m_h265Settings = value; } 89 90 SetH265Settings(H265Settings && value)91 inline void SetH265Settings(H265Settings&& value) { m_h265SettingsHasBeenSet = true; m_h265Settings = std::move(value); } 92 93 WithH265Settings(const H265Settings & value)94 inline VideoCodecSettings& WithH265Settings(const H265Settings& value) { SetH265Settings(value); return *this;} 95 96 WithH265Settings(H265Settings && value)97 inline VideoCodecSettings& WithH265Settings(H265Settings&& value) { SetH265Settings(std::move(value)); return *this;} 98 99 100 GetMpeg2Settings()101 inline const Mpeg2Settings& GetMpeg2Settings() const{ return m_mpeg2Settings; } 102 103 Mpeg2SettingsHasBeenSet()104 inline bool Mpeg2SettingsHasBeenSet() const { return m_mpeg2SettingsHasBeenSet; } 105 106 SetMpeg2Settings(const Mpeg2Settings & value)107 inline void SetMpeg2Settings(const Mpeg2Settings& value) { m_mpeg2SettingsHasBeenSet = true; m_mpeg2Settings = value; } 108 109 SetMpeg2Settings(Mpeg2Settings && value)110 inline void SetMpeg2Settings(Mpeg2Settings&& value) { m_mpeg2SettingsHasBeenSet = true; m_mpeg2Settings = std::move(value); } 111 112 WithMpeg2Settings(const Mpeg2Settings & value)113 inline VideoCodecSettings& WithMpeg2Settings(const Mpeg2Settings& value) { SetMpeg2Settings(value); return *this;} 114 115 WithMpeg2Settings(Mpeg2Settings && value)116 inline VideoCodecSettings& WithMpeg2Settings(Mpeg2Settings&& value) { SetMpeg2Settings(std::move(value)); return *this;} 117 118 private: 119 120 FrameCaptureSettings m_frameCaptureSettings; 121 bool m_frameCaptureSettingsHasBeenSet; 122 123 H264Settings m_h264Settings; 124 bool m_h264SettingsHasBeenSet; 125 126 H265Settings m_h265Settings; 127 bool m_h265SettingsHasBeenSet; 128 129 Mpeg2Settings m_mpeg2Settings; 130 bool m_mpeg2SettingsHasBeenSet; 131 }; 132 133 } // namespace Model 134 } // namespace MediaLive 135 } // namespace Aws 136