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/core/utils/memory/stl/AWSVector.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/medialive/model/HlsCaptionLanguageSetting.h> 11 #include <aws/medialive/model/HlsClientCache.h> 12 #include <aws/medialive/model/HlsCodecSpecification.h> 13 #include <aws/medialive/model/OutputLocationRef.h> 14 #include <aws/medialive/model/HlsDirectoryStructure.h> 15 #include <aws/medialive/model/HlsDiscontinuityTags.h> 16 #include <aws/medialive/model/HlsEncryptionType.h> 17 #include <aws/medialive/model/HlsCdnSettings.h> 18 #include <aws/medialive/model/HlsId3SegmentTaggingState.h> 19 #include <aws/medialive/model/IFrameOnlyPlaylistType.h> 20 #include <aws/medialive/model/HlsIncompleteSegmentBehavior.h> 21 #include <aws/medialive/model/InputLossActionForHlsOut.h> 22 #include <aws/medialive/model/HlsIvInManifest.h> 23 #include <aws/medialive/model/HlsIvSource.h> 24 #include <aws/medialive/model/KeyProviderSettings.h> 25 #include <aws/medialive/model/HlsManifestCompression.h> 26 #include <aws/medialive/model/HlsManifestDurationFormat.h> 27 #include <aws/medialive/model/HlsMode.h> 28 #include <aws/medialive/model/HlsOutputSelection.h> 29 #include <aws/medialive/model/HlsProgramDateTime.h> 30 #include <aws/medialive/model/HlsRedundantManifest.h> 31 #include <aws/medialive/model/HlsSegmentationMode.h> 32 #include <aws/medialive/model/HlsStreamInfResolution.h> 33 #include <aws/medialive/model/HlsTimedMetadataId3Frame.h> 34 #include <aws/medialive/model/HlsTsFileMode.h> 35 #include <aws/medialive/model/HlsAdMarkers.h> 36 #include <aws/medialive/model/CaptionLanguageMapping.h> 37 #include <utility> 38 39 namespace Aws 40 { 41 namespace Utils 42 { 43 namespace Json 44 { 45 class JsonValue; 46 class JsonView; 47 } // namespace Json 48 } // namespace Utils 49 namespace MediaLive 50 { 51 namespace Model 52 { 53 54 /** 55 * Hls Group Settings<p><h3>See Also:</h3> <a 56 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/HlsGroupSettings">AWS 57 * API Reference</a></p> 58 */ 59 class AWS_MEDIALIVE_API HlsGroupSettings 60 { 61 public: 62 HlsGroupSettings(); 63 HlsGroupSettings(Aws::Utils::Json::JsonView jsonValue); 64 HlsGroupSettings& operator=(Aws::Utils::Json::JsonView jsonValue); 65 Aws::Utils::Json::JsonValue Jsonize() const; 66 67 68 /** 69 * Choose one or more ad marker types to pass SCTE35 signals through to this group 70 * of Apple HLS outputs. 71 */ GetAdMarkers()72 inline const Aws::Vector<HlsAdMarkers>& GetAdMarkers() const{ return m_adMarkers; } 73 74 /** 75 * Choose one or more ad marker types to pass SCTE35 signals through to this group 76 * of Apple HLS outputs. 77 */ AdMarkersHasBeenSet()78 inline bool AdMarkersHasBeenSet() const { return m_adMarkersHasBeenSet; } 79 80 /** 81 * Choose one or more ad marker types to pass SCTE35 signals through to this group 82 * of Apple HLS outputs. 83 */ SetAdMarkers(const Aws::Vector<HlsAdMarkers> & value)84 inline void SetAdMarkers(const Aws::Vector<HlsAdMarkers>& value) { m_adMarkersHasBeenSet = true; m_adMarkers = value; } 85 86 /** 87 * Choose one or more ad marker types to pass SCTE35 signals through to this group 88 * of Apple HLS outputs. 89 */ SetAdMarkers(Aws::Vector<HlsAdMarkers> && value)90 inline void SetAdMarkers(Aws::Vector<HlsAdMarkers>&& value) { m_adMarkersHasBeenSet = true; m_adMarkers = std::move(value); } 91 92 /** 93 * Choose one or more ad marker types to pass SCTE35 signals through to this group 94 * of Apple HLS outputs. 95 */ WithAdMarkers(const Aws::Vector<HlsAdMarkers> & value)96 inline HlsGroupSettings& WithAdMarkers(const Aws::Vector<HlsAdMarkers>& value) { SetAdMarkers(value); return *this;} 97 98 /** 99 * Choose one or more ad marker types to pass SCTE35 signals through to this group 100 * of Apple HLS outputs. 101 */ WithAdMarkers(Aws::Vector<HlsAdMarkers> && value)102 inline HlsGroupSettings& WithAdMarkers(Aws::Vector<HlsAdMarkers>&& value) { SetAdMarkers(std::move(value)); return *this;} 103 104 /** 105 * Choose one or more ad marker types to pass SCTE35 signals through to this group 106 * of Apple HLS outputs. 107 */ AddAdMarkers(const HlsAdMarkers & value)108 inline HlsGroupSettings& AddAdMarkers(const HlsAdMarkers& value) { m_adMarkersHasBeenSet = true; m_adMarkers.push_back(value); return *this; } 109 110 /** 111 * Choose one or more ad marker types to pass SCTE35 signals through to this group 112 * of Apple HLS outputs. 113 */ AddAdMarkers(HlsAdMarkers && value)114 inline HlsGroupSettings& AddAdMarkers(HlsAdMarkers&& value) { m_adMarkersHasBeenSet = true; m_adMarkers.push_back(std::move(value)); return *this; } 115 116 117 /** 118 * A partial URI prefix that will be prepended to each output in the media .m3u8 119 * file. Can be used if base manifest is delivered from a different URL than the 120 * main .m3u8 file. 121 */ GetBaseUrlContent()122 inline const Aws::String& GetBaseUrlContent() const{ return m_baseUrlContent; } 123 124 /** 125 * A partial URI prefix that will be prepended to each output in the media .m3u8 126 * file. Can be used if base manifest is delivered from a different URL than the 127 * main .m3u8 file. 128 */ BaseUrlContentHasBeenSet()129 inline bool BaseUrlContentHasBeenSet() const { return m_baseUrlContentHasBeenSet; } 130 131 /** 132 * A partial URI prefix that will be prepended to each output in the media .m3u8 133 * file. Can be used if base manifest is delivered from a different URL than the 134 * main .m3u8 file. 135 */ SetBaseUrlContent(const Aws::String & value)136 inline void SetBaseUrlContent(const Aws::String& value) { m_baseUrlContentHasBeenSet = true; m_baseUrlContent = value; } 137 138 /** 139 * A partial URI prefix that will be prepended to each output in the media .m3u8 140 * file. Can be used if base manifest is delivered from a different URL than the 141 * main .m3u8 file. 142 */ SetBaseUrlContent(Aws::String && value)143 inline void SetBaseUrlContent(Aws::String&& value) { m_baseUrlContentHasBeenSet = true; m_baseUrlContent = std::move(value); } 144 145 /** 146 * A partial URI prefix that will be prepended to each output in the media .m3u8 147 * file. Can be used if base manifest is delivered from a different URL than the 148 * main .m3u8 file. 149 */ SetBaseUrlContent(const char * value)150 inline void SetBaseUrlContent(const char* value) { m_baseUrlContentHasBeenSet = true; m_baseUrlContent.assign(value); } 151 152 /** 153 * A partial URI prefix that will be prepended to each output in the media .m3u8 154 * file. Can be used if base manifest is delivered from a different URL than the 155 * main .m3u8 file. 156 */ WithBaseUrlContent(const Aws::String & value)157 inline HlsGroupSettings& WithBaseUrlContent(const Aws::String& value) { SetBaseUrlContent(value); return *this;} 158 159 /** 160 * A partial URI prefix that will be prepended to each output in the media .m3u8 161 * file. Can be used if base manifest is delivered from a different URL than the 162 * main .m3u8 file. 163 */ WithBaseUrlContent(Aws::String && value)164 inline HlsGroupSettings& WithBaseUrlContent(Aws::String&& value) { SetBaseUrlContent(std::move(value)); return *this;} 165 166 /** 167 * A partial URI prefix that will be prepended to each output in the media .m3u8 168 * file. Can be used if base manifest is delivered from a different URL than the 169 * main .m3u8 file. 170 */ WithBaseUrlContent(const char * value)171 inline HlsGroupSettings& WithBaseUrlContent(const char* value) { SetBaseUrlContent(value); return *this;} 172 173 174 /** 175 * Optional. One value per output group. 176 177 This field is required only if you are 178 * completing Base URL content A, and the downstream system has notified you that 179 * the media files for pipeline 1 of all outputs are in a location different from 180 * the media files for pipeline 0. 181 */ GetBaseUrlContent1()182 inline const Aws::String& GetBaseUrlContent1() const{ return m_baseUrlContent1; } 183 184 /** 185 * Optional. One value per output group. 186 187 This field is required only if you are 188 * completing Base URL content A, and the downstream system has notified you that 189 * the media files for pipeline 1 of all outputs are in a location different from 190 * the media files for pipeline 0. 191 */ BaseUrlContent1HasBeenSet()192 inline bool BaseUrlContent1HasBeenSet() const { return m_baseUrlContent1HasBeenSet; } 193 194 /** 195 * Optional. One value per output group. 196 197 This field is required only if you are 198 * completing Base URL content A, and the downstream system has notified you that 199 * the media files for pipeline 1 of all outputs are in a location different from 200 * the media files for pipeline 0. 201 */ SetBaseUrlContent1(const Aws::String & value)202 inline void SetBaseUrlContent1(const Aws::String& value) { m_baseUrlContent1HasBeenSet = true; m_baseUrlContent1 = value; } 203 204 /** 205 * Optional. One value per output group. 206 207 This field is required only if you are 208 * completing Base URL content A, and the downstream system has notified you that 209 * the media files for pipeline 1 of all outputs are in a location different from 210 * the media files for pipeline 0. 211 */ SetBaseUrlContent1(Aws::String && value)212 inline void SetBaseUrlContent1(Aws::String&& value) { m_baseUrlContent1HasBeenSet = true; m_baseUrlContent1 = std::move(value); } 213 214 /** 215 * Optional. One value per output group. 216 217 This field is required only if you are 218 * completing Base URL content A, and the downstream system has notified you that 219 * the media files for pipeline 1 of all outputs are in a location different from 220 * the media files for pipeline 0. 221 */ SetBaseUrlContent1(const char * value)222 inline void SetBaseUrlContent1(const char* value) { m_baseUrlContent1HasBeenSet = true; m_baseUrlContent1.assign(value); } 223 224 /** 225 * Optional. One value per output group. 226 227 This field is required only if you are 228 * completing Base URL content A, and the downstream system has notified you that 229 * the media files for pipeline 1 of all outputs are in a location different from 230 * the media files for pipeline 0. 231 */ WithBaseUrlContent1(const Aws::String & value)232 inline HlsGroupSettings& WithBaseUrlContent1(const Aws::String& value) { SetBaseUrlContent1(value); return *this;} 233 234 /** 235 * Optional. One value per output group. 236 237 This field is required only if you are 238 * completing Base URL content A, and the downstream system has notified you that 239 * the media files for pipeline 1 of all outputs are in a location different from 240 * the media files for pipeline 0. 241 */ WithBaseUrlContent1(Aws::String && value)242 inline HlsGroupSettings& WithBaseUrlContent1(Aws::String&& value) { SetBaseUrlContent1(std::move(value)); return *this;} 243 244 /** 245 * Optional. One value per output group. 246 247 This field is required only if you are 248 * completing Base URL content A, and the downstream system has notified you that 249 * the media files for pipeline 1 of all outputs are in a location different from 250 * the media files for pipeline 0. 251 */ WithBaseUrlContent1(const char * value)252 inline HlsGroupSettings& WithBaseUrlContent1(const char* value) { SetBaseUrlContent1(value); return *this;} 253 254 255 /** 256 * A partial URI prefix that will be prepended to each output in the media .m3u8 257 * file. Can be used if base manifest is delivered from a different URL than the 258 * main .m3u8 file. 259 */ GetBaseUrlManifest()260 inline const Aws::String& GetBaseUrlManifest() const{ return m_baseUrlManifest; } 261 262 /** 263 * A partial URI prefix that will be prepended to each output in the media .m3u8 264 * file. Can be used if base manifest is delivered from a different URL than the 265 * main .m3u8 file. 266 */ BaseUrlManifestHasBeenSet()267 inline bool BaseUrlManifestHasBeenSet() const { return m_baseUrlManifestHasBeenSet; } 268 269 /** 270 * A partial URI prefix that will be prepended to each output in the media .m3u8 271 * file. Can be used if base manifest is delivered from a different URL than the 272 * main .m3u8 file. 273 */ SetBaseUrlManifest(const Aws::String & value)274 inline void SetBaseUrlManifest(const Aws::String& value) { m_baseUrlManifestHasBeenSet = true; m_baseUrlManifest = value; } 275 276 /** 277 * A partial URI prefix that will be prepended to each output in the media .m3u8 278 * file. Can be used if base manifest is delivered from a different URL than the 279 * main .m3u8 file. 280 */ SetBaseUrlManifest(Aws::String && value)281 inline void SetBaseUrlManifest(Aws::String&& value) { m_baseUrlManifestHasBeenSet = true; m_baseUrlManifest = std::move(value); } 282 283 /** 284 * A partial URI prefix that will be prepended to each output in the media .m3u8 285 * file. Can be used if base manifest is delivered from a different URL than the 286 * main .m3u8 file. 287 */ SetBaseUrlManifest(const char * value)288 inline void SetBaseUrlManifest(const char* value) { m_baseUrlManifestHasBeenSet = true; m_baseUrlManifest.assign(value); } 289 290 /** 291 * A partial URI prefix that will be prepended to each output in the media .m3u8 292 * file. Can be used if base manifest is delivered from a different URL than the 293 * main .m3u8 file. 294 */ WithBaseUrlManifest(const Aws::String & value)295 inline HlsGroupSettings& WithBaseUrlManifest(const Aws::String& value) { SetBaseUrlManifest(value); return *this;} 296 297 /** 298 * A partial URI prefix that will be prepended to each output in the media .m3u8 299 * file. Can be used if base manifest is delivered from a different URL than the 300 * main .m3u8 file. 301 */ WithBaseUrlManifest(Aws::String && value)302 inline HlsGroupSettings& WithBaseUrlManifest(Aws::String&& value) { SetBaseUrlManifest(std::move(value)); return *this;} 303 304 /** 305 * A partial URI prefix that will be prepended to each output in the media .m3u8 306 * file. Can be used if base manifest is delivered from a different URL than the 307 * main .m3u8 file. 308 */ WithBaseUrlManifest(const char * value)309 inline HlsGroupSettings& WithBaseUrlManifest(const char* value) { SetBaseUrlManifest(value); return *this;} 310 311 312 /** 313 * Optional. One value per output group. 314 315 Complete this field only if you are 316 * completing Base URL manifest A, and the downstream system has notified you that 317 * the child manifest files for pipeline 1 of all outputs are in a location 318 * different from the child manifest files for pipeline 0. 319 */ GetBaseUrlManifest1()320 inline const Aws::String& GetBaseUrlManifest1() const{ return m_baseUrlManifest1; } 321 322 /** 323 * Optional. One value per output group. 324 325 Complete this field only if you are 326 * completing Base URL manifest A, and the downstream system has notified you that 327 * the child manifest files for pipeline 1 of all outputs are in a location 328 * different from the child manifest files for pipeline 0. 329 */ BaseUrlManifest1HasBeenSet()330 inline bool BaseUrlManifest1HasBeenSet() const { return m_baseUrlManifest1HasBeenSet; } 331 332 /** 333 * Optional. One value per output group. 334 335 Complete this field only if you are 336 * completing Base URL manifest A, and the downstream system has notified you that 337 * the child manifest files for pipeline 1 of all outputs are in a location 338 * different from the child manifest files for pipeline 0. 339 */ SetBaseUrlManifest1(const Aws::String & value)340 inline void SetBaseUrlManifest1(const Aws::String& value) { m_baseUrlManifest1HasBeenSet = true; m_baseUrlManifest1 = value; } 341 342 /** 343 * Optional. One value per output group. 344 345 Complete this field only if you are 346 * completing Base URL manifest A, and the downstream system has notified you that 347 * the child manifest files for pipeline 1 of all outputs are in a location 348 * different from the child manifest files for pipeline 0. 349 */ SetBaseUrlManifest1(Aws::String && value)350 inline void SetBaseUrlManifest1(Aws::String&& value) { m_baseUrlManifest1HasBeenSet = true; m_baseUrlManifest1 = std::move(value); } 351 352 /** 353 * Optional. One value per output group. 354 355 Complete this field only if you are 356 * completing Base URL manifest A, and the downstream system has notified you that 357 * the child manifest files for pipeline 1 of all outputs are in a location 358 * different from the child manifest files for pipeline 0. 359 */ SetBaseUrlManifest1(const char * value)360 inline void SetBaseUrlManifest1(const char* value) { m_baseUrlManifest1HasBeenSet = true; m_baseUrlManifest1.assign(value); } 361 362 /** 363 * Optional. One value per output group. 364 365 Complete this field only if you are 366 * completing Base URL manifest A, and the downstream system has notified you that 367 * the child manifest files for pipeline 1 of all outputs are in a location 368 * different from the child manifest files for pipeline 0. 369 */ WithBaseUrlManifest1(const Aws::String & value)370 inline HlsGroupSettings& WithBaseUrlManifest1(const Aws::String& value) { SetBaseUrlManifest1(value); return *this;} 371 372 /** 373 * Optional. One value per output group. 374 375 Complete this field only if you are 376 * completing Base URL manifest A, and the downstream system has notified you that 377 * the child manifest files for pipeline 1 of all outputs are in a location 378 * different from the child manifest files for pipeline 0. 379 */ WithBaseUrlManifest1(Aws::String && value)380 inline HlsGroupSettings& WithBaseUrlManifest1(Aws::String&& value) { SetBaseUrlManifest1(std::move(value)); return *this;} 381 382 /** 383 * Optional. One value per output group. 384 385 Complete this field only if you are 386 * completing Base URL manifest A, and the downstream system has notified you that 387 * the child manifest files for pipeline 1 of all outputs are in a location 388 * different from the child manifest files for pipeline 0. 389 */ WithBaseUrlManifest1(const char * value)390 inline HlsGroupSettings& WithBaseUrlManifest1(const char* value) { SetBaseUrlManifest1(value); return *this;} 391 392 393 /** 394 * Mapping of up to 4 caption channels to caption languages. Is only meaningful if 395 * captionLanguageSetting is set to "insert". 396 */ GetCaptionLanguageMappings()397 inline const Aws::Vector<CaptionLanguageMapping>& GetCaptionLanguageMappings() const{ return m_captionLanguageMappings; } 398 399 /** 400 * Mapping of up to 4 caption channels to caption languages. Is only meaningful if 401 * captionLanguageSetting is set to "insert". 402 */ CaptionLanguageMappingsHasBeenSet()403 inline bool CaptionLanguageMappingsHasBeenSet() const { return m_captionLanguageMappingsHasBeenSet; } 404 405 /** 406 * Mapping of up to 4 caption channels to caption languages. Is only meaningful if 407 * captionLanguageSetting is set to "insert". 408 */ SetCaptionLanguageMappings(const Aws::Vector<CaptionLanguageMapping> & value)409 inline void SetCaptionLanguageMappings(const Aws::Vector<CaptionLanguageMapping>& value) { m_captionLanguageMappingsHasBeenSet = true; m_captionLanguageMappings = value; } 410 411 /** 412 * Mapping of up to 4 caption channels to caption languages. Is only meaningful if 413 * captionLanguageSetting is set to "insert". 414 */ SetCaptionLanguageMappings(Aws::Vector<CaptionLanguageMapping> && value)415 inline void SetCaptionLanguageMappings(Aws::Vector<CaptionLanguageMapping>&& value) { m_captionLanguageMappingsHasBeenSet = true; m_captionLanguageMappings = std::move(value); } 416 417 /** 418 * Mapping of up to 4 caption channels to caption languages. Is only meaningful if 419 * captionLanguageSetting is set to "insert". 420 */ WithCaptionLanguageMappings(const Aws::Vector<CaptionLanguageMapping> & value)421 inline HlsGroupSettings& WithCaptionLanguageMappings(const Aws::Vector<CaptionLanguageMapping>& value) { SetCaptionLanguageMappings(value); return *this;} 422 423 /** 424 * Mapping of up to 4 caption channels to caption languages. Is only meaningful if 425 * captionLanguageSetting is set to "insert". 426 */ WithCaptionLanguageMappings(Aws::Vector<CaptionLanguageMapping> && value)427 inline HlsGroupSettings& WithCaptionLanguageMappings(Aws::Vector<CaptionLanguageMapping>&& value) { SetCaptionLanguageMappings(std::move(value)); return *this;} 428 429 /** 430 * Mapping of up to 4 caption channels to caption languages. Is only meaningful if 431 * captionLanguageSetting is set to "insert". 432 */ AddCaptionLanguageMappings(const CaptionLanguageMapping & value)433 inline HlsGroupSettings& AddCaptionLanguageMappings(const CaptionLanguageMapping& value) { m_captionLanguageMappingsHasBeenSet = true; m_captionLanguageMappings.push_back(value); return *this; } 434 435 /** 436 * Mapping of up to 4 caption channels to caption languages. Is only meaningful if 437 * captionLanguageSetting is set to "insert". 438 */ AddCaptionLanguageMappings(CaptionLanguageMapping && value)439 inline HlsGroupSettings& AddCaptionLanguageMappings(CaptionLanguageMapping&& value) { m_captionLanguageMappingsHasBeenSet = true; m_captionLanguageMappings.push_back(std::move(value)); return *this; } 440 441 442 /** 443 * Applies only to 608 Embedded output captions. 444 insert: Include CLOSED-CAPTIONS 445 * lines in the manifest. Specify at least one language in the CC1 Language Code 446 * field. One CLOSED-CAPTION line is added for each Language Code you specify. Make 447 * sure to specify the languages in the order in which they appear in the original 448 * source (if the source is embedded format) or the order of the caption selectors 449 * (if the source is other than embedded). Otherwise, languages in the manifest 450 * will not match up properly with the output captions. 451 none: Include 452 * CLOSED-CAPTIONS=NONE line in the manifest. 453 omit: Omit any CLOSED-CAPTIONS line 454 * from the manifest. 455 */ GetCaptionLanguageSetting()456 inline const HlsCaptionLanguageSetting& GetCaptionLanguageSetting() const{ return m_captionLanguageSetting; } 457 458 /** 459 * Applies only to 608 Embedded output captions. 460 insert: Include CLOSED-CAPTIONS 461 * lines in the manifest. Specify at least one language in the CC1 Language Code 462 * field. One CLOSED-CAPTION line is added for each Language Code you specify. Make 463 * sure to specify the languages in the order in which they appear in the original 464 * source (if the source is embedded format) or the order of the caption selectors 465 * (if the source is other than embedded). Otherwise, languages in the manifest 466 * will not match up properly with the output captions. 467 none: Include 468 * CLOSED-CAPTIONS=NONE line in the manifest. 469 omit: Omit any CLOSED-CAPTIONS line 470 * from the manifest. 471 */ CaptionLanguageSettingHasBeenSet()472 inline bool CaptionLanguageSettingHasBeenSet() const { return m_captionLanguageSettingHasBeenSet; } 473 474 /** 475 * Applies only to 608 Embedded output captions. 476 insert: Include CLOSED-CAPTIONS 477 * lines in the manifest. Specify at least one language in the CC1 Language Code 478 * field. One CLOSED-CAPTION line is added for each Language Code you specify. Make 479 * sure to specify the languages in the order in which they appear in the original 480 * source (if the source is embedded format) or the order of the caption selectors 481 * (if the source is other than embedded). Otherwise, languages in the manifest 482 * will not match up properly with the output captions. 483 none: Include 484 * CLOSED-CAPTIONS=NONE line in the manifest. 485 omit: Omit any CLOSED-CAPTIONS line 486 * from the manifest. 487 */ SetCaptionLanguageSetting(const HlsCaptionLanguageSetting & value)488 inline void SetCaptionLanguageSetting(const HlsCaptionLanguageSetting& value) { m_captionLanguageSettingHasBeenSet = true; m_captionLanguageSetting = value; } 489 490 /** 491 * Applies only to 608 Embedded output captions. 492 insert: Include CLOSED-CAPTIONS 493 * lines in the manifest. Specify at least one language in the CC1 Language Code 494 * field. One CLOSED-CAPTION line is added for each Language Code you specify. Make 495 * sure to specify the languages in the order in which they appear in the original 496 * source (if the source is embedded format) or the order of the caption selectors 497 * (if the source is other than embedded). Otherwise, languages in the manifest 498 * will not match up properly with the output captions. 499 none: Include 500 * CLOSED-CAPTIONS=NONE line in the manifest. 501 omit: Omit any CLOSED-CAPTIONS line 502 * from the manifest. 503 */ SetCaptionLanguageSetting(HlsCaptionLanguageSetting && value)504 inline void SetCaptionLanguageSetting(HlsCaptionLanguageSetting&& value) { m_captionLanguageSettingHasBeenSet = true; m_captionLanguageSetting = std::move(value); } 505 506 /** 507 * Applies only to 608 Embedded output captions. 508 insert: Include CLOSED-CAPTIONS 509 * lines in the manifest. Specify at least one language in the CC1 Language Code 510 * field. One CLOSED-CAPTION line is added for each Language Code you specify. Make 511 * sure to specify the languages in the order in which they appear in the original 512 * source (if the source is embedded format) or the order of the caption selectors 513 * (if the source is other than embedded). Otherwise, languages in the manifest 514 * will not match up properly with the output captions. 515 none: Include 516 * CLOSED-CAPTIONS=NONE line in the manifest. 517 omit: Omit any CLOSED-CAPTIONS line 518 * from the manifest. 519 */ WithCaptionLanguageSetting(const HlsCaptionLanguageSetting & value)520 inline HlsGroupSettings& WithCaptionLanguageSetting(const HlsCaptionLanguageSetting& value) { SetCaptionLanguageSetting(value); return *this;} 521 522 /** 523 * Applies only to 608 Embedded output captions. 524 insert: Include CLOSED-CAPTIONS 525 * lines in the manifest. Specify at least one language in the CC1 Language Code 526 * field. One CLOSED-CAPTION line is added for each Language Code you specify. Make 527 * sure to specify the languages in the order in which they appear in the original 528 * source (if the source is embedded format) or the order of the caption selectors 529 * (if the source is other than embedded). Otherwise, languages in the manifest 530 * will not match up properly with the output captions. 531 none: Include 532 * CLOSED-CAPTIONS=NONE line in the manifest. 533 omit: Omit any CLOSED-CAPTIONS line 534 * from the manifest. 535 */ WithCaptionLanguageSetting(HlsCaptionLanguageSetting && value)536 inline HlsGroupSettings& WithCaptionLanguageSetting(HlsCaptionLanguageSetting&& value) { SetCaptionLanguageSetting(std::move(value)); return *this;} 537 538 539 /** 540 * When set to "disabled", sets the #EXT-X-ALLOW-CACHE:no tag in the manifest, 541 * which prevents clients from saving media segments for later replay. 542 */ GetClientCache()543 inline const HlsClientCache& GetClientCache() const{ return m_clientCache; } 544 545 /** 546 * When set to "disabled", sets the #EXT-X-ALLOW-CACHE:no tag in the manifest, 547 * which prevents clients from saving media segments for later replay. 548 */ ClientCacheHasBeenSet()549 inline bool ClientCacheHasBeenSet() const { return m_clientCacheHasBeenSet; } 550 551 /** 552 * When set to "disabled", sets the #EXT-X-ALLOW-CACHE:no tag in the manifest, 553 * which prevents clients from saving media segments for later replay. 554 */ SetClientCache(const HlsClientCache & value)555 inline void SetClientCache(const HlsClientCache& value) { m_clientCacheHasBeenSet = true; m_clientCache = value; } 556 557 /** 558 * When set to "disabled", sets the #EXT-X-ALLOW-CACHE:no tag in the manifest, 559 * which prevents clients from saving media segments for later replay. 560 */ SetClientCache(HlsClientCache && value)561 inline void SetClientCache(HlsClientCache&& value) { m_clientCacheHasBeenSet = true; m_clientCache = std::move(value); } 562 563 /** 564 * When set to "disabled", sets the #EXT-X-ALLOW-CACHE:no tag in the manifest, 565 * which prevents clients from saving media segments for later replay. 566 */ WithClientCache(const HlsClientCache & value)567 inline HlsGroupSettings& WithClientCache(const HlsClientCache& value) { SetClientCache(value); return *this;} 568 569 /** 570 * When set to "disabled", sets the #EXT-X-ALLOW-CACHE:no tag in the manifest, 571 * which prevents clients from saving media segments for later replay. 572 */ WithClientCache(HlsClientCache && value)573 inline HlsGroupSettings& WithClientCache(HlsClientCache&& value) { SetClientCache(std::move(value)); return *this;} 574 575 576 /** 577 * Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist 578 * generation. 579 */ GetCodecSpecification()580 inline const HlsCodecSpecification& GetCodecSpecification() const{ return m_codecSpecification; } 581 582 /** 583 * Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist 584 * generation. 585 */ CodecSpecificationHasBeenSet()586 inline bool CodecSpecificationHasBeenSet() const { return m_codecSpecificationHasBeenSet; } 587 588 /** 589 * Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist 590 * generation. 591 */ SetCodecSpecification(const HlsCodecSpecification & value)592 inline void SetCodecSpecification(const HlsCodecSpecification& value) { m_codecSpecificationHasBeenSet = true; m_codecSpecification = value; } 593 594 /** 595 * Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist 596 * generation. 597 */ SetCodecSpecification(HlsCodecSpecification && value)598 inline void SetCodecSpecification(HlsCodecSpecification&& value) { m_codecSpecificationHasBeenSet = true; m_codecSpecification = std::move(value); } 599 600 /** 601 * Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist 602 * generation. 603 */ WithCodecSpecification(const HlsCodecSpecification & value)604 inline HlsGroupSettings& WithCodecSpecification(const HlsCodecSpecification& value) { SetCodecSpecification(value); return *this;} 605 606 /** 607 * Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist 608 * generation. 609 */ WithCodecSpecification(HlsCodecSpecification && value)610 inline HlsGroupSettings& WithCodecSpecification(HlsCodecSpecification&& value) { SetCodecSpecification(std::move(value)); return *this;} 611 612 613 /** 614 * For use with encryptionType. This is a 128-bit, 16-byte hex value represented by 615 * a 32-character text string. If ivSource is set to "explicit" then this parameter 616 * is required and is used as the IV for encryption. 617 */ GetConstantIv()618 inline const Aws::String& GetConstantIv() const{ return m_constantIv; } 619 620 /** 621 * For use with encryptionType. This is a 128-bit, 16-byte hex value represented by 622 * a 32-character text string. If ivSource is set to "explicit" then this parameter 623 * is required and is used as the IV for encryption. 624 */ ConstantIvHasBeenSet()625 inline bool ConstantIvHasBeenSet() const { return m_constantIvHasBeenSet; } 626 627 /** 628 * For use with encryptionType. This is a 128-bit, 16-byte hex value represented by 629 * a 32-character text string. If ivSource is set to "explicit" then this parameter 630 * is required and is used as the IV for encryption. 631 */ SetConstantIv(const Aws::String & value)632 inline void SetConstantIv(const Aws::String& value) { m_constantIvHasBeenSet = true; m_constantIv = value; } 633 634 /** 635 * For use with encryptionType. This is a 128-bit, 16-byte hex value represented by 636 * a 32-character text string. If ivSource is set to "explicit" then this parameter 637 * is required and is used as the IV for encryption. 638 */ SetConstantIv(Aws::String && value)639 inline void SetConstantIv(Aws::String&& value) { m_constantIvHasBeenSet = true; m_constantIv = std::move(value); } 640 641 /** 642 * For use with encryptionType. This is a 128-bit, 16-byte hex value represented by 643 * a 32-character text string. If ivSource is set to "explicit" then this parameter 644 * is required and is used as the IV for encryption. 645 */ SetConstantIv(const char * value)646 inline void SetConstantIv(const char* value) { m_constantIvHasBeenSet = true; m_constantIv.assign(value); } 647 648 /** 649 * For use with encryptionType. This is a 128-bit, 16-byte hex value represented by 650 * a 32-character text string. If ivSource is set to "explicit" then this parameter 651 * is required and is used as the IV for encryption. 652 */ WithConstantIv(const Aws::String & value)653 inline HlsGroupSettings& WithConstantIv(const Aws::String& value) { SetConstantIv(value); return *this;} 654 655 /** 656 * For use with encryptionType. This is a 128-bit, 16-byte hex value represented by 657 * a 32-character text string. If ivSource is set to "explicit" then this parameter 658 * is required and is used as the IV for encryption. 659 */ WithConstantIv(Aws::String && value)660 inline HlsGroupSettings& WithConstantIv(Aws::String&& value) { SetConstantIv(std::move(value)); return *this;} 661 662 /** 663 * For use with encryptionType. This is a 128-bit, 16-byte hex value represented by 664 * a 32-character text string. If ivSource is set to "explicit" then this parameter 665 * is required and is used as the IV for encryption. 666 */ WithConstantIv(const char * value)667 inline HlsGroupSettings& WithConstantIv(const char* value) { SetConstantIv(value); return *this;} 668 669 670 /** 671 * A directory or HTTP destination for the HLS segments, manifest files, and 672 * encryption keys (if enabled). 673 */ GetDestination()674 inline const OutputLocationRef& GetDestination() const{ return m_destination; } 675 676 /** 677 * A directory or HTTP destination for the HLS segments, manifest files, and 678 * encryption keys (if enabled). 679 */ DestinationHasBeenSet()680 inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } 681 682 /** 683 * A directory or HTTP destination for the HLS segments, manifest files, and 684 * encryption keys (if enabled). 685 */ SetDestination(const OutputLocationRef & value)686 inline void SetDestination(const OutputLocationRef& value) { m_destinationHasBeenSet = true; m_destination = value; } 687 688 /** 689 * A directory or HTTP destination for the HLS segments, manifest files, and 690 * encryption keys (if enabled). 691 */ SetDestination(OutputLocationRef && value)692 inline void SetDestination(OutputLocationRef&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } 693 694 /** 695 * A directory or HTTP destination for the HLS segments, manifest files, and 696 * encryption keys (if enabled). 697 */ WithDestination(const OutputLocationRef & value)698 inline HlsGroupSettings& WithDestination(const OutputLocationRef& value) { SetDestination(value); return *this;} 699 700 /** 701 * A directory or HTTP destination for the HLS segments, manifest files, and 702 * encryption keys (if enabled). 703 */ WithDestination(OutputLocationRef && value)704 inline HlsGroupSettings& WithDestination(OutputLocationRef&& value) { SetDestination(std::move(value)); return *this;} 705 706 707 /** 708 * Place segments in subdirectories. 709 */ GetDirectoryStructure()710 inline const HlsDirectoryStructure& GetDirectoryStructure() const{ return m_directoryStructure; } 711 712 /** 713 * Place segments in subdirectories. 714 */ DirectoryStructureHasBeenSet()715 inline bool DirectoryStructureHasBeenSet() const { return m_directoryStructureHasBeenSet; } 716 717 /** 718 * Place segments in subdirectories. 719 */ SetDirectoryStructure(const HlsDirectoryStructure & value)720 inline void SetDirectoryStructure(const HlsDirectoryStructure& value) { m_directoryStructureHasBeenSet = true; m_directoryStructure = value; } 721 722 /** 723 * Place segments in subdirectories. 724 */ SetDirectoryStructure(HlsDirectoryStructure && value)725 inline void SetDirectoryStructure(HlsDirectoryStructure&& value) { m_directoryStructureHasBeenSet = true; m_directoryStructure = std::move(value); } 726 727 /** 728 * Place segments in subdirectories. 729 */ WithDirectoryStructure(const HlsDirectoryStructure & value)730 inline HlsGroupSettings& WithDirectoryStructure(const HlsDirectoryStructure& value) { SetDirectoryStructure(value); return *this;} 731 732 /** 733 * Place segments in subdirectories. 734 */ WithDirectoryStructure(HlsDirectoryStructure && value)735 inline HlsGroupSettings& WithDirectoryStructure(HlsDirectoryStructure&& value) { SetDirectoryStructure(std::move(value)); return *this;} 736 737 738 /** 739 * Specifies whether to insert EXT-X-DISCONTINUITY tags in the HLS child manifests 740 * for this output group. 741 Typically, choose Insert because these tags are required 742 * in the manifest (according to the HLS specification) and serve an important 743 * purpose. 744 Choose Never Insert only if the downstream system is doing real-time 745 * failover (without using the MediaLive automatic failover feature) and only if 746 * that downstream system has advised you to exclude the tags. 747 */ GetDiscontinuityTags()748 inline const HlsDiscontinuityTags& GetDiscontinuityTags() const{ return m_discontinuityTags; } 749 750 /** 751 * Specifies whether to insert EXT-X-DISCONTINUITY tags in the HLS child manifests 752 * for this output group. 753 Typically, choose Insert because these tags are required 754 * in the manifest (according to the HLS specification) and serve an important 755 * purpose. 756 Choose Never Insert only if the downstream system is doing real-time 757 * failover (without using the MediaLive automatic failover feature) and only if 758 * that downstream system has advised you to exclude the tags. 759 */ DiscontinuityTagsHasBeenSet()760 inline bool DiscontinuityTagsHasBeenSet() const { return m_discontinuityTagsHasBeenSet; } 761 762 /** 763 * Specifies whether to insert EXT-X-DISCONTINUITY tags in the HLS child manifests 764 * for this output group. 765 Typically, choose Insert because these tags are required 766 * in the manifest (according to the HLS specification) and serve an important 767 * purpose. 768 Choose Never Insert only if the downstream system is doing real-time 769 * failover (without using the MediaLive automatic failover feature) and only if 770 * that downstream system has advised you to exclude the tags. 771 */ SetDiscontinuityTags(const HlsDiscontinuityTags & value)772 inline void SetDiscontinuityTags(const HlsDiscontinuityTags& value) { m_discontinuityTagsHasBeenSet = true; m_discontinuityTags = value; } 773 774 /** 775 * Specifies whether to insert EXT-X-DISCONTINUITY tags in the HLS child manifests 776 * for this output group. 777 Typically, choose Insert because these tags are required 778 * in the manifest (according to the HLS specification) and serve an important 779 * purpose. 780 Choose Never Insert only if the downstream system is doing real-time 781 * failover (without using the MediaLive automatic failover feature) and only if 782 * that downstream system has advised you to exclude the tags. 783 */ SetDiscontinuityTags(HlsDiscontinuityTags && value)784 inline void SetDiscontinuityTags(HlsDiscontinuityTags&& value) { m_discontinuityTagsHasBeenSet = true; m_discontinuityTags = std::move(value); } 785 786 /** 787 * Specifies whether to insert EXT-X-DISCONTINUITY tags in the HLS child manifests 788 * for this output group. 789 Typically, choose Insert because these tags are required 790 * in the manifest (according to the HLS specification) and serve an important 791 * purpose. 792 Choose Never Insert only if the downstream system is doing real-time 793 * failover (without using the MediaLive automatic failover feature) and only if 794 * that downstream system has advised you to exclude the tags. 795 */ WithDiscontinuityTags(const HlsDiscontinuityTags & value)796 inline HlsGroupSettings& WithDiscontinuityTags(const HlsDiscontinuityTags& value) { SetDiscontinuityTags(value); return *this;} 797 798 /** 799 * Specifies whether to insert EXT-X-DISCONTINUITY tags in the HLS child manifests 800 * for this output group. 801 Typically, choose Insert because these tags are required 802 * in the manifest (according to the HLS specification) and serve an important 803 * purpose. 804 Choose Never Insert only if the downstream system is doing real-time 805 * failover (without using the MediaLive automatic failover feature) and only if 806 * that downstream system has advised you to exclude the tags. 807 */ WithDiscontinuityTags(HlsDiscontinuityTags && value)808 inline HlsGroupSettings& WithDiscontinuityTags(HlsDiscontinuityTags&& value) { SetDiscontinuityTags(std::move(value)); return *this;} 809 810 811 /** 812 * Encrypts the segments with the given encryption scheme. Exclude this parameter 813 * if no encryption is desired. 814 */ GetEncryptionType()815 inline const HlsEncryptionType& GetEncryptionType() const{ return m_encryptionType; } 816 817 /** 818 * Encrypts the segments with the given encryption scheme. Exclude this parameter 819 * if no encryption is desired. 820 */ EncryptionTypeHasBeenSet()821 inline bool EncryptionTypeHasBeenSet() const { return m_encryptionTypeHasBeenSet; } 822 823 /** 824 * Encrypts the segments with the given encryption scheme. Exclude this parameter 825 * if no encryption is desired. 826 */ SetEncryptionType(const HlsEncryptionType & value)827 inline void SetEncryptionType(const HlsEncryptionType& value) { m_encryptionTypeHasBeenSet = true; m_encryptionType = value; } 828 829 /** 830 * Encrypts the segments with the given encryption scheme. Exclude this parameter 831 * if no encryption is desired. 832 */ SetEncryptionType(HlsEncryptionType && value)833 inline void SetEncryptionType(HlsEncryptionType&& value) { m_encryptionTypeHasBeenSet = true; m_encryptionType = std::move(value); } 834 835 /** 836 * Encrypts the segments with the given encryption scheme. Exclude this parameter 837 * if no encryption is desired. 838 */ WithEncryptionType(const HlsEncryptionType & value)839 inline HlsGroupSettings& WithEncryptionType(const HlsEncryptionType& value) { SetEncryptionType(value); return *this;} 840 841 /** 842 * Encrypts the segments with the given encryption scheme. Exclude this parameter 843 * if no encryption is desired. 844 */ WithEncryptionType(HlsEncryptionType && value)845 inline HlsGroupSettings& WithEncryptionType(HlsEncryptionType&& value) { SetEncryptionType(std::move(value)); return *this;} 846 847 848 /** 849 * Parameters that control interactions with the CDN. 850 */ GetHlsCdnSettings()851 inline const HlsCdnSettings& GetHlsCdnSettings() const{ return m_hlsCdnSettings; } 852 853 /** 854 * Parameters that control interactions with the CDN. 855 */ HlsCdnSettingsHasBeenSet()856 inline bool HlsCdnSettingsHasBeenSet() const { return m_hlsCdnSettingsHasBeenSet; } 857 858 /** 859 * Parameters that control interactions with the CDN. 860 */ SetHlsCdnSettings(const HlsCdnSettings & value)861 inline void SetHlsCdnSettings(const HlsCdnSettings& value) { m_hlsCdnSettingsHasBeenSet = true; m_hlsCdnSettings = value; } 862 863 /** 864 * Parameters that control interactions with the CDN. 865 */ SetHlsCdnSettings(HlsCdnSettings && value)866 inline void SetHlsCdnSettings(HlsCdnSettings&& value) { m_hlsCdnSettingsHasBeenSet = true; m_hlsCdnSettings = std::move(value); } 867 868 /** 869 * Parameters that control interactions with the CDN. 870 */ WithHlsCdnSettings(const HlsCdnSettings & value)871 inline HlsGroupSettings& WithHlsCdnSettings(const HlsCdnSettings& value) { SetHlsCdnSettings(value); return *this;} 872 873 /** 874 * Parameters that control interactions with the CDN. 875 */ WithHlsCdnSettings(HlsCdnSettings && value)876 inline HlsGroupSettings& WithHlsCdnSettings(HlsCdnSettings&& value) { SetHlsCdnSettings(std::move(value)); return *this;} 877 878 879 /** 880 * State of HLS ID3 Segment Tagging 881 */ GetHlsId3SegmentTagging()882 inline const HlsId3SegmentTaggingState& GetHlsId3SegmentTagging() const{ return m_hlsId3SegmentTagging; } 883 884 /** 885 * State of HLS ID3 Segment Tagging 886 */ HlsId3SegmentTaggingHasBeenSet()887 inline bool HlsId3SegmentTaggingHasBeenSet() const { return m_hlsId3SegmentTaggingHasBeenSet; } 888 889 /** 890 * State of HLS ID3 Segment Tagging 891 */ SetHlsId3SegmentTagging(const HlsId3SegmentTaggingState & value)892 inline void SetHlsId3SegmentTagging(const HlsId3SegmentTaggingState& value) { m_hlsId3SegmentTaggingHasBeenSet = true; m_hlsId3SegmentTagging = value; } 893 894 /** 895 * State of HLS ID3 Segment Tagging 896 */ SetHlsId3SegmentTagging(HlsId3SegmentTaggingState && value)897 inline void SetHlsId3SegmentTagging(HlsId3SegmentTaggingState&& value) { m_hlsId3SegmentTaggingHasBeenSet = true; m_hlsId3SegmentTagging = std::move(value); } 898 899 /** 900 * State of HLS ID3 Segment Tagging 901 */ WithHlsId3SegmentTagging(const HlsId3SegmentTaggingState & value)902 inline HlsGroupSettings& WithHlsId3SegmentTagging(const HlsId3SegmentTaggingState& value) { SetHlsId3SegmentTagging(value); return *this;} 903 904 /** 905 * State of HLS ID3 Segment Tagging 906 */ WithHlsId3SegmentTagging(HlsId3SegmentTaggingState && value)907 inline HlsGroupSettings& WithHlsId3SegmentTagging(HlsId3SegmentTaggingState&& value) { SetHlsId3SegmentTagging(std::move(value)); return *this;} 908 909 910 /** 911 * DISABLED: Do not create an I-frame-only manifest, but do create the master and 912 * media manifests (according to the Output Selection field). 913 914 STANDARD: Create an 915 * I-frame-only manifest for each output that contains video, as well as the other 916 * manifests (according to the Output Selection field). The I-frame manifest 917 * contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, and one or 918 * more #EXT-X-BYTERANGE entries identifying the I-frame position. For example, 919 * #EXT-X-BYTERANGE:160364@1461888" 920 */ GetIFrameOnlyPlaylists()921 inline const IFrameOnlyPlaylistType& GetIFrameOnlyPlaylists() const{ return m_iFrameOnlyPlaylists; } 922 923 /** 924 * DISABLED: Do not create an I-frame-only manifest, but do create the master and 925 * media manifests (according to the Output Selection field). 926 927 STANDARD: Create an 928 * I-frame-only manifest for each output that contains video, as well as the other 929 * manifests (according to the Output Selection field). The I-frame manifest 930 * contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, and one or 931 * more #EXT-X-BYTERANGE entries identifying the I-frame position. For example, 932 * #EXT-X-BYTERANGE:160364@1461888" 933 */ IFrameOnlyPlaylistsHasBeenSet()934 inline bool IFrameOnlyPlaylistsHasBeenSet() const { return m_iFrameOnlyPlaylistsHasBeenSet; } 935 936 /** 937 * DISABLED: Do not create an I-frame-only manifest, but do create the master and 938 * media manifests (according to the Output Selection field). 939 940 STANDARD: Create an 941 * I-frame-only manifest for each output that contains video, as well as the other 942 * manifests (according to the Output Selection field). The I-frame manifest 943 * contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, and one or 944 * more #EXT-X-BYTERANGE entries identifying the I-frame position. For example, 945 * #EXT-X-BYTERANGE:160364@1461888" 946 */ SetIFrameOnlyPlaylists(const IFrameOnlyPlaylistType & value)947 inline void SetIFrameOnlyPlaylists(const IFrameOnlyPlaylistType& value) { m_iFrameOnlyPlaylistsHasBeenSet = true; m_iFrameOnlyPlaylists = value; } 948 949 /** 950 * DISABLED: Do not create an I-frame-only manifest, but do create the master and 951 * media manifests (according to the Output Selection field). 952 953 STANDARD: Create an 954 * I-frame-only manifest for each output that contains video, as well as the other 955 * manifests (according to the Output Selection field). The I-frame manifest 956 * contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, and one or 957 * more #EXT-X-BYTERANGE entries identifying the I-frame position. For example, 958 * #EXT-X-BYTERANGE:160364@1461888" 959 */ SetIFrameOnlyPlaylists(IFrameOnlyPlaylistType && value)960 inline void SetIFrameOnlyPlaylists(IFrameOnlyPlaylistType&& value) { m_iFrameOnlyPlaylistsHasBeenSet = true; m_iFrameOnlyPlaylists = std::move(value); } 961 962 /** 963 * DISABLED: Do not create an I-frame-only manifest, but do create the master and 964 * media manifests (according to the Output Selection field). 965 966 STANDARD: Create an 967 * I-frame-only manifest for each output that contains video, as well as the other 968 * manifests (according to the Output Selection field). The I-frame manifest 969 * contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, and one or 970 * more #EXT-X-BYTERANGE entries identifying the I-frame position. For example, 971 * #EXT-X-BYTERANGE:160364@1461888" 972 */ WithIFrameOnlyPlaylists(const IFrameOnlyPlaylistType & value)973 inline HlsGroupSettings& WithIFrameOnlyPlaylists(const IFrameOnlyPlaylistType& value) { SetIFrameOnlyPlaylists(value); return *this;} 974 975 /** 976 * DISABLED: Do not create an I-frame-only manifest, but do create the master and 977 * media manifests (according to the Output Selection field). 978 979 STANDARD: Create an 980 * I-frame-only manifest for each output that contains video, as well as the other 981 * manifests (according to the Output Selection field). The I-frame manifest 982 * contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, and one or 983 * more #EXT-X-BYTERANGE entries identifying the I-frame position. For example, 984 * #EXT-X-BYTERANGE:160364@1461888" 985 */ WithIFrameOnlyPlaylists(IFrameOnlyPlaylistType && value)986 inline HlsGroupSettings& WithIFrameOnlyPlaylists(IFrameOnlyPlaylistType&& value) { SetIFrameOnlyPlaylists(std::move(value)); return *this;} 987 988 989 /** 990 * Specifies whether to include the final (incomplete) segment in the media output 991 * when the pipeline stops producing output because of a channel stop, a channel 992 * pause or a loss of input to the pipeline. 993 Auto means that MediaLive decides 994 * whether to include the final segment, depending on the channel class and the 995 * types of output groups. 996 Suppress means to never include the incomplete segment. 997 * We recommend you choose Auto and let MediaLive control the behavior. 998 */ GetIncompleteSegmentBehavior()999 inline const HlsIncompleteSegmentBehavior& GetIncompleteSegmentBehavior() const{ return m_incompleteSegmentBehavior; } 1000 1001 /** 1002 * Specifies whether to include the final (incomplete) segment in the media output 1003 * when the pipeline stops producing output because of a channel stop, a channel 1004 * pause or a loss of input to the pipeline. 1005 Auto means that MediaLive decides 1006 * whether to include the final segment, depending on the channel class and the 1007 * types of output groups. 1008 Suppress means to never include the incomplete segment. 1009 * We recommend you choose Auto and let MediaLive control the behavior. 1010 */ IncompleteSegmentBehaviorHasBeenSet()1011 inline bool IncompleteSegmentBehaviorHasBeenSet() const { return m_incompleteSegmentBehaviorHasBeenSet; } 1012 1013 /** 1014 * Specifies whether to include the final (incomplete) segment in the media output 1015 * when the pipeline stops producing output because of a channel stop, a channel 1016 * pause or a loss of input to the pipeline. 1017 Auto means that MediaLive decides 1018 * whether to include the final segment, depending on the channel class and the 1019 * types of output groups. 1020 Suppress means to never include the incomplete segment. 1021 * We recommend you choose Auto and let MediaLive control the behavior. 1022 */ SetIncompleteSegmentBehavior(const HlsIncompleteSegmentBehavior & value)1023 inline void SetIncompleteSegmentBehavior(const HlsIncompleteSegmentBehavior& value) { m_incompleteSegmentBehaviorHasBeenSet = true; m_incompleteSegmentBehavior = value; } 1024 1025 /** 1026 * Specifies whether to include the final (incomplete) segment in the media output 1027 * when the pipeline stops producing output because of a channel stop, a channel 1028 * pause or a loss of input to the pipeline. 1029 Auto means that MediaLive decides 1030 * whether to include the final segment, depending on the channel class and the 1031 * types of output groups. 1032 Suppress means to never include the incomplete segment. 1033 * We recommend you choose Auto and let MediaLive control the behavior. 1034 */ SetIncompleteSegmentBehavior(HlsIncompleteSegmentBehavior && value)1035 inline void SetIncompleteSegmentBehavior(HlsIncompleteSegmentBehavior&& value) { m_incompleteSegmentBehaviorHasBeenSet = true; m_incompleteSegmentBehavior = std::move(value); } 1036 1037 /** 1038 * Specifies whether to include the final (incomplete) segment in the media output 1039 * when the pipeline stops producing output because of a channel stop, a channel 1040 * pause or a loss of input to the pipeline. 1041 Auto means that MediaLive decides 1042 * whether to include the final segment, depending on the channel class and the 1043 * types of output groups. 1044 Suppress means to never include the incomplete segment. 1045 * We recommend you choose Auto and let MediaLive control the behavior. 1046 */ WithIncompleteSegmentBehavior(const HlsIncompleteSegmentBehavior & value)1047 inline HlsGroupSettings& WithIncompleteSegmentBehavior(const HlsIncompleteSegmentBehavior& value) { SetIncompleteSegmentBehavior(value); return *this;} 1048 1049 /** 1050 * Specifies whether to include the final (incomplete) segment in the media output 1051 * when the pipeline stops producing output because of a channel stop, a channel 1052 * pause or a loss of input to the pipeline. 1053 Auto means that MediaLive decides 1054 * whether to include the final segment, depending on the channel class and the 1055 * types of output groups. 1056 Suppress means to never include the incomplete segment. 1057 * We recommend you choose Auto and let MediaLive control the behavior. 1058 */ WithIncompleteSegmentBehavior(HlsIncompleteSegmentBehavior && value)1059 inline HlsGroupSettings& WithIncompleteSegmentBehavior(HlsIncompleteSegmentBehavior&& value) { SetIncompleteSegmentBehavior(std::move(value)); return *this;} 1060 1061 1062 /** 1063 * Applies only if Mode field is LIVE. 1064 1065 Specifies the maximum number of segments in 1066 * the media manifest file. After this maximum, older segments are removed from the 1067 * media manifest. This number must be smaller than the number in the Keep Segments 1068 * field. 1069 */ GetIndexNSegments()1070 inline int GetIndexNSegments() const{ return m_indexNSegments; } 1071 1072 /** 1073 * Applies only if Mode field is LIVE. 1074 1075 Specifies the maximum number of segments in 1076 * the media manifest file. After this maximum, older segments are removed from the 1077 * media manifest. This number must be smaller than the number in the Keep Segments 1078 * field. 1079 */ IndexNSegmentsHasBeenSet()1080 inline bool IndexNSegmentsHasBeenSet() const { return m_indexNSegmentsHasBeenSet; } 1081 1082 /** 1083 * Applies only if Mode field is LIVE. 1084 1085 Specifies the maximum number of segments in 1086 * the media manifest file. After this maximum, older segments are removed from the 1087 * media manifest. This number must be smaller than the number in the Keep Segments 1088 * field. 1089 */ SetIndexNSegments(int value)1090 inline void SetIndexNSegments(int value) { m_indexNSegmentsHasBeenSet = true; m_indexNSegments = value; } 1091 1092 /** 1093 * Applies only if Mode field is LIVE. 1094 1095 Specifies the maximum number of segments in 1096 * the media manifest file. After this maximum, older segments are removed from the 1097 * media manifest. This number must be smaller than the number in the Keep Segments 1098 * field. 1099 */ WithIndexNSegments(int value)1100 inline HlsGroupSettings& WithIndexNSegments(int value) { SetIndexNSegments(value); return *this;} 1101 1102 1103 /** 1104 * Parameter that control output group behavior on input loss. 1105 */ GetInputLossAction()1106 inline const InputLossActionForHlsOut& GetInputLossAction() const{ return m_inputLossAction; } 1107 1108 /** 1109 * Parameter that control output group behavior on input loss. 1110 */ InputLossActionHasBeenSet()1111 inline bool InputLossActionHasBeenSet() const { return m_inputLossActionHasBeenSet; } 1112 1113 /** 1114 * Parameter that control output group behavior on input loss. 1115 */ SetInputLossAction(const InputLossActionForHlsOut & value)1116 inline void SetInputLossAction(const InputLossActionForHlsOut& value) { m_inputLossActionHasBeenSet = true; m_inputLossAction = value; } 1117 1118 /** 1119 * Parameter that control output group behavior on input loss. 1120 */ SetInputLossAction(InputLossActionForHlsOut && value)1121 inline void SetInputLossAction(InputLossActionForHlsOut&& value) { m_inputLossActionHasBeenSet = true; m_inputLossAction = std::move(value); } 1122 1123 /** 1124 * Parameter that control output group behavior on input loss. 1125 */ WithInputLossAction(const InputLossActionForHlsOut & value)1126 inline HlsGroupSettings& WithInputLossAction(const InputLossActionForHlsOut& value) { SetInputLossAction(value); return *this;} 1127 1128 /** 1129 * Parameter that control output group behavior on input loss. 1130 */ WithInputLossAction(InputLossActionForHlsOut && value)1131 inline HlsGroupSettings& WithInputLossAction(InputLossActionForHlsOut&& value) { SetInputLossAction(std::move(value)); return *this;} 1132 1133 1134 /** 1135 * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number 1136 * used in conjunction with the key for encrypting blocks. If set to "include", IV 1137 * is listed in the manifest, otherwise the IV is not in the manifest. 1138 */ GetIvInManifest()1139 inline const HlsIvInManifest& GetIvInManifest() const{ return m_ivInManifest; } 1140 1141 /** 1142 * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number 1143 * used in conjunction with the key for encrypting blocks. If set to "include", IV 1144 * is listed in the manifest, otherwise the IV is not in the manifest. 1145 */ IvInManifestHasBeenSet()1146 inline bool IvInManifestHasBeenSet() const { return m_ivInManifestHasBeenSet; } 1147 1148 /** 1149 * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number 1150 * used in conjunction with the key for encrypting blocks. If set to "include", IV 1151 * is listed in the manifest, otherwise the IV is not in the manifest. 1152 */ SetIvInManifest(const HlsIvInManifest & value)1153 inline void SetIvInManifest(const HlsIvInManifest& value) { m_ivInManifestHasBeenSet = true; m_ivInManifest = value; } 1154 1155 /** 1156 * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number 1157 * used in conjunction with the key for encrypting blocks. If set to "include", IV 1158 * is listed in the manifest, otherwise the IV is not in the manifest. 1159 */ SetIvInManifest(HlsIvInManifest && value)1160 inline void SetIvInManifest(HlsIvInManifest&& value) { m_ivInManifestHasBeenSet = true; m_ivInManifest = std::move(value); } 1161 1162 /** 1163 * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number 1164 * used in conjunction with the key for encrypting blocks. If set to "include", IV 1165 * is listed in the manifest, otherwise the IV is not in the manifest. 1166 */ WithIvInManifest(const HlsIvInManifest & value)1167 inline HlsGroupSettings& WithIvInManifest(const HlsIvInManifest& value) { SetIvInManifest(value); return *this;} 1168 1169 /** 1170 * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number 1171 * used in conjunction with the key for encrypting blocks. If set to "include", IV 1172 * is listed in the manifest, otherwise the IV is not in the manifest. 1173 */ WithIvInManifest(HlsIvInManifest && value)1174 inline HlsGroupSettings& WithIvInManifest(HlsIvInManifest&& value) { SetIvInManifest(std::move(value)); return *this;} 1175 1176 1177 /** 1178 * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number 1179 * used in conjunction with the key for encrypting blocks. If this setting is 1180 * "followsSegmentNumber", it will cause the IV to change every segment (to match 1181 * the segment number). If this is set to "explicit", you must enter a constantIv 1182 * value. 1183 */ GetIvSource()1184 inline const HlsIvSource& GetIvSource() const{ return m_ivSource; } 1185 1186 /** 1187 * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number 1188 * used in conjunction with the key for encrypting blocks. If this setting is 1189 * "followsSegmentNumber", it will cause the IV to change every segment (to match 1190 * the segment number). If this is set to "explicit", you must enter a constantIv 1191 * value. 1192 */ IvSourceHasBeenSet()1193 inline bool IvSourceHasBeenSet() const { return m_ivSourceHasBeenSet; } 1194 1195 /** 1196 * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number 1197 * used in conjunction with the key for encrypting blocks. If this setting is 1198 * "followsSegmentNumber", it will cause the IV to change every segment (to match 1199 * the segment number). If this is set to "explicit", you must enter a constantIv 1200 * value. 1201 */ SetIvSource(const HlsIvSource & value)1202 inline void SetIvSource(const HlsIvSource& value) { m_ivSourceHasBeenSet = true; m_ivSource = value; } 1203 1204 /** 1205 * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number 1206 * used in conjunction with the key for encrypting blocks. If this setting is 1207 * "followsSegmentNumber", it will cause the IV to change every segment (to match 1208 * the segment number). If this is set to "explicit", you must enter a constantIv 1209 * value. 1210 */ SetIvSource(HlsIvSource && value)1211 inline void SetIvSource(HlsIvSource&& value) { m_ivSourceHasBeenSet = true; m_ivSource = std::move(value); } 1212 1213 /** 1214 * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number 1215 * used in conjunction with the key for encrypting blocks. If this setting is 1216 * "followsSegmentNumber", it will cause the IV to change every segment (to match 1217 * the segment number). If this is set to "explicit", you must enter a constantIv 1218 * value. 1219 */ WithIvSource(const HlsIvSource & value)1220 inline HlsGroupSettings& WithIvSource(const HlsIvSource& value) { SetIvSource(value); return *this;} 1221 1222 /** 1223 * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number 1224 * used in conjunction with the key for encrypting blocks. If this setting is 1225 * "followsSegmentNumber", it will cause the IV to change every segment (to match 1226 * the segment number). If this is set to "explicit", you must enter a constantIv 1227 * value. 1228 */ WithIvSource(HlsIvSource && value)1229 inline HlsGroupSettings& WithIvSource(HlsIvSource&& value) { SetIvSource(std::move(value)); return *this;} 1230 1231 1232 /** 1233 * Applies only if Mode field is LIVE. 1234 1235 Specifies the number of media segments to 1236 * retain in the destination directory. This number should be bigger than 1237 * indexNSegments (Num segments). We recommend (value = (2 x indexNsegments) + 1238 * 1). 1239 1240 If this "keep segments" number is too low, the following might happen: the 1241 * player is still reading a media manifest file that lists this segment, but that 1242 * segment has been removed from the destination directory (as directed by 1243 * indexNSegments). This situation would result in a 404 HTTP error on the player. 1244 */ GetKeepSegments()1245 inline int GetKeepSegments() const{ return m_keepSegments; } 1246 1247 /** 1248 * Applies only if Mode field is LIVE. 1249 1250 Specifies the number of media segments to 1251 * retain in the destination directory. This number should be bigger than 1252 * indexNSegments (Num segments). We recommend (value = (2 x indexNsegments) + 1253 * 1). 1254 1255 If this "keep segments" number is too low, the following might happen: the 1256 * player is still reading a media manifest file that lists this segment, but that 1257 * segment has been removed from the destination directory (as directed by 1258 * indexNSegments). This situation would result in a 404 HTTP error on the player. 1259 */ KeepSegmentsHasBeenSet()1260 inline bool KeepSegmentsHasBeenSet() const { return m_keepSegmentsHasBeenSet; } 1261 1262 /** 1263 * Applies only if Mode field is LIVE. 1264 1265 Specifies the number of media segments to 1266 * retain in the destination directory. This number should be bigger than 1267 * indexNSegments (Num segments). We recommend (value = (2 x indexNsegments) + 1268 * 1). 1269 1270 If this "keep segments" number is too low, the following might happen: the 1271 * player is still reading a media manifest file that lists this segment, but that 1272 * segment has been removed from the destination directory (as directed by 1273 * indexNSegments). This situation would result in a 404 HTTP error on the player. 1274 */ SetKeepSegments(int value)1275 inline void SetKeepSegments(int value) { m_keepSegmentsHasBeenSet = true; m_keepSegments = value; } 1276 1277 /** 1278 * Applies only if Mode field is LIVE. 1279 1280 Specifies the number of media segments to 1281 * retain in the destination directory. This number should be bigger than 1282 * indexNSegments (Num segments). We recommend (value = (2 x indexNsegments) + 1283 * 1). 1284 1285 If this "keep segments" number is too low, the following might happen: the 1286 * player is still reading a media manifest file that lists this segment, but that 1287 * segment has been removed from the destination directory (as directed by 1288 * indexNSegments). This situation would result in a 404 HTTP error on the player. 1289 */ WithKeepSegments(int value)1290 inline HlsGroupSettings& WithKeepSegments(int value) { SetKeepSegments(value); return *this;} 1291 1292 1293 /** 1294 * The value specifies how the key is represented in the resource identified by the 1295 * URI. If parameter is absent, an implicit value of "identity" is used. A 1296 * reverse DNS string can also be given. 1297 */ GetKeyFormat()1298 inline const Aws::String& GetKeyFormat() const{ return m_keyFormat; } 1299 1300 /** 1301 * The value specifies how the key is represented in the resource identified by the 1302 * URI. If parameter is absent, an implicit value of "identity" is used. A 1303 * reverse DNS string can also be given. 1304 */ KeyFormatHasBeenSet()1305 inline bool KeyFormatHasBeenSet() const { return m_keyFormatHasBeenSet; } 1306 1307 /** 1308 * The value specifies how the key is represented in the resource identified by the 1309 * URI. If parameter is absent, an implicit value of "identity" is used. A 1310 * reverse DNS string can also be given. 1311 */ SetKeyFormat(const Aws::String & value)1312 inline void SetKeyFormat(const Aws::String& value) { m_keyFormatHasBeenSet = true; m_keyFormat = value; } 1313 1314 /** 1315 * The value specifies how the key is represented in the resource identified by the 1316 * URI. If parameter is absent, an implicit value of "identity" is used. A 1317 * reverse DNS string can also be given. 1318 */ SetKeyFormat(Aws::String && value)1319 inline void SetKeyFormat(Aws::String&& value) { m_keyFormatHasBeenSet = true; m_keyFormat = std::move(value); } 1320 1321 /** 1322 * The value specifies how the key is represented in the resource identified by the 1323 * URI. If parameter is absent, an implicit value of "identity" is used. A 1324 * reverse DNS string can also be given. 1325 */ SetKeyFormat(const char * value)1326 inline void SetKeyFormat(const char* value) { m_keyFormatHasBeenSet = true; m_keyFormat.assign(value); } 1327 1328 /** 1329 * The value specifies how the key is represented in the resource identified by the 1330 * URI. If parameter is absent, an implicit value of "identity" is used. A 1331 * reverse DNS string can also be given. 1332 */ WithKeyFormat(const Aws::String & value)1333 inline HlsGroupSettings& WithKeyFormat(const Aws::String& value) { SetKeyFormat(value); return *this;} 1334 1335 /** 1336 * The value specifies how the key is represented in the resource identified by the 1337 * URI. If parameter is absent, an implicit value of "identity" is used. A 1338 * reverse DNS string can also be given. 1339 */ WithKeyFormat(Aws::String && value)1340 inline HlsGroupSettings& WithKeyFormat(Aws::String&& value) { SetKeyFormat(std::move(value)); return *this;} 1341 1342 /** 1343 * The value specifies how the key is represented in the resource identified by the 1344 * URI. If parameter is absent, an implicit value of "identity" is used. A 1345 * reverse DNS string can also be given. 1346 */ WithKeyFormat(const char * value)1347 inline HlsGroupSettings& WithKeyFormat(const char* value) { SetKeyFormat(value); return *this;} 1348 1349 1350 /** 1351 * Either a single positive integer version value or a slash delimited list of 1352 * version values (1/2/3). 1353 */ GetKeyFormatVersions()1354 inline const Aws::String& GetKeyFormatVersions() const{ return m_keyFormatVersions; } 1355 1356 /** 1357 * Either a single positive integer version value or a slash delimited list of 1358 * version values (1/2/3). 1359 */ KeyFormatVersionsHasBeenSet()1360 inline bool KeyFormatVersionsHasBeenSet() const { return m_keyFormatVersionsHasBeenSet; } 1361 1362 /** 1363 * Either a single positive integer version value or a slash delimited list of 1364 * version values (1/2/3). 1365 */ SetKeyFormatVersions(const Aws::String & value)1366 inline void SetKeyFormatVersions(const Aws::String& value) { m_keyFormatVersionsHasBeenSet = true; m_keyFormatVersions = value; } 1367 1368 /** 1369 * Either a single positive integer version value or a slash delimited list of 1370 * version values (1/2/3). 1371 */ SetKeyFormatVersions(Aws::String && value)1372 inline void SetKeyFormatVersions(Aws::String&& value) { m_keyFormatVersionsHasBeenSet = true; m_keyFormatVersions = std::move(value); } 1373 1374 /** 1375 * Either a single positive integer version value or a slash delimited list of 1376 * version values (1/2/3). 1377 */ SetKeyFormatVersions(const char * value)1378 inline void SetKeyFormatVersions(const char* value) { m_keyFormatVersionsHasBeenSet = true; m_keyFormatVersions.assign(value); } 1379 1380 /** 1381 * Either a single positive integer version value or a slash delimited list of 1382 * version values (1/2/3). 1383 */ WithKeyFormatVersions(const Aws::String & value)1384 inline HlsGroupSettings& WithKeyFormatVersions(const Aws::String& value) { SetKeyFormatVersions(value); return *this;} 1385 1386 /** 1387 * Either a single positive integer version value or a slash delimited list of 1388 * version values (1/2/3). 1389 */ WithKeyFormatVersions(Aws::String && value)1390 inline HlsGroupSettings& WithKeyFormatVersions(Aws::String&& value) { SetKeyFormatVersions(std::move(value)); return *this;} 1391 1392 /** 1393 * Either a single positive integer version value or a slash delimited list of 1394 * version values (1/2/3). 1395 */ WithKeyFormatVersions(const char * value)1396 inline HlsGroupSettings& WithKeyFormatVersions(const char* value) { SetKeyFormatVersions(value); return *this;} 1397 1398 1399 /** 1400 * The key provider settings. 1401 */ GetKeyProviderSettings()1402 inline const KeyProviderSettings& GetKeyProviderSettings() const{ return m_keyProviderSettings; } 1403 1404 /** 1405 * The key provider settings. 1406 */ KeyProviderSettingsHasBeenSet()1407 inline bool KeyProviderSettingsHasBeenSet() const { return m_keyProviderSettingsHasBeenSet; } 1408 1409 /** 1410 * The key provider settings. 1411 */ SetKeyProviderSettings(const KeyProviderSettings & value)1412 inline void SetKeyProviderSettings(const KeyProviderSettings& value) { m_keyProviderSettingsHasBeenSet = true; m_keyProviderSettings = value; } 1413 1414 /** 1415 * The key provider settings. 1416 */ SetKeyProviderSettings(KeyProviderSettings && value)1417 inline void SetKeyProviderSettings(KeyProviderSettings&& value) { m_keyProviderSettingsHasBeenSet = true; m_keyProviderSettings = std::move(value); } 1418 1419 /** 1420 * The key provider settings. 1421 */ WithKeyProviderSettings(const KeyProviderSettings & value)1422 inline HlsGroupSettings& WithKeyProviderSettings(const KeyProviderSettings& value) { SetKeyProviderSettings(value); return *this;} 1423 1424 /** 1425 * The key provider settings. 1426 */ WithKeyProviderSettings(KeyProviderSettings && value)1427 inline HlsGroupSettings& WithKeyProviderSettings(KeyProviderSettings&& value) { SetKeyProviderSettings(std::move(value)); return *this;} 1428 1429 1430 /** 1431 * When set to gzip, compresses HLS playlist. 1432 */ GetManifestCompression()1433 inline const HlsManifestCompression& GetManifestCompression() const{ return m_manifestCompression; } 1434 1435 /** 1436 * When set to gzip, compresses HLS playlist. 1437 */ ManifestCompressionHasBeenSet()1438 inline bool ManifestCompressionHasBeenSet() const { return m_manifestCompressionHasBeenSet; } 1439 1440 /** 1441 * When set to gzip, compresses HLS playlist. 1442 */ SetManifestCompression(const HlsManifestCompression & value)1443 inline void SetManifestCompression(const HlsManifestCompression& value) { m_manifestCompressionHasBeenSet = true; m_manifestCompression = value; } 1444 1445 /** 1446 * When set to gzip, compresses HLS playlist. 1447 */ SetManifestCompression(HlsManifestCompression && value)1448 inline void SetManifestCompression(HlsManifestCompression&& value) { m_manifestCompressionHasBeenSet = true; m_manifestCompression = std::move(value); } 1449 1450 /** 1451 * When set to gzip, compresses HLS playlist. 1452 */ WithManifestCompression(const HlsManifestCompression & value)1453 inline HlsGroupSettings& WithManifestCompression(const HlsManifestCompression& value) { SetManifestCompression(value); return *this;} 1454 1455 /** 1456 * When set to gzip, compresses HLS playlist. 1457 */ WithManifestCompression(HlsManifestCompression && value)1458 inline HlsGroupSettings& WithManifestCompression(HlsManifestCompression&& value) { SetManifestCompression(std::move(value)); return *this;} 1459 1460 1461 /** 1462 * Indicates whether the output manifest should use floating point or integer 1463 * values for segment duration. 1464 */ GetManifestDurationFormat()1465 inline const HlsManifestDurationFormat& GetManifestDurationFormat() const{ return m_manifestDurationFormat; } 1466 1467 /** 1468 * Indicates whether the output manifest should use floating point or integer 1469 * values for segment duration. 1470 */ ManifestDurationFormatHasBeenSet()1471 inline bool ManifestDurationFormatHasBeenSet() const { return m_manifestDurationFormatHasBeenSet; } 1472 1473 /** 1474 * Indicates whether the output manifest should use floating point or integer 1475 * values for segment duration. 1476 */ SetManifestDurationFormat(const HlsManifestDurationFormat & value)1477 inline void SetManifestDurationFormat(const HlsManifestDurationFormat& value) { m_manifestDurationFormatHasBeenSet = true; m_manifestDurationFormat = value; } 1478 1479 /** 1480 * Indicates whether the output manifest should use floating point or integer 1481 * values for segment duration. 1482 */ SetManifestDurationFormat(HlsManifestDurationFormat && value)1483 inline void SetManifestDurationFormat(HlsManifestDurationFormat&& value) { m_manifestDurationFormatHasBeenSet = true; m_manifestDurationFormat = std::move(value); } 1484 1485 /** 1486 * Indicates whether the output manifest should use floating point or integer 1487 * values for segment duration. 1488 */ WithManifestDurationFormat(const HlsManifestDurationFormat & value)1489 inline HlsGroupSettings& WithManifestDurationFormat(const HlsManifestDurationFormat& value) { SetManifestDurationFormat(value); return *this;} 1490 1491 /** 1492 * Indicates whether the output manifest should use floating point or integer 1493 * values for segment duration. 1494 */ WithManifestDurationFormat(HlsManifestDurationFormat && value)1495 inline HlsGroupSettings& WithManifestDurationFormat(HlsManifestDurationFormat&& value) { SetManifestDurationFormat(std::move(value)); return *this;} 1496 1497 1498 /** 1499 * When set, minimumSegmentLength is enforced by looking ahead and back within the 1500 * specified range for a nearby avail and extending the segment size if needed. 1501 */ GetMinSegmentLength()1502 inline int GetMinSegmentLength() const{ return m_minSegmentLength; } 1503 1504 /** 1505 * When set, minimumSegmentLength is enforced by looking ahead and back within the 1506 * specified range for a nearby avail and extending the segment size if needed. 1507 */ MinSegmentLengthHasBeenSet()1508 inline bool MinSegmentLengthHasBeenSet() const { return m_minSegmentLengthHasBeenSet; } 1509 1510 /** 1511 * When set, minimumSegmentLength is enforced by looking ahead and back within the 1512 * specified range for a nearby avail and extending the segment size if needed. 1513 */ SetMinSegmentLength(int value)1514 inline void SetMinSegmentLength(int value) { m_minSegmentLengthHasBeenSet = true; m_minSegmentLength = value; } 1515 1516 /** 1517 * When set, minimumSegmentLength is enforced by looking ahead and back within the 1518 * specified range for a nearby avail and extending the segment size if needed. 1519 */ WithMinSegmentLength(int value)1520 inline HlsGroupSettings& WithMinSegmentLength(int value) { SetMinSegmentLength(value); return *this;} 1521 1522 1523 /** 1524 * If "vod", all segments are indexed and kept permanently in the destination and 1525 * manifest. If "live", only the number segments specified in keepSegments and 1526 * indexNSegments are kept; newer segments replace older segments, which may 1527 * prevent players from rewinding all the way to the beginning of the event. 1528 1529 VOD 1530 * mode uses HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running, 1531 * converting it to a "VOD" type manifest on completion of the stream. 1532 */ GetMode()1533 inline const HlsMode& GetMode() const{ return m_mode; } 1534 1535 /** 1536 * If "vod", all segments are indexed and kept permanently in the destination and 1537 * manifest. If "live", only the number segments specified in keepSegments and 1538 * indexNSegments are kept; newer segments replace older segments, which may 1539 * prevent players from rewinding all the way to the beginning of the event. 1540 1541 VOD 1542 * mode uses HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running, 1543 * converting it to a "VOD" type manifest on completion of the stream. 1544 */ ModeHasBeenSet()1545 inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; } 1546 1547 /** 1548 * If "vod", all segments are indexed and kept permanently in the destination and 1549 * manifest. If "live", only the number segments specified in keepSegments and 1550 * indexNSegments are kept; newer segments replace older segments, which may 1551 * prevent players from rewinding all the way to the beginning of the event. 1552 1553 VOD 1554 * mode uses HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running, 1555 * converting it to a "VOD" type manifest on completion of the stream. 1556 */ SetMode(const HlsMode & value)1557 inline void SetMode(const HlsMode& value) { m_modeHasBeenSet = true; m_mode = value; } 1558 1559 /** 1560 * If "vod", all segments are indexed and kept permanently in the destination and 1561 * manifest. If "live", only the number segments specified in keepSegments and 1562 * indexNSegments are kept; newer segments replace older segments, which may 1563 * prevent players from rewinding all the way to the beginning of the event. 1564 1565 VOD 1566 * mode uses HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running, 1567 * converting it to a "VOD" type manifest on completion of the stream. 1568 */ SetMode(HlsMode && value)1569 inline void SetMode(HlsMode&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); } 1570 1571 /** 1572 * If "vod", all segments are indexed and kept permanently in the destination and 1573 * manifest. If "live", only the number segments specified in keepSegments and 1574 * indexNSegments are kept; newer segments replace older segments, which may 1575 * prevent players from rewinding all the way to the beginning of the event. 1576 1577 VOD 1578 * mode uses HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running, 1579 * converting it to a "VOD" type manifest on completion of the stream. 1580 */ WithMode(const HlsMode & value)1581 inline HlsGroupSettings& WithMode(const HlsMode& value) { SetMode(value); return *this;} 1582 1583 /** 1584 * If "vod", all segments are indexed and kept permanently in the destination and 1585 * manifest. If "live", only the number segments specified in keepSegments and 1586 * indexNSegments are kept; newer segments replace older segments, which may 1587 * prevent players from rewinding all the way to the beginning of the event. 1588 1589 VOD 1590 * mode uses HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running, 1591 * converting it to a "VOD" type manifest on completion of the stream. 1592 */ WithMode(HlsMode && value)1593 inline HlsGroupSettings& WithMode(HlsMode&& value) { SetMode(std::move(value)); return *this;} 1594 1595 1596 /** 1597 * MANIFESTS_AND_SEGMENTS: Generates manifests (master manifest, if applicable, and 1598 * media manifests) for this output group. 1599 1600 VARIANT_MANIFESTS_AND_SEGMENTS: 1601 * Generates media manifests for this output group, but not a master 1602 * manifest. 1603 1604 SEGMENTS_ONLY: Does not generate any manifests for this output group. 1605 */ GetOutputSelection()1606 inline const HlsOutputSelection& GetOutputSelection() const{ return m_outputSelection; } 1607 1608 /** 1609 * MANIFESTS_AND_SEGMENTS: Generates manifests (master manifest, if applicable, and 1610 * media manifests) for this output group. 1611 1612 VARIANT_MANIFESTS_AND_SEGMENTS: 1613 * Generates media manifests for this output group, but not a master 1614 * manifest. 1615 1616 SEGMENTS_ONLY: Does not generate any manifests for this output group. 1617 */ OutputSelectionHasBeenSet()1618 inline bool OutputSelectionHasBeenSet() const { return m_outputSelectionHasBeenSet; } 1619 1620 /** 1621 * MANIFESTS_AND_SEGMENTS: Generates manifests (master manifest, if applicable, and 1622 * media manifests) for this output group. 1623 1624 VARIANT_MANIFESTS_AND_SEGMENTS: 1625 * Generates media manifests for this output group, but not a master 1626 * manifest. 1627 1628 SEGMENTS_ONLY: Does not generate any manifests for this output group. 1629 */ SetOutputSelection(const HlsOutputSelection & value)1630 inline void SetOutputSelection(const HlsOutputSelection& value) { m_outputSelectionHasBeenSet = true; m_outputSelection = value; } 1631 1632 /** 1633 * MANIFESTS_AND_SEGMENTS: Generates manifests (master manifest, if applicable, and 1634 * media manifests) for this output group. 1635 1636 VARIANT_MANIFESTS_AND_SEGMENTS: 1637 * Generates media manifests for this output group, but not a master 1638 * manifest. 1639 1640 SEGMENTS_ONLY: Does not generate any manifests for this output group. 1641 */ SetOutputSelection(HlsOutputSelection && value)1642 inline void SetOutputSelection(HlsOutputSelection&& value) { m_outputSelectionHasBeenSet = true; m_outputSelection = std::move(value); } 1643 1644 /** 1645 * MANIFESTS_AND_SEGMENTS: Generates manifests (master manifest, if applicable, and 1646 * media manifests) for this output group. 1647 1648 VARIANT_MANIFESTS_AND_SEGMENTS: 1649 * Generates media manifests for this output group, but not a master 1650 * manifest. 1651 1652 SEGMENTS_ONLY: Does not generate any manifests for this output group. 1653 */ WithOutputSelection(const HlsOutputSelection & value)1654 inline HlsGroupSettings& WithOutputSelection(const HlsOutputSelection& value) { SetOutputSelection(value); return *this;} 1655 1656 /** 1657 * MANIFESTS_AND_SEGMENTS: Generates manifests (master manifest, if applicable, and 1658 * media manifests) for this output group. 1659 1660 VARIANT_MANIFESTS_AND_SEGMENTS: 1661 * Generates media manifests for this output group, but not a master 1662 * manifest. 1663 1664 SEGMENTS_ONLY: Does not generate any manifests for this output group. 1665 */ WithOutputSelection(HlsOutputSelection && value)1666 inline HlsGroupSettings& WithOutputSelection(HlsOutputSelection&& value) { SetOutputSelection(std::move(value)); return *this;} 1667 1668 1669 /** 1670 * Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The 1671 * value is calculated as follows: either the program date and time are initialized 1672 * using the input timecode source, or the time is initialized using the input 1673 * timecode source and the date is initialized using the timestampOffset. 1674 */ GetProgramDateTime()1675 inline const HlsProgramDateTime& GetProgramDateTime() const{ return m_programDateTime; } 1676 1677 /** 1678 * Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The 1679 * value is calculated as follows: either the program date and time are initialized 1680 * using the input timecode source, or the time is initialized using the input 1681 * timecode source and the date is initialized using the timestampOffset. 1682 */ ProgramDateTimeHasBeenSet()1683 inline bool ProgramDateTimeHasBeenSet() const { return m_programDateTimeHasBeenSet; } 1684 1685 /** 1686 * Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The 1687 * value is calculated as follows: either the program date and time are initialized 1688 * using the input timecode source, or the time is initialized using the input 1689 * timecode source and the date is initialized using the timestampOffset. 1690 */ SetProgramDateTime(const HlsProgramDateTime & value)1691 inline void SetProgramDateTime(const HlsProgramDateTime& value) { m_programDateTimeHasBeenSet = true; m_programDateTime = value; } 1692 1693 /** 1694 * Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The 1695 * value is calculated as follows: either the program date and time are initialized 1696 * using the input timecode source, or the time is initialized using the input 1697 * timecode source and the date is initialized using the timestampOffset. 1698 */ SetProgramDateTime(HlsProgramDateTime && value)1699 inline void SetProgramDateTime(HlsProgramDateTime&& value) { m_programDateTimeHasBeenSet = true; m_programDateTime = std::move(value); } 1700 1701 /** 1702 * Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The 1703 * value is calculated as follows: either the program date and time are initialized 1704 * using the input timecode source, or the time is initialized using the input 1705 * timecode source and the date is initialized using the timestampOffset. 1706 */ WithProgramDateTime(const HlsProgramDateTime & value)1707 inline HlsGroupSettings& WithProgramDateTime(const HlsProgramDateTime& value) { SetProgramDateTime(value); return *this;} 1708 1709 /** 1710 * Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The 1711 * value is calculated as follows: either the program date and time are initialized 1712 * using the input timecode source, or the time is initialized using the input 1713 * timecode source and the date is initialized using the timestampOffset. 1714 */ WithProgramDateTime(HlsProgramDateTime && value)1715 inline HlsGroupSettings& WithProgramDateTime(HlsProgramDateTime&& value) { SetProgramDateTime(std::move(value)); return *this;} 1716 1717 1718 /** 1719 * Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. 1720 */ GetProgramDateTimePeriod()1721 inline int GetProgramDateTimePeriod() const{ return m_programDateTimePeriod; } 1722 1723 /** 1724 * Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. 1725 */ ProgramDateTimePeriodHasBeenSet()1726 inline bool ProgramDateTimePeriodHasBeenSet() const { return m_programDateTimePeriodHasBeenSet; } 1727 1728 /** 1729 * Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. 1730 */ SetProgramDateTimePeriod(int value)1731 inline void SetProgramDateTimePeriod(int value) { m_programDateTimePeriodHasBeenSet = true; m_programDateTimePeriod = value; } 1732 1733 /** 1734 * Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. 1735 */ WithProgramDateTimePeriod(int value)1736 inline HlsGroupSettings& WithProgramDateTimePeriod(int value) { SetProgramDateTimePeriod(value); return *this;} 1737 1738 1739 /** 1740 * ENABLED: The master manifest (.m3u8 file) for each pipeline includes information 1741 * about both pipelines: first its own media files, then the media files of the 1742 * other pipeline. This feature allows playout device that support stale manifest 1743 * detection to switch from one manifest to the other, when the current manifest 1744 * seems to be stale. There are still two destinations and two master manifests, 1745 * but both master manifests reference the media files from both 1746 * pipelines. 1747 1748 DISABLED: The master manifest (.m3u8 file) for each pipeline 1749 * includes information about its own pipeline only. 1750 1751 For an HLS output group with 1752 * MediaPackage as the destination, the DISABLED behavior is always followed. 1753 * MediaPackage regenerates the manifests it serves to players so a redundant 1754 * manifest from MediaLive is irrelevant. 1755 */ GetRedundantManifest()1756 inline const HlsRedundantManifest& GetRedundantManifest() const{ return m_redundantManifest; } 1757 1758 /** 1759 * ENABLED: The master manifest (.m3u8 file) for each pipeline includes information 1760 * about both pipelines: first its own media files, then the media files of the 1761 * other pipeline. This feature allows playout device that support stale manifest 1762 * detection to switch from one manifest to the other, when the current manifest 1763 * seems to be stale. There are still two destinations and two master manifests, 1764 * but both master manifests reference the media files from both 1765 * pipelines. 1766 1767 DISABLED: The master manifest (.m3u8 file) for each pipeline 1768 * includes information about its own pipeline only. 1769 1770 For an HLS output group with 1771 * MediaPackage as the destination, the DISABLED behavior is always followed. 1772 * MediaPackage regenerates the manifests it serves to players so a redundant 1773 * manifest from MediaLive is irrelevant. 1774 */ RedundantManifestHasBeenSet()1775 inline bool RedundantManifestHasBeenSet() const { return m_redundantManifestHasBeenSet; } 1776 1777 /** 1778 * ENABLED: The master manifest (.m3u8 file) for each pipeline includes information 1779 * about both pipelines: first its own media files, then the media files of the 1780 * other pipeline. This feature allows playout device that support stale manifest 1781 * detection to switch from one manifest to the other, when the current manifest 1782 * seems to be stale. There are still two destinations and two master manifests, 1783 * but both master manifests reference the media files from both 1784 * pipelines. 1785 1786 DISABLED: The master manifest (.m3u8 file) for each pipeline 1787 * includes information about its own pipeline only. 1788 1789 For an HLS output group with 1790 * MediaPackage as the destination, the DISABLED behavior is always followed. 1791 * MediaPackage regenerates the manifests it serves to players so a redundant 1792 * manifest from MediaLive is irrelevant. 1793 */ SetRedundantManifest(const HlsRedundantManifest & value)1794 inline void SetRedundantManifest(const HlsRedundantManifest& value) { m_redundantManifestHasBeenSet = true; m_redundantManifest = value; } 1795 1796 /** 1797 * ENABLED: The master manifest (.m3u8 file) for each pipeline includes information 1798 * about both pipelines: first its own media files, then the media files of the 1799 * other pipeline. This feature allows playout device that support stale manifest 1800 * detection to switch from one manifest to the other, when the current manifest 1801 * seems to be stale. There are still two destinations and two master manifests, 1802 * but both master manifests reference the media files from both 1803 * pipelines. 1804 1805 DISABLED: The master manifest (.m3u8 file) for each pipeline 1806 * includes information about its own pipeline only. 1807 1808 For an HLS output group with 1809 * MediaPackage as the destination, the DISABLED behavior is always followed. 1810 * MediaPackage regenerates the manifests it serves to players so a redundant 1811 * manifest from MediaLive is irrelevant. 1812 */ SetRedundantManifest(HlsRedundantManifest && value)1813 inline void SetRedundantManifest(HlsRedundantManifest&& value) { m_redundantManifestHasBeenSet = true; m_redundantManifest = std::move(value); } 1814 1815 /** 1816 * ENABLED: The master manifest (.m3u8 file) for each pipeline includes information 1817 * about both pipelines: first its own media files, then the media files of the 1818 * other pipeline. This feature allows playout device that support stale manifest 1819 * detection to switch from one manifest to the other, when the current manifest 1820 * seems to be stale. There are still two destinations and two master manifests, 1821 * but both master manifests reference the media files from both 1822 * pipelines. 1823 1824 DISABLED: The master manifest (.m3u8 file) for each pipeline 1825 * includes information about its own pipeline only. 1826 1827 For an HLS output group with 1828 * MediaPackage as the destination, the DISABLED behavior is always followed. 1829 * MediaPackage regenerates the manifests it serves to players so a redundant 1830 * manifest from MediaLive is irrelevant. 1831 */ WithRedundantManifest(const HlsRedundantManifest & value)1832 inline HlsGroupSettings& WithRedundantManifest(const HlsRedundantManifest& value) { SetRedundantManifest(value); return *this;} 1833 1834 /** 1835 * ENABLED: The master manifest (.m3u8 file) for each pipeline includes information 1836 * about both pipelines: first its own media files, then the media files of the 1837 * other pipeline. This feature allows playout device that support stale manifest 1838 * detection to switch from one manifest to the other, when the current manifest 1839 * seems to be stale. There are still two destinations and two master manifests, 1840 * but both master manifests reference the media files from both 1841 * pipelines. 1842 1843 DISABLED: The master manifest (.m3u8 file) for each pipeline 1844 * includes information about its own pipeline only. 1845 1846 For an HLS output group with 1847 * MediaPackage as the destination, the DISABLED behavior is always followed. 1848 * MediaPackage regenerates the manifests it serves to players so a redundant 1849 * manifest from MediaLive is irrelevant. 1850 */ WithRedundantManifest(HlsRedundantManifest && value)1851 inline HlsGroupSettings& WithRedundantManifest(HlsRedundantManifest&& value) { SetRedundantManifest(std::move(value)); return *this;} 1852 1853 1854 /** 1855 * Length of MPEG-2 Transport Stream segments to create (in seconds). Note that 1856 * segments will end on the next keyframe after this number of seconds, so actual 1857 * segment length may be longer. 1858 */ GetSegmentLength()1859 inline int GetSegmentLength() const{ return m_segmentLength; } 1860 1861 /** 1862 * Length of MPEG-2 Transport Stream segments to create (in seconds). Note that 1863 * segments will end on the next keyframe after this number of seconds, so actual 1864 * segment length may be longer. 1865 */ SegmentLengthHasBeenSet()1866 inline bool SegmentLengthHasBeenSet() const { return m_segmentLengthHasBeenSet; } 1867 1868 /** 1869 * Length of MPEG-2 Transport Stream segments to create (in seconds). Note that 1870 * segments will end on the next keyframe after this number of seconds, so actual 1871 * segment length may be longer. 1872 */ SetSegmentLength(int value)1873 inline void SetSegmentLength(int value) { m_segmentLengthHasBeenSet = true; m_segmentLength = value; } 1874 1875 /** 1876 * Length of MPEG-2 Transport Stream segments to create (in seconds). Note that 1877 * segments will end on the next keyframe after this number of seconds, so actual 1878 * segment length may be longer. 1879 */ WithSegmentLength(int value)1880 inline HlsGroupSettings& WithSegmentLength(int value) { SetSegmentLength(value); return *this;} 1881 1882 1883 /** 1884 * useInputSegmentation has been deprecated. The configured segment size is always 1885 * used. 1886 */ GetSegmentationMode()1887 inline const HlsSegmentationMode& GetSegmentationMode() const{ return m_segmentationMode; } 1888 1889 /** 1890 * useInputSegmentation has been deprecated. The configured segment size is always 1891 * used. 1892 */ SegmentationModeHasBeenSet()1893 inline bool SegmentationModeHasBeenSet() const { return m_segmentationModeHasBeenSet; } 1894 1895 /** 1896 * useInputSegmentation has been deprecated. The configured segment size is always 1897 * used. 1898 */ SetSegmentationMode(const HlsSegmentationMode & value)1899 inline void SetSegmentationMode(const HlsSegmentationMode& value) { m_segmentationModeHasBeenSet = true; m_segmentationMode = value; } 1900 1901 /** 1902 * useInputSegmentation has been deprecated. The configured segment size is always 1903 * used. 1904 */ SetSegmentationMode(HlsSegmentationMode && value)1905 inline void SetSegmentationMode(HlsSegmentationMode&& value) { m_segmentationModeHasBeenSet = true; m_segmentationMode = std::move(value); } 1906 1907 /** 1908 * useInputSegmentation has been deprecated. The configured segment size is always 1909 * used. 1910 */ WithSegmentationMode(const HlsSegmentationMode & value)1911 inline HlsGroupSettings& WithSegmentationMode(const HlsSegmentationMode& value) { SetSegmentationMode(value); return *this;} 1912 1913 /** 1914 * useInputSegmentation has been deprecated. The configured segment size is always 1915 * used. 1916 */ WithSegmentationMode(HlsSegmentationMode && value)1917 inline HlsGroupSettings& WithSegmentationMode(HlsSegmentationMode&& value) { SetSegmentationMode(std::move(value)); return *this;} 1918 1919 1920 /** 1921 * Number of segments to write to a subdirectory before starting a new one. 1922 * directoryStructure must be subdirectoryPerStream for this setting to have an 1923 * effect. 1924 */ GetSegmentsPerSubdirectory()1925 inline int GetSegmentsPerSubdirectory() const{ return m_segmentsPerSubdirectory; } 1926 1927 /** 1928 * Number of segments to write to a subdirectory before starting a new one. 1929 * directoryStructure must be subdirectoryPerStream for this setting to have an 1930 * effect. 1931 */ SegmentsPerSubdirectoryHasBeenSet()1932 inline bool SegmentsPerSubdirectoryHasBeenSet() const { return m_segmentsPerSubdirectoryHasBeenSet; } 1933 1934 /** 1935 * Number of segments to write to a subdirectory before starting a new one. 1936 * directoryStructure must be subdirectoryPerStream for this setting to have an 1937 * effect. 1938 */ SetSegmentsPerSubdirectory(int value)1939 inline void SetSegmentsPerSubdirectory(int value) { m_segmentsPerSubdirectoryHasBeenSet = true; m_segmentsPerSubdirectory = value; } 1940 1941 /** 1942 * Number of segments to write to a subdirectory before starting a new one. 1943 * directoryStructure must be subdirectoryPerStream for this setting to have an 1944 * effect. 1945 */ WithSegmentsPerSubdirectory(int value)1946 inline HlsGroupSettings& WithSegmentsPerSubdirectory(int value) { SetSegmentsPerSubdirectory(value); return *this;} 1947 1948 1949 /** 1950 * Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of 1951 * variant manifest. 1952 */ GetStreamInfResolution()1953 inline const HlsStreamInfResolution& GetStreamInfResolution() const{ return m_streamInfResolution; } 1954 1955 /** 1956 * Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of 1957 * variant manifest. 1958 */ StreamInfResolutionHasBeenSet()1959 inline bool StreamInfResolutionHasBeenSet() const { return m_streamInfResolutionHasBeenSet; } 1960 1961 /** 1962 * Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of 1963 * variant manifest. 1964 */ SetStreamInfResolution(const HlsStreamInfResolution & value)1965 inline void SetStreamInfResolution(const HlsStreamInfResolution& value) { m_streamInfResolutionHasBeenSet = true; m_streamInfResolution = value; } 1966 1967 /** 1968 * Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of 1969 * variant manifest. 1970 */ SetStreamInfResolution(HlsStreamInfResolution && value)1971 inline void SetStreamInfResolution(HlsStreamInfResolution&& value) { m_streamInfResolutionHasBeenSet = true; m_streamInfResolution = std::move(value); } 1972 1973 /** 1974 * Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of 1975 * variant manifest. 1976 */ WithStreamInfResolution(const HlsStreamInfResolution & value)1977 inline HlsGroupSettings& WithStreamInfResolution(const HlsStreamInfResolution& value) { SetStreamInfResolution(value); return *this;} 1978 1979 /** 1980 * Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of 1981 * variant manifest. 1982 */ WithStreamInfResolution(HlsStreamInfResolution && value)1983 inline HlsGroupSettings& WithStreamInfResolution(HlsStreamInfResolution&& value) { SetStreamInfResolution(std::move(value)); return *this;} 1984 1985 1986 /** 1987 * Indicates ID3 frame that has the timecode. 1988 */ GetTimedMetadataId3Frame()1989 inline const HlsTimedMetadataId3Frame& GetTimedMetadataId3Frame() const{ return m_timedMetadataId3Frame; } 1990 1991 /** 1992 * Indicates ID3 frame that has the timecode. 1993 */ TimedMetadataId3FrameHasBeenSet()1994 inline bool TimedMetadataId3FrameHasBeenSet() const { return m_timedMetadataId3FrameHasBeenSet; } 1995 1996 /** 1997 * Indicates ID3 frame that has the timecode. 1998 */ SetTimedMetadataId3Frame(const HlsTimedMetadataId3Frame & value)1999 inline void SetTimedMetadataId3Frame(const HlsTimedMetadataId3Frame& value) { m_timedMetadataId3FrameHasBeenSet = true; m_timedMetadataId3Frame = value; } 2000 2001 /** 2002 * Indicates ID3 frame that has the timecode. 2003 */ SetTimedMetadataId3Frame(HlsTimedMetadataId3Frame && value)2004 inline void SetTimedMetadataId3Frame(HlsTimedMetadataId3Frame&& value) { m_timedMetadataId3FrameHasBeenSet = true; m_timedMetadataId3Frame = std::move(value); } 2005 2006 /** 2007 * Indicates ID3 frame that has the timecode. 2008 */ WithTimedMetadataId3Frame(const HlsTimedMetadataId3Frame & value)2009 inline HlsGroupSettings& WithTimedMetadataId3Frame(const HlsTimedMetadataId3Frame& value) { SetTimedMetadataId3Frame(value); return *this;} 2010 2011 /** 2012 * Indicates ID3 frame that has the timecode. 2013 */ WithTimedMetadataId3Frame(HlsTimedMetadataId3Frame && value)2014 inline HlsGroupSettings& WithTimedMetadataId3Frame(HlsTimedMetadataId3Frame&& value) { SetTimedMetadataId3Frame(std::move(value)); return *this;} 2015 2016 2017 /** 2018 * Timed Metadata interval in seconds. 2019 */ GetTimedMetadataId3Period()2020 inline int GetTimedMetadataId3Period() const{ return m_timedMetadataId3Period; } 2021 2022 /** 2023 * Timed Metadata interval in seconds. 2024 */ TimedMetadataId3PeriodHasBeenSet()2025 inline bool TimedMetadataId3PeriodHasBeenSet() const { return m_timedMetadataId3PeriodHasBeenSet; } 2026 2027 /** 2028 * Timed Metadata interval in seconds. 2029 */ SetTimedMetadataId3Period(int value)2030 inline void SetTimedMetadataId3Period(int value) { m_timedMetadataId3PeriodHasBeenSet = true; m_timedMetadataId3Period = value; } 2031 2032 /** 2033 * Timed Metadata interval in seconds. 2034 */ WithTimedMetadataId3Period(int value)2035 inline HlsGroupSettings& WithTimedMetadataId3Period(int value) { SetTimedMetadataId3Period(value); return *this;} 2036 2037 2038 /** 2039 * Provides an extra millisecond delta offset to fine tune the timestamps. 2040 */ GetTimestampDeltaMilliseconds()2041 inline int GetTimestampDeltaMilliseconds() const{ return m_timestampDeltaMilliseconds; } 2042 2043 /** 2044 * Provides an extra millisecond delta offset to fine tune the timestamps. 2045 */ TimestampDeltaMillisecondsHasBeenSet()2046 inline bool TimestampDeltaMillisecondsHasBeenSet() const { return m_timestampDeltaMillisecondsHasBeenSet; } 2047 2048 /** 2049 * Provides an extra millisecond delta offset to fine tune the timestamps. 2050 */ SetTimestampDeltaMilliseconds(int value)2051 inline void SetTimestampDeltaMilliseconds(int value) { m_timestampDeltaMillisecondsHasBeenSet = true; m_timestampDeltaMilliseconds = value; } 2052 2053 /** 2054 * Provides an extra millisecond delta offset to fine tune the timestamps. 2055 */ WithTimestampDeltaMilliseconds(int value)2056 inline HlsGroupSettings& WithTimestampDeltaMilliseconds(int value) { SetTimestampDeltaMilliseconds(value); return *this;} 2057 2058 2059 /** 2060 * SEGMENTED_FILES: Emit the program as segments - multiple .ts media 2061 * files. 2062 2063 SINGLE_FILE: Applies only if Mode field is VOD. Emit the program as a 2064 * single .ts media file. The media manifest includes #EXT-X-BYTERANGE tags to 2065 * index segments for playback. A typical use for this value is when sending the 2066 * output to AWS Elemental MediaConvert, which can accept only a single media file. 2067 * Playback while the channel is running is not guaranteed due to HTTP server 2068 * caching. 2069 */ GetTsFileMode()2070 inline const HlsTsFileMode& GetTsFileMode() const{ return m_tsFileMode; } 2071 2072 /** 2073 * SEGMENTED_FILES: Emit the program as segments - multiple .ts media 2074 * files. 2075 2076 SINGLE_FILE: Applies only if Mode field is VOD. Emit the program as a 2077 * single .ts media file. The media manifest includes #EXT-X-BYTERANGE tags to 2078 * index segments for playback. A typical use for this value is when sending the 2079 * output to AWS Elemental MediaConvert, which can accept only a single media file. 2080 * Playback while the channel is running is not guaranteed due to HTTP server 2081 * caching. 2082 */ TsFileModeHasBeenSet()2083 inline bool TsFileModeHasBeenSet() const { return m_tsFileModeHasBeenSet; } 2084 2085 /** 2086 * SEGMENTED_FILES: Emit the program as segments - multiple .ts media 2087 * files. 2088 2089 SINGLE_FILE: Applies only if Mode field is VOD. Emit the program as a 2090 * single .ts media file. The media manifest includes #EXT-X-BYTERANGE tags to 2091 * index segments for playback. A typical use for this value is when sending the 2092 * output to AWS Elemental MediaConvert, which can accept only a single media file. 2093 * Playback while the channel is running is not guaranteed due to HTTP server 2094 * caching. 2095 */ SetTsFileMode(const HlsTsFileMode & value)2096 inline void SetTsFileMode(const HlsTsFileMode& value) { m_tsFileModeHasBeenSet = true; m_tsFileMode = value; } 2097 2098 /** 2099 * SEGMENTED_FILES: Emit the program as segments - multiple .ts media 2100 * files. 2101 2102 SINGLE_FILE: Applies only if Mode field is VOD. Emit the program as a 2103 * single .ts media file. The media manifest includes #EXT-X-BYTERANGE tags to 2104 * index segments for playback. A typical use for this value is when sending the 2105 * output to AWS Elemental MediaConvert, which can accept only a single media file. 2106 * Playback while the channel is running is not guaranteed due to HTTP server 2107 * caching. 2108 */ SetTsFileMode(HlsTsFileMode && value)2109 inline void SetTsFileMode(HlsTsFileMode&& value) { m_tsFileModeHasBeenSet = true; m_tsFileMode = std::move(value); } 2110 2111 /** 2112 * SEGMENTED_FILES: Emit the program as segments - multiple .ts media 2113 * files. 2114 2115 SINGLE_FILE: Applies only if Mode field is VOD. Emit the program as a 2116 * single .ts media file. The media manifest includes #EXT-X-BYTERANGE tags to 2117 * index segments for playback. A typical use for this value is when sending the 2118 * output to AWS Elemental MediaConvert, which can accept only a single media file. 2119 * Playback while the channel is running is not guaranteed due to HTTP server 2120 * caching. 2121 */ WithTsFileMode(const HlsTsFileMode & value)2122 inline HlsGroupSettings& WithTsFileMode(const HlsTsFileMode& value) { SetTsFileMode(value); return *this;} 2123 2124 /** 2125 * SEGMENTED_FILES: Emit the program as segments - multiple .ts media 2126 * files. 2127 2128 SINGLE_FILE: Applies only if Mode field is VOD. Emit the program as a 2129 * single .ts media file. The media manifest includes #EXT-X-BYTERANGE tags to 2130 * index segments for playback. A typical use for this value is when sending the 2131 * output to AWS Elemental MediaConvert, which can accept only a single media file. 2132 * Playback while the channel is running is not guaranteed due to HTTP server 2133 * caching. 2134 */ WithTsFileMode(HlsTsFileMode && value)2135 inline HlsGroupSettings& WithTsFileMode(HlsTsFileMode&& value) { SetTsFileMode(std::move(value)); return *this;} 2136 2137 private: 2138 2139 Aws::Vector<HlsAdMarkers> m_adMarkers; 2140 bool m_adMarkersHasBeenSet; 2141 2142 Aws::String m_baseUrlContent; 2143 bool m_baseUrlContentHasBeenSet; 2144 2145 Aws::String m_baseUrlContent1; 2146 bool m_baseUrlContent1HasBeenSet; 2147 2148 Aws::String m_baseUrlManifest; 2149 bool m_baseUrlManifestHasBeenSet; 2150 2151 Aws::String m_baseUrlManifest1; 2152 bool m_baseUrlManifest1HasBeenSet; 2153 2154 Aws::Vector<CaptionLanguageMapping> m_captionLanguageMappings; 2155 bool m_captionLanguageMappingsHasBeenSet; 2156 2157 HlsCaptionLanguageSetting m_captionLanguageSetting; 2158 bool m_captionLanguageSettingHasBeenSet; 2159 2160 HlsClientCache m_clientCache; 2161 bool m_clientCacheHasBeenSet; 2162 2163 HlsCodecSpecification m_codecSpecification; 2164 bool m_codecSpecificationHasBeenSet; 2165 2166 Aws::String m_constantIv; 2167 bool m_constantIvHasBeenSet; 2168 2169 OutputLocationRef m_destination; 2170 bool m_destinationHasBeenSet; 2171 2172 HlsDirectoryStructure m_directoryStructure; 2173 bool m_directoryStructureHasBeenSet; 2174 2175 HlsDiscontinuityTags m_discontinuityTags; 2176 bool m_discontinuityTagsHasBeenSet; 2177 2178 HlsEncryptionType m_encryptionType; 2179 bool m_encryptionTypeHasBeenSet; 2180 2181 HlsCdnSettings m_hlsCdnSettings; 2182 bool m_hlsCdnSettingsHasBeenSet; 2183 2184 HlsId3SegmentTaggingState m_hlsId3SegmentTagging; 2185 bool m_hlsId3SegmentTaggingHasBeenSet; 2186 2187 IFrameOnlyPlaylistType m_iFrameOnlyPlaylists; 2188 bool m_iFrameOnlyPlaylistsHasBeenSet; 2189 2190 HlsIncompleteSegmentBehavior m_incompleteSegmentBehavior; 2191 bool m_incompleteSegmentBehaviorHasBeenSet; 2192 2193 int m_indexNSegments; 2194 bool m_indexNSegmentsHasBeenSet; 2195 2196 InputLossActionForHlsOut m_inputLossAction; 2197 bool m_inputLossActionHasBeenSet; 2198 2199 HlsIvInManifest m_ivInManifest; 2200 bool m_ivInManifestHasBeenSet; 2201 2202 HlsIvSource m_ivSource; 2203 bool m_ivSourceHasBeenSet; 2204 2205 int m_keepSegments; 2206 bool m_keepSegmentsHasBeenSet; 2207 2208 Aws::String m_keyFormat; 2209 bool m_keyFormatHasBeenSet; 2210 2211 Aws::String m_keyFormatVersions; 2212 bool m_keyFormatVersionsHasBeenSet; 2213 2214 KeyProviderSettings m_keyProviderSettings; 2215 bool m_keyProviderSettingsHasBeenSet; 2216 2217 HlsManifestCompression m_manifestCompression; 2218 bool m_manifestCompressionHasBeenSet; 2219 2220 HlsManifestDurationFormat m_manifestDurationFormat; 2221 bool m_manifestDurationFormatHasBeenSet; 2222 2223 int m_minSegmentLength; 2224 bool m_minSegmentLengthHasBeenSet; 2225 2226 HlsMode m_mode; 2227 bool m_modeHasBeenSet; 2228 2229 HlsOutputSelection m_outputSelection; 2230 bool m_outputSelectionHasBeenSet; 2231 2232 HlsProgramDateTime m_programDateTime; 2233 bool m_programDateTimeHasBeenSet; 2234 2235 int m_programDateTimePeriod; 2236 bool m_programDateTimePeriodHasBeenSet; 2237 2238 HlsRedundantManifest m_redundantManifest; 2239 bool m_redundantManifestHasBeenSet; 2240 2241 int m_segmentLength; 2242 bool m_segmentLengthHasBeenSet; 2243 2244 HlsSegmentationMode m_segmentationMode; 2245 bool m_segmentationModeHasBeenSet; 2246 2247 int m_segmentsPerSubdirectory; 2248 bool m_segmentsPerSubdirectoryHasBeenSet; 2249 2250 HlsStreamInfResolution m_streamInfResolution; 2251 bool m_streamInfResolutionHasBeenSet; 2252 2253 HlsTimedMetadataId3Frame m_timedMetadataId3Frame; 2254 bool m_timedMetadataId3FrameHasBeenSet; 2255 2256 int m_timedMetadataId3Period; 2257 bool m_timedMetadataId3PeriodHasBeenSet; 2258 2259 int m_timestampDeltaMilliseconds; 2260 bool m_timestampDeltaMillisecondsHasBeenSet; 2261 2262 HlsTsFileMode m_tsFileMode; 2263 bool m_tsFileModeHasBeenSet; 2264 }; 2265 2266 } // namespace Model 2267 } // namespace MediaLive 2268 } // namespace Aws 2269