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/ColorSpacePassthroughSettings.h> 9 #include <aws/medialive/model/Rec601Settings.h> 10 #include <aws/medialive/model/Rec709Settings.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Utils 16 { 17 namespace Json 18 { 19 class JsonValue; 20 class JsonView; 21 } // namespace Json 22 } // namespace Utils 23 namespace MediaLive 24 { 25 namespace Model 26 { 27 28 /** 29 * H264 Color Space Settings<p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/H264ColorSpaceSettings">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_MEDIALIVE_API H264ColorSpaceSettings 34 { 35 public: 36 H264ColorSpaceSettings(); 37 H264ColorSpaceSettings(Aws::Utils::Json::JsonView jsonValue); 38 H264ColorSpaceSettings& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 GetColorSpacePassthroughSettings()43 inline const ColorSpacePassthroughSettings& GetColorSpacePassthroughSettings() const{ return m_colorSpacePassthroughSettings; } 44 45 ColorSpacePassthroughSettingsHasBeenSet()46 inline bool ColorSpacePassthroughSettingsHasBeenSet() const { return m_colorSpacePassthroughSettingsHasBeenSet; } 47 48 SetColorSpacePassthroughSettings(const ColorSpacePassthroughSettings & value)49 inline void SetColorSpacePassthroughSettings(const ColorSpacePassthroughSettings& value) { m_colorSpacePassthroughSettingsHasBeenSet = true; m_colorSpacePassthroughSettings = value; } 50 51 SetColorSpacePassthroughSettings(ColorSpacePassthroughSettings && value)52 inline void SetColorSpacePassthroughSettings(ColorSpacePassthroughSettings&& value) { m_colorSpacePassthroughSettingsHasBeenSet = true; m_colorSpacePassthroughSettings = std::move(value); } 53 54 WithColorSpacePassthroughSettings(const ColorSpacePassthroughSettings & value)55 inline H264ColorSpaceSettings& WithColorSpacePassthroughSettings(const ColorSpacePassthroughSettings& value) { SetColorSpacePassthroughSettings(value); return *this;} 56 57 WithColorSpacePassthroughSettings(ColorSpacePassthroughSettings && value)58 inline H264ColorSpaceSettings& WithColorSpacePassthroughSettings(ColorSpacePassthroughSettings&& value) { SetColorSpacePassthroughSettings(std::move(value)); return *this;} 59 60 61 GetRec601Settings()62 inline const Rec601Settings& GetRec601Settings() const{ return m_rec601Settings; } 63 64 Rec601SettingsHasBeenSet()65 inline bool Rec601SettingsHasBeenSet() const { return m_rec601SettingsHasBeenSet; } 66 67 SetRec601Settings(const Rec601Settings & value)68 inline void SetRec601Settings(const Rec601Settings& value) { m_rec601SettingsHasBeenSet = true; m_rec601Settings = value; } 69 70 SetRec601Settings(Rec601Settings && value)71 inline void SetRec601Settings(Rec601Settings&& value) { m_rec601SettingsHasBeenSet = true; m_rec601Settings = std::move(value); } 72 73 WithRec601Settings(const Rec601Settings & value)74 inline H264ColorSpaceSettings& WithRec601Settings(const Rec601Settings& value) { SetRec601Settings(value); return *this;} 75 76 WithRec601Settings(Rec601Settings && value)77 inline H264ColorSpaceSettings& WithRec601Settings(Rec601Settings&& value) { SetRec601Settings(std::move(value)); return *this;} 78 79 80 GetRec709Settings()81 inline const Rec709Settings& GetRec709Settings() const{ return m_rec709Settings; } 82 83 Rec709SettingsHasBeenSet()84 inline bool Rec709SettingsHasBeenSet() const { return m_rec709SettingsHasBeenSet; } 85 86 SetRec709Settings(const Rec709Settings & value)87 inline void SetRec709Settings(const Rec709Settings& value) { m_rec709SettingsHasBeenSet = true; m_rec709Settings = value; } 88 89 SetRec709Settings(Rec709Settings && value)90 inline void SetRec709Settings(Rec709Settings&& value) { m_rec709SettingsHasBeenSet = true; m_rec709Settings = std::move(value); } 91 92 WithRec709Settings(const Rec709Settings & value)93 inline H264ColorSpaceSettings& WithRec709Settings(const Rec709Settings& value) { SetRec709Settings(value); return *this;} 94 95 WithRec709Settings(Rec709Settings && value)96 inline H264ColorSpaceSettings& WithRec709Settings(Rec709Settings&& value) { SetRec709Settings(std::move(value)); return *this;} 97 98 private: 99 100 ColorSpacePassthroughSettings m_colorSpacePassthroughSettings; 101 bool m_colorSpacePassthroughSettingsHasBeenSet; 102 103 Rec601Settings m_rec601Settings; 104 bool m_rec601SettingsHasBeenSet; 105 106 Rec709Settings m_rec709Settings; 107 bool m_rec709SettingsHasBeenSet; 108 }; 109 110 } // namespace Model 111 } // namespace MediaLive 112 } // namespace Aws 113