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/HlsH265PackagingType.h> 9 #include <aws/medialive/model/HlsSettings.h> 10 #include <aws/core/utils/memory/stl/AWSString.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 * Hls Output Settings<p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/HlsOutputSettings">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_MEDIALIVE_API HlsOutputSettings 34 { 35 public: 36 HlsOutputSettings(); 37 HlsOutputSettings(Aws::Utils::Json::JsonView jsonValue); 38 HlsOutputSettings& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * Only applicable when this output is referencing an H.265 video 44 * description. 45 Specifies whether MP4 segments should be packaged as HEV1 or HVC1. 46 */ GetH265PackagingType()47 inline const HlsH265PackagingType& GetH265PackagingType() const{ return m_h265PackagingType; } 48 49 /** 50 * Only applicable when this output is referencing an H.265 video 51 * description. 52 Specifies whether MP4 segments should be packaged as HEV1 or HVC1. 53 */ H265PackagingTypeHasBeenSet()54 inline bool H265PackagingTypeHasBeenSet() const { return m_h265PackagingTypeHasBeenSet; } 55 56 /** 57 * Only applicable when this output is referencing an H.265 video 58 * description. 59 Specifies whether MP4 segments should be packaged as HEV1 or HVC1. 60 */ SetH265PackagingType(const HlsH265PackagingType & value)61 inline void SetH265PackagingType(const HlsH265PackagingType& value) { m_h265PackagingTypeHasBeenSet = true; m_h265PackagingType = value; } 62 63 /** 64 * Only applicable when this output is referencing an H.265 video 65 * description. 66 Specifies whether MP4 segments should be packaged as HEV1 or HVC1. 67 */ SetH265PackagingType(HlsH265PackagingType && value)68 inline void SetH265PackagingType(HlsH265PackagingType&& value) { m_h265PackagingTypeHasBeenSet = true; m_h265PackagingType = std::move(value); } 69 70 /** 71 * Only applicable when this output is referencing an H.265 video 72 * description. 73 Specifies whether MP4 segments should be packaged as HEV1 or HVC1. 74 */ WithH265PackagingType(const HlsH265PackagingType & value)75 inline HlsOutputSettings& WithH265PackagingType(const HlsH265PackagingType& value) { SetH265PackagingType(value); return *this;} 76 77 /** 78 * Only applicable when this output is referencing an H.265 video 79 * description. 80 Specifies whether MP4 segments should be packaged as HEV1 or HVC1. 81 */ WithH265PackagingType(HlsH265PackagingType && value)82 inline HlsOutputSettings& WithH265PackagingType(HlsH265PackagingType&& value) { SetH265PackagingType(std::move(value)); return *this;} 83 84 85 /** 86 * Settings regarding the underlying stream. These settings are different for 87 * audio-only outputs. 88 */ GetHlsSettings()89 inline const HlsSettings& GetHlsSettings() const{ return m_hlsSettings; } 90 91 /** 92 * Settings regarding the underlying stream. These settings are different for 93 * audio-only outputs. 94 */ HlsSettingsHasBeenSet()95 inline bool HlsSettingsHasBeenSet() const { return m_hlsSettingsHasBeenSet; } 96 97 /** 98 * Settings regarding the underlying stream. These settings are different for 99 * audio-only outputs. 100 */ SetHlsSettings(const HlsSettings & value)101 inline void SetHlsSettings(const HlsSettings& value) { m_hlsSettingsHasBeenSet = true; m_hlsSettings = value; } 102 103 /** 104 * Settings regarding the underlying stream. These settings are different for 105 * audio-only outputs. 106 */ SetHlsSettings(HlsSettings && value)107 inline void SetHlsSettings(HlsSettings&& value) { m_hlsSettingsHasBeenSet = true; m_hlsSettings = std::move(value); } 108 109 /** 110 * Settings regarding the underlying stream. These settings are different for 111 * audio-only outputs. 112 */ WithHlsSettings(const HlsSettings & value)113 inline HlsOutputSettings& WithHlsSettings(const HlsSettings& value) { SetHlsSettings(value); return *this;} 114 115 /** 116 * Settings regarding the underlying stream. These settings are different for 117 * audio-only outputs. 118 */ WithHlsSettings(HlsSettings && value)119 inline HlsOutputSettings& WithHlsSettings(HlsSettings&& value) { SetHlsSettings(std::move(value)); return *this;} 120 121 122 /** 123 * String concatenated to the end of the destination filename. Accepts \"Format 124 * Identifiers\":#formatIdentifierParameters. 125 */ GetNameModifier()126 inline const Aws::String& GetNameModifier() const{ return m_nameModifier; } 127 128 /** 129 * String concatenated to the end of the destination filename. Accepts \"Format 130 * Identifiers\":#formatIdentifierParameters. 131 */ NameModifierHasBeenSet()132 inline bool NameModifierHasBeenSet() const { return m_nameModifierHasBeenSet; } 133 134 /** 135 * String concatenated to the end of the destination filename. Accepts \"Format 136 * Identifiers\":#formatIdentifierParameters. 137 */ SetNameModifier(const Aws::String & value)138 inline void SetNameModifier(const Aws::String& value) { m_nameModifierHasBeenSet = true; m_nameModifier = value; } 139 140 /** 141 * String concatenated to the end of the destination filename. Accepts \"Format 142 * Identifiers\":#formatIdentifierParameters. 143 */ SetNameModifier(Aws::String && value)144 inline void SetNameModifier(Aws::String&& value) { m_nameModifierHasBeenSet = true; m_nameModifier = std::move(value); } 145 146 /** 147 * String concatenated to the end of the destination filename. Accepts \"Format 148 * Identifiers\":#formatIdentifierParameters. 149 */ SetNameModifier(const char * value)150 inline void SetNameModifier(const char* value) { m_nameModifierHasBeenSet = true; m_nameModifier.assign(value); } 151 152 /** 153 * String concatenated to the end of the destination filename. Accepts \"Format 154 * Identifiers\":#formatIdentifierParameters. 155 */ WithNameModifier(const Aws::String & value)156 inline HlsOutputSettings& WithNameModifier(const Aws::String& value) { SetNameModifier(value); return *this;} 157 158 /** 159 * String concatenated to the end of the destination filename. Accepts \"Format 160 * Identifiers\":#formatIdentifierParameters. 161 */ WithNameModifier(Aws::String && value)162 inline HlsOutputSettings& WithNameModifier(Aws::String&& value) { SetNameModifier(std::move(value)); return *this;} 163 164 /** 165 * String concatenated to the end of the destination filename. Accepts \"Format 166 * Identifiers\":#formatIdentifierParameters. 167 */ WithNameModifier(const char * value)168 inline HlsOutputSettings& WithNameModifier(const char* value) { SetNameModifier(value); return *this;} 169 170 171 /** 172 * String concatenated to end of segment filenames. 173 */ GetSegmentModifier()174 inline const Aws::String& GetSegmentModifier() const{ return m_segmentModifier; } 175 176 /** 177 * String concatenated to end of segment filenames. 178 */ SegmentModifierHasBeenSet()179 inline bool SegmentModifierHasBeenSet() const { return m_segmentModifierHasBeenSet; } 180 181 /** 182 * String concatenated to end of segment filenames. 183 */ SetSegmentModifier(const Aws::String & value)184 inline void SetSegmentModifier(const Aws::String& value) { m_segmentModifierHasBeenSet = true; m_segmentModifier = value; } 185 186 /** 187 * String concatenated to end of segment filenames. 188 */ SetSegmentModifier(Aws::String && value)189 inline void SetSegmentModifier(Aws::String&& value) { m_segmentModifierHasBeenSet = true; m_segmentModifier = std::move(value); } 190 191 /** 192 * String concatenated to end of segment filenames. 193 */ SetSegmentModifier(const char * value)194 inline void SetSegmentModifier(const char* value) { m_segmentModifierHasBeenSet = true; m_segmentModifier.assign(value); } 195 196 /** 197 * String concatenated to end of segment filenames. 198 */ WithSegmentModifier(const Aws::String & value)199 inline HlsOutputSettings& WithSegmentModifier(const Aws::String& value) { SetSegmentModifier(value); return *this;} 200 201 /** 202 * String concatenated to end of segment filenames. 203 */ WithSegmentModifier(Aws::String && value)204 inline HlsOutputSettings& WithSegmentModifier(Aws::String&& value) { SetSegmentModifier(std::move(value)); return *this;} 205 206 /** 207 * String concatenated to end of segment filenames. 208 */ WithSegmentModifier(const char * value)209 inline HlsOutputSettings& WithSegmentModifier(const char* value) { SetSegmentModifier(value); return *this;} 210 211 private: 212 213 HlsH265PackagingType m_h265PackagingType; 214 bool m_h265PackagingTypeHasBeenSet; 215 216 HlsSettings m_hlsSettings; 217 bool m_hlsSettingsHasBeenSet; 218 219 Aws::String m_nameModifier; 220 bool m_nameModifierHasBeenSet; 221 222 Aws::String m_segmentModifier; 223 bool m_segmentModifierHasBeenSet; 224 }; 225 226 } // namespace Model 227 } // namespace MediaLive 228 } // namespace Aws 229