1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/mediaconvert/MediaConvert_EXPORTS.h> 8 #include <aws/mediaconvert/model/M3u8AudioDuration.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/mediaconvert/model/M3u8DataPtsControl.h> 11 #include <aws/mediaconvert/model/M3u8NielsenId3.h> 12 #include <aws/mediaconvert/model/M3u8PcrControl.h> 13 #include <aws/mediaconvert/model/M3u8Scte35Source.h> 14 #include <aws/mediaconvert/model/TimedMetadata.h> 15 #include <utility> 16 17 namespace Aws 18 { 19 namespace Utils 20 { 21 namespace Json 22 { 23 class JsonValue; 24 class JsonView; 25 } // namespace Json 26 } // namespace Utils 27 namespace MediaConvert 28 { 29 namespace Model 30 { 31 32 /** 33 * These settings relate to the MPEG-2 transport stream (MPEG2-TS) container for 34 * the MPEG2-TS segments in your HLS outputs.<p><h3>See Also:</h3> <a 35 * href="http://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/M3u8Settings">AWS 36 * API Reference</a></p> 37 */ 38 class AWS_MEDIACONVERT_API M3u8Settings 39 { 40 public: 41 M3u8Settings(); 42 M3u8Settings(Aws::Utils::Json::JsonView jsonValue); 43 M3u8Settings& operator=(Aws::Utils::Json::JsonView jsonValue); 44 Aws::Utils::Json::JsonValue Jsonize() const; 45 46 47 /** 48 * Specify this setting only when your output will be consumed by a downstream 49 * repackaging workflow that is sensitive to very small duration differences 50 * between video and audio. For this situation, choose Match video duration 51 * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default 52 * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, 53 * MediaConvert pads the output audio streams with silence or trims them to ensure 54 * that the total duration of each audio stream is at least as long as the total 55 * duration of the video stream. After padding or trimming, the audio stream 56 * duration is no more than one frame longer than the video stream. MediaConvert 57 * applies audio padding or trimming only to the end of the last segment of the 58 * output. For unsegmented outputs, MediaConvert adds padding only to the end of 59 * the file. When you keep the default value, any minor discrepancies between audio 60 * and video duration will depend on your output audio codec. 61 */ GetAudioDuration()62 inline const M3u8AudioDuration& GetAudioDuration() const{ return m_audioDuration; } 63 64 /** 65 * Specify this setting only when your output will be consumed by a downstream 66 * repackaging workflow that is sensitive to very small duration differences 67 * between video and audio. For this situation, choose Match video duration 68 * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default 69 * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, 70 * MediaConvert pads the output audio streams with silence or trims them to ensure 71 * that the total duration of each audio stream is at least as long as the total 72 * duration of the video stream. After padding or trimming, the audio stream 73 * duration is no more than one frame longer than the video stream. MediaConvert 74 * applies audio padding or trimming only to the end of the last segment of the 75 * output. For unsegmented outputs, MediaConvert adds padding only to the end of 76 * the file. When you keep the default value, any minor discrepancies between audio 77 * and video duration will depend on your output audio codec. 78 */ AudioDurationHasBeenSet()79 inline bool AudioDurationHasBeenSet() const { return m_audioDurationHasBeenSet; } 80 81 /** 82 * Specify this setting only when your output will be consumed by a downstream 83 * repackaging workflow that is sensitive to very small duration differences 84 * between video and audio. For this situation, choose Match video duration 85 * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default 86 * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, 87 * MediaConvert pads the output audio streams with silence or trims them to ensure 88 * that the total duration of each audio stream is at least as long as the total 89 * duration of the video stream. After padding or trimming, the audio stream 90 * duration is no more than one frame longer than the video stream. MediaConvert 91 * applies audio padding or trimming only to the end of the last segment of the 92 * output. For unsegmented outputs, MediaConvert adds padding only to the end of 93 * the file. When you keep the default value, any minor discrepancies between audio 94 * and video duration will depend on your output audio codec. 95 */ SetAudioDuration(const M3u8AudioDuration & value)96 inline void SetAudioDuration(const M3u8AudioDuration& value) { m_audioDurationHasBeenSet = true; m_audioDuration = value; } 97 98 /** 99 * Specify this setting only when your output will be consumed by a downstream 100 * repackaging workflow that is sensitive to very small duration differences 101 * between video and audio. For this situation, choose Match video duration 102 * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default 103 * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, 104 * MediaConvert pads the output audio streams with silence or trims them to ensure 105 * that the total duration of each audio stream is at least as long as the total 106 * duration of the video stream. After padding or trimming, the audio stream 107 * duration is no more than one frame longer than the video stream. MediaConvert 108 * applies audio padding or trimming only to the end of the last segment of the 109 * output. For unsegmented outputs, MediaConvert adds padding only to the end of 110 * the file. When you keep the default value, any minor discrepancies between audio 111 * and video duration will depend on your output audio codec. 112 */ SetAudioDuration(M3u8AudioDuration && value)113 inline void SetAudioDuration(M3u8AudioDuration&& value) { m_audioDurationHasBeenSet = true; m_audioDuration = std::move(value); } 114 115 /** 116 * Specify this setting only when your output will be consumed by a downstream 117 * repackaging workflow that is sensitive to very small duration differences 118 * between video and audio. For this situation, choose Match video duration 119 * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default 120 * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, 121 * MediaConvert pads the output audio streams with silence or trims them to ensure 122 * that the total duration of each audio stream is at least as long as the total 123 * duration of the video stream. After padding or trimming, the audio stream 124 * duration is no more than one frame longer than the video stream. MediaConvert 125 * applies audio padding or trimming only to the end of the last segment of the 126 * output. For unsegmented outputs, MediaConvert adds padding only to the end of 127 * the file. When you keep the default value, any minor discrepancies between audio 128 * and video duration will depend on your output audio codec. 129 */ WithAudioDuration(const M3u8AudioDuration & value)130 inline M3u8Settings& WithAudioDuration(const M3u8AudioDuration& value) { SetAudioDuration(value); return *this;} 131 132 /** 133 * Specify this setting only when your output will be consumed by a downstream 134 * repackaging workflow that is sensitive to very small duration differences 135 * between video and audio. For this situation, choose Match video duration 136 * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default 137 * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, 138 * MediaConvert pads the output audio streams with silence or trims them to ensure 139 * that the total duration of each audio stream is at least as long as the total 140 * duration of the video stream. After padding or trimming, the audio stream 141 * duration is no more than one frame longer than the video stream. MediaConvert 142 * applies audio padding or trimming only to the end of the last segment of the 143 * output. For unsegmented outputs, MediaConvert adds padding only to the end of 144 * the file. When you keep the default value, any minor discrepancies between audio 145 * and video duration will depend on your output audio codec. 146 */ WithAudioDuration(M3u8AudioDuration && value)147 inline M3u8Settings& WithAudioDuration(M3u8AudioDuration&& value) { SetAudioDuration(std::move(value)); return *this;} 148 149 150 /** 151 * The number of audio frames to insert for each PES packet. 152 */ GetAudioFramesPerPes()153 inline int GetAudioFramesPerPes() const{ return m_audioFramesPerPes; } 154 155 /** 156 * The number of audio frames to insert for each PES packet. 157 */ AudioFramesPerPesHasBeenSet()158 inline bool AudioFramesPerPesHasBeenSet() const { return m_audioFramesPerPesHasBeenSet; } 159 160 /** 161 * The number of audio frames to insert for each PES packet. 162 */ SetAudioFramesPerPes(int value)163 inline void SetAudioFramesPerPes(int value) { m_audioFramesPerPesHasBeenSet = true; m_audioFramesPerPes = value; } 164 165 /** 166 * The number of audio frames to insert for each PES packet. 167 */ WithAudioFramesPerPes(int value)168 inline M3u8Settings& WithAudioFramesPerPes(int value) { SetAudioFramesPerPes(value); return *this;} 169 170 171 /** 172 * Packet Identifier (PID) of the elementary audio stream(s) in the transport 173 * stream. Multiple values are accepted, and can be entered in ranges and/or by 174 * comma separation. 175 */ GetAudioPids()176 inline const Aws::Vector<int>& GetAudioPids() const{ return m_audioPids; } 177 178 /** 179 * Packet Identifier (PID) of the elementary audio stream(s) in the transport 180 * stream. Multiple values are accepted, and can be entered in ranges and/or by 181 * comma separation. 182 */ AudioPidsHasBeenSet()183 inline bool AudioPidsHasBeenSet() const { return m_audioPidsHasBeenSet; } 184 185 /** 186 * Packet Identifier (PID) of the elementary audio stream(s) in the transport 187 * stream. Multiple values are accepted, and can be entered in ranges and/or by 188 * comma separation. 189 */ SetAudioPids(const Aws::Vector<int> & value)190 inline void SetAudioPids(const Aws::Vector<int>& value) { m_audioPidsHasBeenSet = true; m_audioPids = value; } 191 192 /** 193 * Packet Identifier (PID) of the elementary audio stream(s) in the transport 194 * stream. Multiple values are accepted, and can be entered in ranges and/or by 195 * comma separation. 196 */ SetAudioPids(Aws::Vector<int> && value)197 inline void SetAudioPids(Aws::Vector<int>&& value) { m_audioPidsHasBeenSet = true; m_audioPids = std::move(value); } 198 199 /** 200 * Packet Identifier (PID) of the elementary audio stream(s) in the transport 201 * stream. Multiple values are accepted, and can be entered in ranges and/or by 202 * comma separation. 203 */ WithAudioPids(const Aws::Vector<int> & value)204 inline M3u8Settings& WithAudioPids(const Aws::Vector<int>& value) { SetAudioPids(value); return *this;} 205 206 /** 207 * Packet Identifier (PID) of the elementary audio stream(s) in the transport 208 * stream. Multiple values are accepted, and can be entered in ranges and/or by 209 * comma separation. 210 */ WithAudioPids(Aws::Vector<int> && value)211 inline M3u8Settings& WithAudioPids(Aws::Vector<int>&& value) { SetAudioPids(std::move(value)); return *this;} 212 213 /** 214 * Packet Identifier (PID) of the elementary audio stream(s) in the transport 215 * stream. Multiple values are accepted, and can be entered in ranges and/or by 216 * comma separation. 217 */ AddAudioPids(int value)218 inline M3u8Settings& AddAudioPids(int value) { m_audioPidsHasBeenSet = true; m_audioPids.push_back(value); return *this; } 219 220 221 /** 222 * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with 223 * Presentation Timestamp (PTS) values greater than or equal to the first video 224 * packet PTS (MediaConvert drops captions and data packets with lesser PTS 225 * values). Keep the default value (AUTO) to allow all PTS values. 226 */ GetDataPTSControl()227 inline const M3u8DataPtsControl& GetDataPTSControl() const{ return m_dataPTSControl; } 228 229 /** 230 * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with 231 * Presentation Timestamp (PTS) values greater than or equal to the first video 232 * packet PTS (MediaConvert drops captions and data packets with lesser PTS 233 * values). Keep the default value (AUTO) to allow all PTS values. 234 */ DataPTSControlHasBeenSet()235 inline bool DataPTSControlHasBeenSet() const { return m_dataPTSControlHasBeenSet; } 236 237 /** 238 * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with 239 * Presentation Timestamp (PTS) values greater than or equal to the first video 240 * packet PTS (MediaConvert drops captions and data packets with lesser PTS 241 * values). Keep the default value (AUTO) to allow all PTS values. 242 */ SetDataPTSControl(const M3u8DataPtsControl & value)243 inline void SetDataPTSControl(const M3u8DataPtsControl& value) { m_dataPTSControlHasBeenSet = true; m_dataPTSControl = value; } 244 245 /** 246 * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with 247 * Presentation Timestamp (PTS) values greater than or equal to the first video 248 * packet PTS (MediaConvert drops captions and data packets with lesser PTS 249 * values). Keep the default value (AUTO) to allow all PTS values. 250 */ SetDataPTSControl(M3u8DataPtsControl && value)251 inline void SetDataPTSControl(M3u8DataPtsControl&& value) { m_dataPTSControlHasBeenSet = true; m_dataPTSControl = std::move(value); } 252 253 /** 254 * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with 255 * Presentation Timestamp (PTS) values greater than or equal to the first video 256 * packet PTS (MediaConvert drops captions and data packets with lesser PTS 257 * values). Keep the default value (AUTO) to allow all PTS values. 258 */ WithDataPTSControl(const M3u8DataPtsControl & value)259 inline M3u8Settings& WithDataPTSControl(const M3u8DataPtsControl& value) { SetDataPTSControl(value); return *this;} 260 261 /** 262 * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with 263 * Presentation Timestamp (PTS) values greater than or equal to the first video 264 * packet PTS (MediaConvert drops captions and data packets with lesser PTS 265 * values). Keep the default value (AUTO) to allow all PTS values. 266 */ WithDataPTSControl(M3u8DataPtsControl && value)267 inline M3u8Settings& WithDataPTSControl(M3u8DataPtsControl&& value) { SetDataPTSControl(std::move(value)); return *this;} 268 269 270 /** 271 * Specify the maximum time, in milliseconds, between Program Clock References 272 * (PCRs) inserted into the transport stream. 273 */ GetMaxPcrInterval()274 inline int GetMaxPcrInterval() const{ return m_maxPcrInterval; } 275 276 /** 277 * Specify the maximum time, in milliseconds, between Program Clock References 278 * (PCRs) inserted into the transport stream. 279 */ MaxPcrIntervalHasBeenSet()280 inline bool MaxPcrIntervalHasBeenSet() const { return m_maxPcrIntervalHasBeenSet; } 281 282 /** 283 * Specify the maximum time, in milliseconds, between Program Clock References 284 * (PCRs) inserted into the transport stream. 285 */ SetMaxPcrInterval(int value)286 inline void SetMaxPcrInterval(int value) { m_maxPcrIntervalHasBeenSet = true; m_maxPcrInterval = value; } 287 288 /** 289 * Specify the maximum time, in milliseconds, between Program Clock References 290 * (PCRs) inserted into the transport stream. 291 */ WithMaxPcrInterval(int value)292 inline M3u8Settings& WithMaxPcrInterval(int value) { SetMaxPcrInterval(value); return *this;} 293 294 295 /** 296 * If INSERT, Nielsen inaudible tones for media tracking will be detected in the 297 * input audio and an equivalent ID3 tag will be inserted in the output. 298 */ GetNielsenId3()299 inline const M3u8NielsenId3& GetNielsenId3() const{ return m_nielsenId3; } 300 301 /** 302 * If INSERT, Nielsen inaudible tones for media tracking will be detected in the 303 * input audio and an equivalent ID3 tag will be inserted in the output. 304 */ NielsenId3HasBeenSet()305 inline bool NielsenId3HasBeenSet() const { return m_nielsenId3HasBeenSet; } 306 307 /** 308 * If INSERT, Nielsen inaudible tones for media tracking will be detected in the 309 * input audio and an equivalent ID3 tag will be inserted in the output. 310 */ SetNielsenId3(const M3u8NielsenId3 & value)311 inline void SetNielsenId3(const M3u8NielsenId3& value) { m_nielsenId3HasBeenSet = true; m_nielsenId3 = value; } 312 313 /** 314 * If INSERT, Nielsen inaudible tones for media tracking will be detected in the 315 * input audio and an equivalent ID3 tag will be inserted in the output. 316 */ SetNielsenId3(M3u8NielsenId3 && value)317 inline void SetNielsenId3(M3u8NielsenId3&& value) { m_nielsenId3HasBeenSet = true; m_nielsenId3 = std::move(value); } 318 319 /** 320 * If INSERT, Nielsen inaudible tones for media tracking will be detected in the 321 * input audio and an equivalent ID3 tag will be inserted in the output. 322 */ WithNielsenId3(const M3u8NielsenId3 & value)323 inline M3u8Settings& WithNielsenId3(const M3u8NielsenId3& value) { SetNielsenId3(value); return *this;} 324 325 /** 326 * If INSERT, Nielsen inaudible tones for media tracking will be detected in the 327 * input audio and an equivalent ID3 tag will be inserted in the output. 328 */ WithNielsenId3(M3u8NielsenId3 && value)329 inline M3u8Settings& WithNielsenId3(M3u8NielsenId3&& value) { SetNielsenId3(std::move(value)); return *this;} 330 331 332 /** 333 * The number of milliseconds between instances of this table in the output 334 * transport stream. 335 */ GetPatInterval()336 inline int GetPatInterval() const{ return m_patInterval; } 337 338 /** 339 * The number of milliseconds between instances of this table in the output 340 * transport stream. 341 */ PatIntervalHasBeenSet()342 inline bool PatIntervalHasBeenSet() const { return m_patIntervalHasBeenSet; } 343 344 /** 345 * The number of milliseconds between instances of this table in the output 346 * transport stream. 347 */ SetPatInterval(int value)348 inline void SetPatInterval(int value) { m_patIntervalHasBeenSet = true; m_patInterval = value; } 349 350 /** 351 * The number of milliseconds between instances of this table in the output 352 * transport stream. 353 */ WithPatInterval(int value)354 inline M3u8Settings& WithPatInterval(int value) { SetPatInterval(value); return *this;} 355 356 357 /** 358 * When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for 359 * every Packetized Elementary Stream (PES) header. This parameter is effective 360 * only when the PCR PID is the same as the video or audio elementary stream. 361 */ GetPcrControl()362 inline const M3u8PcrControl& GetPcrControl() const{ return m_pcrControl; } 363 364 /** 365 * When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for 366 * every Packetized Elementary Stream (PES) header. This parameter is effective 367 * only when the PCR PID is the same as the video or audio elementary stream. 368 */ PcrControlHasBeenSet()369 inline bool PcrControlHasBeenSet() const { return m_pcrControlHasBeenSet; } 370 371 /** 372 * When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for 373 * every Packetized Elementary Stream (PES) header. This parameter is effective 374 * only when the PCR PID is the same as the video or audio elementary stream. 375 */ SetPcrControl(const M3u8PcrControl & value)376 inline void SetPcrControl(const M3u8PcrControl& value) { m_pcrControlHasBeenSet = true; m_pcrControl = value; } 377 378 /** 379 * When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for 380 * every Packetized Elementary Stream (PES) header. This parameter is effective 381 * only when the PCR PID is the same as the video or audio elementary stream. 382 */ SetPcrControl(M3u8PcrControl && value)383 inline void SetPcrControl(M3u8PcrControl&& value) { m_pcrControlHasBeenSet = true; m_pcrControl = std::move(value); } 384 385 /** 386 * When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for 387 * every Packetized Elementary Stream (PES) header. This parameter is effective 388 * only when the PCR PID is the same as the video or audio elementary stream. 389 */ WithPcrControl(const M3u8PcrControl & value)390 inline M3u8Settings& WithPcrControl(const M3u8PcrControl& value) { SetPcrControl(value); return *this;} 391 392 /** 393 * When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for 394 * every Packetized Elementary Stream (PES) header. This parameter is effective 395 * only when the PCR PID is the same as the video or audio elementary stream. 396 */ WithPcrControl(M3u8PcrControl && value)397 inline M3u8Settings& WithPcrControl(M3u8PcrControl&& value) { SetPcrControl(std::move(value)); return *this;} 398 399 400 /** 401 * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport 402 * stream. When no value is given, the encoder will assign the same value as the 403 * Video PID. 404 */ GetPcrPid()405 inline int GetPcrPid() const{ return m_pcrPid; } 406 407 /** 408 * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport 409 * stream. When no value is given, the encoder will assign the same value as the 410 * Video PID. 411 */ PcrPidHasBeenSet()412 inline bool PcrPidHasBeenSet() const { return m_pcrPidHasBeenSet; } 413 414 /** 415 * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport 416 * stream. When no value is given, the encoder will assign the same value as the 417 * Video PID. 418 */ SetPcrPid(int value)419 inline void SetPcrPid(int value) { m_pcrPidHasBeenSet = true; m_pcrPid = value; } 420 421 /** 422 * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport 423 * stream. When no value is given, the encoder will assign the same value as the 424 * Video PID. 425 */ WithPcrPid(int value)426 inline M3u8Settings& WithPcrPid(int value) { SetPcrPid(value); return *this;} 427 428 429 /** 430 * The number of milliseconds between instances of this table in the output 431 * transport stream. 432 */ GetPmtInterval()433 inline int GetPmtInterval() const{ return m_pmtInterval; } 434 435 /** 436 * The number of milliseconds between instances of this table in the output 437 * transport stream. 438 */ PmtIntervalHasBeenSet()439 inline bool PmtIntervalHasBeenSet() const { return m_pmtIntervalHasBeenSet; } 440 441 /** 442 * The number of milliseconds between instances of this table in the output 443 * transport stream. 444 */ SetPmtInterval(int value)445 inline void SetPmtInterval(int value) { m_pmtIntervalHasBeenSet = true; m_pmtInterval = value; } 446 447 /** 448 * The number of milliseconds between instances of this table in the output 449 * transport stream. 450 */ WithPmtInterval(int value)451 inline M3u8Settings& WithPmtInterval(int value) { SetPmtInterval(value); return *this;} 452 453 454 /** 455 * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. 456 */ GetPmtPid()457 inline int GetPmtPid() const{ return m_pmtPid; } 458 459 /** 460 * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. 461 */ PmtPidHasBeenSet()462 inline bool PmtPidHasBeenSet() const { return m_pmtPidHasBeenSet; } 463 464 /** 465 * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. 466 */ SetPmtPid(int value)467 inline void SetPmtPid(int value) { m_pmtPidHasBeenSet = true; m_pmtPid = value; } 468 469 /** 470 * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. 471 */ WithPmtPid(int value)472 inline M3u8Settings& WithPmtPid(int value) { SetPmtPid(value); return *this;} 473 474 475 /** 476 * Packet Identifier (PID) of the private metadata stream in the transport stream. 477 */ GetPrivateMetadataPid()478 inline int GetPrivateMetadataPid() const{ return m_privateMetadataPid; } 479 480 /** 481 * Packet Identifier (PID) of the private metadata stream in the transport stream. 482 */ PrivateMetadataPidHasBeenSet()483 inline bool PrivateMetadataPidHasBeenSet() const { return m_privateMetadataPidHasBeenSet; } 484 485 /** 486 * Packet Identifier (PID) of the private metadata stream in the transport stream. 487 */ SetPrivateMetadataPid(int value)488 inline void SetPrivateMetadataPid(int value) { m_privateMetadataPidHasBeenSet = true; m_privateMetadataPid = value; } 489 490 /** 491 * Packet Identifier (PID) of the private metadata stream in the transport stream. 492 */ WithPrivateMetadataPid(int value)493 inline M3u8Settings& WithPrivateMetadataPid(int value) { SetPrivateMetadataPid(value); return *this;} 494 495 496 /** 497 * The value of the program number field in the Program Map Table. 498 */ GetProgramNumber()499 inline int GetProgramNumber() const{ return m_programNumber; } 500 501 /** 502 * The value of the program number field in the Program Map Table. 503 */ ProgramNumberHasBeenSet()504 inline bool ProgramNumberHasBeenSet() const { return m_programNumberHasBeenSet; } 505 506 /** 507 * The value of the program number field in the Program Map Table. 508 */ SetProgramNumber(int value)509 inline void SetProgramNumber(int value) { m_programNumberHasBeenSet = true; m_programNumber = value; } 510 511 /** 512 * The value of the program number field in the Program Map Table. 513 */ WithProgramNumber(int value)514 inline M3u8Settings& WithProgramNumber(int value) { SetProgramNumber(value); return *this;} 515 516 517 /** 518 * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. 519 */ GetScte35Pid()520 inline int GetScte35Pid() const{ return m_scte35Pid; } 521 522 /** 523 * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. 524 */ Scte35PidHasBeenSet()525 inline bool Scte35PidHasBeenSet() const { return m_scte35PidHasBeenSet; } 526 527 /** 528 * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. 529 */ SetScte35Pid(int value)530 inline void SetScte35Pid(int value) { m_scte35PidHasBeenSet = true; m_scte35Pid = value; } 531 532 /** 533 * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. 534 */ WithScte35Pid(int value)535 inline M3u8Settings& WithScte35Pid(int value) { SetScte35Pid(value); return *this;} 536 537 538 /** 539 * For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you 540 * want SCTE-35 markers that appear in your input to also appear in this output. 541 * Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 542 * markers from an ESAM XML document-- Choose None (NONE) if you don't want 543 * manifest conditioning. Choose Passthrough (PASSTHROUGH) and choose Ad markers 544 * (adMarkers) if you do want manifest conditioning. In both cases, also provide 545 * the ESAM XML as a string in the setting Signal processing notification XML 546 * (sccXml). 547 */ GetScte35Source()548 inline const M3u8Scte35Source& GetScte35Source() const{ return m_scte35Source; } 549 550 /** 551 * For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you 552 * want SCTE-35 markers that appear in your input to also appear in this output. 553 * Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 554 * markers from an ESAM XML document-- Choose None (NONE) if you don't want 555 * manifest conditioning. Choose Passthrough (PASSTHROUGH) and choose Ad markers 556 * (adMarkers) if you do want manifest conditioning. In both cases, also provide 557 * the ESAM XML as a string in the setting Signal processing notification XML 558 * (sccXml). 559 */ Scte35SourceHasBeenSet()560 inline bool Scte35SourceHasBeenSet() const { return m_scte35SourceHasBeenSet; } 561 562 /** 563 * For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you 564 * want SCTE-35 markers that appear in your input to also appear in this output. 565 * Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 566 * markers from an ESAM XML document-- Choose None (NONE) if you don't want 567 * manifest conditioning. Choose Passthrough (PASSTHROUGH) and choose Ad markers 568 * (adMarkers) if you do want manifest conditioning. In both cases, also provide 569 * the ESAM XML as a string in the setting Signal processing notification XML 570 * (sccXml). 571 */ SetScte35Source(const M3u8Scte35Source & value)572 inline void SetScte35Source(const M3u8Scte35Source& value) { m_scte35SourceHasBeenSet = true; m_scte35Source = value; } 573 574 /** 575 * For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you 576 * want SCTE-35 markers that appear in your input to also appear in this output. 577 * Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 578 * markers from an ESAM XML document-- Choose None (NONE) if you don't want 579 * manifest conditioning. Choose Passthrough (PASSTHROUGH) and choose Ad markers 580 * (adMarkers) if you do want manifest conditioning. In both cases, also provide 581 * the ESAM XML as a string in the setting Signal processing notification XML 582 * (sccXml). 583 */ SetScte35Source(M3u8Scte35Source && value)584 inline void SetScte35Source(M3u8Scte35Source&& value) { m_scte35SourceHasBeenSet = true; m_scte35Source = std::move(value); } 585 586 /** 587 * For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you 588 * want SCTE-35 markers that appear in your input to also appear in this output. 589 * Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 590 * markers from an ESAM XML document-- Choose None (NONE) if you don't want 591 * manifest conditioning. Choose Passthrough (PASSTHROUGH) and choose Ad markers 592 * (adMarkers) if you do want manifest conditioning. In both cases, also provide 593 * the ESAM XML as a string in the setting Signal processing notification XML 594 * (sccXml). 595 */ WithScte35Source(const M3u8Scte35Source & value)596 inline M3u8Settings& WithScte35Source(const M3u8Scte35Source& value) { SetScte35Source(value); return *this;} 597 598 /** 599 * For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you 600 * want SCTE-35 markers that appear in your input to also appear in this output. 601 * Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 602 * markers from an ESAM XML document-- Choose None (NONE) if you don't want 603 * manifest conditioning. Choose Passthrough (PASSTHROUGH) and choose Ad markers 604 * (adMarkers) if you do want manifest conditioning. In both cases, also provide 605 * the ESAM XML as a string in the setting Signal processing notification XML 606 * (sccXml). 607 */ WithScte35Source(M3u8Scte35Source && value)608 inline M3u8Settings& WithScte35Source(M3u8Scte35Source&& value) { SetScte35Source(std::move(value)); return *this;} 609 610 611 /** 612 * Applies only to HLS outputs. Use this setting to specify whether the service 613 * inserts the ID3 timed metadata from the input in this output. 614 */ GetTimedMetadata()615 inline const TimedMetadata& GetTimedMetadata() const{ return m_timedMetadata; } 616 617 /** 618 * Applies only to HLS outputs. Use this setting to specify whether the service 619 * inserts the ID3 timed metadata from the input in this output. 620 */ TimedMetadataHasBeenSet()621 inline bool TimedMetadataHasBeenSet() const { return m_timedMetadataHasBeenSet; } 622 623 /** 624 * Applies only to HLS outputs. Use this setting to specify whether the service 625 * inserts the ID3 timed metadata from the input in this output. 626 */ SetTimedMetadata(const TimedMetadata & value)627 inline void SetTimedMetadata(const TimedMetadata& value) { m_timedMetadataHasBeenSet = true; m_timedMetadata = value; } 628 629 /** 630 * Applies only to HLS outputs. Use this setting to specify whether the service 631 * inserts the ID3 timed metadata from the input in this output. 632 */ SetTimedMetadata(TimedMetadata && value)633 inline void SetTimedMetadata(TimedMetadata&& value) { m_timedMetadataHasBeenSet = true; m_timedMetadata = std::move(value); } 634 635 /** 636 * Applies only to HLS outputs. Use this setting to specify whether the service 637 * inserts the ID3 timed metadata from the input in this output. 638 */ WithTimedMetadata(const TimedMetadata & value)639 inline M3u8Settings& WithTimedMetadata(const TimedMetadata& value) { SetTimedMetadata(value); return *this;} 640 641 /** 642 * Applies only to HLS outputs. Use this setting to specify whether the service 643 * inserts the ID3 timed metadata from the input in this output. 644 */ WithTimedMetadata(TimedMetadata && value)645 inline M3u8Settings& WithTimedMetadata(TimedMetadata&& value) { SetTimedMetadata(std::move(value)); return *this;} 646 647 648 /** 649 * Packet Identifier (PID) of the timed metadata stream in the transport stream. 650 */ GetTimedMetadataPid()651 inline int GetTimedMetadataPid() const{ return m_timedMetadataPid; } 652 653 /** 654 * Packet Identifier (PID) of the timed metadata stream in the transport stream. 655 */ TimedMetadataPidHasBeenSet()656 inline bool TimedMetadataPidHasBeenSet() const { return m_timedMetadataPidHasBeenSet; } 657 658 /** 659 * Packet Identifier (PID) of the timed metadata stream in the transport stream. 660 */ SetTimedMetadataPid(int value)661 inline void SetTimedMetadataPid(int value) { m_timedMetadataPidHasBeenSet = true; m_timedMetadataPid = value; } 662 663 /** 664 * Packet Identifier (PID) of the timed metadata stream in the transport stream. 665 */ WithTimedMetadataPid(int value)666 inline M3u8Settings& WithTimedMetadataPid(int value) { SetTimedMetadataPid(value); return *this;} 667 668 669 /** 670 * The value of the transport stream ID field in the Program Map Table. 671 */ GetTransportStreamId()672 inline int GetTransportStreamId() const{ return m_transportStreamId; } 673 674 /** 675 * The value of the transport stream ID field in the Program Map Table. 676 */ TransportStreamIdHasBeenSet()677 inline bool TransportStreamIdHasBeenSet() const { return m_transportStreamIdHasBeenSet; } 678 679 /** 680 * The value of the transport stream ID field in the Program Map Table. 681 */ SetTransportStreamId(int value)682 inline void SetTransportStreamId(int value) { m_transportStreamIdHasBeenSet = true; m_transportStreamId = value; } 683 684 /** 685 * The value of the transport stream ID field in the Program Map Table. 686 */ WithTransportStreamId(int value)687 inline M3u8Settings& WithTransportStreamId(int value) { SetTransportStreamId(value); return *this;} 688 689 690 /** 691 * Packet Identifier (PID) of the elementary video stream in the transport stream. 692 */ GetVideoPid()693 inline int GetVideoPid() const{ return m_videoPid; } 694 695 /** 696 * Packet Identifier (PID) of the elementary video stream in the transport stream. 697 */ VideoPidHasBeenSet()698 inline bool VideoPidHasBeenSet() const { return m_videoPidHasBeenSet; } 699 700 /** 701 * Packet Identifier (PID) of the elementary video stream in the transport stream. 702 */ SetVideoPid(int value)703 inline void SetVideoPid(int value) { m_videoPidHasBeenSet = true; m_videoPid = value; } 704 705 /** 706 * Packet Identifier (PID) of the elementary video stream in the transport stream. 707 */ WithVideoPid(int value)708 inline M3u8Settings& WithVideoPid(int value) { SetVideoPid(value); return *this;} 709 710 private: 711 712 M3u8AudioDuration m_audioDuration; 713 bool m_audioDurationHasBeenSet; 714 715 int m_audioFramesPerPes; 716 bool m_audioFramesPerPesHasBeenSet; 717 718 Aws::Vector<int> m_audioPids; 719 bool m_audioPidsHasBeenSet; 720 721 M3u8DataPtsControl m_dataPTSControl; 722 bool m_dataPTSControlHasBeenSet; 723 724 int m_maxPcrInterval; 725 bool m_maxPcrIntervalHasBeenSet; 726 727 M3u8NielsenId3 m_nielsenId3; 728 bool m_nielsenId3HasBeenSet; 729 730 int m_patInterval; 731 bool m_patIntervalHasBeenSet; 732 733 M3u8PcrControl m_pcrControl; 734 bool m_pcrControlHasBeenSet; 735 736 int m_pcrPid; 737 bool m_pcrPidHasBeenSet; 738 739 int m_pmtInterval; 740 bool m_pmtIntervalHasBeenSet; 741 742 int m_pmtPid; 743 bool m_pmtPidHasBeenSet; 744 745 int m_privateMetadataPid; 746 bool m_privateMetadataPidHasBeenSet; 747 748 int m_programNumber; 749 bool m_programNumberHasBeenSet; 750 751 int m_scte35Pid; 752 bool m_scte35PidHasBeenSet; 753 754 M3u8Scte35Source m_scte35Source; 755 bool m_scte35SourceHasBeenSet; 756 757 TimedMetadata m_timedMetadata; 758 bool m_timedMetadataHasBeenSet; 759 760 int m_timedMetadataPid; 761 bool m_timedMetadataPidHasBeenSet; 762 763 int m_transportStreamId; 764 bool m_transportStreamIdHasBeenSet; 765 766 int m_videoPid; 767 bool m_videoPidHasBeenSet; 768 }; 769 770 } // namespace Model 771 } // namespace MediaConvert 772 } // namespace Aws 773