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/mediaconvert/MediaConvert_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/mediaconvert/model/HlsAudioOnlyContainer.h> 10 #include <aws/mediaconvert/model/HlsAudioTrackType.h> 11 #include <aws/mediaconvert/model/HlsDescriptiveVideoServiceFlag.h> 12 #include <aws/mediaconvert/model/HlsIFrameOnlyManifest.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace Utils 18 { 19 namespace Json 20 { 21 class JsonValue; 22 class JsonView; 23 } // namespace Json 24 } // namespace Utils 25 namespace MediaConvert 26 { 27 namespace Model 28 { 29 30 /** 31 * Settings for HLS output groups<p><h3>See Also:</h3> <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/HlsSettings">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_MEDIACONVERT_API HlsSettings 36 { 37 public: 38 HlsSettings(); 39 HlsSettings(Aws::Utils::Json::JsonView jsonValue); 40 HlsSettings& operator=(Aws::Utils::Json::JsonView jsonValue); 41 Aws::Utils::Json::JsonValue Jsonize() const; 42 43 44 /** 45 * Specifies the group to which the audio rendition belongs. 46 */ GetAudioGroupId()47 inline const Aws::String& GetAudioGroupId() const{ return m_audioGroupId; } 48 49 /** 50 * Specifies the group to which the audio rendition belongs. 51 */ AudioGroupIdHasBeenSet()52 inline bool AudioGroupIdHasBeenSet() const { return m_audioGroupIdHasBeenSet; } 53 54 /** 55 * Specifies the group to which the audio rendition belongs. 56 */ SetAudioGroupId(const Aws::String & value)57 inline void SetAudioGroupId(const Aws::String& value) { m_audioGroupIdHasBeenSet = true; m_audioGroupId = value; } 58 59 /** 60 * Specifies the group to which the audio rendition belongs. 61 */ SetAudioGroupId(Aws::String && value)62 inline void SetAudioGroupId(Aws::String&& value) { m_audioGroupIdHasBeenSet = true; m_audioGroupId = std::move(value); } 63 64 /** 65 * Specifies the group to which the audio rendition belongs. 66 */ SetAudioGroupId(const char * value)67 inline void SetAudioGroupId(const char* value) { m_audioGroupIdHasBeenSet = true; m_audioGroupId.assign(value); } 68 69 /** 70 * Specifies the group to which the audio rendition belongs. 71 */ WithAudioGroupId(const Aws::String & value)72 inline HlsSettings& WithAudioGroupId(const Aws::String& value) { SetAudioGroupId(value); return *this;} 73 74 /** 75 * Specifies the group to which the audio rendition belongs. 76 */ WithAudioGroupId(Aws::String && value)77 inline HlsSettings& WithAudioGroupId(Aws::String&& value) { SetAudioGroupId(std::move(value)); return *this;} 78 79 /** 80 * Specifies the group to which the audio rendition belongs. 81 */ WithAudioGroupId(const char * value)82 inline HlsSettings& WithAudioGroupId(const char* value) { SetAudioGroupId(value); return *this;} 83 84 85 /** 86 * Use this setting only in audio-only outputs. Choose MPEG-2 Transport Stream 87 * (M2TS) to create a file in an MPEG2-TS container. Keep the default value 88 * Automatic (AUTOMATIC) to create an audio-only file in a raw container. 89 * Regardless of the value that you specify here, if this output has video, the 90 * service will place the output into an MPEG2-TS container. 91 */ GetAudioOnlyContainer()92 inline const HlsAudioOnlyContainer& GetAudioOnlyContainer() const{ return m_audioOnlyContainer; } 93 94 /** 95 * Use this setting only in audio-only outputs. Choose MPEG-2 Transport Stream 96 * (M2TS) to create a file in an MPEG2-TS container. Keep the default value 97 * Automatic (AUTOMATIC) to create an audio-only file in a raw container. 98 * Regardless of the value that you specify here, if this output has video, the 99 * service will place the output into an MPEG2-TS container. 100 */ AudioOnlyContainerHasBeenSet()101 inline bool AudioOnlyContainerHasBeenSet() const { return m_audioOnlyContainerHasBeenSet; } 102 103 /** 104 * Use this setting only in audio-only outputs. Choose MPEG-2 Transport Stream 105 * (M2TS) to create a file in an MPEG2-TS container. Keep the default value 106 * Automatic (AUTOMATIC) to create an audio-only file in a raw container. 107 * Regardless of the value that you specify here, if this output has video, the 108 * service will place the output into an MPEG2-TS container. 109 */ SetAudioOnlyContainer(const HlsAudioOnlyContainer & value)110 inline void SetAudioOnlyContainer(const HlsAudioOnlyContainer& value) { m_audioOnlyContainerHasBeenSet = true; m_audioOnlyContainer = value; } 111 112 /** 113 * Use this setting only in audio-only outputs. Choose MPEG-2 Transport Stream 114 * (M2TS) to create a file in an MPEG2-TS container. Keep the default value 115 * Automatic (AUTOMATIC) to create an audio-only file in a raw container. 116 * Regardless of the value that you specify here, if this output has video, the 117 * service will place the output into an MPEG2-TS container. 118 */ SetAudioOnlyContainer(HlsAudioOnlyContainer && value)119 inline void SetAudioOnlyContainer(HlsAudioOnlyContainer&& value) { m_audioOnlyContainerHasBeenSet = true; m_audioOnlyContainer = std::move(value); } 120 121 /** 122 * Use this setting only in audio-only outputs. Choose MPEG-2 Transport Stream 123 * (M2TS) to create a file in an MPEG2-TS container. Keep the default value 124 * Automatic (AUTOMATIC) to create an audio-only file in a raw container. 125 * Regardless of the value that you specify here, if this output has video, the 126 * service will place the output into an MPEG2-TS container. 127 */ WithAudioOnlyContainer(const HlsAudioOnlyContainer & value)128 inline HlsSettings& WithAudioOnlyContainer(const HlsAudioOnlyContainer& value) { SetAudioOnlyContainer(value); return *this;} 129 130 /** 131 * Use this setting only in audio-only outputs. Choose MPEG-2 Transport Stream 132 * (M2TS) to create a file in an MPEG2-TS container. Keep the default value 133 * Automatic (AUTOMATIC) to create an audio-only file in a raw container. 134 * Regardless of the value that you specify here, if this output has video, the 135 * service will place the output into an MPEG2-TS container. 136 */ WithAudioOnlyContainer(HlsAudioOnlyContainer && value)137 inline HlsSettings& WithAudioOnlyContainer(HlsAudioOnlyContainer&& value) { SetAudioOnlyContainer(std::move(value)); return *this;} 138 139 140 /** 141 * List all the audio groups that are used with the video output stream. Input all 142 * the audio GROUP-IDs that are associated to the video, separate by ','. 143 */ GetAudioRenditionSets()144 inline const Aws::String& GetAudioRenditionSets() const{ return m_audioRenditionSets; } 145 146 /** 147 * List all the audio groups that are used with the video output stream. Input all 148 * the audio GROUP-IDs that are associated to the video, separate by ','. 149 */ AudioRenditionSetsHasBeenSet()150 inline bool AudioRenditionSetsHasBeenSet() const { return m_audioRenditionSetsHasBeenSet; } 151 152 /** 153 * List all the audio groups that are used with the video output stream. Input all 154 * the audio GROUP-IDs that are associated to the video, separate by ','. 155 */ SetAudioRenditionSets(const Aws::String & value)156 inline void SetAudioRenditionSets(const Aws::String& value) { m_audioRenditionSetsHasBeenSet = true; m_audioRenditionSets = value; } 157 158 /** 159 * List all the audio groups that are used with the video output stream. Input all 160 * the audio GROUP-IDs that are associated to the video, separate by ','. 161 */ SetAudioRenditionSets(Aws::String && value)162 inline void SetAudioRenditionSets(Aws::String&& value) { m_audioRenditionSetsHasBeenSet = true; m_audioRenditionSets = std::move(value); } 163 164 /** 165 * List all the audio groups that are used with the video output stream. Input all 166 * the audio GROUP-IDs that are associated to the video, separate by ','. 167 */ SetAudioRenditionSets(const char * value)168 inline void SetAudioRenditionSets(const char* value) { m_audioRenditionSetsHasBeenSet = true; m_audioRenditionSets.assign(value); } 169 170 /** 171 * List all the audio groups that are used with the video output stream. Input all 172 * the audio GROUP-IDs that are associated to the video, separate by ','. 173 */ WithAudioRenditionSets(const Aws::String & value)174 inline HlsSettings& WithAudioRenditionSets(const Aws::String& value) { SetAudioRenditionSets(value); return *this;} 175 176 /** 177 * List all the audio groups that are used with the video output stream. Input all 178 * the audio GROUP-IDs that are associated to the video, separate by ','. 179 */ WithAudioRenditionSets(Aws::String && value)180 inline HlsSettings& WithAudioRenditionSets(Aws::String&& value) { SetAudioRenditionSets(std::move(value)); return *this;} 181 182 /** 183 * List all the audio groups that are used with the video output stream. Input all 184 * the audio GROUP-IDs that are associated to the video, separate by ','. 185 */ WithAudioRenditionSets(const char * value)186 inline HlsSettings& WithAudioRenditionSets(const char* value) { SetAudioRenditionSets(value); return *this;} 187 188 189 /** 190 * Four types of audio-only tracks are supported: Audio-Only Variant Stream The 191 * client can play back this audio-only stream instead of video in low-bandwidth 192 * scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate 193 * Audio, Auto Select, Default Alternate rendition that the client should try to 194 * play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with 195 * DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default Alternate 196 * rendition that the client may try to play back by default. Represented as an 197 * EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate Audio, 198 * not Auto Select Alternate rendition that the client will not try to play back by 199 * default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, 200 * AUTOSELECT=NO 201 */ GetAudioTrackType()202 inline const HlsAudioTrackType& GetAudioTrackType() const{ return m_audioTrackType; } 203 204 /** 205 * Four types of audio-only tracks are supported: Audio-Only Variant Stream The 206 * client can play back this audio-only stream instead of video in low-bandwidth 207 * scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate 208 * Audio, Auto Select, Default Alternate rendition that the client should try to 209 * play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with 210 * DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default Alternate 211 * rendition that the client may try to play back by default. Represented as an 212 * EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate Audio, 213 * not Auto Select Alternate rendition that the client will not try to play back by 214 * default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, 215 * AUTOSELECT=NO 216 */ AudioTrackTypeHasBeenSet()217 inline bool AudioTrackTypeHasBeenSet() const { return m_audioTrackTypeHasBeenSet; } 218 219 /** 220 * Four types of audio-only tracks are supported: Audio-Only Variant Stream The 221 * client can play back this audio-only stream instead of video in low-bandwidth 222 * scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate 223 * Audio, Auto Select, Default Alternate rendition that the client should try to 224 * play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with 225 * DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default Alternate 226 * rendition that the client may try to play back by default. Represented as an 227 * EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate Audio, 228 * not Auto Select Alternate rendition that the client will not try to play back by 229 * default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, 230 * AUTOSELECT=NO 231 */ SetAudioTrackType(const HlsAudioTrackType & value)232 inline void SetAudioTrackType(const HlsAudioTrackType& value) { m_audioTrackTypeHasBeenSet = true; m_audioTrackType = value; } 233 234 /** 235 * Four types of audio-only tracks are supported: Audio-Only Variant Stream The 236 * client can play back this audio-only stream instead of video in low-bandwidth 237 * scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate 238 * Audio, Auto Select, Default Alternate rendition that the client should try to 239 * play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with 240 * DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default Alternate 241 * rendition that the client may try to play back by default. Represented as an 242 * EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate Audio, 243 * not Auto Select Alternate rendition that the client will not try to play back by 244 * default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, 245 * AUTOSELECT=NO 246 */ SetAudioTrackType(HlsAudioTrackType && value)247 inline void SetAudioTrackType(HlsAudioTrackType&& value) { m_audioTrackTypeHasBeenSet = true; m_audioTrackType = std::move(value); } 248 249 /** 250 * Four types of audio-only tracks are supported: Audio-Only Variant Stream The 251 * client can play back this audio-only stream instead of video in low-bandwidth 252 * scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate 253 * Audio, Auto Select, Default Alternate rendition that the client should try to 254 * play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with 255 * DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default Alternate 256 * rendition that the client may try to play back by default. Represented as an 257 * EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate Audio, 258 * not Auto Select Alternate rendition that the client will not try to play back by 259 * default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, 260 * AUTOSELECT=NO 261 */ WithAudioTrackType(const HlsAudioTrackType & value)262 inline HlsSettings& WithAudioTrackType(const HlsAudioTrackType& value) { SetAudioTrackType(value); return *this;} 263 264 /** 265 * Four types of audio-only tracks are supported: Audio-Only Variant Stream The 266 * client can play back this audio-only stream instead of video in low-bandwidth 267 * scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate 268 * Audio, Auto Select, Default Alternate rendition that the client should try to 269 * play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with 270 * DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default Alternate 271 * rendition that the client may try to play back by default. Represented as an 272 * EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate Audio, 273 * not Auto Select Alternate rendition that the client will not try to play back by 274 * default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, 275 * AUTOSELECT=NO 276 */ WithAudioTrackType(HlsAudioTrackType && value)277 inline HlsSettings& WithAudioTrackType(HlsAudioTrackType&& value) { SetAudioTrackType(std::move(value)); return *this;} 278 279 280 /** 281 * Specify whether to flag this audio track as descriptive video service (DVS) in 282 * your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the 283 * parameter CHARACTERISTICS="public.accessibility.describes-video" in the 284 * EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag 285 * (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with 286 * accessibility on Apple devices. For more information, see the Apple 287 * documentation. 288 */ GetDescriptiveVideoServiceFlag()289 inline const HlsDescriptiveVideoServiceFlag& GetDescriptiveVideoServiceFlag() const{ return m_descriptiveVideoServiceFlag; } 290 291 /** 292 * Specify whether to flag this audio track as descriptive video service (DVS) in 293 * your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the 294 * parameter CHARACTERISTICS="public.accessibility.describes-video" in the 295 * EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag 296 * (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with 297 * accessibility on Apple devices. For more information, see the Apple 298 * documentation. 299 */ DescriptiveVideoServiceFlagHasBeenSet()300 inline bool DescriptiveVideoServiceFlagHasBeenSet() const { return m_descriptiveVideoServiceFlagHasBeenSet; } 301 302 /** 303 * Specify whether to flag this audio track as descriptive video service (DVS) in 304 * your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the 305 * parameter CHARACTERISTICS="public.accessibility.describes-video" in the 306 * EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag 307 * (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with 308 * accessibility on Apple devices. For more information, see the Apple 309 * documentation. 310 */ SetDescriptiveVideoServiceFlag(const HlsDescriptiveVideoServiceFlag & value)311 inline void SetDescriptiveVideoServiceFlag(const HlsDescriptiveVideoServiceFlag& value) { m_descriptiveVideoServiceFlagHasBeenSet = true; m_descriptiveVideoServiceFlag = value; } 312 313 /** 314 * Specify whether to flag this audio track as descriptive video service (DVS) in 315 * your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the 316 * parameter CHARACTERISTICS="public.accessibility.describes-video" in the 317 * EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag 318 * (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with 319 * accessibility on Apple devices. For more information, see the Apple 320 * documentation. 321 */ SetDescriptiveVideoServiceFlag(HlsDescriptiveVideoServiceFlag && value)322 inline void SetDescriptiveVideoServiceFlag(HlsDescriptiveVideoServiceFlag&& value) { m_descriptiveVideoServiceFlagHasBeenSet = true; m_descriptiveVideoServiceFlag = std::move(value); } 323 324 /** 325 * Specify whether to flag this audio track as descriptive video service (DVS) in 326 * your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the 327 * parameter CHARACTERISTICS="public.accessibility.describes-video" in the 328 * EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag 329 * (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with 330 * accessibility on Apple devices. For more information, see the Apple 331 * documentation. 332 */ WithDescriptiveVideoServiceFlag(const HlsDescriptiveVideoServiceFlag & value)333 inline HlsSettings& WithDescriptiveVideoServiceFlag(const HlsDescriptiveVideoServiceFlag& value) { SetDescriptiveVideoServiceFlag(value); return *this;} 334 335 /** 336 * Specify whether to flag this audio track as descriptive video service (DVS) in 337 * your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the 338 * parameter CHARACTERISTICS="public.accessibility.describes-video" in the 339 * EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag 340 * (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with 341 * accessibility on Apple devices. For more information, see the Apple 342 * documentation. 343 */ WithDescriptiveVideoServiceFlag(HlsDescriptiveVideoServiceFlag && value)344 inline HlsSettings& WithDescriptiveVideoServiceFlag(HlsDescriptiveVideoServiceFlag&& value) { SetDescriptiveVideoServiceFlag(std::move(value)); return *this;} 345 346 347 /** 348 * Choose Include (INCLUDE) to have MediaConvert generate a child manifest that 349 * lists only the I-frames for this rendition, in addition to your regular manifest 350 * for this rendition. You might use this manifest as part of a workflow that 351 * creates preview functions for your video. MediaConvert adds both the I-frame 352 * only child manifest and the regular child manifest to the parent manifest. When 353 * you don't need the I-frame only child manifest, keep the default value Exclude 354 * (EXCLUDE). 355 */ GetIFrameOnlyManifest()356 inline const HlsIFrameOnlyManifest& GetIFrameOnlyManifest() const{ return m_iFrameOnlyManifest; } 357 358 /** 359 * Choose Include (INCLUDE) to have MediaConvert generate a child manifest that 360 * lists only the I-frames for this rendition, in addition to your regular manifest 361 * for this rendition. You might use this manifest as part of a workflow that 362 * creates preview functions for your video. MediaConvert adds both the I-frame 363 * only child manifest and the regular child manifest to the parent manifest. When 364 * you don't need the I-frame only child manifest, keep the default value Exclude 365 * (EXCLUDE). 366 */ IFrameOnlyManifestHasBeenSet()367 inline bool IFrameOnlyManifestHasBeenSet() const { return m_iFrameOnlyManifestHasBeenSet; } 368 369 /** 370 * Choose Include (INCLUDE) to have MediaConvert generate a child manifest that 371 * lists only the I-frames for this rendition, in addition to your regular manifest 372 * for this rendition. You might use this manifest as part of a workflow that 373 * creates preview functions for your video. MediaConvert adds both the I-frame 374 * only child manifest and the regular child manifest to the parent manifest. When 375 * you don't need the I-frame only child manifest, keep the default value Exclude 376 * (EXCLUDE). 377 */ SetIFrameOnlyManifest(const HlsIFrameOnlyManifest & value)378 inline void SetIFrameOnlyManifest(const HlsIFrameOnlyManifest& value) { m_iFrameOnlyManifestHasBeenSet = true; m_iFrameOnlyManifest = value; } 379 380 /** 381 * Choose Include (INCLUDE) to have MediaConvert generate a child manifest that 382 * lists only the I-frames for this rendition, in addition to your regular manifest 383 * for this rendition. You might use this manifest as part of a workflow that 384 * creates preview functions for your video. MediaConvert adds both the I-frame 385 * only child manifest and the regular child manifest to the parent manifest. When 386 * you don't need the I-frame only child manifest, keep the default value Exclude 387 * (EXCLUDE). 388 */ SetIFrameOnlyManifest(HlsIFrameOnlyManifest && value)389 inline void SetIFrameOnlyManifest(HlsIFrameOnlyManifest&& value) { m_iFrameOnlyManifestHasBeenSet = true; m_iFrameOnlyManifest = std::move(value); } 390 391 /** 392 * Choose Include (INCLUDE) to have MediaConvert generate a child manifest that 393 * lists only the I-frames for this rendition, in addition to your regular manifest 394 * for this rendition. You might use this manifest as part of a workflow that 395 * creates preview functions for your video. MediaConvert adds both the I-frame 396 * only child manifest and the regular child manifest to the parent manifest. When 397 * you don't need the I-frame only child manifest, keep the default value Exclude 398 * (EXCLUDE). 399 */ WithIFrameOnlyManifest(const HlsIFrameOnlyManifest & value)400 inline HlsSettings& WithIFrameOnlyManifest(const HlsIFrameOnlyManifest& value) { SetIFrameOnlyManifest(value); return *this;} 401 402 /** 403 * Choose Include (INCLUDE) to have MediaConvert generate a child manifest that 404 * lists only the I-frames for this rendition, in addition to your regular manifest 405 * for this rendition. You might use this manifest as part of a workflow that 406 * creates preview functions for your video. MediaConvert adds both the I-frame 407 * only child manifest and the regular child manifest to the parent manifest. When 408 * you don't need the I-frame only child manifest, keep the default value Exclude 409 * (EXCLUDE). 410 */ WithIFrameOnlyManifest(HlsIFrameOnlyManifest && value)411 inline HlsSettings& WithIFrameOnlyManifest(HlsIFrameOnlyManifest&& value) { SetIFrameOnlyManifest(std::move(value)); return *this;} 412 413 414 /** 415 * Use this setting to add an identifying string to the filename of each segment. 416 * The service adds this string between the name modifier and segment index number. 417 * You can use format identifiers in the string. For more information, see 418 * https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html 419 */ GetSegmentModifier()420 inline const Aws::String& GetSegmentModifier() const{ return m_segmentModifier; } 421 422 /** 423 * Use this setting to add an identifying string to the filename of each segment. 424 * The service adds this string between the name modifier and segment index number. 425 * You can use format identifiers in the string. For more information, see 426 * https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html 427 */ SegmentModifierHasBeenSet()428 inline bool SegmentModifierHasBeenSet() const { return m_segmentModifierHasBeenSet; } 429 430 /** 431 * Use this setting to add an identifying string to the filename of each segment. 432 * The service adds this string between the name modifier and segment index number. 433 * You can use format identifiers in the string. For more information, see 434 * https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html 435 */ SetSegmentModifier(const Aws::String & value)436 inline void SetSegmentModifier(const Aws::String& value) { m_segmentModifierHasBeenSet = true; m_segmentModifier = value; } 437 438 /** 439 * Use this setting to add an identifying string to the filename of each segment. 440 * The service adds this string between the name modifier and segment index number. 441 * You can use format identifiers in the string. For more information, see 442 * https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html 443 */ SetSegmentModifier(Aws::String && value)444 inline void SetSegmentModifier(Aws::String&& value) { m_segmentModifierHasBeenSet = true; m_segmentModifier = std::move(value); } 445 446 /** 447 * Use this setting to add an identifying string to the filename of each segment. 448 * The service adds this string between the name modifier and segment index number. 449 * You can use format identifiers in the string. For more information, see 450 * https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html 451 */ SetSegmentModifier(const char * value)452 inline void SetSegmentModifier(const char* value) { m_segmentModifierHasBeenSet = true; m_segmentModifier.assign(value); } 453 454 /** 455 * Use this setting to add an identifying string to the filename of each segment. 456 * The service adds this string between the name modifier and segment index number. 457 * You can use format identifiers in the string. For more information, see 458 * https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html 459 */ WithSegmentModifier(const Aws::String & value)460 inline HlsSettings& WithSegmentModifier(const Aws::String& value) { SetSegmentModifier(value); return *this;} 461 462 /** 463 * Use this setting to add an identifying string to the filename of each segment. 464 * The service adds this string between the name modifier and segment index number. 465 * You can use format identifiers in the string. For more information, see 466 * https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html 467 */ WithSegmentModifier(Aws::String && value)468 inline HlsSettings& WithSegmentModifier(Aws::String&& value) { SetSegmentModifier(std::move(value)); return *this;} 469 470 /** 471 * Use this setting to add an identifying string to the filename of each segment. 472 * The service adds this string between the name modifier and segment index number. 473 * You can use format identifiers in the string. For more information, see 474 * https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html 475 */ WithSegmentModifier(const char * value)476 inline HlsSettings& WithSegmentModifier(const char* value) { SetSegmentModifier(value); return *this;} 477 478 private: 479 480 Aws::String m_audioGroupId; 481 bool m_audioGroupIdHasBeenSet; 482 483 HlsAudioOnlyContainer m_audioOnlyContainer; 484 bool m_audioOnlyContainerHasBeenSet; 485 486 Aws::String m_audioRenditionSets; 487 bool m_audioRenditionSetsHasBeenSet; 488 489 HlsAudioTrackType m_audioTrackType; 490 bool m_audioTrackTypeHasBeenSet; 491 492 HlsDescriptiveVideoServiceFlag m_descriptiveVideoServiceFlag; 493 bool m_descriptiveVideoServiceFlagHasBeenSet; 494 495 HlsIFrameOnlyManifest m_iFrameOnlyManifest; 496 bool m_iFrameOnlyManifestHasBeenSet; 497 498 Aws::String m_segmentModifier; 499 bool m_segmentModifierHasBeenSet; 500 }; 501 502 } // namespace Model 503 } // namespace MediaConvert 504 } // namespace Aws 505