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/M2tsAudioBufferModel.h> 9 #include <aws/mediaconvert/model/M2tsAudioDuration.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/mediaconvert/model/M2tsBufferModel.h> 12 #include <aws/mediaconvert/model/M2tsDataPtsControl.h> 13 #include <aws/mediaconvert/model/DvbNitSettings.h> 14 #include <aws/mediaconvert/model/DvbSdtSettings.h> 15 #include <aws/mediaconvert/model/DvbTdtSettings.h> 16 #include <aws/mediaconvert/model/M2tsEbpAudioInterval.h> 17 #include <aws/mediaconvert/model/M2tsEbpPlacement.h> 18 #include <aws/mediaconvert/model/M2tsEsRateInPes.h> 19 #include <aws/mediaconvert/model/M2tsForceTsVideoEbpOrder.h> 20 #include <aws/mediaconvert/model/M2tsNielsenId3.h> 21 #include <aws/mediaconvert/model/M2tsPcrControl.h> 22 #include <aws/mediaconvert/model/M2tsRateMode.h> 23 #include <aws/mediaconvert/model/M2tsScte35Esam.h> 24 #include <aws/mediaconvert/model/M2tsScte35Source.h> 25 #include <aws/mediaconvert/model/M2tsSegmentationMarkers.h> 26 #include <aws/mediaconvert/model/M2tsSegmentationStyle.h> 27 #include <utility> 28 29 namespace Aws 30 { 31 namespace Utils 32 { 33 namespace Json 34 { 35 class JsonValue; 36 class JsonView; 37 } // namespace Json 38 } // namespace Utils 39 namespace MediaConvert 40 { 41 namespace Model 42 { 43 44 /** 45 * MPEG-2 TS container settings. These apply to outputs in a File output group when 46 * the output's container (ContainerType) is MPEG-2 Transport Stream (M2TS). In 47 * these assets, data is organized by the program map table (PMT). Each transport 48 * stream program contains subsets of data, including audio, video, and metadata. 49 * Each of these subsets of data has a numerical label called a packet identifier 50 * (PID). Each transport stream program corresponds to one MediaConvert output. The 51 * PMT lists the types of data in a program along with their PID. Downstream 52 * systems and players use the program map table to look up the PID for each type 53 * of data it accesses and then uses the PIDs to locate specific data within the 54 * asset.<p><h3>See Also:</h3> <a 55 * href="http://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/M2tsSettings">AWS 56 * API Reference</a></p> 57 */ 58 class AWS_MEDIACONVERT_API M2tsSettings 59 { 60 public: 61 M2tsSettings(); 62 M2tsSettings(Aws::Utils::Json::JsonView jsonValue); 63 M2tsSettings& operator=(Aws::Utils::Json::JsonView jsonValue); 64 Aws::Utils::Json::JsonValue Jsonize() const; 65 66 67 /** 68 * Selects between the DVB and ATSC buffer models for Dolby Digital audio. 69 */ GetAudioBufferModel()70 inline const M2tsAudioBufferModel& GetAudioBufferModel() const{ return m_audioBufferModel; } 71 72 /** 73 * Selects between the DVB and ATSC buffer models for Dolby Digital audio. 74 */ AudioBufferModelHasBeenSet()75 inline bool AudioBufferModelHasBeenSet() const { return m_audioBufferModelHasBeenSet; } 76 77 /** 78 * Selects between the DVB and ATSC buffer models for Dolby Digital audio. 79 */ SetAudioBufferModel(const M2tsAudioBufferModel & value)80 inline void SetAudioBufferModel(const M2tsAudioBufferModel& value) { m_audioBufferModelHasBeenSet = true; m_audioBufferModel = value; } 81 82 /** 83 * Selects between the DVB and ATSC buffer models for Dolby Digital audio. 84 */ SetAudioBufferModel(M2tsAudioBufferModel && value)85 inline void SetAudioBufferModel(M2tsAudioBufferModel&& value) { m_audioBufferModelHasBeenSet = true; m_audioBufferModel = std::move(value); } 86 87 /** 88 * Selects between the DVB and ATSC buffer models for Dolby Digital audio. 89 */ WithAudioBufferModel(const M2tsAudioBufferModel & value)90 inline M2tsSettings& WithAudioBufferModel(const M2tsAudioBufferModel& value) { SetAudioBufferModel(value); return *this;} 91 92 /** 93 * Selects between the DVB and ATSC buffer models for Dolby Digital audio. 94 */ WithAudioBufferModel(M2tsAudioBufferModel && value)95 inline M2tsSettings& WithAudioBufferModel(M2tsAudioBufferModel&& value) { SetAudioBufferModel(std::move(value)); return *this;} 96 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 */ GetAudioDuration()113 inline const M2tsAudioDuration& GetAudioDuration() const{ return m_audioDuration; } 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 */ AudioDurationHasBeenSet()130 inline bool AudioDurationHasBeenSet() const { return m_audioDurationHasBeenSet; } 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 */ SetAudioDuration(const M2tsAudioDuration & value)147 inline void SetAudioDuration(const M2tsAudioDuration& value) { m_audioDurationHasBeenSet = true; m_audioDuration = value; } 148 149 /** 150 * Specify this setting only when your output will be consumed by a downstream 151 * repackaging workflow that is sensitive to very small duration differences 152 * between video and audio. For this situation, choose Match video duration 153 * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default 154 * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, 155 * MediaConvert pads the output audio streams with silence or trims them to ensure 156 * that the total duration of each audio stream is at least as long as the total 157 * duration of the video stream. After padding or trimming, the audio stream 158 * duration is no more than one frame longer than the video stream. MediaConvert 159 * applies audio padding or trimming only to the end of the last segment of the 160 * output. For unsegmented outputs, MediaConvert adds padding only to the end of 161 * the file. When you keep the default value, any minor discrepancies between audio 162 * and video duration will depend on your output audio codec. 163 */ SetAudioDuration(M2tsAudioDuration && value)164 inline void SetAudioDuration(M2tsAudioDuration&& value) { m_audioDurationHasBeenSet = true; m_audioDuration = std::move(value); } 165 166 /** 167 * Specify this setting only when your output will be consumed by a downstream 168 * repackaging workflow that is sensitive to very small duration differences 169 * between video and audio. For this situation, choose Match video duration 170 * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default 171 * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, 172 * MediaConvert pads the output audio streams with silence or trims them to ensure 173 * that the total duration of each audio stream is at least as long as the total 174 * duration of the video stream. After padding or trimming, the audio stream 175 * duration is no more than one frame longer than the video stream. MediaConvert 176 * applies audio padding or trimming only to the end of the last segment of the 177 * output. For unsegmented outputs, MediaConvert adds padding only to the end of 178 * the file. When you keep the default value, any minor discrepancies between audio 179 * and video duration will depend on your output audio codec. 180 */ WithAudioDuration(const M2tsAudioDuration & value)181 inline M2tsSettings& WithAudioDuration(const M2tsAudioDuration& value) { SetAudioDuration(value); return *this;} 182 183 /** 184 * Specify this setting only when your output will be consumed by a downstream 185 * repackaging workflow that is sensitive to very small duration differences 186 * between video and audio. For this situation, choose Match video duration 187 * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default 188 * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, 189 * MediaConvert pads the output audio streams with silence or trims them to ensure 190 * that the total duration of each audio stream is at least as long as the total 191 * duration of the video stream. After padding or trimming, the audio stream 192 * duration is no more than one frame longer than the video stream. MediaConvert 193 * applies audio padding or trimming only to the end of the last segment of the 194 * output. For unsegmented outputs, MediaConvert adds padding only to the end of 195 * the file. When you keep the default value, any minor discrepancies between audio 196 * and video duration will depend on your output audio codec. 197 */ WithAudioDuration(M2tsAudioDuration && value)198 inline M2tsSettings& WithAudioDuration(M2tsAudioDuration&& value) { SetAudioDuration(std::move(value)); return *this;} 199 200 201 /** 202 * The number of audio frames to insert for each PES packet. 203 */ GetAudioFramesPerPes()204 inline int GetAudioFramesPerPes() const{ return m_audioFramesPerPes; } 205 206 /** 207 * The number of audio frames to insert for each PES packet. 208 */ AudioFramesPerPesHasBeenSet()209 inline bool AudioFramesPerPesHasBeenSet() const { return m_audioFramesPerPesHasBeenSet; } 210 211 /** 212 * The number of audio frames to insert for each PES packet. 213 */ SetAudioFramesPerPes(int value)214 inline void SetAudioFramesPerPes(int value) { m_audioFramesPerPesHasBeenSet = true; m_audioFramesPerPes = value; } 215 216 /** 217 * The number of audio frames to insert for each PES packet. 218 */ WithAudioFramesPerPes(int value)219 inline M2tsSettings& WithAudioFramesPerPes(int value) { SetAudioFramesPerPes(value); return *this;} 220 221 222 /** 223 * Specify the packet identifiers (PIDs) for any elementary audio streams you 224 * include in this output. Specify multiple PIDs as a JSON array. Default is the 225 * range 482-492. 226 */ GetAudioPids()227 inline const Aws::Vector<int>& GetAudioPids() const{ return m_audioPids; } 228 229 /** 230 * Specify the packet identifiers (PIDs) for any elementary audio streams you 231 * include in this output. Specify multiple PIDs as a JSON array. Default is the 232 * range 482-492. 233 */ AudioPidsHasBeenSet()234 inline bool AudioPidsHasBeenSet() const { return m_audioPidsHasBeenSet; } 235 236 /** 237 * Specify the packet identifiers (PIDs) for any elementary audio streams you 238 * include in this output. Specify multiple PIDs as a JSON array. Default is the 239 * range 482-492. 240 */ SetAudioPids(const Aws::Vector<int> & value)241 inline void SetAudioPids(const Aws::Vector<int>& value) { m_audioPidsHasBeenSet = true; m_audioPids = value; } 242 243 /** 244 * Specify the packet identifiers (PIDs) for any elementary audio streams you 245 * include in this output. Specify multiple PIDs as a JSON array. Default is the 246 * range 482-492. 247 */ SetAudioPids(Aws::Vector<int> && value)248 inline void SetAudioPids(Aws::Vector<int>&& value) { m_audioPidsHasBeenSet = true; m_audioPids = std::move(value); } 249 250 /** 251 * Specify the packet identifiers (PIDs) for any elementary audio streams you 252 * include in this output. Specify multiple PIDs as a JSON array. Default is the 253 * range 482-492. 254 */ WithAudioPids(const Aws::Vector<int> & value)255 inline M2tsSettings& WithAudioPids(const Aws::Vector<int>& value) { SetAudioPids(value); return *this;} 256 257 /** 258 * Specify the packet identifiers (PIDs) for any elementary audio streams you 259 * include in this output. Specify multiple PIDs as a JSON array. Default is the 260 * range 482-492. 261 */ WithAudioPids(Aws::Vector<int> && value)262 inline M2tsSettings& WithAudioPids(Aws::Vector<int>&& value) { SetAudioPids(std::move(value)); return *this;} 263 264 /** 265 * Specify the packet identifiers (PIDs) for any elementary audio streams you 266 * include in this output. Specify multiple PIDs as a JSON array. Default is the 267 * range 482-492. 268 */ AddAudioPids(int value)269 inline M2tsSettings& AddAudioPids(int value) { m_audioPidsHasBeenSet = true; m_audioPids.push_back(value); return *this; } 270 271 272 /** 273 * Specify the output bitrate of the transport stream in bits per second. Setting 274 * to 0 lets the muxer automatically determine the appropriate bitrate. Other 275 * common values are 3750000, 7500000, and 15000000. 276 */ GetBitrate()277 inline int GetBitrate() const{ return m_bitrate; } 278 279 /** 280 * Specify the output bitrate of the transport stream in bits per second. Setting 281 * to 0 lets the muxer automatically determine the appropriate bitrate. Other 282 * common values are 3750000, 7500000, and 15000000. 283 */ BitrateHasBeenSet()284 inline bool BitrateHasBeenSet() const { return m_bitrateHasBeenSet; } 285 286 /** 287 * Specify the output bitrate of the transport stream in bits per second. Setting 288 * to 0 lets the muxer automatically determine the appropriate bitrate. Other 289 * common values are 3750000, 7500000, and 15000000. 290 */ SetBitrate(int value)291 inline void SetBitrate(int value) { m_bitrateHasBeenSet = true; m_bitrate = value; } 292 293 /** 294 * Specify the output bitrate of the transport stream in bits per second. Setting 295 * to 0 lets the muxer automatically determine the appropriate bitrate. Other 296 * common values are 3750000, 7500000, and 15000000. 297 */ WithBitrate(int value)298 inline M2tsSettings& WithBitrate(int value) { SetBitrate(value); return *this;} 299 300 301 /** 302 * Controls what buffer model to use for accurate interleaving. If set to 303 * MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to lower 304 * latency, but low-memory devices may not be able to play back the stream without 305 * interruptions. 306 */ GetBufferModel()307 inline const M2tsBufferModel& GetBufferModel() const{ return m_bufferModel; } 308 309 /** 310 * Controls what buffer model to use for accurate interleaving. If set to 311 * MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to lower 312 * latency, but low-memory devices may not be able to play back the stream without 313 * interruptions. 314 */ BufferModelHasBeenSet()315 inline bool BufferModelHasBeenSet() const { return m_bufferModelHasBeenSet; } 316 317 /** 318 * Controls what buffer model to use for accurate interleaving. If set to 319 * MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to lower 320 * latency, but low-memory devices may not be able to play back the stream without 321 * interruptions. 322 */ SetBufferModel(const M2tsBufferModel & value)323 inline void SetBufferModel(const M2tsBufferModel& value) { m_bufferModelHasBeenSet = true; m_bufferModel = value; } 324 325 /** 326 * Controls what buffer model to use for accurate interleaving. If set to 327 * MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to lower 328 * latency, but low-memory devices may not be able to play back the stream without 329 * interruptions. 330 */ SetBufferModel(M2tsBufferModel && value)331 inline void SetBufferModel(M2tsBufferModel&& value) { m_bufferModelHasBeenSet = true; m_bufferModel = std::move(value); } 332 333 /** 334 * Controls what buffer model to use for accurate interleaving. If set to 335 * MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to lower 336 * latency, but low-memory devices may not be able to play back the stream without 337 * interruptions. 338 */ WithBufferModel(const M2tsBufferModel & value)339 inline M2tsSettings& WithBufferModel(const M2tsBufferModel& value) { SetBufferModel(value); return *this;} 340 341 /** 342 * Controls what buffer model to use for accurate interleaving. If set to 343 * MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to lower 344 * latency, but low-memory devices may not be able to play back the stream without 345 * interruptions. 346 */ WithBufferModel(M2tsBufferModel && value)347 inline M2tsSettings& WithBufferModel(M2tsBufferModel&& value) { SetBufferModel(std::move(value)); return *this;} 348 349 350 /** 351 * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with 352 * Presentation Timestamp (PTS) values greater than or equal to the first video 353 * packet PTS (MediaConvert drops captions and data packets with lesser PTS 354 * values). Keep the default value (AUTO) to allow all PTS values. 355 */ GetDataPTSControl()356 inline const M2tsDataPtsControl& GetDataPTSControl() const{ return m_dataPTSControl; } 357 358 /** 359 * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with 360 * Presentation Timestamp (PTS) values greater than or equal to the first video 361 * packet PTS (MediaConvert drops captions and data packets with lesser PTS 362 * values). Keep the default value (AUTO) to allow all PTS values. 363 */ DataPTSControlHasBeenSet()364 inline bool DataPTSControlHasBeenSet() const { return m_dataPTSControlHasBeenSet; } 365 366 /** 367 * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with 368 * Presentation Timestamp (PTS) values greater than or equal to the first video 369 * packet PTS (MediaConvert drops captions and data packets with lesser PTS 370 * values). Keep the default value (AUTO) to allow all PTS values. 371 */ SetDataPTSControl(const M2tsDataPtsControl & value)372 inline void SetDataPTSControl(const M2tsDataPtsControl& value) { m_dataPTSControlHasBeenSet = true; m_dataPTSControl = value; } 373 374 /** 375 * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with 376 * Presentation Timestamp (PTS) values greater than or equal to the first video 377 * packet PTS (MediaConvert drops captions and data packets with lesser PTS 378 * values). Keep the default value (AUTO) to allow all PTS values. 379 */ SetDataPTSControl(M2tsDataPtsControl && value)380 inline void SetDataPTSControl(M2tsDataPtsControl&& value) { m_dataPTSControlHasBeenSet = true; m_dataPTSControl = std::move(value); } 381 382 /** 383 * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with 384 * Presentation Timestamp (PTS) values greater than or equal to the first video 385 * packet PTS (MediaConvert drops captions and data packets with lesser PTS 386 * values). Keep the default value (AUTO) to allow all PTS values. 387 */ WithDataPTSControl(const M2tsDataPtsControl & value)388 inline M2tsSettings& WithDataPTSControl(const M2tsDataPtsControl& value) { SetDataPTSControl(value); return *this;} 389 390 /** 391 * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with 392 * Presentation Timestamp (PTS) values greater than or equal to the first video 393 * packet PTS (MediaConvert drops captions and data packets with lesser PTS 394 * values). Keep the default value (AUTO) to allow all PTS values. 395 */ WithDataPTSControl(M2tsDataPtsControl && value)396 inline M2tsSettings& WithDataPTSControl(M2tsDataPtsControl&& value) { SetDataPTSControl(std::move(value)); return *this;} 397 398 399 /** 400 * Use these settings to insert a DVB Network Information Table (NIT) in the 401 * transport stream of this output. When you work directly in your JSON job 402 * specification, include this object only when your job has a transport stream 403 * output and the container settings contain the object M2tsSettings. 404 */ GetDvbNitSettings()405 inline const DvbNitSettings& GetDvbNitSettings() const{ return m_dvbNitSettings; } 406 407 /** 408 * Use these settings to insert a DVB Network Information Table (NIT) in the 409 * transport stream of this output. When you work directly in your JSON job 410 * specification, include this object only when your job has a transport stream 411 * output and the container settings contain the object M2tsSettings. 412 */ DvbNitSettingsHasBeenSet()413 inline bool DvbNitSettingsHasBeenSet() const { return m_dvbNitSettingsHasBeenSet; } 414 415 /** 416 * Use these settings to insert a DVB Network Information Table (NIT) in the 417 * transport stream of this output. When you work directly in your JSON job 418 * specification, include this object only when your job has a transport stream 419 * output and the container settings contain the object M2tsSettings. 420 */ SetDvbNitSettings(const DvbNitSettings & value)421 inline void SetDvbNitSettings(const DvbNitSettings& value) { m_dvbNitSettingsHasBeenSet = true; m_dvbNitSettings = value; } 422 423 /** 424 * Use these settings to insert a DVB Network Information Table (NIT) in the 425 * transport stream of this output. When you work directly in your JSON job 426 * specification, include this object only when your job has a transport stream 427 * output and the container settings contain the object M2tsSettings. 428 */ SetDvbNitSettings(DvbNitSettings && value)429 inline void SetDvbNitSettings(DvbNitSettings&& value) { m_dvbNitSettingsHasBeenSet = true; m_dvbNitSettings = std::move(value); } 430 431 /** 432 * Use these settings to insert a DVB Network Information Table (NIT) in the 433 * transport stream of this output. When you work directly in your JSON job 434 * specification, include this object only when your job has a transport stream 435 * output and the container settings contain the object M2tsSettings. 436 */ WithDvbNitSettings(const DvbNitSettings & value)437 inline M2tsSettings& WithDvbNitSettings(const DvbNitSettings& value) { SetDvbNitSettings(value); return *this;} 438 439 /** 440 * Use these settings to insert a DVB Network Information Table (NIT) in the 441 * transport stream of this output. When you work directly in your JSON job 442 * specification, include this object only when your job has a transport stream 443 * output and the container settings contain the object M2tsSettings. 444 */ WithDvbNitSettings(DvbNitSettings && value)445 inline M2tsSettings& WithDvbNitSettings(DvbNitSettings&& value) { SetDvbNitSettings(std::move(value)); return *this;} 446 447 448 /** 449 * Use these settings to insert a DVB Service Description Table (SDT) in the 450 * transport stream of this output. When you work directly in your JSON job 451 * specification, include this object only when your job has a transport stream 452 * output and the container settings contain the object M2tsSettings. 453 */ GetDvbSdtSettings()454 inline const DvbSdtSettings& GetDvbSdtSettings() const{ return m_dvbSdtSettings; } 455 456 /** 457 * Use these settings to insert a DVB Service Description Table (SDT) in the 458 * transport stream of this output. When you work directly in your JSON job 459 * specification, include this object only when your job has a transport stream 460 * output and the container settings contain the object M2tsSettings. 461 */ DvbSdtSettingsHasBeenSet()462 inline bool DvbSdtSettingsHasBeenSet() const { return m_dvbSdtSettingsHasBeenSet; } 463 464 /** 465 * Use these settings to insert a DVB Service Description Table (SDT) in the 466 * transport stream of this output. When you work directly in your JSON job 467 * specification, include this object only when your job has a transport stream 468 * output and the container settings contain the object M2tsSettings. 469 */ SetDvbSdtSettings(const DvbSdtSettings & value)470 inline void SetDvbSdtSettings(const DvbSdtSettings& value) { m_dvbSdtSettingsHasBeenSet = true; m_dvbSdtSettings = value; } 471 472 /** 473 * Use these settings to insert a DVB Service Description Table (SDT) in the 474 * transport stream of this output. When you work directly in your JSON job 475 * specification, include this object only when your job has a transport stream 476 * output and the container settings contain the object M2tsSettings. 477 */ SetDvbSdtSettings(DvbSdtSettings && value)478 inline void SetDvbSdtSettings(DvbSdtSettings&& value) { m_dvbSdtSettingsHasBeenSet = true; m_dvbSdtSettings = std::move(value); } 479 480 /** 481 * Use these settings to insert a DVB Service Description Table (SDT) in the 482 * transport stream of this output. When you work directly in your JSON job 483 * specification, include this object only when your job has a transport stream 484 * output and the container settings contain the object M2tsSettings. 485 */ WithDvbSdtSettings(const DvbSdtSettings & value)486 inline M2tsSettings& WithDvbSdtSettings(const DvbSdtSettings& value) { SetDvbSdtSettings(value); return *this;} 487 488 /** 489 * Use these settings to insert a DVB Service Description Table (SDT) in the 490 * transport stream of this output. When you work directly in your JSON job 491 * specification, include this object only when your job has a transport stream 492 * output and the container settings contain the object M2tsSettings. 493 */ WithDvbSdtSettings(DvbSdtSettings && value)494 inline M2tsSettings& WithDvbSdtSettings(DvbSdtSettings&& value) { SetDvbSdtSettings(std::move(value)); return *this;} 495 496 497 /** 498 * Specify the packet identifiers (PIDs) for DVB subtitle data included in this 499 * output. Specify multiple PIDs as a JSON array. Default is the range 460-479. 500 */ GetDvbSubPids()501 inline const Aws::Vector<int>& GetDvbSubPids() const{ return m_dvbSubPids; } 502 503 /** 504 * Specify the packet identifiers (PIDs) for DVB subtitle data included in this 505 * output. Specify multiple PIDs as a JSON array. Default is the range 460-479. 506 */ DvbSubPidsHasBeenSet()507 inline bool DvbSubPidsHasBeenSet() const { return m_dvbSubPidsHasBeenSet; } 508 509 /** 510 * Specify the packet identifiers (PIDs) for DVB subtitle data included in this 511 * output. Specify multiple PIDs as a JSON array. Default is the range 460-479. 512 */ SetDvbSubPids(const Aws::Vector<int> & value)513 inline void SetDvbSubPids(const Aws::Vector<int>& value) { m_dvbSubPidsHasBeenSet = true; m_dvbSubPids = value; } 514 515 /** 516 * Specify the packet identifiers (PIDs) for DVB subtitle data included in this 517 * output. Specify multiple PIDs as a JSON array. Default is the range 460-479. 518 */ SetDvbSubPids(Aws::Vector<int> && value)519 inline void SetDvbSubPids(Aws::Vector<int>&& value) { m_dvbSubPidsHasBeenSet = true; m_dvbSubPids = std::move(value); } 520 521 /** 522 * Specify the packet identifiers (PIDs) for DVB subtitle data included in this 523 * output. Specify multiple PIDs as a JSON array. Default is the range 460-479. 524 */ WithDvbSubPids(const Aws::Vector<int> & value)525 inline M2tsSettings& WithDvbSubPids(const Aws::Vector<int>& value) { SetDvbSubPids(value); return *this;} 526 527 /** 528 * Specify the packet identifiers (PIDs) for DVB subtitle data included in this 529 * output. Specify multiple PIDs as a JSON array. Default is the range 460-479. 530 */ WithDvbSubPids(Aws::Vector<int> && value)531 inline M2tsSettings& WithDvbSubPids(Aws::Vector<int>&& value) { SetDvbSubPids(std::move(value)); return *this;} 532 533 /** 534 * Specify the packet identifiers (PIDs) for DVB subtitle data included in this 535 * output. Specify multiple PIDs as a JSON array. Default is the range 460-479. 536 */ AddDvbSubPids(int value)537 inline M2tsSettings& AddDvbSubPids(int value) { m_dvbSubPidsHasBeenSet = true; m_dvbSubPids.push_back(value); return *this; } 538 539 540 /** 541 * Use these settings to insert a DVB Time and Date Table (TDT) in the transport 542 * stream of this output. When you work directly in your JSON job specification, 543 * include this object only when your job has a transport stream output and the 544 * container settings contain the object M2tsSettings. 545 */ GetDvbTdtSettings()546 inline const DvbTdtSettings& GetDvbTdtSettings() const{ return m_dvbTdtSettings; } 547 548 /** 549 * Use these settings to insert a DVB Time and Date Table (TDT) in the transport 550 * stream of this output. When you work directly in your JSON job specification, 551 * include this object only when your job has a transport stream output and the 552 * container settings contain the object M2tsSettings. 553 */ DvbTdtSettingsHasBeenSet()554 inline bool DvbTdtSettingsHasBeenSet() const { return m_dvbTdtSettingsHasBeenSet; } 555 556 /** 557 * Use these settings to insert a DVB Time and Date Table (TDT) in the transport 558 * stream of this output. When you work directly in your JSON job specification, 559 * include this object only when your job has a transport stream output and the 560 * container settings contain the object M2tsSettings. 561 */ SetDvbTdtSettings(const DvbTdtSettings & value)562 inline void SetDvbTdtSettings(const DvbTdtSettings& value) { m_dvbTdtSettingsHasBeenSet = true; m_dvbTdtSettings = value; } 563 564 /** 565 * Use these settings to insert a DVB Time and Date Table (TDT) in the transport 566 * stream of this output. When you work directly in your JSON job specification, 567 * include this object only when your job has a transport stream output and the 568 * container settings contain the object M2tsSettings. 569 */ SetDvbTdtSettings(DvbTdtSettings && value)570 inline void SetDvbTdtSettings(DvbTdtSettings&& value) { m_dvbTdtSettingsHasBeenSet = true; m_dvbTdtSettings = std::move(value); } 571 572 /** 573 * Use these settings to insert a DVB Time and Date Table (TDT) in the transport 574 * stream of this output. When you work directly in your JSON job specification, 575 * include this object only when your job has a transport stream output and the 576 * container settings contain the object M2tsSettings. 577 */ WithDvbTdtSettings(const DvbTdtSettings & value)578 inline M2tsSettings& WithDvbTdtSettings(const DvbTdtSettings& value) { SetDvbTdtSettings(value); return *this;} 579 580 /** 581 * Use these settings to insert a DVB Time and Date Table (TDT) in the transport 582 * stream of this output. When you work directly in your JSON job specification, 583 * include this object only when your job has a transport stream output and the 584 * container settings contain the object M2tsSettings. 585 */ WithDvbTdtSettings(DvbTdtSettings && value)586 inline M2tsSettings& WithDvbTdtSettings(DvbTdtSettings&& value) { SetDvbTdtSettings(std::move(value)); return *this;} 587 588 589 /** 590 * Specify the packet identifier (PID) for DVB teletext data you include in this 591 * output. Default is 499. 592 */ GetDvbTeletextPid()593 inline int GetDvbTeletextPid() const{ return m_dvbTeletextPid; } 594 595 /** 596 * Specify the packet identifier (PID) for DVB teletext data you include in this 597 * output. Default is 499. 598 */ DvbTeletextPidHasBeenSet()599 inline bool DvbTeletextPidHasBeenSet() const { return m_dvbTeletextPidHasBeenSet; } 600 601 /** 602 * Specify the packet identifier (PID) for DVB teletext data you include in this 603 * output. Default is 499. 604 */ SetDvbTeletextPid(int value)605 inline void SetDvbTeletextPid(int value) { m_dvbTeletextPidHasBeenSet = true; m_dvbTeletextPid = value; } 606 607 /** 608 * Specify the packet identifier (PID) for DVB teletext data you include in this 609 * output. Default is 499. 610 */ WithDvbTeletextPid(int value)611 inline M2tsSettings& WithDvbTeletextPid(int value) { SetDvbTeletextPid(value); return *this;} 612 613 614 /** 615 * When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to 616 * partitions 3 and 4. The interval between these additional markers will be fixed, 617 * and will be slightly shorter than the video EBP marker interval. When set to 618 * VIDEO_INTERVAL, these additional markers will not be inserted. Only applicable 619 * when EBP segmentation markers are is selected (segmentationMarkers is EBP or 620 * EBP_LEGACY). 621 */ GetEbpAudioInterval()622 inline const M2tsEbpAudioInterval& GetEbpAudioInterval() const{ return m_ebpAudioInterval; } 623 624 /** 625 * When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to 626 * partitions 3 and 4. The interval between these additional markers will be fixed, 627 * and will be slightly shorter than the video EBP marker interval. When set to 628 * VIDEO_INTERVAL, these additional markers will not be inserted. Only applicable 629 * when EBP segmentation markers are is selected (segmentationMarkers is EBP or 630 * EBP_LEGACY). 631 */ EbpAudioIntervalHasBeenSet()632 inline bool EbpAudioIntervalHasBeenSet() const { return m_ebpAudioIntervalHasBeenSet; } 633 634 /** 635 * When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to 636 * partitions 3 and 4. The interval between these additional markers will be fixed, 637 * and will be slightly shorter than the video EBP marker interval. When set to 638 * VIDEO_INTERVAL, these additional markers will not be inserted. Only applicable 639 * when EBP segmentation markers are is selected (segmentationMarkers is EBP or 640 * EBP_LEGACY). 641 */ SetEbpAudioInterval(const M2tsEbpAudioInterval & value)642 inline void SetEbpAudioInterval(const M2tsEbpAudioInterval& value) { m_ebpAudioIntervalHasBeenSet = true; m_ebpAudioInterval = value; } 643 644 /** 645 * When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to 646 * partitions 3 and 4. The interval between these additional markers will be fixed, 647 * and will be slightly shorter than the video EBP marker interval. When set to 648 * VIDEO_INTERVAL, these additional markers will not be inserted. Only applicable 649 * when EBP segmentation markers are is selected (segmentationMarkers is EBP or 650 * EBP_LEGACY). 651 */ SetEbpAudioInterval(M2tsEbpAudioInterval && value)652 inline void SetEbpAudioInterval(M2tsEbpAudioInterval&& value) { m_ebpAudioIntervalHasBeenSet = true; m_ebpAudioInterval = std::move(value); } 653 654 /** 655 * When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to 656 * partitions 3 and 4. The interval between these additional markers will be fixed, 657 * and will be slightly shorter than the video EBP marker interval. When set to 658 * VIDEO_INTERVAL, these additional markers will not be inserted. Only applicable 659 * when EBP segmentation markers are is selected (segmentationMarkers is EBP or 660 * EBP_LEGACY). 661 */ WithEbpAudioInterval(const M2tsEbpAudioInterval & value)662 inline M2tsSettings& WithEbpAudioInterval(const M2tsEbpAudioInterval& value) { SetEbpAudioInterval(value); return *this;} 663 664 /** 665 * When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to 666 * partitions 3 and 4. The interval between these additional markers will be fixed, 667 * and will be slightly shorter than the video EBP marker interval. When set to 668 * VIDEO_INTERVAL, these additional markers will not be inserted. Only applicable 669 * when EBP segmentation markers are is selected (segmentationMarkers is EBP or 670 * EBP_LEGACY). 671 */ WithEbpAudioInterval(M2tsEbpAudioInterval && value)672 inline M2tsSettings& WithEbpAudioInterval(M2tsEbpAudioInterval&& value) { SetEbpAudioInterval(std::move(value)); return *this;} 673 674 675 /** 676 * Selects which PIDs to place EBP markers on. They can either be placed only on 677 * the video PID, or on both the video PID and all audio PIDs. Only applicable when 678 * EBP segmentation markers are is selected (segmentationMarkers is EBP or 679 * EBP_LEGACY). 680 */ GetEbpPlacement()681 inline const M2tsEbpPlacement& GetEbpPlacement() const{ return m_ebpPlacement; } 682 683 /** 684 * Selects which PIDs to place EBP markers on. They can either be placed only on 685 * the video PID, or on both the video PID and all audio PIDs. Only applicable when 686 * EBP segmentation markers are is selected (segmentationMarkers is EBP or 687 * EBP_LEGACY). 688 */ EbpPlacementHasBeenSet()689 inline bool EbpPlacementHasBeenSet() const { return m_ebpPlacementHasBeenSet; } 690 691 /** 692 * Selects which PIDs to place EBP markers on. They can either be placed only on 693 * the video PID, or on both the video PID and all audio PIDs. Only applicable when 694 * EBP segmentation markers are is selected (segmentationMarkers is EBP or 695 * EBP_LEGACY). 696 */ SetEbpPlacement(const M2tsEbpPlacement & value)697 inline void SetEbpPlacement(const M2tsEbpPlacement& value) { m_ebpPlacementHasBeenSet = true; m_ebpPlacement = value; } 698 699 /** 700 * Selects which PIDs to place EBP markers on. They can either be placed only on 701 * the video PID, or on both the video PID and all audio PIDs. Only applicable when 702 * EBP segmentation markers are is selected (segmentationMarkers is EBP or 703 * EBP_LEGACY). 704 */ SetEbpPlacement(M2tsEbpPlacement && value)705 inline void SetEbpPlacement(M2tsEbpPlacement&& value) { m_ebpPlacementHasBeenSet = true; m_ebpPlacement = std::move(value); } 706 707 /** 708 * Selects which PIDs to place EBP markers on. They can either be placed only on 709 * the video PID, or on both the video PID and all audio PIDs. Only applicable when 710 * EBP segmentation markers are is selected (segmentationMarkers is EBP or 711 * EBP_LEGACY). 712 */ WithEbpPlacement(const M2tsEbpPlacement & value)713 inline M2tsSettings& WithEbpPlacement(const M2tsEbpPlacement& value) { SetEbpPlacement(value); return *this;} 714 715 /** 716 * Selects which PIDs to place EBP markers on. They can either be placed only on 717 * the video PID, or on both the video PID and all audio PIDs. Only applicable when 718 * EBP segmentation markers are is selected (segmentationMarkers is EBP or 719 * EBP_LEGACY). 720 */ WithEbpPlacement(M2tsEbpPlacement && value)721 inline M2tsSettings& WithEbpPlacement(M2tsEbpPlacement&& value) { SetEbpPlacement(std::move(value)); return *this;} 722 723 724 /** 725 * Controls whether to include the ES Rate field in the PES header. 726 */ GetEsRateInPes()727 inline const M2tsEsRateInPes& GetEsRateInPes() const{ return m_esRateInPes; } 728 729 /** 730 * Controls whether to include the ES Rate field in the PES header. 731 */ EsRateInPesHasBeenSet()732 inline bool EsRateInPesHasBeenSet() const { return m_esRateInPesHasBeenSet; } 733 734 /** 735 * Controls whether to include the ES Rate field in the PES header. 736 */ SetEsRateInPes(const M2tsEsRateInPes & value)737 inline void SetEsRateInPes(const M2tsEsRateInPes& value) { m_esRateInPesHasBeenSet = true; m_esRateInPes = value; } 738 739 /** 740 * Controls whether to include the ES Rate field in the PES header. 741 */ SetEsRateInPes(M2tsEsRateInPes && value)742 inline void SetEsRateInPes(M2tsEsRateInPes&& value) { m_esRateInPesHasBeenSet = true; m_esRateInPes = std::move(value); } 743 744 /** 745 * Controls whether to include the ES Rate field in the PES header. 746 */ WithEsRateInPes(const M2tsEsRateInPes & value)747 inline M2tsSettings& WithEsRateInPes(const M2tsEsRateInPes& value) { SetEsRateInPes(value); return *this;} 748 749 /** 750 * Controls whether to include the ES Rate field in the PES header. 751 */ WithEsRateInPes(M2tsEsRateInPes && value)752 inline M2tsSettings& WithEsRateInPes(M2tsEsRateInPes&& value) { SetEsRateInPes(std::move(value)); return *this;} 753 754 755 /** 756 * Keep the default value (DEFAULT) unless you know that your audio EBP markers are 757 * incorrectly appearing before your video EBP markers. To correct this problem, 758 * set this value to Force (FORCE). 759 */ GetForceTsVideoEbpOrder()760 inline const M2tsForceTsVideoEbpOrder& GetForceTsVideoEbpOrder() const{ return m_forceTsVideoEbpOrder; } 761 762 /** 763 * Keep the default value (DEFAULT) unless you know that your audio EBP markers are 764 * incorrectly appearing before your video EBP markers. To correct this problem, 765 * set this value to Force (FORCE). 766 */ ForceTsVideoEbpOrderHasBeenSet()767 inline bool ForceTsVideoEbpOrderHasBeenSet() const { return m_forceTsVideoEbpOrderHasBeenSet; } 768 769 /** 770 * Keep the default value (DEFAULT) unless you know that your audio EBP markers are 771 * incorrectly appearing before your video EBP markers. To correct this problem, 772 * set this value to Force (FORCE). 773 */ SetForceTsVideoEbpOrder(const M2tsForceTsVideoEbpOrder & value)774 inline void SetForceTsVideoEbpOrder(const M2tsForceTsVideoEbpOrder& value) { m_forceTsVideoEbpOrderHasBeenSet = true; m_forceTsVideoEbpOrder = value; } 775 776 /** 777 * Keep the default value (DEFAULT) unless you know that your audio EBP markers are 778 * incorrectly appearing before your video EBP markers. To correct this problem, 779 * set this value to Force (FORCE). 780 */ SetForceTsVideoEbpOrder(M2tsForceTsVideoEbpOrder && value)781 inline void SetForceTsVideoEbpOrder(M2tsForceTsVideoEbpOrder&& value) { m_forceTsVideoEbpOrderHasBeenSet = true; m_forceTsVideoEbpOrder = std::move(value); } 782 783 /** 784 * Keep the default value (DEFAULT) unless you know that your audio EBP markers are 785 * incorrectly appearing before your video EBP markers. To correct this problem, 786 * set this value to Force (FORCE). 787 */ WithForceTsVideoEbpOrder(const M2tsForceTsVideoEbpOrder & value)788 inline M2tsSettings& WithForceTsVideoEbpOrder(const M2tsForceTsVideoEbpOrder& value) { SetForceTsVideoEbpOrder(value); return *this;} 789 790 /** 791 * Keep the default value (DEFAULT) unless you know that your audio EBP markers are 792 * incorrectly appearing before your video EBP markers. To correct this problem, 793 * set this value to Force (FORCE). 794 */ WithForceTsVideoEbpOrder(M2tsForceTsVideoEbpOrder && value)795 inline M2tsSettings& WithForceTsVideoEbpOrder(M2tsForceTsVideoEbpOrder&& value) { SetForceTsVideoEbpOrder(std::move(value)); return *this;} 796 797 798 /** 799 * The length, in seconds, of each fragment. Only used with EBP markers. 800 */ GetFragmentTime()801 inline double GetFragmentTime() const{ return m_fragmentTime; } 802 803 /** 804 * The length, in seconds, of each fragment. Only used with EBP markers. 805 */ FragmentTimeHasBeenSet()806 inline bool FragmentTimeHasBeenSet() const { return m_fragmentTimeHasBeenSet; } 807 808 /** 809 * The length, in seconds, of each fragment. Only used with EBP markers. 810 */ SetFragmentTime(double value)811 inline void SetFragmentTime(double value) { m_fragmentTimeHasBeenSet = true; m_fragmentTime = value; } 812 813 /** 814 * The length, in seconds, of each fragment. Only used with EBP markers. 815 */ WithFragmentTime(double value)816 inline M2tsSettings& WithFragmentTime(double value) { SetFragmentTime(value); return *this;} 817 818 819 /** 820 * Specify the maximum time, in milliseconds, between Program Clock References 821 * (PCRs) inserted into the transport stream. 822 */ GetMaxPcrInterval()823 inline int GetMaxPcrInterval() const{ return m_maxPcrInterval; } 824 825 /** 826 * Specify the maximum time, in milliseconds, between Program Clock References 827 * (PCRs) inserted into the transport stream. 828 */ MaxPcrIntervalHasBeenSet()829 inline bool MaxPcrIntervalHasBeenSet() const { return m_maxPcrIntervalHasBeenSet; } 830 831 /** 832 * Specify the maximum time, in milliseconds, between Program Clock References 833 * (PCRs) inserted into the transport stream. 834 */ SetMaxPcrInterval(int value)835 inline void SetMaxPcrInterval(int value) { m_maxPcrIntervalHasBeenSet = true; m_maxPcrInterval = value; } 836 837 /** 838 * Specify the maximum time, in milliseconds, between Program Clock References 839 * (PCRs) inserted into the transport stream. 840 */ WithMaxPcrInterval(int value)841 inline M2tsSettings& WithMaxPcrInterval(int value) { SetMaxPcrInterval(value); return *this;} 842 843 844 /** 845 * When set, enforces that Encoder Boundary Points do not come within the specified 846 * time interval of each other by looking ahead at input video. If another EBP is 847 * going to come in within the specified time interval, the current EBP is not 848 * emitted, and the segment is "stretched" to the next marker. The lookahead value 849 * does not add latency to the system. The Live Event must be configured elsewhere 850 * to create sufficient latency to make the lookahead accurate. 851 */ GetMinEbpInterval()852 inline int GetMinEbpInterval() const{ return m_minEbpInterval; } 853 854 /** 855 * When set, enforces that Encoder Boundary Points do not come within the specified 856 * time interval of each other by looking ahead at input video. If another EBP is 857 * going to come in within the specified time interval, the current EBP is not 858 * emitted, and the segment is "stretched" to the next marker. The lookahead value 859 * does not add latency to the system. The Live Event must be configured elsewhere 860 * to create sufficient latency to make the lookahead accurate. 861 */ MinEbpIntervalHasBeenSet()862 inline bool MinEbpIntervalHasBeenSet() const { return m_minEbpIntervalHasBeenSet; } 863 864 /** 865 * When set, enforces that Encoder Boundary Points do not come within the specified 866 * time interval of each other by looking ahead at input video. If another EBP is 867 * going to come in within the specified time interval, the current EBP is not 868 * emitted, and the segment is "stretched" to the next marker. The lookahead value 869 * does not add latency to the system. The Live Event must be configured elsewhere 870 * to create sufficient latency to make the lookahead accurate. 871 */ SetMinEbpInterval(int value)872 inline void SetMinEbpInterval(int value) { m_minEbpIntervalHasBeenSet = true; m_minEbpInterval = value; } 873 874 /** 875 * When set, enforces that Encoder Boundary Points do not come within the specified 876 * time interval of each other by looking ahead at input video. If another EBP is 877 * going to come in within the specified time interval, the current EBP is not 878 * emitted, and the segment is "stretched" to the next marker. The lookahead value 879 * does not add latency to the system. The Live Event must be configured elsewhere 880 * to create sufficient latency to make the lookahead accurate. 881 */ WithMinEbpInterval(int value)882 inline M2tsSettings& WithMinEbpInterval(int value) { SetMinEbpInterval(value); return *this;} 883 884 885 /** 886 * If INSERT, Nielsen inaudible tones for media tracking will be detected in the 887 * input audio and an equivalent ID3 tag will be inserted in the output. 888 */ GetNielsenId3()889 inline const M2tsNielsenId3& GetNielsenId3() const{ return m_nielsenId3; } 890 891 /** 892 * If INSERT, Nielsen inaudible tones for media tracking will be detected in the 893 * input audio and an equivalent ID3 tag will be inserted in the output. 894 */ NielsenId3HasBeenSet()895 inline bool NielsenId3HasBeenSet() const { return m_nielsenId3HasBeenSet; } 896 897 /** 898 * If INSERT, Nielsen inaudible tones for media tracking will be detected in the 899 * input audio and an equivalent ID3 tag will be inserted in the output. 900 */ SetNielsenId3(const M2tsNielsenId3 & value)901 inline void SetNielsenId3(const M2tsNielsenId3& value) { m_nielsenId3HasBeenSet = true; m_nielsenId3 = value; } 902 903 /** 904 * If INSERT, Nielsen inaudible tones for media tracking will be detected in the 905 * input audio and an equivalent ID3 tag will be inserted in the output. 906 */ SetNielsenId3(M2tsNielsenId3 && value)907 inline void SetNielsenId3(M2tsNielsenId3&& value) { m_nielsenId3HasBeenSet = true; m_nielsenId3 = std::move(value); } 908 909 /** 910 * If INSERT, Nielsen inaudible tones for media tracking will be detected in the 911 * input audio and an equivalent ID3 tag will be inserted in the output. 912 */ WithNielsenId3(const M2tsNielsenId3 & value)913 inline M2tsSettings& WithNielsenId3(const M2tsNielsenId3& value) { SetNielsenId3(value); return *this;} 914 915 /** 916 * If INSERT, Nielsen inaudible tones for media tracking will be detected in the 917 * input audio and an equivalent ID3 tag will be inserted in the output. 918 */ WithNielsenId3(M2tsNielsenId3 && value)919 inline M2tsSettings& WithNielsenId3(M2tsNielsenId3&& value) { SetNielsenId3(std::move(value)); return *this;} 920 921 922 /** 923 * Value in bits per second of extra null packets to insert into the transport 924 * stream. This can be used if a downstream encryption system requires periodic 925 * null packets. 926 */ GetNullPacketBitrate()927 inline double GetNullPacketBitrate() const{ return m_nullPacketBitrate; } 928 929 /** 930 * Value in bits per second of extra null packets to insert into the transport 931 * stream. This can be used if a downstream encryption system requires periodic 932 * null packets. 933 */ NullPacketBitrateHasBeenSet()934 inline bool NullPacketBitrateHasBeenSet() const { return m_nullPacketBitrateHasBeenSet; } 935 936 /** 937 * Value in bits per second of extra null packets to insert into the transport 938 * stream. This can be used if a downstream encryption system requires periodic 939 * null packets. 940 */ SetNullPacketBitrate(double value)941 inline void SetNullPacketBitrate(double value) { m_nullPacketBitrateHasBeenSet = true; m_nullPacketBitrate = value; } 942 943 /** 944 * Value in bits per second of extra null packets to insert into the transport 945 * stream. This can be used if a downstream encryption system requires periodic 946 * null packets. 947 */ WithNullPacketBitrate(double value)948 inline M2tsSettings& WithNullPacketBitrate(double value) { SetNullPacketBitrate(value); return *this;} 949 950 951 /** 952 * The number of milliseconds between instances of this table in the output 953 * transport stream. 954 */ GetPatInterval()955 inline int GetPatInterval() const{ return m_patInterval; } 956 957 /** 958 * The number of milliseconds between instances of this table in the output 959 * transport stream. 960 */ PatIntervalHasBeenSet()961 inline bool PatIntervalHasBeenSet() const { return m_patIntervalHasBeenSet; } 962 963 /** 964 * The number of milliseconds between instances of this table in the output 965 * transport stream. 966 */ SetPatInterval(int value)967 inline void SetPatInterval(int value) { m_patIntervalHasBeenSet = true; m_patInterval = value; } 968 969 /** 970 * The number of milliseconds between instances of this table in the output 971 * transport stream. 972 */ WithPatInterval(int value)973 inline M2tsSettings& WithPatInterval(int value) { SetPatInterval(value); return *this;} 974 975 976 /** 977 * When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted 978 * for every Packetized Elementary Stream (PES) header. This is effective only when 979 * the PCR PID is the same as the video or audio elementary stream. 980 */ GetPcrControl()981 inline const M2tsPcrControl& GetPcrControl() const{ return m_pcrControl; } 982 983 /** 984 * When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted 985 * for every Packetized Elementary Stream (PES) header. This is effective only when 986 * the PCR PID is the same as the video or audio elementary stream. 987 */ PcrControlHasBeenSet()988 inline bool PcrControlHasBeenSet() const { return m_pcrControlHasBeenSet; } 989 990 /** 991 * When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted 992 * for every Packetized Elementary Stream (PES) header. This is effective only when 993 * the PCR PID is the same as the video or audio elementary stream. 994 */ SetPcrControl(const M2tsPcrControl & value)995 inline void SetPcrControl(const M2tsPcrControl& value) { m_pcrControlHasBeenSet = true; m_pcrControl = value; } 996 997 /** 998 * When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted 999 * for every Packetized Elementary Stream (PES) header. This is effective only when 1000 * the PCR PID is the same as the video or audio elementary stream. 1001 */ SetPcrControl(M2tsPcrControl && value)1002 inline void SetPcrControl(M2tsPcrControl&& value) { m_pcrControlHasBeenSet = true; m_pcrControl = std::move(value); } 1003 1004 /** 1005 * When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted 1006 * for every Packetized Elementary Stream (PES) header. This is effective only when 1007 * the PCR PID is the same as the video or audio elementary stream. 1008 */ WithPcrControl(const M2tsPcrControl & value)1009 inline M2tsSettings& WithPcrControl(const M2tsPcrControl& value) { SetPcrControl(value); return *this;} 1010 1011 /** 1012 * When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted 1013 * for every Packetized Elementary Stream (PES) header. This is effective only when 1014 * the PCR PID is the same as the video or audio elementary stream. 1015 */ WithPcrControl(M2tsPcrControl && value)1016 inline M2tsSettings& WithPcrControl(M2tsPcrControl&& value) { SetPcrControl(std::move(value)); return *this;} 1017 1018 1019 /** 1020 * Specify the packet identifier (PID) for the program clock reference (PCR) in 1021 * this output. If you do not specify a value, the service will use the value for 1022 * Video PID (VideoPid). 1023 */ GetPcrPid()1024 inline int GetPcrPid() const{ return m_pcrPid; } 1025 1026 /** 1027 * Specify the packet identifier (PID) for the program clock reference (PCR) in 1028 * this output. If you do not specify a value, the service will use the value for 1029 * Video PID (VideoPid). 1030 */ PcrPidHasBeenSet()1031 inline bool PcrPidHasBeenSet() const { return m_pcrPidHasBeenSet; } 1032 1033 /** 1034 * Specify the packet identifier (PID) for the program clock reference (PCR) in 1035 * this output. If you do not specify a value, the service will use the value for 1036 * Video PID (VideoPid). 1037 */ SetPcrPid(int value)1038 inline void SetPcrPid(int value) { m_pcrPidHasBeenSet = true; m_pcrPid = value; } 1039 1040 /** 1041 * Specify the packet identifier (PID) for the program clock reference (PCR) in 1042 * this output. If you do not specify a value, the service will use the value for 1043 * Video PID (VideoPid). 1044 */ WithPcrPid(int value)1045 inline M2tsSettings& WithPcrPid(int value) { SetPcrPid(value); return *this;} 1046 1047 1048 /** 1049 * Specify the number of milliseconds between instances of the program map table 1050 * (PMT) in the output transport stream. 1051 */ GetPmtInterval()1052 inline int GetPmtInterval() const{ return m_pmtInterval; } 1053 1054 /** 1055 * Specify the number of milliseconds between instances of the program map table 1056 * (PMT) in the output transport stream. 1057 */ PmtIntervalHasBeenSet()1058 inline bool PmtIntervalHasBeenSet() const { return m_pmtIntervalHasBeenSet; } 1059 1060 /** 1061 * Specify the number of milliseconds between instances of the program map table 1062 * (PMT) in the output transport stream. 1063 */ SetPmtInterval(int value)1064 inline void SetPmtInterval(int value) { m_pmtIntervalHasBeenSet = true; m_pmtInterval = value; } 1065 1066 /** 1067 * Specify the number of milliseconds between instances of the program map table 1068 * (PMT) in the output transport stream. 1069 */ WithPmtInterval(int value)1070 inline M2tsSettings& WithPmtInterval(int value) { SetPmtInterval(value); return *this;} 1071 1072 1073 /** 1074 * Specify the packet identifier (PID) for the program map table (PMT) itself. 1075 * Default is 480. 1076 */ GetPmtPid()1077 inline int GetPmtPid() const{ return m_pmtPid; } 1078 1079 /** 1080 * Specify the packet identifier (PID) for the program map table (PMT) itself. 1081 * Default is 480. 1082 */ PmtPidHasBeenSet()1083 inline bool PmtPidHasBeenSet() const { return m_pmtPidHasBeenSet; } 1084 1085 /** 1086 * Specify the packet identifier (PID) for the program map table (PMT) itself. 1087 * Default is 480. 1088 */ SetPmtPid(int value)1089 inline void SetPmtPid(int value) { m_pmtPidHasBeenSet = true; m_pmtPid = value; } 1090 1091 /** 1092 * Specify the packet identifier (PID) for the program map table (PMT) itself. 1093 * Default is 480. 1094 */ WithPmtPid(int value)1095 inline M2tsSettings& WithPmtPid(int value) { SetPmtPid(value); return *this;} 1096 1097 1098 /** 1099 * Specify the packet identifier (PID) of the private metadata stream. Default is 1100 * 503. 1101 */ GetPrivateMetadataPid()1102 inline int GetPrivateMetadataPid() const{ return m_privateMetadataPid; } 1103 1104 /** 1105 * Specify the packet identifier (PID) of the private metadata stream. Default is 1106 * 503. 1107 */ PrivateMetadataPidHasBeenSet()1108 inline bool PrivateMetadataPidHasBeenSet() const { return m_privateMetadataPidHasBeenSet; } 1109 1110 /** 1111 * Specify the packet identifier (PID) of the private metadata stream. Default is 1112 * 503. 1113 */ SetPrivateMetadataPid(int value)1114 inline void SetPrivateMetadataPid(int value) { m_privateMetadataPidHasBeenSet = true; m_privateMetadataPid = value; } 1115 1116 /** 1117 * Specify the packet identifier (PID) of the private metadata stream. Default is 1118 * 503. 1119 */ WithPrivateMetadataPid(int value)1120 inline M2tsSettings& WithPrivateMetadataPid(int value) { SetPrivateMetadataPid(value); return *this;} 1121 1122 1123 /** 1124 * Use Program number (programNumber) to specify the program number used in the 1125 * program map table (PMT) for this output. Default is 1. Program numbers and 1126 * program map tables are parts of MPEG-2 transport stream containers, used for 1127 * organizing data. 1128 */ GetProgramNumber()1129 inline int GetProgramNumber() const{ return m_programNumber; } 1130 1131 /** 1132 * Use Program number (programNumber) to specify the program number used in the 1133 * program map table (PMT) for this output. Default is 1. Program numbers and 1134 * program map tables are parts of MPEG-2 transport stream containers, used for 1135 * organizing data. 1136 */ ProgramNumberHasBeenSet()1137 inline bool ProgramNumberHasBeenSet() const { return m_programNumberHasBeenSet; } 1138 1139 /** 1140 * Use Program number (programNumber) to specify the program number used in the 1141 * program map table (PMT) for this output. Default is 1. Program numbers and 1142 * program map tables are parts of MPEG-2 transport stream containers, used for 1143 * organizing data. 1144 */ SetProgramNumber(int value)1145 inline void SetProgramNumber(int value) { m_programNumberHasBeenSet = true; m_programNumber = value; } 1146 1147 /** 1148 * Use Program number (programNumber) to specify the program number used in the 1149 * program map table (PMT) for this output. Default is 1. Program numbers and 1150 * program map tables are parts of MPEG-2 transport stream containers, used for 1151 * organizing data. 1152 */ WithProgramNumber(int value)1153 inline M2tsSettings& WithProgramNumber(int value) { SetProgramNumber(value); return *this;} 1154 1155 1156 /** 1157 * When set to CBR, inserts null packets into transport stream to fill specified 1158 * bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, but 1159 * the output will not be padded up to that bitrate. 1160 */ GetRateMode()1161 inline const M2tsRateMode& GetRateMode() const{ return m_rateMode; } 1162 1163 /** 1164 * When set to CBR, inserts null packets into transport stream to fill specified 1165 * bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, but 1166 * the output will not be padded up to that bitrate. 1167 */ RateModeHasBeenSet()1168 inline bool RateModeHasBeenSet() const { return m_rateModeHasBeenSet; } 1169 1170 /** 1171 * When set to CBR, inserts null packets into transport stream to fill specified 1172 * bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, but 1173 * the output will not be padded up to that bitrate. 1174 */ SetRateMode(const M2tsRateMode & value)1175 inline void SetRateMode(const M2tsRateMode& value) { m_rateModeHasBeenSet = true; m_rateMode = value; } 1176 1177 /** 1178 * When set to CBR, inserts null packets into transport stream to fill specified 1179 * bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, but 1180 * the output will not be padded up to that bitrate. 1181 */ SetRateMode(M2tsRateMode && value)1182 inline void SetRateMode(M2tsRateMode&& value) { m_rateModeHasBeenSet = true; m_rateMode = std::move(value); } 1183 1184 /** 1185 * When set to CBR, inserts null packets into transport stream to fill specified 1186 * bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, but 1187 * the output will not be padded up to that bitrate. 1188 */ WithRateMode(const M2tsRateMode & value)1189 inline M2tsSettings& WithRateMode(const M2tsRateMode& value) { SetRateMode(value); return *this;} 1190 1191 /** 1192 * When set to CBR, inserts null packets into transport stream to fill specified 1193 * bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, but 1194 * the output will not be padded up to that bitrate. 1195 */ WithRateMode(M2tsRateMode && value)1196 inline M2tsSettings& WithRateMode(M2tsRateMode&& value) { SetRateMode(std::move(value)); return *this;} 1197 1198 1199 /** 1200 * Include this in your job settings to put SCTE-35 markers in your HLS and 1201 * transport stream outputs at the insertion points that you specify in an ESAM XML 1202 * document. Provide the document in the setting SCC XML (sccXml). 1203 */ GetScte35Esam()1204 inline const M2tsScte35Esam& GetScte35Esam() const{ return m_scte35Esam; } 1205 1206 /** 1207 * Include this in your job settings to put SCTE-35 markers in your HLS and 1208 * transport stream outputs at the insertion points that you specify in an ESAM XML 1209 * document. Provide the document in the setting SCC XML (sccXml). 1210 */ Scte35EsamHasBeenSet()1211 inline bool Scte35EsamHasBeenSet() const { return m_scte35EsamHasBeenSet; } 1212 1213 /** 1214 * Include this in your job settings to put SCTE-35 markers in your HLS and 1215 * transport stream outputs at the insertion points that you specify in an ESAM XML 1216 * document. Provide the document in the setting SCC XML (sccXml). 1217 */ SetScte35Esam(const M2tsScte35Esam & value)1218 inline void SetScte35Esam(const M2tsScte35Esam& value) { m_scte35EsamHasBeenSet = true; m_scte35Esam = value; } 1219 1220 /** 1221 * Include this in your job settings to put SCTE-35 markers in your HLS and 1222 * transport stream outputs at the insertion points that you specify in an ESAM XML 1223 * document. Provide the document in the setting SCC XML (sccXml). 1224 */ SetScte35Esam(M2tsScte35Esam && value)1225 inline void SetScte35Esam(M2tsScte35Esam&& value) { m_scte35EsamHasBeenSet = true; m_scte35Esam = std::move(value); } 1226 1227 /** 1228 * Include this in your job settings to put SCTE-35 markers in your HLS and 1229 * transport stream outputs at the insertion points that you specify in an ESAM XML 1230 * document. Provide the document in the setting SCC XML (sccXml). 1231 */ WithScte35Esam(const M2tsScte35Esam & value)1232 inline M2tsSettings& WithScte35Esam(const M2tsScte35Esam& value) { SetScte35Esam(value); return *this;} 1233 1234 /** 1235 * Include this in your job settings to put SCTE-35 markers in your HLS and 1236 * transport stream outputs at the insertion points that you specify in an ESAM XML 1237 * document. Provide the document in the setting SCC XML (sccXml). 1238 */ WithScte35Esam(M2tsScte35Esam && value)1239 inline M2tsSettings& WithScte35Esam(M2tsScte35Esam&& value) { SetScte35Esam(std::move(value)); return *this;} 1240 1241 1242 /** 1243 * Specify the packet identifier (PID) of the SCTE-35 stream in the transport 1244 * stream. 1245 */ GetScte35Pid()1246 inline int GetScte35Pid() const{ return m_scte35Pid; } 1247 1248 /** 1249 * Specify the packet identifier (PID) of the SCTE-35 stream in the transport 1250 * stream. 1251 */ Scte35PidHasBeenSet()1252 inline bool Scte35PidHasBeenSet() const { return m_scte35PidHasBeenSet; } 1253 1254 /** 1255 * Specify the packet identifier (PID) of the SCTE-35 stream in the transport 1256 * stream. 1257 */ SetScte35Pid(int value)1258 inline void SetScte35Pid(int value) { m_scte35PidHasBeenSet = true; m_scte35Pid = value; } 1259 1260 /** 1261 * Specify the packet identifier (PID) of the SCTE-35 stream in the transport 1262 * stream. 1263 */ WithScte35Pid(int value)1264 inline M2tsSettings& WithScte35Pid(int value) { SetScte35Pid(value); return *this;} 1265 1266 1267 /** 1268 * For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you 1269 * want SCTE-35 markers that appear in your input to also appear in this output. 1270 * Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 1271 * markers from an ESAM XML document-- Choose None (NONE). Also provide the ESAM 1272 * XML as a string in the setting Signal processing notification XML (sccXml). Also 1273 * enable ESAM SCTE-35 (include the property scte35Esam). 1274 */ GetScte35Source()1275 inline const M2tsScte35Source& GetScte35Source() const{ return m_scte35Source; } 1276 1277 /** 1278 * For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you 1279 * want SCTE-35 markers that appear in your input to also appear in this output. 1280 * Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 1281 * markers from an ESAM XML document-- Choose None (NONE). Also provide the ESAM 1282 * XML as a string in the setting Signal processing notification XML (sccXml). Also 1283 * enable ESAM SCTE-35 (include the property scte35Esam). 1284 */ Scte35SourceHasBeenSet()1285 inline bool Scte35SourceHasBeenSet() const { return m_scte35SourceHasBeenSet; } 1286 1287 /** 1288 * For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you 1289 * want SCTE-35 markers that appear in your input to also appear in this output. 1290 * Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 1291 * markers from an ESAM XML document-- Choose None (NONE). Also provide the ESAM 1292 * XML as a string in the setting Signal processing notification XML (sccXml). Also 1293 * enable ESAM SCTE-35 (include the property scte35Esam). 1294 */ SetScte35Source(const M2tsScte35Source & value)1295 inline void SetScte35Source(const M2tsScte35Source& value) { m_scte35SourceHasBeenSet = true; m_scte35Source = value; } 1296 1297 /** 1298 * For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you 1299 * want SCTE-35 markers that appear in your input to also appear in this output. 1300 * Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 1301 * markers from an ESAM XML document-- Choose None (NONE). Also provide the ESAM 1302 * XML as a string in the setting Signal processing notification XML (sccXml). Also 1303 * enable ESAM SCTE-35 (include the property scte35Esam). 1304 */ SetScte35Source(M2tsScte35Source && value)1305 inline void SetScte35Source(M2tsScte35Source&& value) { m_scte35SourceHasBeenSet = true; m_scte35Source = std::move(value); } 1306 1307 /** 1308 * For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you 1309 * want SCTE-35 markers that appear in your input to also appear in this output. 1310 * Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 1311 * markers from an ESAM XML document-- Choose None (NONE). Also provide the ESAM 1312 * XML as a string in the setting Signal processing notification XML (sccXml). Also 1313 * enable ESAM SCTE-35 (include the property scte35Esam). 1314 */ WithScte35Source(const M2tsScte35Source & value)1315 inline M2tsSettings& WithScte35Source(const M2tsScte35Source& value) { SetScte35Source(value); return *this;} 1316 1317 /** 1318 * For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you 1319 * want SCTE-35 markers that appear in your input to also appear in this output. 1320 * Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 1321 * markers from an ESAM XML document-- Choose None (NONE). Also provide the ESAM 1322 * XML as a string in the setting Signal processing notification XML (sccXml). Also 1323 * enable ESAM SCTE-35 (include the property scte35Esam). 1324 */ WithScte35Source(M2tsScte35Source && value)1325 inline M2tsSettings& WithScte35Source(M2tsScte35Source&& value) { SetScte35Source(std::move(value)); return *this;} 1326 1327 1328 /** 1329 * Inserts segmentation markers at each segmentation_time period. rai_segstart sets 1330 * the Random Access Indicator bit in the adaptation field. rai_adapt sets the RAI 1331 * bit and adds the current timecode in the private data bytes. psi_segstart 1332 * inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary 1333 * Point information to the adaptation field as per OpenCable specification 1334 * OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information to the 1335 * adaptation field using a legacy proprietary format. 1336 */ GetSegmentationMarkers()1337 inline const M2tsSegmentationMarkers& GetSegmentationMarkers() const{ return m_segmentationMarkers; } 1338 1339 /** 1340 * Inserts segmentation markers at each segmentation_time period. rai_segstart sets 1341 * the Random Access Indicator bit in the adaptation field. rai_adapt sets the RAI 1342 * bit and adds the current timecode in the private data bytes. psi_segstart 1343 * inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary 1344 * Point information to the adaptation field as per OpenCable specification 1345 * OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information to the 1346 * adaptation field using a legacy proprietary format. 1347 */ SegmentationMarkersHasBeenSet()1348 inline bool SegmentationMarkersHasBeenSet() const { return m_segmentationMarkersHasBeenSet; } 1349 1350 /** 1351 * Inserts segmentation markers at each segmentation_time period. rai_segstart sets 1352 * the Random Access Indicator bit in the adaptation field. rai_adapt sets the RAI 1353 * bit and adds the current timecode in the private data bytes. psi_segstart 1354 * inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary 1355 * Point information to the adaptation field as per OpenCable specification 1356 * OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information to the 1357 * adaptation field using a legacy proprietary format. 1358 */ SetSegmentationMarkers(const M2tsSegmentationMarkers & value)1359 inline void SetSegmentationMarkers(const M2tsSegmentationMarkers& value) { m_segmentationMarkersHasBeenSet = true; m_segmentationMarkers = value; } 1360 1361 /** 1362 * Inserts segmentation markers at each segmentation_time period. rai_segstart sets 1363 * the Random Access Indicator bit in the adaptation field. rai_adapt sets the RAI 1364 * bit and adds the current timecode in the private data bytes. psi_segstart 1365 * inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary 1366 * Point information to the adaptation field as per OpenCable specification 1367 * OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information to the 1368 * adaptation field using a legacy proprietary format. 1369 */ SetSegmentationMarkers(M2tsSegmentationMarkers && value)1370 inline void SetSegmentationMarkers(M2tsSegmentationMarkers&& value) { m_segmentationMarkersHasBeenSet = true; m_segmentationMarkers = std::move(value); } 1371 1372 /** 1373 * Inserts segmentation markers at each segmentation_time period. rai_segstart sets 1374 * the Random Access Indicator bit in the adaptation field. rai_adapt sets the RAI 1375 * bit and adds the current timecode in the private data bytes. psi_segstart 1376 * inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary 1377 * Point information to the adaptation field as per OpenCable specification 1378 * OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information to the 1379 * adaptation field using a legacy proprietary format. 1380 */ WithSegmentationMarkers(const M2tsSegmentationMarkers & value)1381 inline M2tsSettings& WithSegmentationMarkers(const M2tsSegmentationMarkers& value) { SetSegmentationMarkers(value); return *this;} 1382 1383 /** 1384 * Inserts segmentation markers at each segmentation_time period. rai_segstart sets 1385 * the Random Access Indicator bit in the adaptation field. rai_adapt sets the RAI 1386 * bit and adds the current timecode in the private data bytes. psi_segstart 1387 * inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary 1388 * Point information to the adaptation field as per OpenCable specification 1389 * OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information to the 1390 * adaptation field using a legacy proprietary format. 1391 */ WithSegmentationMarkers(M2tsSegmentationMarkers && value)1392 inline M2tsSettings& WithSegmentationMarkers(M2tsSegmentationMarkers&& value) { SetSegmentationMarkers(std::move(value)); return *this;} 1393 1394 1395 /** 1396 * The segmentation style parameter controls how segmentation markers are inserted 1397 * into the transport stream. With avails, it is possible that segments may be 1398 * truncated, which can influence where future segmentation markers are inserted. 1399 * When a segmentation style of "reset_cadence" is selected and a segment is 1400 * truncated due to an avail, we will reset the segmentation cadence. This means 1401 * the subsequent segment will have a duration of of $segmentation_time seconds. 1402 * When a segmentation style of "maintain_cadence" is selected and a segment is 1403 * truncated due to an avail, we will not reset the segmentation cadence. This 1404 * means the subsequent segment will likely be truncated as well. However, all 1405 * segments after that will have a duration of $segmentation_time seconds. Note 1406 * that EBP lookahead is a slight exception to this rule. 1407 */ GetSegmentationStyle()1408 inline const M2tsSegmentationStyle& GetSegmentationStyle() const{ return m_segmentationStyle; } 1409 1410 /** 1411 * The segmentation style parameter controls how segmentation markers are inserted 1412 * into the transport stream. With avails, it is possible that segments may be 1413 * truncated, which can influence where future segmentation markers are inserted. 1414 * When a segmentation style of "reset_cadence" is selected and a segment is 1415 * truncated due to an avail, we will reset the segmentation cadence. This means 1416 * the subsequent segment will have a duration of of $segmentation_time seconds. 1417 * When a segmentation style of "maintain_cadence" is selected and a segment is 1418 * truncated due to an avail, we will not reset the segmentation cadence. This 1419 * means the subsequent segment will likely be truncated as well. However, all 1420 * segments after that will have a duration of $segmentation_time seconds. Note 1421 * that EBP lookahead is a slight exception to this rule. 1422 */ SegmentationStyleHasBeenSet()1423 inline bool SegmentationStyleHasBeenSet() const { return m_segmentationStyleHasBeenSet; } 1424 1425 /** 1426 * The segmentation style parameter controls how segmentation markers are inserted 1427 * into the transport stream. With avails, it is possible that segments may be 1428 * truncated, which can influence where future segmentation markers are inserted. 1429 * When a segmentation style of "reset_cadence" is selected and a segment is 1430 * truncated due to an avail, we will reset the segmentation cadence. This means 1431 * the subsequent segment will have a duration of of $segmentation_time seconds. 1432 * When a segmentation style of "maintain_cadence" is selected and a segment is 1433 * truncated due to an avail, we will not reset the segmentation cadence. This 1434 * means the subsequent segment will likely be truncated as well. However, all 1435 * segments after that will have a duration of $segmentation_time seconds. Note 1436 * that EBP lookahead is a slight exception to this rule. 1437 */ SetSegmentationStyle(const M2tsSegmentationStyle & value)1438 inline void SetSegmentationStyle(const M2tsSegmentationStyle& value) { m_segmentationStyleHasBeenSet = true; m_segmentationStyle = value; } 1439 1440 /** 1441 * The segmentation style parameter controls how segmentation markers are inserted 1442 * into the transport stream. With avails, it is possible that segments may be 1443 * truncated, which can influence where future segmentation markers are inserted. 1444 * When a segmentation style of "reset_cadence" is selected and a segment is 1445 * truncated due to an avail, we will reset the segmentation cadence. This means 1446 * the subsequent segment will have a duration of of $segmentation_time seconds. 1447 * When a segmentation style of "maintain_cadence" is selected and a segment is 1448 * truncated due to an avail, we will not reset the segmentation cadence. This 1449 * means the subsequent segment will likely be truncated as well. However, all 1450 * segments after that will have a duration of $segmentation_time seconds. Note 1451 * that EBP lookahead is a slight exception to this rule. 1452 */ SetSegmentationStyle(M2tsSegmentationStyle && value)1453 inline void SetSegmentationStyle(M2tsSegmentationStyle&& value) { m_segmentationStyleHasBeenSet = true; m_segmentationStyle = std::move(value); } 1454 1455 /** 1456 * The segmentation style parameter controls how segmentation markers are inserted 1457 * into the transport stream. With avails, it is possible that segments may be 1458 * truncated, which can influence where future segmentation markers are inserted. 1459 * When a segmentation style of "reset_cadence" is selected and a segment is 1460 * truncated due to an avail, we will reset the segmentation cadence. This means 1461 * the subsequent segment will have a duration of of $segmentation_time seconds. 1462 * When a segmentation style of "maintain_cadence" is selected and a segment is 1463 * truncated due to an avail, we will not reset the segmentation cadence. This 1464 * means the subsequent segment will likely be truncated as well. However, all 1465 * segments after that will have a duration of $segmentation_time seconds. Note 1466 * that EBP lookahead is a slight exception to this rule. 1467 */ WithSegmentationStyle(const M2tsSegmentationStyle & value)1468 inline M2tsSettings& WithSegmentationStyle(const M2tsSegmentationStyle& value) { SetSegmentationStyle(value); return *this;} 1469 1470 /** 1471 * The segmentation style parameter controls how segmentation markers are inserted 1472 * into the transport stream. With avails, it is possible that segments may be 1473 * truncated, which can influence where future segmentation markers are inserted. 1474 * When a segmentation style of "reset_cadence" is selected and a segment is 1475 * truncated due to an avail, we will reset the segmentation cadence. This means 1476 * the subsequent segment will have a duration of of $segmentation_time seconds. 1477 * When a segmentation style of "maintain_cadence" is selected and a segment is 1478 * truncated due to an avail, we will not reset the segmentation cadence. This 1479 * means the subsequent segment will likely be truncated as well. However, all 1480 * segments after that will have a duration of $segmentation_time seconds. Note 1481 * that EBP lookahead is a slight exception to this rule. 1482 */ WithSegmentationStyle(M2tsSegmentationStyle && value)1483 inline M2tsSettings& WithSegmentationStyle(M2tsSegmentationStyle&& value) { SetSegmentationStyle(std::move(value)); return *this;} 1484 1485 1486 /** 1487 * Specify the length, in seconds, of each segment. Required unless markers is set 1488 * to _none_. 1489 */ GetSegmentationTime()1490 inline double GetSegmentationTime() const{ return m_segmentationTime; } 1491 1492 /** 1493 * Specify the length, in seconds, of each segment. Required unless markers is set 1494 * to _none_. 1495 */ SegmentationTimeHasBeenSet()1496 inline bool SegmentationTimeHasBeenSet() const { return m_segmentationTimeHasBeenSet; } 1497 1498 /** 1499 * Specify the length, in seconds, of each segment. Required unless markers is set 1500 * to _none_. 1501 */ SetSegmentationTime(double value)1502 inline void SetSegmentationTime(double value) { m_segmentationTimeHasBeenSet = true; m_segmentationTime = value; } 1503 1504 /** 1505 * Specify the length, in seconds, of each segment. Required unless markers is set 1506 * to _none_. 1507 */ WithSegmentationTime(double value)1508 inline M2tsSettings& WithSegmentationTime(double value) { SetSegmentationTime(value); return *this;} 1509 1510 1511 /** 1512 * Specify the packet identifier (PID) for timed metadata in this output. Default 1513 * is 502. 1514 */ GetTimedMetadataPid()1515 inline int GetTimedMetadataPid() const{ return m_timedMetadataPid; } 1516 1517 /** 1518 * Specify the packet identifier (PID) for timed metadata in this output. Default 1519 * is 502. 1520 */ TimedMetadataPidHasBeenSet()1521 inline bool TimedMetadataPidHasBeenSet() const { return m_timedMetadataPidHasBeenSet; } 1522 1523 /** 1524 * Specify the packet identifier (PID) for timed metadata in this output. Default 1525 * is 502. 1526 */ SetTimedMetadataPid(int value)1527 inline void SetTimedMetadataPid(int value) { m_timedMetadataPidHasBeenSet = true; m_timedMetadataPid = value; } 1528 1529 /** 1530 * Specify the packet identifier (PID) for timed metadata in this output. Default 1531 * is 502. 1532 */ WithTimedMetadataPid(int value)1533 inline M2tsSettings& WithTimedMetadataPid(int value) { SetTimedMetadataPid(value); return *this;} 1534 1535 1536 /** 1537 * Specify the ID for the transport stream itself in the program map table for this 1538 * output. Transport stream IDs and program map tables are parts of MPEG-2 1539 * transport stream containers, used for organizing data. 1540 */ GetTransportStreamId()1541 inline int GetTransportStreamId() const{ return m_transportStreamId; } 1542 1543 /** 1544 * Specify the ID for the transport stream itself in the program map table for this 1545 * output. Transport stream IDs and program map tables are parts of MPEG-2 1546 * transport stream containers, used for organizing data. 1547 */ TransportStreamIdHasBeenSet()1548 inline bool TransportStreamIdHasBeenSet() const { return m_transportStreamIdHasBeenSet; } 1549 1550 /** 1551 * Specify the ID for the transport stream itself in the program map table for this 1552 * output. Transport stream IDs and program map tables are parts of MPEG-2 1553 * transport stream containers, used for organizing data. 1554 */ SetTransportStreamId(int value)1555 inline void SetTransportStreamId(int value) { m_transportStreamIdHasBeenSet = true; m_transportStreamId = value; } 1556 1557 /** 1558 * Specify the ID for the transport stream itself in the program map table for this 1559 * output. Transport stream IDs and program map tables are parts of MPEG-2 1560 * transport stream containers, used for organizing data. 1561 */ WithTransportStreamId(int value)1562 inline M2tsSettings& WithTransportStreamId(int value) { SetTransportStreamId(value); return *this;} 1563 1564 1565 /** 1566 * Specify the packet identifier (PID) of the elementary video stream in the 1567 * transport stream. 1568 */ GetVideoPid()1569 inline int GetVideoPid() const{ return m_videoPid; } 1570 1571 /** 1572 * Specify the packet identifier (PID) of the elementary video stream in the 1573 * transport stream. 1574 */ VideoPidHasBeenSet()1575 inline bool VideoPidHasBeenSet() const { return m_videoPidHasBeenSet; } 1576 1577 /** 1578 * Specify the packet identifier (PID) of the elementary video stream in the 1579 * transport stream. 1580 */ SetVideoPid(int value)1581 inline void SetVideoPid(int value) { m_videoPidHasBeenSet = true; m_videoPid = value; } 1582 1583 /** 1584 * Specify the packet identifier (PID) of the elementary video stream in the 1585 * transport stream. 1586 */ WithVideoPid(int value)1587 inline M2tsSettings& WithVideoPid(int value) { SetVideoPid(value); return *this;} 1588 1589 private: 1590 1591 M2tsAudioBufferModel m_audioBufferModel; 1592 bool m_audioBufferModelHasBeenSet; 1593 1594 M2tsAudioDuration m_audioDuration; 1595 bool m_audioDurationHasBeenSet; 1596 1597 int m_audioFramesPerPes; 1598 bool m_audioFramesPerPesHasBeenSet; 1599 1600 Aws::Vector<int> m_audioPids; 1601 bool m_audioPidsHasBeenSet; 1602 1603 int m_bitrate; 1604 bool m_bitrateHasBeenSet; 1605 1606 M2tsBufferModel m_bufferModel; 1607 bool m_bufferModelHasBeenSet; 1608 1609 M2tsDataPtsControl m_dataPTSControl; 1610 bool m_dataPTSControlHasBeenSet; 1611 1612 DvbNitSettings m_dvbNitSettings; 1613 bool m_dvbNitSettingsHasBeenSet; 1614 1615 DvbSdtSettings m_dvbSdtSettings; 1616 bool m_dvbSdtSettingsHasBeenSet; 1617 1618 Aws::Vector<int> m_dvbSubPids; 1619 bool m_dvbSubPidsHasBeenSet; 1620 1621 DvbTdtSettings m_dvbTdtSettings; 1622 bool m_dvbTdtSettingsHasBeenSet; 1623 1624 int m_dvbTeletextPid; 1625 bool m_dvbTeletextPidHasBeenSet; 1626 1627 M2tsEbpAudioInterval m_ebpAudioInterval; 1628 bool m_ebpAudioIntervalHasBeenSet; 1629 1630 M2tsEbpPlacement m_ebpPlacement; 1631 bool m_ebpPlacementHasBeenSet; 1632 1633 M2tsEsRateInPes m_esRateInPes; 1634 bool m_esRateInPesHasBeenSet; 1635 1636 M2tsForceTsVideoEbpOrder m_forceTsVideoEbpOrder; 1637 bool m_forceTsVideoEbpOrderHasBeenSet; 1638 1639 double m_fragmentTime; 1640 bool m_fragmentTimeHasBeenSet; 1641 1642 int m_maxPcrInterval; 1643 bool m_maxPcrIntervalHasBeenSet; 1644 1645 int m_minEbpInterval; 1646 bool m_minEbpIntervalHasBeenSet; 1647 1648 M2tsNielsenId3 m_nielsenId3; 1649 bool m_nielsenId3HasBeenSet; 1650 1651 double m_nullPacketBitrate; 1652 bool m_nullPacketBitrateHasBeenSet; 1653 1654 int m_patInterval; 1655 bool m_patIntervalHasBeenSet; 1656 1657 M2tsPcrControl m_pcrControl; 1658 bool m_pcrControlHasBeenSet; 1659 1660 int m_pcrPid; 1661 bool m_pcrPidHasBeenSet; 1662 1663 int m_pmtInterval; 1664 bool m_pmtIntervalHasBeenSet; 1665 1666 int m_pmtPid; 1667 bool m_pmtPidHasBeenSet; 1668 1669 int m_privateMetadataPid; 1670 bool m_privateMetadataPidHasBeenSet; 1671 1672 int m_programNumber; 1673 bool m_programNumberHasBeenSet; 1674 1675 M2tsRateMode m_rateMode; 1676 bool m_rateModeHasBeenSet; 1677 1678 M2tsScte35Esam m_scte35Esam; 1679 bool m_scte35EsamHasBeenSet; 1680 1681 int m_scte35Pid; 1682 bool m_scte35PidHasBeenSet; 1683 1684 M2tsScte35Source m_scte35Source; 1685 bool m_scte35SourceHasBeenSet; 1686 1687 M2tsSegmentationMarkers m_segmentationMarkers; 1688 bool m_segmentationMarkersHasBeenSet; 1689 1690 M2tsSegmentationStyle m_segmentationStyle; 1691 bool m_segmentationStyleHasBeenSet; 1692 1693 double m_segmentationTime; 1694 bool m_segmentationTimeHasBeenSet; 1695 1696 int m_timedMetadataPid; 1697 bool m_timedMetadataPidHasBeenSet; 1698 1699 int m_transportStreamId; 1700 bool m_transportStreamIdHasBeenSet; 1701 1702 int m_videoPid; 1703 bool m_videoPidHasBeenSet; 1704 }; 1705 1706 } // namespace Model 1707 } // namespace MediaConvert 1708 } // namespace Aws 1709