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/mediaconvert/model/CmfcAudioDuration.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/mediaconvert/model/CmfcAudioTrackType.h> 11 #include <aws/mediaconvert/model/CmfcDescriptiveVideoServiceFlag.h> 12 #include <aws/mediaconvert/model/CmfcIFrameOnlyManifest.h> 13 #include <aws/mediaconvert/model/CmfcScte35Esam.h> 14 #include <aws/mediaconvert/model/CmfcScte35Source.h> 15 #include <utility> 16 17 namespace Aws 18 { 19 namespace Utils 20 { 21 namespace Json 22 { 23 class JsonValue; 24 class JsonView; 25 } // namespace Json 26 } // namespace Utils 27 namespace MediaConvert 28 { 29 namespace Model 30 { 31 32 /** 33 * These settings relate to the fragmented MP4 container for the segments in your 34 * CMAF outputs.<p><h3>See Also:</h3> <a 35 * href="http://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CmfcSettings">AWS 36 * API Reference</a></p> 37 */ 38 class AWS_MEDIACONVERT_API CmfcSettings 39 { 40 public: 41 CmfcSettings(); 42 CmfcSettings(Aws::Utils::Json::JsonView jsonValue); 43 CmfcSettings& operator=(Aws::Utils::Json::JsonView jsonValue); 44 Aws::Utils::Json::JsonValue Jsonize() const; 45 46 47 /** 48 * Specify this setting only when your output will be consumed by a downstream 49 * repackaging workflow that is sensitive to very small duration differences 50 * between video and audio. For this situation, choose Match video duration 51 * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default 52 * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, 53 * MediaConvert pads the output audio streams with silence or trims them to ensure 54 * that the total duration of each audio stream is at least as long as the total 55 * duration of the video stream. After padding or trimming, the audio stream 56 * duration is no more than one frame longer than the video stream. MediaConvert 57 * applies audio padding or trimming only to the end of the last segment of the 58 * output. For unsegmented outputs, MediaConvert adds padding only to the end of 59 * the file. When you keep the default value, any minor discrepancies between audio 60 * and video duration will depend on your output audio codec. 61 */ GetAudioDuration()62 inline const CmfcAudioDuration& GetAudioDuration() const{ return m_audioDuration; } 63 64 /** 65 * Specify this setting only when your output will be consumed by a downstream 66 * repackaging workflow that is sensitive to very small duration differences 67 * between video and audio. For this situation, choose Match video duration 68 * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default 69 * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, 70 * MediaConvert pads the output audio streams with silence or trims them to ensure 71 * that the total duration of each audio stream is at least as long as the total 72 * duration of the video stream. After padding or trimming, the audio stream 73 * duration is no more than one frame longer than the video stream. MediaConvert 74 * applies audio padding or trimming only to the end of the last segment of the 75 * output. For unsegmented outputs, MediaConvert adds padding only to the end of 76 * the file. When you keep the default value, any minor discrepancies between audio 77 * and video duration will depend on your output audio codec. 78 */ AudioDurationHasBeenSet()79 inline bool AudioDurationHasBeenSet() const { return m_audioDurationHasBeenSet; } 80 81 /** 82 * Specify this setting only when your output will be consumed by a downstream 83 * repackaging workflow that is sensitive to very small duration differences 84 * between video and audio. For this situation, choose Match video duration 85 * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default 86 * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, 87 * MediaConvert pads the output audio streams with silence or trims them to ensure 88 * that the total duration of each audio stream is at least as long as the total 89 * duration of the video stream. After padding or trimming, the audio stream 90 * duration is no more than one frame longer than the video stream. MediaConvert 91 * applies audio padding or trimming only to the end of the last segment of the 92 * output. For unsegmented outputs, MediaConvert adds padding only to the end of 93 * the file. When you keep the default value, any minor discrepancies between audio 94 * and video duration will depend on your output audio codec. 95 */ SetAudioDuration(const CmfcAudioDuration & value)96 inline void SetAudioDuration(const CmfcAudioDuration& value) { m_audioDurationHasBeenSet = true; m_audioDuration = value; } 97 98 /** 99 * Specify this setting only when your output will be consumed by a downstream 100 * repackaging workflow that is sensitive to very small duration differences 101 * between video and audio. For this situation, choose Match video duration 102 * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default 103 * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, 104 * MediaConvert pads the output audio streams with silence or trims them to ensure 105 * that the total duration of each audio stream is at least as long as the total 106 * duration of the video stream. After padding or trimming, the audio stream 107 * duration is no more than one frame longer than the video stream. MediaConvert 108 * applies audio padding or trimming only to the end of the last segment of the 109 * output. For unsegmented outputs, MediaConvert adds padding only to the end of 110 * the file. When you keep the default value, any minor discrepancies between audio 111 * and video duration will depend on your output audio codec. 112 */ SetAudioDuration(CmfcAudioDuration && value)113 inline void SetAudioDuration(CmfcAudioDuration&& value) { m_audioDurationHasBeenSet = true; m_audioDuration = std::move(value); } 114 115 /** 116 * Specify this setting only when your output will be consumed by a downstream 117 * repackaging workflow that is sensitive to very small duration differences 118 * between video and audio. For this situation, choose Match video duration 119 * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default 120 * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, 121 * MediaConvert pads the output audio streams with silence or trims them to ensure 122 * that the total duration of each audio stream is at least as long as the total 123 * duration of the video stream. After padding or trimming, the audio stream 124 * duration is no more than one frame longer than the video stream. MediaConvert 125 * applies audio padding or trimming only to the end of the last segment of the 126 * output. For unsegmented outputs, MediaConvert adds padding only to the end of 127 * the file. When you keep the default value, any minor discrepancies between audio 128 * and video duration will depend on your output audio codec. 129 */ WithAudioDuration(const CmfcAudioDuration & value)130 inline CmfcSettings& WithAudioDuration(const CmfcAudioDuration& value) { SetAudioDuration(value); return *this;} 131 132 /** 133 * Specify this setting only when your output will be consumed by a downstream 134 * repackaging workflow that is sensitive to very small duration differences 135 * between video and audio. For this situation, choose Match video duration 136 * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default 137 * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, 138 * MediaConvert pads the output audio streams with silence or trims them to ensure 139 * that the total duration of each audio stream is at least as long as the total 140 * duration of the video stream. After padding or trimming, the audio stream 141 * duration is no more than one frame longer than the video stream. MediaConvert 142 * applies audio padding or trimming only to the end of the last segment of the 143 * output. For unsegmented outputs, MediaConvert adds padding only to the end of 144 * the file. When you keep the default value, any minor discrepancies between audio 145 * and video duration will depend on your output audio codec. 146 */ WithAudioDuration(CmfcAudioDuration && value)147 inline CmfcSettings& WithAudioDuration(CmfcAudioDuration&& value) { SetAudioDuration(std::move(value)); return *this;} 148 149 150 /** 151 * Specify the audio rendition group for this audio rendition. Specify up to one 152 * value for each audio output in your output group. This value appears in your HLS 153 * parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the 154 * GROUP-ID attribute. For example, if you specify "audio_aac_1" for Audio group 155 * ID, it appears in your manifest like this: 156 * #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_aac_1". Related setting: To associate 157 * the rendition group that this audio track belongs to with a video rendition, 158 * include the same value that you provide here for that video output's setting 159 * Audio rendition sets (audioRenditionSets). 160 */ GetAudioGroupId()161 inline const Aws::String& GetAudioGroupId() const{ return m_audioGroupId; } 162 163 /** 164 * Specify the audio rendition group for this audio rendition. Specify up to one 165 * value for each audio output in your output group. This value appears in your HLS 166 * parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the 167 * GROUP-ID attribute. For example, if you specify "audio_aac_1" for Audio group 168 * ID, it appears in your manifest like this: 169 * #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_aac_1". Related setting: To associate 170 * the rendition group that this audio track belongs to with a video rendition, 171 * include the same value that you provide here for that video output's setting 172 * Audio rendition sets (audioRenditionSets). 173 */ AudioGroupIdHasBeenSet()174 inline bool AudioGroupIdHasBeenSet() const { return m_audioGroupIdHasBeenSet; } 175 176 /** 177 * Specify the audio rendition group for this audio rendition. Specify up to one 178 * value for each audio output in your output group. This value appears in your HLS 179 * parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the 180 * GROUP-ID attribute. For example, if you specify "audio_aac_1" for Audio group 181 * ID, it appears in your manifest like this: 182 * #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_aac_1". Related setting: To associate 183 * the rendition group that this audio track belongs to with a video rendition, 184 * include the same value that you provide here for that video output's setting 185 * Audio rendition sets (audioRenditionSets). 186 */ SetAudioGroupId(const Aws::String & value)187 inline void SetAudioGroupId(const Aws::String& value) { m_audioGroupIdHasBeenSet = true; m_audioGroupId = value; } 188 189 /** 190 * Specify the audio rendition group for this audio rendition. Specify up to one 191 * value for each audio output in your output group. This value appears in your HLS 192 * parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the 193 * GROUP-ID attribute. For example, if you specify "audio_aac_1" for Audio group 194 * ID, it appears in your manifest like this: 195 * #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_aac_1". Related setting: To associate 196 * the rendition group that this audio track belongs to with a video rendition, 197 * include the same value that you provide here for that video output's setting 198 * Audio rendition sets (audioRenditionSets). 199 */ SetAudioGroupId(Aws::String && value)200 inline void SetAudioGroupId(Aws::String&& value) { m_audioGroupIdHasBeenSet = true; m_audioGroupId = std::move(value); } 201 202 /** 203 * Specify the audio rendition group for this audio rendition. Specify up to one 204 * value for each audio output in your output group. This value appears in your HLS 205 * parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the 206 * GROUP-ID attribute. For example, if you specify "audio_aac_1" for Audio group 207 * ID, it appears in your manifest like this: 208 * #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_aac_1". Related setting: To associate 209 * the rendition group that this audio track belongs to with a video rendition, 210 * include the same value that you provide here for that video output's setting 211 * Audio rendition sets (audioRenditionSets). 212 */ SetAudioGroupId(const char * value)213 inline void SetAudioGroupId(const char* value) { m_audioGroupIdHasBeenSet = true; m_audioGroupId.assign(value); } 214 215 /** 216 * Specify the audio rendition group for this audio rendition. Specify up to one 217 * value for each audio output in your output group. This value appears in your HLS 218 * parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the 219 * GROUP-ID attribute. For example, if you specify "audio_aac_1" for Audio group 220 * ID, it appears in your manifest like this: 221 * #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_aac_1". Related setting: To associate 222 * the rendition group that this audio track belongs to with a video rendition, 223 * include the same value that you provide here for that video output's setting 224 * Audio rendition sets (audioRenditionSets). 225 */ WithAudioGroupId(const Aws::String & value)226 inline CmfcSettings& WithAudioGroupId(const Aws::String& value) { SetAudioGroupId(value); return *this;} 227 228 /** 229 * Specify the audio rendition group for this audio rendition. Specify up to one 230 * value for each audio output in your output group. This value appears in your HLS 231 * parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the 232 * GROUP-ID attribute. For example, if you specify "audio_aac_1" for Audio group 233 * ID, it appears in your manifest like this: 234 * #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_aac_1". Related setting: To associate 235 * the rendition group that this audio track belongs to with a video rendition, 236 * include the same value that you provide here for that video output's setting 237 * Audio rendition sets (audioRenditionSets). 238 */ WithAudioGroupId(Aws::String && value)239 inline CmfcSettings& WithAudioGroupId(Aws::String&& value) { SetAudioGroupId(std::move(value)); return *this;} 240 241 /** 242 * Specify the audio rendition group for this audio rendition. Specify up to one 243 * value for each audio output in your output group. This value appears in your HLS 244 * parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the 245 * GROUP-ID attribute. For example, if you specify "audio_aac_1" for Audio group 246 * ID, it appears in your manifest like this: 247 * #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_aac_1". Related setting: To associate 248 * the rendition group that this audio track belongs to with a video rendition, 249 * include the same value that you provide here for that video output's setting 250 * Audio rendition sets (audioRenditionSets). 251 */ WithAudioGroupId(const char * value)252 inline CmfcSettings& WithAudioGroupId(const char* value) { SetAudioGroupId(value); return *this;} 253 254 255 /** 256 * List the audio rendition groups that you want included with this video 257 * rendition. Use a comma-separated list. For example, say you want to include the 258 * audio rendition groups that have the audio group IDs "audio_aac_1" and 259 * "audio_dolby". Then you would specify this value: "audio_aac_1, audio_dolby". 260 * Related setting: The rendition groups that you include in your comma-separated 261 * list should all match values that you specify in the setting Audio group ID 262 * (AudioGroupId) for audio renditions in the same output group as this video 263 * rendition. Default behavior: If you don't specify anything here and for Audio 264 * group ID, MediaConvert puts each audio variant in its own audio rendition group 265 * and associates it with every video variant. Each value in your list appears in 266 * your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO 267 * attribute. To continue the previous example, say that the file name for the 268 * child manifest for your video rendition is "amazing_video_1.m3u8". Then, in your 269 * parent manifest, each value will appear on separate lines, like this: 270 * #EXT-X-STREAM-INF:AUDIO="audio_aac_1"... amazing_video_1.m3u8 271 * #EXT-X-STREAM-INF:AUDIO="audio_dolby"... amazing_video_1.m3u8 272 */ GetAudioRenditionSets()273 inline const Aws::String& GetAudioRenditionSets() const{ return m_audioRenditionSets; } 274 275 /** 276 * List the audio rendition groups that you want included with this video 277 * rendition. Use a comma-separated list. For example, say you want to include the 278 * audio rendition groups that have the audio group IDs "audio_aac_1" and 279 * "audio_dolby". Then you would specify this value: "audio_aac_1, audio_dolby". 280 * Related setting: The rendition groups that you include in your comma-separated 281 * list should all match values that you specify in the setting Audio group ID 282 * (AudioGroupId) for audio renditions in the same output group as this video 283 * rendition. Default behavior: If you don't specify anything here and for Audio 284 * group ID, MediaConvert puts each audio variant in its own audio rendition group 285 * and associates it with every video variant. Each value in your list appears in 286 * your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO 287 * attribute. To continue the previous example, say that the file name for the 288 * child manifest for your video rendition is "amazing_video_1.m3u8". Then, in your 289 * parent manifest, each value will appear on separate lines, like this: 290 * #EXT-X-STREAM-INF:AUDIO="audio_aac_1"... amazing_video_1.m3u8 291 * #EXT-X-STREAM-INF:AUDIO="audio_dolby"... amazing_video_1.m3u8 292 */ AudioRenditionSetsHasBeenSet()293 inline bool AudioRenditionSetsHasBeenSet() const { return m_audioRenditionSetsHasBeenSet; } 294 295 /** 296 * List the audio rendition groups that you want included with this video 297 * rendition. Use a comma-separated list. For example, say you want to include the 298 * audio rendition groups that have the audio group IDs "audio_aac_1" and 299 * "audio_dolby". Then you would specify this value: "audio_aac_1, audio_dolby". 300 * Related setting: The rendition groups that you include in your comma-separated 301 * list should all match values that you specify in the setting Audio group ID 302 * (AudioGroupId) for audio renditions in the same output group as this video 303 * rendition. Default behavior: If you don't specify anything here and for Audio 304 * group ID, MediaConvert puts each audio variant in its own audio rendition group 305 * and associates it with every video variant. Each value in your list appears in 306 * your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO 307 * attribute. To continue the previous example, say that the file name for the 308 * child manifest for your video rendition is "amazing_video_1.m3u8". Then, in your 309 * parent manifest, each value will appear on separate lines, like this: 310 * #EXT-X-STREAM-INF:AUDIO="audio_aac_1"... amazing_video_1.m3u8 311 * #EXT-X-STREAM-INF:AUDIO="audio_dolby"... amazing_video_1.m3u8 312 */ SetAudioRenditionSets(const Aws::String & value)313 inline void SetAudioRenditionSets(const Aws::String& value) { m_audioRenditionSetsHasBeenSet = true; m_audioRenditionSets = value; } 314 315 /** 316 * List the audio rendition groups that you want included with this video 317 * rendition. Use a comma-separated list. For example, say you want to include the 318 * audio rendition groups that have the audio group IDs "audio_aac_1" and 319 * "audio_dolby". Then you would specify this value: "audio_aac_1, audio_dolby". 320 * Related setting: The rendition groups that you include in your comma-separated 321 * list should all match values that you specify in the setting Audio group ID 322 * (AudioGroupId) for audio renditions in the same output group as this video 323 * rendition. Default behavior: If you don't specify anything here and for Audio 324 * group ID, MediaConvert puts each audio variant in its own audio rendition group 325 * and associates it with every video variant. Each value in your list appears in 326 * your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO 327 * attribute. To continue the previous example, say that the file name for the 328 * child manifest for your video rendition is "amazing_video_1.m3u8". Then, in your 329 * parent manifest, each value will appear on separate lines, like this: 330 * #EXT-X-STREAM-INF:AUDIO="audio_aac_1"... amazing_video_1.m3u8 331 * #EXT-X-STREAM-INF:AUDIO="audio_dolby"... amazing_video_1.m3u8 332 */ SetAudioRenditionSets(Aws::String && value)333 inline void SetAudioRenditionSets(Aws::String&& value) { m_audioRenditionSetsHasBeenSet = true; m_audioRenditionSets = std::move(value); } 334 335 /** 336 * List the audio rendition groups that you want included with this video 337 * rendition. Use a comma-separated list. For example, say you want to include the 338 * audio rendition groups that have the audio group IDs "audio_aac_1" and 339 * "audio_dolby". Then you would specify this value: "audio_aac_1, audio_dolby". 340 * Related setting: The rendition groups that you include in your comma-separated 341 * list should all match values that you specify in the setting Audio group ID 342 * (AudioGroupId) for audio renditions in the same output group as this video 343 * rendition. Default behavior: If you don't specify anything here and for Audio 344 * group ID, MediaConvert puts each audio variant in its own audio rendition group 345 * and associates it with every video variant. Each value in your list appears in 346 * your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO 347 * attribute. To continue the previous example, say that the file name for the 348 * child manifest for your video rendition is "amazing_video_1.m3u8". Then, in your 349 * parent manifest, each value will appear on separate lines, like this: 350 * #EXT-X-STREAM-INF:AUDIO="audio_aac_1"... amazing_video_1.m3u8 351 * #EXT-X-STREAM-INF:AUDIO="audio_dolby"... amazing_video_1.m3u8 352 */ SetAudioRenditionSets(const char * value)353 inline void SetAudioRenditionSets(const char* value) { m_audioRenditionSetsHasBeenSet = true; m_audioRenditionSets.assign(value); } 354 355 /** 356 * List the audio rendition groups that you want included with this video 357 * rendition. Use a comma-separated list. For example, say you want to include the 358 * audio rendition groups that have the audio group IDs "audio_aac_1" and 359 * "audio_dolby". Then you would specify this value: "audio_aac_1, audio_dolby". 360 * Related setting: The rendition groups that you include in your comma-separated 361 * list should all match values that you specify in the setting Audio group ID 362 * (AudioGroupId) for audio renditions in the same output group as this video 363 * rendition. Default behavior: If you don't specify anything here and for Audio 364 * group ID, MediaConvert puts each audio variant in its own audio rendition group 365 * and associates it with every video variant. Each value in your list appears in 366 * your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO 367 * attribute. To continue the previous example, say that the file name for the 368 * child manifest for your video rendition is "amazing_video_1.m3u8". Then, in your 369 * parent manifest, each value will appear on separate lines, like this: 370 * #EXT-X-STREAM-INF:AUDIO="audio_aac_1"... amazing_video_1.m3u8 371 * #EXT-X-STREAM-INF:AUDIO="audio_dolby"... amazing_video_1.m3u8 372 */ WithAudioRenditionSets(const Aws::String & value)373 inline CmfcSettings& WithAudioRenditionSets(const Aws::String& value) { SetAudioRenditionSets(value); return *this;} 374 375 /** 376 * List the audio rendition groups that you want included with this video 377 * rendition. Use a comma-separated list. For example, say you want to include the 378 * audio rendition groups that have the audio group IDs "audio_aac_1" and 379 * "audio_dolby". Then you would specify this value: "audio_aac_1, audio_dolby". 380 * Related setting: The rendition groups that you include in your comma-separated 381 * list should all match values that you specify in the setting Audio group ID 382 * (AudioGroupId) for audio renditions in the same output group as this video 383 * rendition. Default behavior: If you don't specify anything here and for Audio 384 * group ID, MediaConvert puts each audio variant in its own audio rendition group 385 * and associates it with every video variant. Each value in your list appears in 386 * your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO 387 * attribute. To continue the previous example, say that the file name for the 388 * child manifest for your video rendition is "amazing_video_1.m3u8". Then, in your 389 * parent manifest, each value will appear on separate lines, like this: 390 * #EXT-X-STREAM-INF:AUDIO="audio_aac_1"... amazing_video_1.m3u8 391 * #EXT-X-STREAM-INF:AUDIO="audio_dolby"... amazing_video_1.m3u8 392 */ WithAudioRenditionSets(Aws::String && value)393 inline CmfcSettings& WithAudioRenditionSets(Aws::String&& value) { SetAudioRenditionSets(std::move(value)); return *this;} 394 395 /** 396 * List the audio rendition groups that you want included with this video 397 * rendition. Use a comma-separated list. For example, say you want to include the 398 * audio rendition groups that have the audio group IDs "audio_aac_1" and 399 * "audio_dolby". Then you would specify this value: "audio_aac_1, audio_dolby". 400 * Related setting: The rendition groups that you include in your comma-separated 401 * list should all match values that you specify in the setting Audio group ID 402 * (AudioGroupId) for audio renditions in the same output group as this video 403 * rendition. Default behavior: If you don't specify anything here and for Audio 404 * group ID, MediaConvert puts each audio variant in its own audio rendition group 405 * and associates it with every video variant. Each value in your list appears in 406 * your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO 407 * attribute. To continue the previous example, say that the file name for the 408 * child manifest for your video rendition is "amazing_video_1.m3u8". Then, in your 409 * parent manifest, each value will appear on separate lines, like this: 410 * #EXT-X-STREAM-INF:AUDIO="audio_aac_1"... amazing_video_1.m3u8 411 * #EXT-X-STREAM-INF:AUDIO="audio_dolby"... amazing_video_1.m3u8 412 */ WithAudioRenditionSets(const char * value)413 inline CmfcSettings& WithAudioRenditionSets(const char* value) { SetAudioRenditionSets(value); return *this;} 414 415 416 /** 417 * Use this setting to control the values that MediaConvert puts in your HLS parent 418 * playlist to control how the client player selects which audio track to play. The 419 * other options for this setting determine the values that MediaConvert writes for 420 * the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio 421 * variant. For more information about these attributes, see the Apple 422 * documentation article 423 * https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist. 424 * Choose Alternate audio, auto select, default 425 * (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) to set DEFAULT=YES and AUTOSELECT=YES. 426 * Choose this value for only one variant in your output group. Choose Alternate 427 * audio, auto select, not default (ALTERNATE_AUDIO_AUTO_SELECT) to set DEFAULT=NO 428 * and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO 429 * and AUTOSELECT=NO. When you don't specify a value for this setting, MediaConvert 430 * defaults to Alternate audio, auto select, default. When there is more than one 431 * variant in your output group, you must explicitly choose a value for this 432 * setting. 433 */ GetAudioTrackType()434 inline const CmfcAudioTrackType& GetAudioTrackType() const{ return m_audioTrackType; } 435 436 /** 437 * Use this setting to control the values that MediaConvert puts in your HLS parent 438 * playlist to control how the client player selects which audio track to play. The 439 * other options for this setting determine the values that MediaConvert writes for 440 * the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio 441 * variant. For more information about these attributes, see the Apple 442 * documentation article 443 * https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist. 444 * Choose Alternate audio, auto select, default 445 * (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) to set DEFAULT=YES and AUTOSELECT=YES. 446 * Choose this value for only one variant in your output group. Choose Alternate 447 * audio, auto select, not default (ALTERNATE_AUDIO_AUTO_SELECT) to set DEFAULT=NO 448 * and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO 449 * and AUTOSELECT=NO. When you don't specify a value for this setting, MediaConvert 450 * defaults to Alternate audio, auto select, default. When there is more than one 451 * variant in your output group, you must explicitly choose a value for this 452 * setting. 453 */ AudioTrackTypeHasBeenSet()454 inline bool AudioTrackTypeHasBeenSet() const { return m_audioTrackTypeHasBeenSet; } 455 456 /** 457 * Use this setting to control the values that MediaConvert puts in your HLS parent 458 * playlist to control how the client player selects which audio track to play. The 459 * other options for this setting determine the values that MediaConvert writes for 460 * the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio 461 * variant. For more information about these attributes, see the Apple 462 * documentation article 463 * https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist. 464 * Choose Alternate audio, auto select, default 465 * (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) to set DEFAULT=YES and AUTOSELECT=YES. 466 * Choose this value for only one variant in your output group. Choose Alternate 467 * audio, auto select, not default (ALTERNATE_AUDIO_AUTO_SELECT) to set DEFAULT=NO 468 * and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO 469 * and AUTOSELECT=NO. When you don't specify a value for this setting, MediaConvert 470 * defaults to Alternate audio, auto select, default. When there is more than one 471 * variant in your output group, you must explicitly choose a value for this 472 * setting. 473 */ SetAudioTrackType(const CmfcAudioTrackType & value)474 inline void SetAudioTrackType(const CmfcAudioTrackType& value) { m_audioTrackTypeHasBeenSet = true; m_audioTrackType = value; } 475 476 /** 477 * Use this setting to control the values that MediaConvert puts in your HLS parent 478 * playlist to control how the client player selects which audio track to play. The 479 * other options for this setting determine the values that MediaConvert writes for 480 * the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio 481 * variant. For more information about these attributes, see the Apple 482 * documentation article 483 * https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist. 484 * Choose Alternate audio, auto select, default 485 * (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) to set DEFAULT=YES and AUTOSELECT=YES. 486 * Choose this value for only one variant in your output group. Choose Alternate 487 * audio, auto select, not default (ALTERNATE_AUDIO_AUTO_SELECT) to set DEFAULT=NO 488 * and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO 489 * and AUTOSELECT=NO. When you don't specify a value for this setting, MediaConvert 490 * defaults to Alternate audio, auto select, default. When there is more than one 491 * variant in your output group, you must explicitly choose a value for this 492 * setting. 493 */ SetAudioTrackType(CmfcAudioTrackType && value)494 inline void SetAudioTrackType(CmfcAudioTrackType&& value) { m_audioTrackTypeHasBeenSet = true; m_audioTrackType = std::move(value); } 495 496 /** 497 * Use this setting to control the values that MediaConvert puts in your HLS parent 498 * playlist to control how the client player selects which audio track to play. The 499 * other options for this setting determine the values that MediaConvert writes for 500 * the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio 501 * variant. For more information about these attributes, see the Apple 502 * documentation article 503 * https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist. 504 * Choose Alternate audio, auto select, default 505 * (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) to set DEFAULT=YES and AUTOSELECT=YES. 506 * Choose this value for only one variant in your output group. Choose Alternate 507 * audio, auto select, not default (ALTERNATE_AUDIO_AUTO_SELECT) to set DEFAULT=NO 508 * and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO 509 * and AUTOSELECT=NO. When you don't specify a value for this setting, MediaConvert 510 * defaults to Alternate audio, auto select, default. When there is more than one 511 * variant in your output group, you must explicitly choose a value for this 512 * setting. 513 */ WithAudioTrackType(const CmfcAudioTrackType & value)514 inline CmfcSettings& WithAudioTrackType(const CmfcAudioTrackType& value) { SetAudioTrackType(value); return *this;} 515 516 /** 517 * Use this setting to control the values that MediaConvert puts in your HLS parent 518 * playlist to control how the client player selects which audio track to play. The 519 * other options for this setting determine the values that MediaConvert writes for 520 * the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio 521 * variant. For more information about these attributes, see the Apple 522 * documentation article 523 * https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist. 524 * Choose Alternate audio, auto select, default 525 * (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) to set DEFAULT=YES and AUTOSELECT=YES. 526 * Choose this value for only one variant in your output group. Choose Alternate 527 * audio, auto select, not default (ALTERNATE_AUDIO_AUTO_SELECT) to set DEFAULT=NO 528 * and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO 529 * and AUTOSELECT=NO. When you don't specify a value for this setting, MediaConvert 530 * defaults to Alternate audio, auto select, default. When there is more than one 531 * variant in your output group, you must explicitly choose a value for this 532 * setting. 533 */ WithAudioTrackType(CmfcAudioTrackType && value)534 inline CmfcSettings& WithAudioTrackType(CmfcAudioTrackType&& value) { SetAudioTrackType(std::move(value)); return *this;} 535 536 537 /** 538 * Specify whether to flag this audio track as descriptive video service (DVS) in 539 * your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the 540 * parameter CHARACTERISTICS="public.accessibility.describes-video" in the 541 * EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag 542 * (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with 543 * accessibility on Apple devices. For more information, see the Apple 544 * documentation. 545 */ GetDescriptiveVideoServiceFlag()546 inline const CmfcDescriptiveVideoServiceFlag& GetDescriptiveVideoServiceFlag() const{ return m_descriptiveVideoServiceFlag; } 547 548 /** 549 * Specify whether to flag this audio track as descriptive video service (DVS) in 550 * your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the 551 * parameter CHARACTERISTICS="public.accessibility.describes-video" in the 552 * EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag 553 * (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with 554 * accessibility on Apple devices. For more information, see the Apple 555 * documentation. 556 */ DescriptiveVideoServiceFlagHasBeenSet()557 inline bool DescriptiveVideoServiceFlagHasBeenSet() const { return m_descriptiveVideoServiceFlagHasBeenSet; } 558 559 /** 560 * Specify whether to flag this audio track as descriptive video service (DVS) in 561 * your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the 562 * parameter CHARACTERISTICS="public.accessibility.describes-video" in the 563 * EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag 564 * (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with 565 * accessibility on Apple devices. For more information, see the Apple 566 * documentation. 567 */ SetDescriptiveVideoServiceFlag(const CmfcDescriptiveVideoServiceFlag & value)568 inline void SetDescriptiveVideoServiceFlag(const CmfcDescriptiveVideoServiceFlag& value) { m_descriptiveVideoServiceFlagHasBeenSet = true; m_descriptiveVideoServiceFlag = value; } 569 570 /** 571 * Specify whether to flag this audio track as descriptive video service (DVS) in 572 * your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the 573 * parameter CHARACTERISTICS="public.accessibility.describes-video" in the 574 * EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag 575 * (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with 576 * accessibility on Apple devices. For more information, see the Apple 577 * documentation. 578 */ SetDescriptiveVideoServiceFlag(CmfcDescriptiveVideoServiceFlag && value)579 inline void SetDescriptiveVideoServiceFlag(CmfcDescriptiveVideoServiceFlag&& value) { m_descriptiveVideoServiceFlagHasBeenSet = true; m_descriptiveVideoServiceFlag = std::move(value); } 580 581 /** 582 * Specify whether to flag this audio track as descriptive video service (DVS) in 583 * your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the 584 * parameter CHARACTERISTICS="public.accessibility.describes-video" in the 585 * EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag 586 * (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with 587 * accessibility on Apple devices. For more information, see the Apple 588 * documentation. 589 */ WithDescriptiveVideoServiceFlag(const CmfcDescriptiveVideoServiceFlag & value)590 inline CmfcSettings& WithDescriptiveVideoServiceFlag(const CmfcDescriptiveVideoServiceFlag& value) { SetDescriptiveVideoServiceFlag(value); return *this;} 591 592 /** 593 * Specify whether to flag this audio track as descriptive video service (DVS) in 594 * your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the 595 * parameter CHARACTERISTICS="public.accessibility.describes-video" in the 596 * EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag 597 * (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with 598 * accessibility on Apple devices. For more information, see the Apple 599 * documentation. 600 */ WithDescriptiveVideoServiceFlag(CmfcDescriptiveVideoServiceFlag && value)601 inline CmfcSettings& WithDescriptiveVideoServiceFlag(CmfcDescriptiveVideoServiceFlag&& value) { SetDescriptiveVideoServiceFlag(std::move(value)); return *this;} 602 603 604 /** 605 * Choose Include (INCLUDE) to have MediaConvert generate an HLS child manifest 606 * that lists only the I-frames for this rendition, in addition to your regular 607 * manifest for this rendition. You might use this manifest as part of a workflow 608 * that creates preview functions for your video. MediaConvert adds both the 609 * I-frame only child manifest and the regular child manifest to the parent 610 * manifest. When you don't need the I-frame only child manifest, keep the default 611 * value Exclude (EXCLUDE). 612 */ GetIFrameOnlyManifest()613 inline const CmfcIFrameOnlyManifest& GetIFrameOnlyManifest() const{ return m_iFrameOnlyManifest; } 614 615 /** 616 * Choose Include (INCLUDE) to have MediaConvert generate an HLS child manifest 617 * that lists only the I-frames for this rendition, in addition to your regular 618 * manifest for this rendition. You might use this manifest as part of a workflow 619 * that creates preview functions for your video. MediaConvert adds both the 620 * I-frame only child manifest and the regular child manifest to the parent 621 * manifest. When you don't need the I-frame only child manifest, keep the default 622 * value Exclude (EXCLUDE). 623 */ IFrameOnlyManifestHasBeenSet()624 inline bool IFrameOnlyManifestHasBeenSet() const { return m_iFrameOnlyManifestHasBeenSet; } 625 626 /** 627 * Choose Include (INCLUDE) to have MediaConvert generate an HLS child manifest 628 * that lists only the I-frames for this rendition, in addition to your regular 629 * manifest for this rendition. You might use this manifest as part of a workflow 630 * that creates preview functions for your video. MediaConvert adds both the 631 * I-frame only child manifest and the regular child manifest to the parent 632 * manifest. When you don't need the I-frame only child manifest, keep the default 633 * value Exclude (EXCLUDE). 634 */ SetIFrameOnlyManifest(const CmfcIFrameOnlyManifest & value)635 inline void SetIFrameOnlyManifest(const CmfcIFrameOnlyManifest& value) { m_iFrameOnlyManifestHasBeenSet = true; m_iFrameOnlyManifest = value; } 636 637 /** 638 * Choose Include (INCLUDE) to have MediaConvert generate an HLS child manifest 639 * that lists only the I-frames for this rendition, in addition to your regular 640 * manifest for this rendition. You might use this manifest as part of a workflow 641 * that creates preview functions for your video. MediaConvert adds both the 642 * I-frame only child manifest and the regular child manifest to the parent 643 * manifest. When you don't need the I-frame only child manifest, keep the default 644 * value Exclude (EXCLUDE). 645 */ SetIFrameOnlyManifest(CmfcIFrameOnlyManifest && value)646 inline void SetIFrameOnlyManifest(CmfcIFrameOnlyManifest&& value) { m_iFrameOnlyManifestHasBeenSet = true; m_iFrameOnlyManifest = std::move(value); } 647 648 /** 649 * Choose Include (INCLUDE) to have MediaConvert generate an HLS child manifest 650 * that lists only the I-frames for this rendition, in addition to your regular 651 * manifest for this rendition. You might use this manifest as part of a workflow 652 * that creates preview functions for your video. MediaConvert adds both the 653 * I-frame only child manifest and the regular child manifest to the parent 654 * manifest. When you don't need the I-frame only child manifest, keep the default 655 * value Exclude (EXCLUDE). 656 */ WithIFrameOnlyManifest(const CmfcIFrameOnlyManifest & value)657 inline CmfcSettings& WithIFrameOnlyManifest(const CmfcIFrameOnlyManifest& value) { SetIFrameOnlyManifest(value); return *this;} 658 659 /** 660 * Choose Include (INCLUDE) to have MediaConvert generate an HLS child manifest 661 * that lists only the I-frames for this rendition, in addition to your regular 662 * manifest for this rendition. You might use this manifest as part of a workflow 663 * that creates preview functions for your video. MediaConvert adds both the 664 * I-frame only child manifest and the regular child manifest to the parent 665 * manifest. When you don't need the I-frame only child manifest, keep the default 666 * value Exclude (EXCLUDE). 667 */ WithIFrameOnlyManifest(CmfcIFrameOnlyManifest && value)668 inline CmfcSettings& WithIFrameOnlyManifest(CmfcIFrameOnlyManifest&& value) { SetIFrameOnlyManifest(std::move(value)); return *this;} 669 670 671 /** 672 * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT 673 * to put SCTE-35 markers in this output at the insertion points that you specify 674 * in an ESAM XML document. Provide the document in the setting SCC XML (sccXml). 675 */ GetScte35Esam()676 inline const CmfcScte35Esam& GetScte35Esam() const{ return m_scte35Esam; } 677 678 /** 679 * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT 680 * to put SCTE-35 markers in this output at the insertion points that you specify 681 * in an ESAM XML document. Provide the document in the setting SCC XML (sccXml). 682 */ Scte35EsamHasBeenSet()683 inline bool Scte35EsamHasBeenSet() const { return m_scte35EsamHasBeenSet; } 684 685 /** 686 * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT 687 * to put SCTE-35 markers in this output at the insertion points that you specify 688 * in an ESAM XML document. Provide the document in the setting SCC XML (sccXml). 689 */ SetScte35Esam(const CmfcScte35Esam & value)690 inline void SetScte35Esam(const CmfcScte35Esam& value) { m_scte35EsamHasBeenSet = true; m_scte35Esam = value; } 691 692 /** 693 * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT 694 * to put SCTE-35 markers in this output at the insertion points that you specify 695 * in an ESAM XML document. Provide the document in the setting SCC XML (sccXml). 696 */ SetScte35Esam(CmfcScte35Esam && value)697 inline void SetScte35Esam(CmfcScte35Esam&& value) { m_scte35EsamHasBeenSet = true; m_scte35Esam = std::move(value); } 698 699 /** 700 * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT 701 * to put SCTE-35 markers in this output at the insertion points that you specify 702 * in an ESAM XML document. Provide the document in the setting SCC XML (sccXml). 703 */ WithScte35Esam(const CmfcScte35Esam & value)704 inline CmfcSettings& WithScte35Esam(const CmfcScte35Esam& value) { SetScte35Esam(value); return *this;} 705 706 /** 707 * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT 708 * to put SCTE-35 markers in this output at the insertion points that you specify 709 * in an ESAM XML document. Provide the document in the setting SCC XML (sccXml). 710 */ WithScte35Esam(CmfcScte35Esam && value)711 inline CmfcSettings& WithScte35Esam(CmfcScte35Esam&& value) { SetScte35Esam(std::move(value)); return *this;} 712 713 714 /** 715 * Ignore this setting unless you have SCTE-35 markers in your input video file. 716 * Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your 717 * input to also appear in this output. Choose None (NONE) if you don't want those 718 * SCTE-35 markers in this output. 719 */ GetScte35Source()720 inline const CmfcScte35Source& GetScte35Source() const{ return m_scte35Source; } 721 722 /** 723 * Ignore this setting unless you have SCTE-35 markers in your input video file. 724 * Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your 725 * input to also appear in this output. Choose None (NONE) if you don't want those 726 * SCTE-35 markers in this output. 727 */ Scte35SourceHasBeenSet()728 inline bool Scte35SourceHasBeenSet() const { return m_scte35SourceHasBeenSet; } 729 730 /** 731 * Ignore this setting unless you have SCTE-35 markers in your input video file. 732 * Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your 733 * input to also appear in this output. Choose None (NONE) if you don't want those 734 * SCTE-35 markers in this output. 735 */ SetScte35Source(const CmfcScte35Source & value)736 inline void SetScte35Source(const CmfcScte35Source& value) { m_scte35SourceHasBeenSet = true; m_scte35Source = value; } 737 738 /** 739 * Ignore this setting unless you have SCTE-35 markers in your input video file. 740 * Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your 741 * input to also appear in this output. Choose None (NONE) if you don't want those 742 * SCTE-35 markers in this output. 743 */ SetScte35Source(CmfcScte35Source && value)744 inline void SetScte35Source(CmfcScte35Source&& value) { m_scte35SourceHasBeenSet = true; m_scte35Source = std::move(value); } 745 746 /** 747 * Ignore this setting unless you have SCTE-35 markers in your input video file. 748 * Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your 749 * input to also appear in this output. Choose None (NONE) if you don't want those 750 * SCTE-35 markers in this output. 751 */ WithScte35Source(const CmfcScte35Source & value)752 inline CmfcSettings& WithScte35Source(const CmfcScte35Source& value) { SetScte35Source(value); return *this;} 753 754 /** 755 * Ignore this setting unless you have SCTE-35 markers in your input video file. 756 * Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your 757 * input to also appear in this output. Choose None (NONE) if you don't want those 758 * SCTE-35 markers in this output. 759 */ WithScte35Source(CmfcScte35Source && value)760 inline CmfcSettings& WithScte35Source(CmfcScte35Source&& value) { SetScte35Source(std::move(value)); return *this;} 761 762 private: 763 764 CmfcAudioDuration m_audioDuration; 765 bool m_audioDurationHasBeenSet; 766 767 Aws::String m_audioGroupId; 768 bool m_audioGroupIdHasBeenSet; 769 770 Aws::String m_audioRenditionSets; 771 bool m_audioRenditionSetsHasBeenSet; 772 773 CmfcAudioTrackType m_audioTrackType; 774 bool m_audioTrackTypeHasBeenSet; 775 776 CmfcDescriptiveVideoServiceFlag m_descriptiveVideoServiceFlag; 777 bool m_descriptiveVideoServiceFlagHasBeenSet; 778 779 CmfcIFrameOnlyManifest m_iFrameOnlyManifest; 780 bool m_iFrameOnlyManifestHasBeenSet; 781 782 CmfcScte35Esam m_scte35Esam; 783 bool m_scte35EsamHasBeenSet; 784 785 CmfcScte35Source m_scte35Source; 786 bool m_scte35SourceHasBeenSet; 787 }; 788 789 } // namespace Model 790 } // namespace MediaConvert 791 } // namespace Aws 792