1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/medialive/MediaLive_EXPORTS.h> 8 #include <aws/medialive/model/M2tsAbsentInputAudioBehavior.h> 9 #include <aws/medialive/model/M2tsArib.h> 10 #include <aws/core/utils/memory/stl/AWSString.h> 11 #include <aws/medialive/model/M2tsAribCaptionsPidControl.h> 12 #include <aws/medialive/model/M2tsAudioBufferModel.h> 13 #include <aws/medialive/model/M2tsAudioStreamType.h> 14 #include <aws/medialive/model/M2tsBufferModel.h> 15 #include <aws/medialive/model/M2tsCcDescriptor.h> 16 #include <aws/medialive/model/DvbNitSettings.h> 17 #include <aws/medialive/model/DvbSdtSettings.h> 18 #include <aws/medialive/model/DvbTdtSettings.h> 19 #include <aws/medialive/model/M2tsEbifControl.h> 20 #include <aws/medialive/model/M2tsAudioInterval.h> 21 #include <aws/medialive/model/M2tsEbpPlacement.h> 22 #include <aws/medialive/model/M2tsEsRateInPes.h> 23 #include <aws/medialive/model/M2tsKlv.h> 24 #include <aws/medialive/model/M2tsNielsenId3Behavior.h> 25 #include <aws/medialive/model/M2tsPcrControl.h> 26 #include <aws/medialive/model/M2tsRateMode.h> 27 #include <aws/medialive/model/M2tsScte35Control.h> 28 #include <aws/medialive/model/M2tsSegmentationMarkers.h> 29 #include <aws/medialive/model/M2tsSegmentationStyle.h> 30 #include <aws/medialive/model/M2tsTimedMetadataBehavior.h> 31 #include <utility> 32 33 namespace Aws 34 { 35 namespace Utils 36 { 37 namespace Json 38 { 39 class JsonValue; 40 class JsonView; 41 } // namespace Json 42 } // namespace Utils 43 namespace MediaLive 44 { 45 namespace Model 46 { 47 48 /** 49 * M2ts Settings<p><h3>See Also:</h3> <a 50 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/M2tsSettings">AWS 51 * API Reference</a></p> 52 */ 53 class AWS_MEDIALIVE_API M2tsSettings 54 { 55 public: 56 M2tsSettings(); 57 M2tsSettings(Aws::Utils::Json::JsonView jsonValue); 58 M2tsSettings& operator=(Aws::Utils::Json::JsonView jsonValue); 59 Aws::Utils::Json::JsonValue Jsonize() const; 60 61 62 /** 63 * When set to drop, output audio streams will be removed from the program if the 64 * selected input audio stream is removed from the input. This allows the output 65 * audio configuration to dynamically change based on input configuration. If this 66 * is set to encodeSilence, all output audio streams will output encoded silence 67 * when not connected to an active input stream. 68 */ GetAbsentInputAudioBehavior()69 inline const M2tsAbsentInputAudioBehavior& GetAbsentInputAudioBehavior() const{ return m_absentInputAudioBehavior; } 70 71 /** 72 * When set to drop, output audio streams will be removed from the program if the 73 * selected input audio stream is removed from the input. This allows the output 74 * audio configuration to dynamically change based on input configuration. If this 75 * is set to encodeSilence, all output audio streams will output encoded silence 76 * when not connected to an active input stream. 77 */ AbsentInputAudioBehaviorHasBeenSet()78 inline bool AbsentInputAudioBehaviorHasBeenSet() const { return m_absentInputAudioBehaviorHasBeenSet; } 79 80 /** 81 * When set to drop, output audio streams will be removed from the program if the 82 * selected input audio stream is removed from the input. This allows the output 83 * audio configuration to dynamically change based on input configuration. If this 84 * is set to encodeSilence, all output audio streams will output encoded silence 85 * when not connected to an active input stream. 86 */ SetAbsentInputAudioBehavior(const M2tsAbsentInputAudioBehavior & value)87 inline void SetAbsentInputAudioBehavior(const M2tsAbsentInputAudioBehavior& value) { m_absentInputAudioBehaviorHasBeenSet = true; m_absentInputAudioBehavior = value; } 88 89 /** 90 * When set to drop, output audio streams will be removed from the program if the 91 * selected input audio stream is removed from the input. This allows the output 92 * audio configuration to dynamically change based on input configuration. If this 93 * is set to encodeSilence, all output audio streams will output encoded silence 94 * when not connected to an active input stream. 95 */ SetAbsentInputAudioBehavior(M2tsAbsentInputAudioBehavior && value)96 inline void SetAbsentInputAudioBehavior(M2tsAbsentInputAudioBehavior&& value) { m_absentInputAudioBehaviorHasBeenSet = true; m_absentInputAudioBehavior = std::move(value); } 97 98 /** 99 * When set to drop, output audio streams will be removed from the program if the 100 * selected input audio stream is removed from the input. This allows the output 101 * audio configuration to dynamically change based on input configuration. If this 102 * is set to encodeSilence, all output audio streams will output encoded silence 103 * when not connected to an active input stream. 104 */ WithAbsentInputAudioBehavior(const M2tsAbsentInputAudioBehavior & value)105 inline M2tsSettings& WithAbsentInputAudioBehavior(const M2tsAbsentInputAudioBehavior& value) { SetAbsentInputAudioBehavior(value); return *this;} 106 107 /** 108 * When set to drop, output audio streams will be removed from the program if the 109 * selected input audio stream is removed from the input. This allows the output 110 * audio configuration to dynamically change based on input configuration. If this 111 * is set to encodeSilence, all output audio streams will output encoded silence 112 * when not connected to an active input stream. 113 */ WithAbsentInputAudioBehavior(M2tsAbsentInputAudioBehavior && value)114 inline M2tsSettings& WithAbsentInputAudioBehavior(M2tsAbsentInputAudioBehavior&& value) { SetAbsentInputAudioBehavior(std::move(value)); return *this;} 115 116 117 /** 118 * When set to enabled, uses ARIB-compliant field muxing and removes video 119 * descriptor. 120 */ GetArib()121 inline const M2tsArib& GetArib() const{ return m_arib; } 122 123 /** 124 * When set to enabled, uses ARIB-compliant field muxing and removes video 125 * descriptor. 126 */ AribHasBeenSet()127 inline bool AribHasBeenSet() const { return m_aribHasBeenSet; } 128 129 /** 130 * When set to enabled, uses ARIB-compliant field muxing and removes video 131 * descriptor. 132 */ SetArib(const M2tsArib & value)133 inline void SetArib(const M2tsArib& value) { m_aribHasBeenSet = true; m_arib = value; } 134 135 /** 136 * When set to enabled, uses ARIB-compliant field muxing and removes video 137 * descriptor. 138 */ SetArib(M2tsArib && value)139 inline void SetArib(M2tsArib&& value) { m_aribHasBeenSet = true; m_arib = std::move(value); } 140 141 /** 142 * When set to enabled, uses ARIB-compliant field muxing and removes video 143 * descriptor. 144 */ WithArib(const M2tsArib & value)145 inline M2tsSettings& WithArib(const M2tsArib& value) { SetArib(value); return *this;} 146 147 /** 148 * When set to enabled, uses ARIB-compliant field muxing and removes video 149 * descriptor. 150 */ WithArib(M2tsArib && value)151 inline M2tsSettings& WithArib(M2tsArib&& value) { SetArib(std::move(value)); return *this;} 152 153 154 /** 155 * Packet Identifier (PID) for ARIB Captions in the transport stream. Can be 156 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 157 * (or 0x1ff6). 158 */ GetAribCaptionsPid()159 inline const Aws::String& GetAribCaptionsPid() const{ return m_aribCaptionsPid; } 160 161 /** 162 * Packet Identifier (PID) for ARIB Captions in the transport stream. Can be 163 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 164 * (or 0x1ff6). 165 */ AribCaptionsPidHasBeenSet()166 inline bool AribCaptionsPidHasBeenSet() const { return m_aribCaptionsPidHasBeenSet; } 167 168 /** 169 * Packet Identifier (PID) for ARIB Captions in the transport stream. Can be 170 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 171 * (or 0x1ff6). 172 */ SetAribCaptionsPid(const Aws::String & value)173 inline void SetAribCaptionsPid(const Aws::String& value) { m_aribCaptionsPidHasBeenSet = true; m_aribCaptionsPid = value; } 174 175 /** 176 * Packet Identifier (PID) for ARIB Captions in the transport stream. Can be 177 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 178 * (or 0x1ff6). 179 */ SetAribCaptionsPid(Aws::String && value)180 inline void SetAribCaptionsPid(Aws::String&& value) { m_aribCaptionsPidHasBeenSet = true; m_aribCaptionsPid = std::move(value); } 181 182 /** 183 * Packet Identifier (PID) for ARIB Captions in the transport stream. Can be 184 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 185 * (or 0x1ff6). 186 */ SetAribCaptionsPid(const char * value)187 inline void SetAribCaptionsPid(const char* value) { m_aribCaptionsPidHasBeenSet = true; m_aribCaptionsPid.assign(value); } 188 189 /** 190 * Packet Identifier (PID) for ARIB Captions in the transport stream. Can be 191 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 192 * (or 0x1ff6). 193 */ WithAribCaptionsPid(const Aws::String & value)194 inline M2tsSettings& WithAribCaptionsPid(const Aws::String& value) { SetAribCaptionsPid(value); return *this;} 195 196 /** 197 * Packet Identifier (PID) for ARIB Captions in the transport stream. Can be 198 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 199 * (or 0x1ff6). 200 */ WithAribCaptionsPid(Aws::String && value)201 inline M2tsSettings& WithAribCaptionsPid(Aws::String&& value) { SetAribCaptionsPid(std::move(value)); return *this;} 202 203 /** 204 * Packet Identifier (PID) for ARIB Captions in the transport stream. Can be 205 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 206 * (or 0x1ff6). 207 */ WithAribCaptionsPid(const char * value)208 inline M2tsSettings& WithAribCaptionsPid(const char* value) { SetAribCaptionsPid(value); return *this;} 209 210 211 /** 212 * If set to auto, pid number used for ARIB Captions will be auto-selected from 213 * unused pids. If set to useConfigured, ARIB Captions will be on the configured 214 * pid number. 215 */ GetAribCaptionsPidControl()216 inline const M2tsAribCaptionsPidControl& GetAribCaptionsPidControl() const{ return m_aribCaptionsPidControl; } 217 218 /** 219 * If set to auto, pid number used for ARIB Captions will be auto-selected from 220 * unused pids. If set to useConfigured, ARIB Captions will be on the configured 221 * pid number. 222 */ AribCaptionsPidControlHasBeenSet()223 inline bool AribCaptionsPidControlHasBeenSet() const { return m_aribCaptionsPidControlHasBeenSet; } 224 225 /** 226 * If set to auto, pid number used for ARIB Captions will be auto-selected from 227 * unused pids. If set to useConfigured, ARIB Captions will be on the configured 228 * pid number. 229 */ SetAribCaptionsPidControl(const M2tsAribCaptionsPidControl & value)230 inline void SetAribCaptionsPidControl(const M2tsAribCaptionsPidControl& value) { m_aribCaptionsPidControlHasBeenSet = true; m_aribCaptionsPidControl = value; } 231 232 /** 233 * If set to auto, pid number used for ARIB Captions will be auto-selected from 234 * unused pids. If set to useConfigured, ARIB Captions will be on the configured 235 * pid number. 236 */ SetAribCaptionsPidControl(M2tsAribCaptionsPidControl && value)237 inline void SetAribCaptionsPidControl(M2tsAribCaptionsPidControl&& value) { m_aribCaptionsPidControlHasBeenSet = true; m_aribCaptionsPidControl = std::move(value); } 238 239 /** 240 * If set to auto, pid number used for ARIB Captions will be auto-selected from 241 * unused pids. If set to useConfigured, ARIB Captions will be on the configured 242 * pid number. 243 */ WithAribCaptionsPidControl(const M2tsAribCaptionsPidControl & value)244 inline M2tsSettings& WithAribCaptionsPidControl(const M2tsAribCaptionsPidControl& value) { SetAribCaptionsPidControl(value); return *this;} 245 246 /** 247 * If set to auto, pid number used for ARIB Captions will be auto-selected from 248 * unused pids. If set to useConfigured, ARIB Captions will be on the configured 249 * pid number. 250 */ WithAribCaptionsPidControl(M2tsAribCaptionsPidControl && value)251 inline M2tsSettings& WithAribCaptionsPidControl(M2tsAribCaptionsPidControl&& value) { SetAribCaptionsPidControl(std::move(value)); return *this;} 252 253 254 /** 255 * When set to dvb, uses DVB buffer model for Dolby Digital audio. When set to 256 * atsc, the ATSC model is used. 257 */ GetAudioBufferModel()258 inline const M2tsAudioBufferModel& GetAudioBufferModel() const{ return m_audioBufferModel; } 259 260 /** 261 * When set to dvb, uses DVB buffer model for Dolby Digital audio. When set to 262 * atsc, the ATSC model is used. 263 */ AudioBufferModelHasBeenSet()264 inline bool AudioBufferModelHasBeenSet() const { return m_audioBufferModelHasBeenSet; } 265 266 /** 267 * When set to dvb, uses DVB buffer model for Dolby Digital audio. When set to 268 * atsc, the ATSC model is used. 269 */ SetAudioBufferModel(const M2tsAudioBufferModel & value)270 inline void SetAudioBufferModel(const M2tsAudioBufferModel& value) { m_audioBufferModelHasBeenSet = true; m_audioBufferModel = value; } 271 272 /** 273 * When set to dvb, uses DVB buffer model for Dolby Digital audio. When set to 274 * atsc, the ATSC model is used. 275 */ SetAudioBufferModel(M2tsAudioBufferModel && value)276 inline void SetAudioBufferModel(M2tsAudioBufferModel&& value) { m_audioBufferModelHasBeenSet = true; m_audioBufferModel = std::move(value); } 277 278 /** 279 * When set to dvb, uses DVB buffer model for Dolby Digital audio. When set to 280 * atsc, the ATSC model is used. 281 */ WithAudioBufferModel(const M2tsAudioBufferModel & value)282 inline M2tsSettings& WithAudioBufferModel(const M2tsAudioBufferModel& value) { SetAudioBufferModel(value); return *this;} 283 284 /** 285 * When set to dvb, uses DVB buffer model for Dolby Digital audio. When set to 286 * atsc, the ATSC model is used. 287 */ WithAudioBufferModel(M2tsAudioBufferModel && value)288 inline M2tsSettings& WithAudioBufferModel(M2tsAudioBufferModel&& value) { SetAudioBufferModel(std::move(value)); return *this;} 289 290 291 /** 292 * The number of audio frames to insert for each PES packet. 293 */ GetAudioFramesPerPes()294 inline int GetAudioFramesPerPes() const{ return m_audioFramesPerPes; } 295 296 /** 297 * The number of audio frames to insert for each PES packet. 298 */ AudioFramesPerPesHasBeenSet()299 inline bool AudioFramesPerPesHasBeenSet() const { return m_audioFramesPerPesHasBeenSet; } 300 301 /** 302 * The number of audio frames to insert for each PES packet. 303 */ SetAudioFramesPerPes(int value)304 inline void SetAudioFramesPerPes(int value) { m_audioFramesPerPesHasBeenSet = true; m_audioFramesPerPes = value; } 305 306 /** 307 * The number of audio frames to insert for each PES packet. 308 */ WithAudioFramesPerPes(int value)309 inline M2tsSettings& WithAudioFramesPerPes(int value) { SetAudioFramesPerPes(value); return *this;} 310 311 312 /** 313 * Packet Identifier (PID) of the elementary audio stream(s) in the transport 314 * stream. Multiple values are accepted, and can be entered in ranges and/or by 315 * comma separation. Can be entered as decimal or hexadecimal values. Each PID 316 * specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). 317 */ GetAudioPids()318 inline const Aws::String& GetAudioPids() const{ return m_audioPids; } 319 320 /** 321 * Packet Identifier (PID) of the elementary audio stream(s) in the transport 322 * stream. Multiple values are accepted, and can be entered in ranges and/or by 323 * comma separation. Can be entered as decimal or hexadecimal values. Each PID 324 * specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). 325 */ AudioPidsHasBeenSet()326 inline bool AudioPidsHasBeenSet() const { return m_audioPidsHasBeenSet; } 327 328 /** 329 * Packet Identifier (PID) of the elementary audio stream(s) in the transport 330 * stream. Multiple values are accepted, and can be entered in ranges and/or by 331 * comma separation. Can be entered as decimal or hexadecimal values. Each PID 332 * specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). 333 */ SetAudioPids(const Aws::String & value)334 inline void SetAudioPids(const Aws::String& value) { m_audioPidsHasBeenSet = true; m_audioPids = value; } 335 336 /** 337 * Packet Identifier (PID) of the elementary audio stream(s) in the transport 338 * stream. Multiple values are accepted, and can be entered in ranges and/or by 339 * comma separation. Can be entered as decimal or hexadecimal values. Each PID 340 * specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). 341 */ SetAudioPids(Aws::String && value)342 inline void SetAudioPids(Aws::String&& value) { m_audioPidsHasBeenSet = true; m_audioPids = std::move(value); } 343 344 /** 345 * Packet Identifier (PID) of the elementary audio stream(s) in the transport 346 * stream. Multiple values are accepted, and can be entered in ranges and/or by 347 * comma separation. Can be entered as decimal or hexadecimal values. Each PID 348 * specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). 349 */ SetAudioPids(const char * value)350 inline void SetAudioPids(const char* value) { m_audioPidsHasBeenSet = true; m_audioPids.assign(value); } 351 352 /** 353 * Packet Identifier (PID) of the elementary audio stream(s) in the transport 354 * stream. Multiple values are accepted, and can be entered in ranges and/or by 355 * comma separation. Can be entered as decimal or hexadecimal values. Each PID 356 * specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). 357 */ WithAudioPids(const Aws::String & value)358 inline M2tsSettings& WithAudioPids(const Aws::String& value) { SetAudioPids(value); return *this;} 359 360 /** 361 * Packet Identifier (PID) of the elementary audio stream(s) in the transport 362 * stream. Multiple values are accepted, and can be entered in ranges and/or by 363 * comma separation. Can be entered as decimal or hexadecimal values. Each PID 364 * specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). 365 */ WithAudioPids(Aws::String && value)366 inline M2tsSettings& WithAudioPids(Aws::String&& value) { SetAudioPids(std::move(value)); return *this;} 367 368 /** 369 * Packet Identifier (PID) of the elementary audio stream(s) in the transport 370 * stream. Multiple values are accepted, and can be entered in ranges and/or by 371 * comma separation. Can be entered as decimal or hexadecimal values. Each PID 372 * specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). 373 */ WithAudioPids(const char * value)374 inline M2tsSettings& WithAudioPids(const char* value) { SetAudioPids(value); return *this;} 375 376 377 /** 378 * When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 for 379 * EAC3. When set to dvb, uses stream type = 0x06. 380 */ GetAudioStreamType()381 inline const M2tsAudioStreamType& GetAudioStreamType() const{ return m_audioStreamType; } 382 383 /** 384 * When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 for 385 * EAC3. When set to dvb, uses stream type = 0x06. 386 */ AudioStreamTypeHasBeenSet()387 inline bool AudioStreamTypeHasBeenSet() const { return m_audioStreamTypeHasBeenSet; } 388 389 /** 390 * When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 for 391 * EAC3. When set to dvb, uses stream type = 0x06. 392 */ SetAudioStreamType(const M2tsAudioStreamType & value)393 inline void SetAudioStreamType(const M2tsAudioStreamType& value) { m_audioStreamTypeHasBeenSet = true; m_audioStreamType = value; } 394 395 /** 396 * When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 for 397 * EAC3. When set to dvb, uses stream type = 0x06. 398 */ SetAudioStreamType(M2tsAudioStreamType && value)399 inline void SetAudioStreamType(M2tsAudioStreamType&& value) { m_audioStreamTypeHasBeenSet = true; m_audioStreamType = std::move(value); } 400 401 /** 402 * When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 for 403 * EAC3. When set to dvb, uses stream type = 0x06. 404 */ WithAudioStreamType(const M2tsAudioStreamType & value)405 inline M2tsSettings& WithAudioStreamType(const M2tsAudioStreamType& value) { SetAudioStreamType(value); return *this;} 406 407 /** 408 * When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 for 409 * EAC3. When set to dvb, uses stream type = 0x06. 410 */ WithAudioStreamType(M2tsAudioStreamType && value)411 inline M2tsSettings& WithAudioStreamType(M2tsAudioStreamType&& value) { SetAudioStreamType(std::move(value)); return *this;} 412 413 414 /** 415 * The output bitrate of the transport stream in bits per second. Setting to 0 lets 416 * the muxer automatically determine the appropriate bitrate. 417 */ GetBitrate()418 inline int GetBitrate() const{ return m_bitrate; } 419 420 /** 421 * The output bitrate of the transport stream in bits per second. Setting to 0 lets 422 * the muxer automatically determine the appropriate bitrate. 423 */ BitrateHasBeenSet()424 inline bool BitrateHasBeenSet() const { return m_bitrateHasBeenSet; } 425 426 /** 427 * The output bitrate of the transport stream in bits per second. Setting to 0 lets 428 * the muxer automatically determine the appropriate bitrate. 429 */ SetBitrate(int value)430 inline void SetBitrate(int value) { m_bitrateHasBeenSet = true; m_bitrate = value; } 431 432 /** 433 * The output bitrate of the transport stream in bits per second. Setting to 0 lets 434 * the muxer automatically determine the appropriate bitrate. 435 */ WithBitrate(int value)436 inline M2tsSettings& WithBitrate(int value) { SetBitrate(value); return *this;} 437 438 439 /** 440 * Controls the timing accuracy for output network traffic. Leave as MULTIPLEX to 441 * ensure accurate network packet timing. Or set to NONE, which might result in 442 * lower latency but will result in more variability in output network packet 443 * timing. This variability might cause interruptions, jitter, or bursty behavior 444 * in your playback or receiving devices. 445 */ GetBufferModel()446 inline const M2tsBufferModel& GetBufferModel() const{ return m_bufferModel; } 447 448 /** 449 * Controls the timing accuracy for output network traffic. Leave as MULTIPLEX to 450 * ensure accurate network packet timing. Or set to NONE, which might result in 451 * lower latency but will result in more variability in output network packet 452 * timing. This variability might cause interruptions, jitter, or bursty behavior 453 * in your playback or receiving devices. 454 */ BufferModelHasBeenSet()455 inline bool BufferModelHasBeenSet() const { return m_bufferModelHasBeenSet; } 456 457 /** 458 * Controls the timing accuracy for output network traffic. Leave as MULTIPLEX to 459 * ensure accurate network packet timing. Or set to NONE, which might result in 460 * lower latency but will result in more variability in output network packet 461 * timing. This variability might cause interruptions, jitter, or bursty behavior 462 * in your playback or receiving devices. 463 */ SetBufferModel(const M2tsBufferModel & value)464 inline void SetBufferModel(const M2tsBufferModel& value) { m_bufferModelHasBeenSet = true; m_bufferModel = value; } 465 466 /** 467 * Controls the timing accuracy for output network traffic. Leave as MULTIPLEX to 468 * ensure accurate network packet timing. Or set to NONE, which might result in 469 * lower latency but will result in more variability in output network packet 470 * timing. This variability might cause interruptions, jitter, or bursty behavior 471 * in your playback or receiving devices. 472 */ SetBufferModel(M2tsBufferModel && value)473 inline void SetBufferModel(M2tsBufferModel&& value) { m_bufferModelHasBeenSet = true; m_bufferModel = std::move(value); } 474 475 /** 476 * Controls the timing accuracy for output network traffic. Leave as MULTIPLEX to 477 * ensure accurate network packet timing. Or set to NONE, which might result in 478 * lower latency but will result in more variability in output network packet 479 * timing. This variability might cause interruptions, jitter, or bursty behavior 480 * in your playback or receiving devices. 481 */ WithBufferModel(const M2tsBufferModel & value)482 inline M2tsSettings& WithBufferModel(const M2tsBufferModel& value) { SetBufferModel(value); return *this;} 483 484 /** 485 * Controls the timing accuracy for output network traffic. Leave as MULTIPLEX to 486 * ensure accurate network packet timing. Or set to NONE, which might result in 487 * lower latency but will result in more variability in output network packet 488 * timing. This variability might cause interruptions, jitter, or bursty behavior 489 * in your playback or receiving devices. 490 */ WithBufferModel(M2tsBufferModel && value)491 inline M2tsSettings& WithBufferModel(M2tsBufferModel&& value) { SetBufferModel(std::move(value)); return *this;} 492 493 494 /** 495 * When set to enabled, generates captionServiceDescriptor in PMT. 496 */ GetCcDescriptor()497 inline const M2tsCcDescriptor& GetCcDescriptor() const{ return m_ccDescriptor; } 498 499 /** 500 * When set to enabled, generates captionServiceDescriptor in PMT. 501 */ CcDescriptorHasBeenSet()502 inline bool CcDescriptorHasBeenSet() const { return m_ccDescriptorHasBeenSet; } 503 504 /** 505 * When set to enabled, generates captionServiceDescriptor in PMT. 506 */ SetCcDescriptor(const M2tsCcDescriptor & value)507 inline void SetCcDescriptor(const M2tsCcDescriptor& value) { m_ccDescriptorHasBeenSet = true; m_ccDescriptor = value; } 508 509 /** 510 * When set to enabled, generates captionServiceDescriptor in PMT. 511 */ SetCcDescriptor(M2tsCcDescriptor && value)512 inline void SetCcDescriptor(M2tsCcDescriptor&& value) { m_ccDescriptorHasBeenSet = true; m_ccDescriptor = std::move(value); } 513 514 /** 515 * When set to enabled, generates captionServiceDescriptor in PMT. 516 */ WithCcDescriptor(const M2tsCcDescriptor & value)517 inline M2tsSettings& WithCcDescriptor(const M2tsCcDescriptor& value) { SetCcDescriptor(value); return *this;} 518 519 /** 520 * When set to enabled, generates captionServiceDescriptor in PMT. 521 */ WithCcDescriptor(M2tsCcDescriptor && value)522 inline M2tsSettings& WithCcDescriptor(M2tsCcDescriptor&& value) { SetCcDescriptor(std::move(value)); return *this;} 523 524 525 /** 526 * Inserts DVB Network Information Table (NIT) at the specified table repetition 527 * interval. 528 */ GetDvbNitSettings()529 inline const DvbNitSettings& GetDvbNitSettings() const{ return m_dvbNitSettings; } 530 531 /** 532 * Inserts DVB Network Information Table (NIT) at the specified table repetition 533 * interval. 534 */ DvbNitSettingsHasBeenSet()535 inline bool DvbNitSettingsHasBeenSet() const { return m_dvbNitSettingsHasBeenSet; } 536 537 /** 538 * Inserts DVB Network Information Table (NIT) at the specified table repetition 539 * interval. 540 */ SetDvbNitSettings(const DvbNitSettings & value)541 inline void SetDvbNitSettings(const DvbNitSettings& value) { m_dvbNitSettingsHasBeenSet = true; m_dvbNitSettings = value; } 542 543 /** 544 * Inserts DVB Network Information Table (NIT) at the specified table repetition 545 * interval. 546 */ SetDvbNitSettings(DvbNitSettings && value)547 inline void SetDvbNitSettings(DvbNitSettings&& value) { m_dvbNitSettingsHasBeenSet = true; m_dvbNitSettings = std::move(value); } 548 549 /** 550 * Inserts DVB Network Information Table (NIT) at the specified table repetition 551 * interval. 552 */ WithDvbNitSettings(const DvbNitSettings & value)553 inline M2tsSettings& WithDvbNitSettings(const DvbNitSettings& value) { SetDvbNitSettings(value); return *this;} 554 555 /** 556 * Inserts DVB Network Information Table (NIT) at the specified table repetition 557 * interval. 558 */ WithDvbNitSettings(DvbNitSettings && value)559 inline M2tsSettings& WithDvbNitSettings(DvbNitSettings&& value) { SetDvbNitSettings(std::move(value)); return *this;} 560 561 562 /** 563 * Inserts DVB Service Description Table (SDT) at the specified table repetition 564 * interval. 565 */ GetDvbSdtSettings()566 inline const DvbSdtSettings& GetDvbSdtSettings() const{ return m_dvbSdtSettings; } 567 568 /** 569 * Inserts DVB Service Description Table (SDT) at the specified table repetition 570 * interval. 571 */ DvbSdtSettingsHasBeenSet()572 inline bool DvbSdtSettingsHasBeenSet() const { return m_dvbSdtSettingsHasBeenSet; } 573 574 /** 575 * Inserts DVB Service Description Table (SDT) at the specified table repetition 576 * interval. 577 */ SetDvbSdtSettings(const DvbSdtSettings & value)578 inline void SetDvbSdtSettings(const DvbSdtSettings& value) { m_dvbSdtSettingsHasBeenSet = true; m_dvbSdtSettings = value; } 579 580 /** 581 * Inserts DVB Service Description Table (SDT) at the specified table repetition 582 * interval. 583 */ SetDvbSdtSettings(DvbSdtSettings && value)584 inline void SetDvbSdtSettings(DvbSdtSettings&& value) { m_dvbSdtSettingsHasBeenSet = true; m_dvbSdtSettings = std::move(value); } 585 586 /** 587 * Inserts DVB Service Description Table (SDT) at the specified table repetition 588 * interval. 589 */ WithDvbSdtSettings(const DvbSdtSettings & value)590 inline M2tsSettings& WithDvbSdtSettings(const DvbSdtSettings& value) { SetDvbSdtSettings(value); return *this;} 591 592 /** 593 * Inserts DVB Service Description Table (SDT) at the specified table repetition 594 * interval. 595 */ WithDvbSdtSettings(DvbSdtSettings && value)596 inline M2tsSettings& WithDvbSdtSettings(DvbSdtSettings&& value) { SetDvbSdtSettings(std::move(value)); return *this;} 597 598 599 /** 600 * Packet Identifier (PID) for input source DVB Subtitle data to this output. 601 * Multiple values are accepted, and can be entered in ranges and/or by comma 602 * separation. Can be entered as decimal or hexadecimal values. Each PID specified 603 * must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). 604 */ GetDvbSubPids()605 inline const Aws::String& GetDvbSubPids() const{ return m_dvbSubPids; } 606 607 /** 608 * Packet Identifier (PID) for input source DVB Subtitle data to this output. 609 * Multiple values are accepted, and can be entered in ranges and/or by comma 610 * separation. Can be entered as decimal or hexadecimal values. Each PID specified 611 * must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). 612 */ DvbSubPidsHasBeenSet()613 inline bool DvbSubPidsHasBeenSet() const { return m_dvbSubPidsHasBeenSet; } 614 615 /** 616 * Packet Identifier (PID) for input source DVB Subtitle data to this output. 617 * Multiple values are accepted, and can be entered in ranges and/or by comma 618 * separation. Can be entered as decimal or hexadecimal values. Each PID specified 619 * must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). 620 */ SetDvbSubPids(const Aws::String & value)621 inline void SetDvbSubPids(const Aws::String& value) { m_dvbSubPidsHasBeenSet = true; m_dvbSubPids = value; } 622 623 /** 624 * Packet Identifier (PID) for input source DVB Subtitle data to this output. 625 * Multiple values are accepted, and can be entered in ranges and/or by comma 626 * separation. Can be entered as decimal or hexadecimal values. Each PID specified 627 * must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). 628 */ SetDvbSubPids(Aws::String && value)629 inline void SetDvbSubPids(Aws::String&& value) { m_dvbSubPidsHasBeenSet = true; m_dvbSubPids = std::move(value); } 630 631 /** 632 * Packet Identifier (PID) for input source DVB Subtitle data to this output. 633 * Multiple values are accepted, and can be entered in ranges and/or by comma 634 * separation. Can be entered as decimal or hexadecimal values. Each PID specified 635 * must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). 636 */ SetDvbSubPids(const char * value)637 inline void SetDvbSubPids(const char* value) { m_dvbSubPidsHasBeenSet = true; m_dvbSubPids.assign(value); } 638 639 /** 640 * Packet Identifier (PID) for input source DVB Subtitle data to this output. 641 * Multiple values are accepted, and can be entered in ranges and/or by comma 642 * separation. Can be entered as decimal or hexadecimal values. Each PID specified 643 * must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). 644 */ WithDvbSubPids(const Aws::String & value)645 inline M2tsSettings& WithDvbSubPids(const Aws::String& value) { SetDvbSubPids(value); return *this;} 646 647 /** 648 * Packet Identifier (PID) for input source DVB Subtitle data to this output. 649 * Multiple values are accepted, and can be entered in ranges and/or by comma 650 * separation. Can be entered as decimal or hexadecimal values. Each PID specified 651 * must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). 652 */ WithDvbSubPids(Aws::String && value)653 inline M2tsSettings& WithDvbSubPids(Aws::String&& value) { SetDvbSubPids(std::move(value)); return *this;} 654 655 /** 656 * Packet Identifier (PID) for input source DVB Subtitle data to this output. 657 * Multiple values are accepted, and can be entered in ranges and/or by comma 658 * separation. Can be entered as decimal or hexadecimal values. Each PID specified 659 * must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). 660 */ WithDvbSubPids(const char * value)661 inline M2tsSettings& WithDvbSubPids(const char* value) { SetDvbSubPids(value); return *this;} 662 663 664 /** 665 * Inserts DVB Time and Date Table (TDT) at the specified table repetition 666 * interval. 667 */ GetDvbTdtSettings()668 inline const DvbTdtSettings& GetDvbTdtSettings() const{ return m_dvbTdtSettings; } 669 670 /** 671 * Inserts DVB Time and Date Table (TDT) at the specified table repetition 672 * interval. 673 */ DvbTdtSettingsHasBeenSet()674 inline bool DvbTdtSettingsHasBeenSet() const { return m_dvbTdtSettingsHasBeenSet; } 675 676 /** 677 * Inserts DVB Time and Date Table (TDT) at the specified table repetition 678 * interval. 679 */ SetDvbTdtSettings(const DvbTdtSettings & value)680 inline void SetDvbTdtSettings(const DvbTdtSettings& value) { m_dvbTdtSettingsHasBeenSet = true; m_dvbTdtSettings = value; } 681 682 /** 683 * Inserts DVB Time and Date Table (TDT) at the specified table repetition 684 * interval. 685 */ SetDvbTdtSettings(DvbTdtSettings && value)686 inline void SetDvbTdtSettings(DvbTdtSettings&& value) { m_dvbTdtSettingsHasBeenSet = true; m_dvbTdtSettings = std::move(value); } 687 688 /** 689 * Inserts DVB Time and Date Table (TDT) at the specified table repetition 690 * interval. 691 */ WithDvbTdtSettings(const DvbTdtSettings & value)692 inline M2tsSettings& WithDvbTdtSettings(const DvbTdtSettings& value) { SetDvbTdtSettings(value); return *this;} 693 694 /** 695 * Inserts DVB Time and Date Table (TDT) at the specified table repetition 696 * interval. 697 */ WithDvbTdtSettings(DvbTdtSettings && value)698 inline M2tsSettings& WithDvbTdtSettings(DvbTdtSettings&& value) { SetDvbTdtSettings(std::move(value)); return *this;} 699 700 701 /** 702 * Packet Identifier (PID) for input source DVB Teletext data to this output. Can 703 * be entered as a decimal or hexadecimal value. Valid values are 32 (or 704 * 0x20)..8182 (or 0x1ff6). 705 */ GetDvbTeletextPid()706 inline const Aws::String& GetDvbTeletextPid() const{ return m_dvbTeletextPid; } 707 708 /** 709 * Packet Identifier (PID) for input source DVB Teletext data to this output. Can 710 * be entered as a decimal or hexadecimal value. Valid values are 32 (or 711 * 0x20)..8182 (or 0x1ff6). 712 */ DvbTeletextPidHasBeenSet()713 inline bool DvbTeletextPidHasBeenSet() const { return m_dvbTeletextPidHasBeenSet; } 714 715 /** 716 * Packet Identifier (PID) for input source DVB Teletext data to this output. Can 717 * be entered as a decimal or hexadecimal value. Valid values are 32 (or 718 * 0x20)..8182 (or 0x1ff6). 719 */ SetDvbTeletextPid(const Aws::String & value)720 inline void SetDvbTeletextPid(const Aws::String& value) { m_dvbTeletextPidHasBeenSet = true; m_dvbTeletextPid = value; } 721 722 /** 723 * Packet Identifier (PID) for input source DVB Teletext data to this output. Can 724 * be entered as a decimal or hexadecimal value. Valid values are 32 (or 725 * 0x20)..8182 (or 0x1ff6). 726 */ SetDvbTeletextPid(Aws::String && value)727 inline void SetDvbTeletextPid(Aws::String&& value) { m_dvbTeletextPidHasBeenSet = true; m_dvbTeletextPid = std::move(value); } 728 729 /** 730 * Packet Identifier (PID) for input source DVB Teletext data to this output. Can 731 * be entered as a decimal or hexadecimal value. Valid values are 32 (or 732 * 0x20)..8182 (or 0x1ff6). 733 */ SetDvbTeletextPid(const char * value)734 inline void SetDvbTeletextPid(const char* value) { m_dvbTeletextPidHasBeenSet = true; m_dvbTeletextPid.assign(value); } 735 736 /** 737 * Packet Identifier (PID) for input source DVB Teletext data to this output. Can 738 * be entered as a decimal or hexadecimal value. Valid values are 32 (or 739 * 0x20)..8182 (or 0x1ff6). 740 */ WithDvbTeletextPid(const Aws::String & value)741 inline M2tsSettings& WithDvbTeletextPid(const Aws::String& value) { SetDvbTeletextPid(value); return *this;} 742 743 /** 744 * Packet Identifier (PID) for input source DVB Teletext data to this output. Can 745 * be entered as a decimal or hexadecimal value. Valid values are 32 (or 746 * 0x20)..8182 (or 0x1ff6). 747 */ WithDvbTeletextPid(Aws::String && value)748 inline M2tsSettings& WithDvbTeletextPid(Aws::String&& value) { SetDvbTeletextPid(std::move(value)); return *this;} 749 750 /** 751 * Packet Identifier (PID) for input source DVB Teletext data to this output. Can 752 * be entered as a decimal or hexadecimal value. Valid values are 32 (or 753 * 0x20)..8182 (or 0x1ff6). 754 */ WithDvbTeletextPid(const char * value)755 inline M2tsSettings& WithDvbTeletextPid(const char* value) { SetDvbTeletextPid(value); return *this;} 756 757 758 /** 759 * If set to passthrough, passes any EBIF data from the input source to this 760 * output. 761 */ GetEbif()762 inline const M2tsEbifControl& GetEbif() const{ return m_ebif; } 763 764 /** 765 * If set to passthrough, passes any EBIF data from the input source to this 766 * output. 767 */ EbifHasBeenSet()768 inline bool EbifHasBeenSet() const { return m_ebifHasBeenSet; } 769 770 /** 771 * If set to passthrough, passes any EBIF data from the input source to this 772 * output. 773 */ SetEbif(const M2tsEbifControl & value)774 inline void SetEbif(const M2tsEbifControl& value) { m_ebifHasBeenSet = true; m_ebif = value; } 775 776 /** 777 * If set to passthrough, passes any EBIF data from the input source to this 778 * output. 779 */ SetEbif(M2tsEbifControl && value)780 inline void SetEbif(M2tsEbifControl&& value) { m_ebifHasBeenSet = true; m_ebif = std::move(value); } 781 782 /** 783 * If set to passthrough, passes any EBIF data from the input source to this 784 * output. 785 */ WithEbif(const M2tsEbifControl & value)786 inline M2tsSettings& WithEbif(const M2tsEbifControl& value) { SetEbif(value); return *this;} 787 788 /** 789 * If set to passthrough, passes any EBIF data from the input source to this 790 * output. 791 */ WithEbif(M2tsEbifControl && value)792 inline M2tsSettings& WithEbif(M2tsEbifControl&& value) { SetEbif(std::move(value)); return *this;} 793 794 795 /** 796 * When videoAndFixedIntervals is selected, audio EBP markers will be added to 797 * partitions 3 and 4. The interval between these additional markers will be fixed, 798 * and will be slightly shorter than the video EBP marker interval. Only available 799 * when EBP Cablelabs segmentation markers are selected. Partitions 1 and 2 will 800 * always follow the video interval. 801 */ GetEbpAudioInterval()802 inline const M2tsAudioInterval& GetEbpAudioInterval() const{ return m_ebpAudioInterval; } 803 804 /** 805 * When videoAndFixedIntervals is selected, audio EBP markers will be added to 806 * partitions 3 and 4. The interval between these additional markers will be fixed, 807 * and will be slightly shorter than the video EBP marker interval. Only available 808 * when EBP Cablelabs segmentation markers are selected. Partitions 1 and 2 will 809 * always follow the video interval. 810 */ EbpAudioIntervalHasBeenSet()811 inline bool EbpAudioIntervalHasBeenSet() const { return m_ebpAudioIntervalHasBeenSet; } 812 813 /** 814 * When videoAndFixedIntervals is selected, audio EBP markers will be added to 815 * partitions 3 and 4. The interval between these additional markers will be fixed, 816 * and will be slightly shorter than the video EBP marker interval. Only available 817 * when EBP Cablelabs segmentation markers are selected. Partitions 1 and 2 will 818 * always follow the video interval. 819 */ SetEbpAudioInterval(const M2tsAudioInterval & value)820 inline void SetEbpAudioInterval(const M2tsAudioInterval& value) { m_ebpAudioIntervalHasBeenSet = true; m_ebpAudioInterval = value; } 821 822 /** 823 * When videoAndFixedIntervals is selected, audio EBP markers will be added to 824 * partitions 3 and 4. The interval between these additional markers will be fixed, 825 * and will be slightly shorter than the video EBP marker interval. Only available 826 * when EBP Cablelabs segmentation markers are selected. Partitions 1 and 2 will 827 * always follow the video interval. 828 */ SetEbpAudioInterval(M2tsAudioInterval && value)829 inline void SetEbpAudioInterval(M2tsAudioInterval&& value) { m_ebpAudioIntervalHasBeenSet = true; m_ebpAudioInterval = std::move(value); } 830 831 /** 832 * When videoAndFixedIntervals is selected, audio EBP markers will be added to 833 * partitions 3 and 4. The interval between these additional markers will be fixed, 834 * and will be slightly shorter than the video EBP marker interval. Only available 835 * when EBP Cablelabs segmentation markers are selected. Partitions 1 and 2 will 836 * always follow the video interval. 837 */ WithEbpAudioInterval(const M2tsAudioInterval & value)838 inline M2tsSettings& WithEbpAudioInterval(const M2tsAudioInterval& value) { SetEbpAudioInterval(value); return *this;} 839 840 /** 841 * When videoAndFixedIntervals is selected, audio EBP markers will be added to 842 * partitions 3 and 4. The interval between these additional markers will be fixed, 843 * and will be slightly shorter than the video EBP marker interval. Only available 844 * when EBP Cablelabs segmentation markers are selected. Partitions 1 and 2 will 845 * always follow the video interval. 846 */ WithEbpAudioInterval(M2tsAudioInterval && value)847 inline M2tsSettings& WithEbpAudioInterval(M2tsAudioInterval&& value) { SetEbpAudioInterval(std::move(value)); return *this;} 848 849 850 /** 851 * When set, enforces that Encoder Boundary Points do not come within the specified 852 * time interval of each other by looking ahead at input video. If another EBP is 853 * going to come in within the specified time interval, the current EBP is not 854 * emitted, and the segment is "stretched" to the next marker. The lookahead value 855 * does not add latency to the system. The Live Event must be configured elsewhere 856 * to create sufficient latency to make the lookahead accurate. 857 */ GetEbpLookaheadMs()858 inline int GetEbpLookaheadMs() const{ return m_ebpLookaheadMs; } 859 860 /** 861 * When set, enforces that Encoder Boundary Points do not come within the specified 862 * time interval of each other by looking ahead at input video. If another EBP is 863 * going to come in within the specified time interval, the current EBP is not 864 * emitted, and the segment is "stretched" to the next marker. The lookahead value 865 * does not add latency to the system. The Live Event must be configured elsewhere 866 * to create sufficient latency to make the lookahead accurate. 867 */ EbpLookaheadMsHasBeenSet()868 inline bool EbpLookaheadMsHasBeenSet() const { return m_ebpLookaheadMsHasBeenSet; } 869 870 /** 871 * When set, enforces that Encoder Boundary Points do not come within the specified 872 * time interval of each other by looking ahead at input video. If another EBP is 873 * going to come in within the specified time interval, the current EBP is not 874 * emitted, and the segment is "stretched" to the next marker. The lookahead value 875 * does not add latency to the system. The Live Event must be configured elsewhere 876 * to create sufficient latency to make the lookahead accurate. 877 */ SetEbpLookaheadMs(int value)878 inline void SetEbpLookaheadMs(int value) { m_ebpLookaheadMsHasBeenSet = true; m_ebpLookaheadMs = value; } 879 880 /** 881 * When set, enforces that Encoder Boundary Points do not come within the specified 882 * time interval of each other by looking ahead at input video. If another EBP is 883 * going to come in within the specified time interval, the current EBP is not 884 * emitted, and the segment is "stretched" to the next marker. The lookahead value 885 * does not add latency to the system. The Live Event must be configured elsewhere 886 * to create sufficient latency to make the lookahead accurate. 887 */ WithEbpLookaheadMs(int value)888 inline M2tsSettings& WithEbpLookaheadMs(int value) { SetEbpLookaheadMs(value); return *this;} 889 890 891 /** 892 * Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP 893 * markers will be placed on the video PID and all audio PIDs. If set to videoPid, 894 * EBP markers will be placed on only the video PID. 895 */ GetEbpPlacement()896 inline const M2tsEbpPlacement& GetEbpPlacement() const{ return m_ebpPlacement; } 897 898 /** 899 * Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP 900 * markers will be placed on the video PID and all audio PIDs. If set to videoPid, 901 * EBP markers will be placed on only the video PID. 902 */ EbpPlacementHasBeenSet()903 inline bool EbpPlacementHasBeenSet() const { return m_ebpPlacementHasBeenSet; } 904 905 /** 906 * Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP 907 * markers will be placed on the video PID and all audio PIDs. If set to videoPid, 908 * EBP markers will be placed on only the video PID. 909 */ SetEbpPlacement(const M2tsEbpPlacement & value)910 inline void SetEbpPlacement(const M2tsEbpPlacement& value) { m_ebpPlacementHasBeenSet = true; m_ebpPlacement = value; } 911 912 /** 913 * Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP 914 * markers will be placed on the video PID and all audio PIDs. If set to videoPid, 915 * EBP markers will be placed on only the video PID. 916 */ SetEbpPlacement(M2tsEbpPlacement && value)917 inline void SetEbpPlacement(M2tsEbpPlacement&& value) { m_ebpPlacementHasBeenSet = true; m_ebpPlacement = std::move(value); } 918 919 /** 920 * Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP 921 * markers will be placed on the video PID and all audio PIDs. If set to videoPid, 922 * EBP markers will be placed on only the video PID. 923 */ WithEbpPlacement(const M2tsEbpPlacement & value)924 inline M2tsSettings& WithEbpPlacement(const M2tsEbpPlacement& value) { SetEbpPlacement(value); return *this;} 925 926 /** 927 * Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP 928 * markers will be placed on the video PID and all audio PIDs. If set to videoPid, 929 * EBP markers will be placed on only the video PID. 930 */ WithEbpPlacement(M2tsEbpPlacement && value)931 inline M2tsSettings& WithEbpPlacement(M2tsEbpPlacement&& value) { SetEbpPlacement(std::move(value)); return *this;} 932 933 934 /** 935 * This field is unused and deprecated. 936 */ GetEcmPid()937 inline const Aws::String& GetEcmPid() const{ return m_ecmPid; } 938 939 /** 940 * This field is unused and deprecated. 941 */ EcmPidHasBeenSet()942 inline bool EcmPidHasBeenSet() const { return m_ecmPidHasBeenSet; } 943 944 /** 945 * This field is unused and deprecated. 946 */ SetEcmPid(const Aws::String & value)947 inline void SetEcmPid(const Aws::String& value) { m_ecmPidHasBeenSet = true; m_ecmPid = value; } 948 949 /** 950 * This field is unused and deprecated. 951 */ SetEcmPid(Aws::String && value)952 inline void SetEcmPid(Aws::String&& value) { m_ecmPidHasBeenSet = true; m_ecmPid = std::move(value); } 953 954 /** 955 * This field is unused and deprecated. 956 */ SetEcmPid(const char * value)957 inline void SetEcmPid(const char* value) { m_ecmPidHasBeenSet = true; m_ecmPid.assign(value); } 958 959 /** 960 * This field is unused and deprecated. 961 */ WithEcmPid(const Aws::String & value)962 inline M2tsSettings& WithEcmPid(const Aws::String& value) { SetEcmPid(value); return *this;} 963 964 /** 965 * This field is unused and deprecated. 966 */ WithEcmPid(Aws::String && value)967 inline M2tsSettings& WithEcmPid(Aws::String&& value) { SetEcmPid(std::move(value)); return *this;} 968 969 /** 970 * This field is unused and deprecated. 971 */ WithEcmPid(const char * value)972 inline M2tsSettings& WithEcmPid(const char* value) { SetEcmPid(value); return *this;} 973 974 975 /** 976 * Include or exclude the ES Rate field in the PES header. 977 */ GetEsRateInPes()978 inline const M2tsEsRateInPes& GetEsRateInPes() const{ return m_esRateInPes; } 979 980 /** 981 * Include or exclude the ES Rate field in the PES header. 982 */ EsRateInPesHasBeenSet()983 inline bool EsRateInPesHasBeenSet() const { return m_esRateInPesHasBeenSet; } 984 985 /** 986 * Include or exclude the ES Rate field in the PES header. 987 */ SetEsRateInPes(const M2tsEsRateInPes & value)988 inline void SetEsRateInPes(const M2tsEsRateInPes& value) { m_esRateInPesHasBeenSet = true; m_esRateInPes = value; } 989 990 /** 991 * Include or exclude the ES Rate field in the PES header. 992 */ SetEsRateInPes(M2tsEsRateInPes && value)993 inline void SetEsRateInPes(M2tsEsRateInPes&& value) { m_esRateInPesHasBeenSet = true; m_esRateInPes = std::move(value); } 994 995 /** 996 * Include or exclude the ES Rate field in the PES header. 997 */ WithEsRateInPes(const M2tsEsRateInPes & value)998 inline M2tsSettings& WithEsRateInPes(const M2tsEsRateInPes& value) { SetEsRateInPes(value); return *this;} 999 1000 /** 1001 * Include or exclude the ES Rate field in the PES header. 1002 */ WithEsRateInPes(M2tsEsRateInPes && value)1003 inline M2tsSettings& WithEsRateInPes(M2tsEsRateInPes&& value) { SetEsRateInPes(std::move(value)); return *this;} 1004 1005 1006 /** 1007 * Packet Identifier (PID) for input source ETV Platform data to this output. Can 1008 * be entered as a decimal or hexadecimal value. Valid values are 32 (or 1009 * 0x20)..8182 (or 0x1ff6). 1010 */ GetEtvPlatformPid()1011 inline const Aws::String& GetEtvPlatformPid() const{ return m_etvPlatformPid; } 1012 1013 /** 1014 * Packet Identifier (PID) for input source ETV Platform data to this output. Can 1015 * be entered as a decimal or hexadecimal value. Valid values are 32 (or 1016 * 0x20)..8182 (or 0x1ff6). 1017 */ EtvPlatformPidHasBeenSet()1018 inline bool EtvPlatformPidHasBeenSet() const { return m_etvPlatformPidHasBeenSet; } 1019 1020 /** 1021 * Packet Identifier (PID) for input source ETV Platform data to this output. Can 1022 * be entered as a decimal or hexadecimal value. Valid values are 32 (or 1023 * 0x20)..8182 (or 0x1ff6). 1024 */ SetEtvPlatformPid(const Aws::String & value)1025 inline void SetEtvPlatformPid(const Aws::String& value) { m_etvPlatformPidHasBeenSet = true; m_etvPlatformPid = value; } 1026 1027 /** 1028 * Packet Identifier (PID) for input source ETV Platform data to this output. Can 1029 * be entered as a decimal or hexadecimal value. Valid values are 32 (or 1030 * 0x20)..8182 (or 0x1ff6). 1031 */ SetEtvPlatformPid(Aws::String && value)1032 inline void SetEtvPlatformPid(Aws::String&& value) { m_etvPlatformPidHasBeenSet = true; m_etvPlatformPid = std::move(value); } 1033 1034 /** 1035 * Packet Identifier (PID) for input source ETV Platform data to this output. Can 1036 * be entered as a decimal or hexadecimal value. Valid values are 32 (or 1037 * 0x20)..8182 (or 0x1ff6). 1038 */ SetEtvPlatformPid(const char * value)1039 inline void SetEtvPlatformPid(const char* value) { m_etvPlatformPidHasBeenSet = true; m_etvPlatformPid.assign(value); } 1040 1041 /** 1042 * Packet Identifier (PID) for input source ETV Platform data to this output. Can 1043 * be entered as a decimal or hexadecimal value. Valid values are 32 (or 1044 * 0x20)..8182 (or 0x1ff6). 1045 */ WithEtvPlatformPid(const Aws::String & value)1046 inline M2tsSettings& WithEtvPlatformPid(const Aws::String& value) { SetEtvPlatformPid(value); return *this;} 1047 1048 /** 1049 * Packet Identifier (PID) for input source ETV Platform data to this output. Can 1050 * be entered as a decimal or hexadecimal value. Valid values are 32 (or 1051 * 0x20)..8182 (or 0x1ff6). 1052 */ WithEtvPlatformPid(Aws::String && value)1053 inline M2tsSettings& WithEtvPlatformPid(Aws::String&& value) { SetEtvPlatformPid(std::move(value)); return *this;} 1054 1055 /** 1056 * Packet Identifier (PID) for input source ETV Platform data to this output. Can 1057 * be entered as a decimal or hexadecimal value. Valid values are 32 (or 1058 * 0x20)..8182 (or 0x1ff6). 1059 */ WithEtvPlatformPid(const char * value)1060 inline M2tsSettings& WithEtvPlatformPid(const char* value) { SetEtvPlatformPid(value); return *this;} 1061 1062 1063 /** 1064 * Packet Identifier (PID) for input source ETV Signal data to this output. Can be 1065 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 1066 * (or 0x1ff6). 1067 */ GetEtvSignalPid()1068 inline const Aws::String& GetEtvSignalPid() const{ return m_etvSignalPid; } 1069 1070 /** 1071 * Packet Identifier (PID) for input source ETV Signal data to this output. Can be 1072 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 1073 * (or 0x1ff6). 1074 */ EtvSignalPidHasBeenSet()1075 inline bool EtvSignalPidHasBeenSet() const { return m_etvSignalPidHasBeenSet; } 1076 1077 /** 1078 * Packet Identifier (PID) for input source ETV Signal data to this output. Can be 1079 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 1080 * (or 0x1ff6). 1081 */ SetEtvSignalPid(const Aws::String & value)1082 inline void SetEtvSignalPid(const Aws::String& value) { m_etvSignalPidHasBeenSet = true; m_etvSignalPid = value; } 1083 1084 /** 1085 * Packet Identifier (PID) for input source ETV Signal data to this output. Can be 1086 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 1087 * (or 0x1ff6). 1088 */ SetEtvSignalPid(Aws::String && value)1089 inline void SetEtvSignalPid(Aws::String&& value) { m_etvSignalPidHasBeenSet = true; m_etvSignalPid = std::move(value); } 1090 1091 /** 1092 * Packet Identifier (PID) for input source ETV Signal data to this output. Can be 1093 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 1094 * (or 0x1ff6). 1095 */ SetEtvSignalPid(const char * value)1096 inline void SetEtvSignalPid(const char* value) { m_etvSignalPidHasBeenSet = true; m_etvSignalPid.assign(value); } 1097 1098 /** 1099 * Packet Identifier (PID) for input source ETV Signal data to this output. Can be 1100 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 1101 * (or 0x1ff6). 1102 */ WithEtvSignalPid(const Aws::String & value)1103 inline M2tsSettings& WithEtvSignalPid(const Aws::String& value) { SetEtvSignalPid(value); return *this;} 1104 1105 /** 1106 * Packet Identifier (PID) for input source ETV Signal data to this output. Can be 1107 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 1108 * (or 0x1ff6). 1109 */ WithEtvSignalPid(Aws::String && value)1110 inline M2tsSettings& WithEtvSignalPid(Aws::String&& value) { SetEtvSignalPid(std::move(value)); return *this;} 1111 1112 /** 1113 * Packet Identifier (PID) for input source ETV Signal data to this output. Can be 1114 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 1115 * (or 0x1ff6). 1116 */ WithEtvSignalPid(const char * value)1117 inline M2tsSettings& WithEtvSignalPid(const char* value) { SetEtvSignalPid(value); return *this;} 1118 1119 1120 /** 1121 * The length in seconds of each fragment. Only used with EBP markers. 1122 */ GetFragmentTime()1123 inline double GetFragmentTime() const{ return m_fragmentTime; } 1124 1125 /** 1126 * The length in seconds of each fragment. Only used with EBP markers. 1127 */ FragmentTimeHasBeenSet()1128 inline bool FragmentTimeHasBeenSet() const { return m_fragmentTimeHasBeenSet; } 1129 1130 /** 1131 * The length in seconds of each fragment. Only used with EBP markers. 1132 */ SetFragmentTime(double value)1133 inline void SetFragmentTime(double value) { m_fragmentTimeHasBeenSet = true; m_fragmentTime = value; } 1134 1135 /** 1136 * The length in seconds of each fragment. Only used with EBP markers. 1137 */ WithFragmentTime(double value)1138 inline M2tsSettings& WithFragmentTime(double value) { SetFragmentTime(value); return *this;} 1139 1140 1141 /** 1142 * If set to passthrough, passes any KLV data from the input source to this output. 1143 */ GetKlv()1144 inline const M2tsKlv& GetKlv() const{ return m_klv; } 1145 1146 /** 1147 * If set to passthrough, passes any KLV data from the input source to this output. 1148 */ KlvHasBeenSet()1149 inline bool KlvHasBeenSet() const { return m_klvHasBeenSet; } 1150 1151 /** 1152 * If set to passthrough, passes any KLV data from the input source to this output. 1153 */ SetKlv(const M2tsKlv & value)1154 inline void SetKlv(const M2tsKlv& value) { m_klvHasBeenSet = true; m_klv = value; } 1155 1156 /** 1157 * If set to passthrough, passes any KLV data from the input source to this output. 1158 */ SetKlv(M2tsKlv && value)1159 inline void SetKlv(M2tsKlv&& value) { m_klvHasBeenSet = true; m_klv = std::move(value); } 1160 1161 /** 1162 * If set to passthrough, passes any KLV data from the input source to this output. 1163 */ WithKlv(const M2tsKlv & value)1164 inline M2tsSettings& WithKlv(const M2tsKlv& value) { SetKlv(value); return *this;} 1165 1166 /** 1167 * If set to passthrough, passes any KLV data from the input source to this output. 1168 */ WithKlv(M2tsKlv && value)1169 inline M2tsSettings& WithKlv(M2tsKlv&& value) { SetKlv(std::move(value)); return *this;} 1170 1171 1172 /** 1173 * Packet Identifier (PID) for input source KLV data to this output. Multiple 1174 * values are accepted, and can be entered in ranges and/or by comma separation. 1175 * Can be entered as decimal or hexadecimal values. Each PID specified must be in 1176 * the range of 32 (or 0x20)..8182 (or 0x1ff6). 1177 */ GetKlvDataPids()1178 inline const Aws::String& GetKlvDataPids() const{ return m_klvDataPids; } 1179 1180 /** 1181 * Packet Identifier (PID) for input source KLV data to this output. Multiple 1182 * values are accepted, and can be entered in ranges and/or by comma separation. 1183 * Can be entered as decimal or hexadecimal values. Each PID specified must be in 1184 * the range of 32 (or 0x20)..8182 (or 0x1ff6). 1185 */ KlvDataPidsHasBeenSet()1186 inline bool KlvDataPidsHasBeenSet() const { return m_klvDataPidsHasBeenSet; } 1187 1188 /** 1189 * Packet Identifier (PID) for input source KLV data to this output. Multiple 1190 * values are accepted, and can be entered in ranges and/or by comma separation. 1191 * Can be entered as decimal or hexadecimal values. Each PID specified must be in 1192 * the range of 32 (or 0x20)..8182 (or 0x1ff6). 1193 */ SetKlvDataPids(const Aws::String & value)1194 inline void SetKlvDataPids(const Aws::String& value) { m_klvDataPidsHasBeenSet = true; m_klvDataPids = value; } 1195 1196 /** 1197 * Packet Identifier (PID) for input source KLV data to this output. Multiple 1198 * values are accepted, and can be entered in ranges and/or by comma separation. 1199 * Can be entered as decimal or hexadecimal values. Each PID specified must be in 1200 * the range of 32 (or 0x20)..8182 (or 0x1ff6). 1201 */ SetKlvDataPids(Aws::String && value)1202 inline void SetKlvDataPids(Aws::String&& value) { m_klvDataPidsHasBeenSet = true; m_klvDataPids = std::move(value); } 1203 1204 /** 1205 * Packet Identifier (PID) for input source KLV data to this output. Multiple 1206 * values are accepted, and can be entered in ranges and/or by comma separation. 1207 * Can be entered as decimal or hexadecimal values. Each PID specified must be in 1208 * the range of 32 (or 0x20)..8182 (or 0x1ff6). 1209 */ SetKlvDataPids(const char * value)1210 inline void SetKlvDataPids(const char* value) { m_klvDataPidsHasBeenSet = true; m_klvDataPids.assign(value); } 1211 1212 /** 1213 * Packet Identifier (PID) for input source KLV data to this output. Multiple 1214 * values are accepted, and can be entered in ranges and/or by comma separation. 1215 * Can be entered as decimal or hexadecimal values. Each PID specified must be in 1216 * the range of 32 (or 0x20)..8182 (or 0x1ff6). 1217 */ WithKlvDataPids(const Aws::String & value)1218 inline M2tsSettings& WithKlvDataPids(const Aws::String& value) { SetKlvDataPids(value); return *this;} 1219 1220 /** 1221 * Packet Identifier (PID) for input source KLV data to this output. Multiple 1222 * values are accepted, and can be entered in ranges and/or by comma separation. 1223 * Can be entered as decimal or hexadecimal values. Each PID specified must be in 1224 * the range of 32 (or 0x20)..8182 (or 0x1ff6). 1225 */ WithKlvDataPids(Aws::String && value)1226 inline M2tsSettings& WithKlvDataPids(Aws::String&& value) { SetKlvDataPids(std::move(value)); return *this;} 1227 1228 /** 1229 * Packet Identifier (PID) for input source KLV data to this output. Multiple 1230 * values are accepted, and can be entered in ranges and/or by comma separation. 1231 * Can be entered as decimal or hexadecimal values. Each PID specified must be in 1232 * the range of 32 (or 0x20)..8182 (or 0x1ff6). 1233 */ WithKlvDataPids(const char * value)1234 inline M2tsSettings& WithKlvDataPids(const char* value) { SetKlvDataPids(value); return *this;} 1235 1236 1237 /** 1238 * If set to passthrough, Nielsen inaudible tones for media tracking will be 1239 * detected in the input audio and an equivalent ID3 tag will be inserted in the 1240 * output. 1241 */ GetNielsenId3Behavior()1242 inline const M2tsNielsenId3Behavior& GetNielsenId3Behavior() const{ return m_nielsenId3Behavior; } 1243 1244 /** 1245 * If set to passthrough, Nielsen inaudible tones for media tracking will be 1246 * detected in the input audio and an equivalent ID3 tag will be inserted in the 1247 * output. 1248 */ NielsenId3BehaviorHasBeenSet()1249 inline bool NielsenId3BehaviorHasBeenSet() const { return m_nielsenId3BehaviorHasBeenSet; } 1250 1251 /** 1252 * If set to passthrough, Nielsen inaudible tones for media tracking will be 1253 * detected in the input audio and an equivalent ID3 tag will be inserted in the 1254 * output. 1255 */ SetNielsenId3Behavior(const M2tsNielsenId3Behavior & value)1256 inline void SetNielsenId3Behavior(const M2tsNielsenId3Behavior& value) { m_nielsenId3BehaviorHasBeenSet = true; m_nielsenId3Behavior = value; } 1257 1258 /** 1259 * If set to passthrough, Nielsen inaudible tones for media tracking will be 1260 * detected in the input audio and an equivalent ID3 tag will be inserted in the 1261 * output. 1262 */ SetNielsenId3Behavior(M2tsNielsenId3Behavior && value)1263 inline void SetNielsenId3Behavior(M2tsNielsenId3Behavior&& value) { m_nielsenId3BehaviorHasBeenSet = true; m_nielsenId3Behavior = std::move(value); } 1264 1265 /** 1266 * If set to passthrough, Nielsen inaudible tones for media tracking will be 1267 * detected in the input audio and an equivalent ID3 tag will be inserted in the 1268 * output. 1269 */ WithNielsenId3Behavior(const M2tsNielsenId3Behavior & value)1270 inline M2tsSettings& WithNielsenId3Behavior(const M2tsNielsenId3Behavior& value) { SetNielsenId3Behavior(value); return *this;} 1271 1272 /** 1273 * If set to passthrough, Nielsen inaudible tones for media tracking will be 1274 * detected in the input audio and an equivalent ID3 tag will be inserted in the 1275 * output. 1276 */ WithNielsenId3Behavior(M2tsNielsenId3Behavior && value)1277 inline M2tsSettings& WithNielsenId3Behavior(M2tsNielsenId3Behavior&& value) { SetNielsenId3Behavior(std::move(value)); return *this;} 1278 1279 1280 /** 1281 * Value in bits per second of extra null packets to insert into the transport 1282 * stream. This can be used if a downstream encryption system requires periodic 1283 * null packets. 1284 */ GetNullPacketBitrate()1285 inline double GetNullPacketBitrate() const{ return m_nullPacketBitrate; } 1286 1287 /** 1288 * Value in bits per second of extra null packets to insert into the transport 1289 * stream. This can be used if a downstream encryption system requires periodic 1290 * null packets. 1291 */ NullPacketBitrateHasBeenSet()1292 inline bool NullPacketBitrateHasBeenSet() const { return m_nullPacketBitrateHasBeenSet; } 1293 1294 /** 1295 * Value in bits per second of extra null packets to insert into the transport 1296 * stream. This can be used if a downstream encryption system requires periodic 1297 * null packets. 1298 */ SetNullPacketBitrate(double value)1299 inline void SetNullPacketBitrate(double value) { m_nullPacketBitrateHasBeenSet = true; m_nullPacketBitrate = value; } 1300 1301 /** 1302 * Value in bits per second of extra null packets to insert into the transport 1303 * stream. This can be used if a downstream encryption system requires periodic 1304 * null packets. 1305 */ WithNullPacketBitrate(double value)1306 inline M2tsSettings& WithNullPacketBitrate(double value) { SetNullPacketBitrate(value); return *this;} 1307 1308 1309 /** 1310 * The number of milliseconds between instances of this table in the output 1311 * transport stream. Valid values are 0, 10..1000. 1312 */ GetPatInterval()1313 inline int GetPatInterval() const{ return m_patInterval; } 1314 1315 /** 1316 * The number of milliseconds between instances of this table in the output 1317 * transport stream. Valid values are 0, 10..1000. 1318 */ PatIntervalHasBeenSet()1319 inline bool PatIntervalHasBeenSet() const { return m_patIntervalHasBeenSet; } 1320 1321 /** 1322 * The number of milliseconds between instances of this table in the output 1323 * transport stream. Valid values are 0, 10..1000. 1324 */ SetPatInterval(int value)1325 inline void SetPatInterval(int value) { m_patIntervalHasBeenSet = true; m_patInterval = value; } 1326 1327 /** 1328 * The number of milliseconds between instances of this table in the output 1329 * transport stream. Valid values are 0, 10..1000. 1330 */ WithPatInterval(int value)1331 inline M2tsSettings& WithPatInterval(int value) { SetPatInterval(value); return *this;} 1332 1333 1334 /** 1335 * When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for 1336 * every Packetized Elementary Stream (PES) header. This parameter is effective 1337 * only when the PCR PID is the same as the video or audio elementary stream. 1338 */ GetPcrControl()1339 inline const M2tsPcrControl& GetPcrControl() const{ return m_pcrControl; } 1340 1341 /** 1342 * When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for 1343 * every Packetized Elementary Stream (PES) header. This parameter is effective 1344 * only when the PCR PID is the same as the video or audio elementary stream. 1345 */ PcrControlHasBeenSet()1346 inline bool PcrControlHasBeenSet() const { return m_pcrControlHasBeenSet; } 1347 1348 /** 1349 * When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for 1350 * every Packetized Elementary Stream (PES) header. This parameter is effective 1351 * only when the PCR PID is the same as the video or audio elementary stream. 1352 */ SetPcrControl(const M2tsPcrControl & value)1353 inline void SetPcrControl(const M2tsPcrControl& value) { m_pcrControlHasBeenSet = true; m_pcrControl = value; } 1354 1355 /** 1356 * When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for 1357 * every Packetized Elementary Stream (PES) header. This parameter is effective 1358 * only when the PCR PID is the same as the video or audio elementary stream. 1359 */ SetPcrControl(M2tsPcrControl && value)1360 inline void SetPcrControl(M2tsPcrControl&& value) { m_pcrControlHasBeenSet = true; m_pcrControl = std::move(value); } 1361 1362 /** 1363 * When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for 1364 * every Packetized Elementary Stream (PES) header. This parameter is effective 1365 * only when the PCR PID is the same as the video or audio elementary stream. 1366 */ WithPcrControl(const M2tsPcrControl & value)1367 inline M2tsSettings& WithPcrControl(const M2tsPcrControl& value) { SetPcrControl(value); return *this;} 1368 1369 /** 1370 * When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for 1371 * every Packetized Elementary Stream (PES) header. This parameter is effective 1372 * only when the PCR PID is the same as the video or audio elementary stream. 1373 */ WithPcrControl(M2tsPcrControl && value)1374 inline M2tsSettings& WithPcrControl(M2tsPcrControl&& value) { SetPcrControl(std::move(value)); return *this;} 1375 1376 1377 /** 1378 * Maximum time in milliseconds between Program Clock Reference (PCRs) inserted 1379 * into the transport stream. 1380 */ GetPcrPeriod()1381 inline int GetPcrPeriod() const{ return m_pcrPeriod; } 1382 1383 /** 1384 * Maximum time in milliseconds between Program Clock Reference (PCRs) inserted 1385 * into the transport stream. 1386 */ PcrPeriodHasBeenSet()1387 inline bool PcrPeriodHasBeenSet() const { return m_pcrPeriodHasBeenSet; } 1388 1389 /** 1390 * Maximum time in milliseconds between Program Clock Reference (PCRs) inserted 1391 * into the transport stream. 1392 */ SetPcrPeriod(int value)1393 inline void SetPcrPeriod(int value) { m_pcrPeriodHasBeenSet = true; m_pcrPeriod = value; } 1394 1395 /** 1396 * Maximum time in milliseconds between Program Clock Reference (PCRs) inserted 1397 * into the transport stream. 1398 */ WithPcrPeriod(int value)1399 inline M2tsSettings& WithPcrPeriod(int value) { SetPcrPeriod(value); return *this;} 1400 1401 1402 /** 1403 * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport 1404 * stream. When no value is given, the encoder will assign the same value as the 1405 * Video PID. Can be entered as a decimal or hexadecimal value. Valid values are 1406 * 32 (or 0x20)..8182 (or 0x1ff6). 1407 */ GetPcrPid()1408 inline const Aws::String& GetPcrPid() const{ return m_pcrPid; } 1409 1410 /** 1411 * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport 1412 * stream. When no value is given, the encoder will assign the same value as the 1413 * Video PID. Can be entered as a decimal or hexadecimal value. Valid values are 1414 * 32 (or 0x20)..8182 (or 0x1ff6). 1415 */ PcrPidHasBeenSet()1416 inline bool PcrPidHasBeenSet() const { return m_pcrPidHasBeenSet; } 1417 1418 /** 1419 * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport 1420 * stream. When no value is given, the encoder will assign the same value as the 1421 * Video PID. Can be entered as a decimal or hexadecimal value. Valid values are 1422 * 32 (or 0x20)..8182 (or 0x1ff6). 1423 */ SetPcrPid(const Aws::String & value)1424 inline void SetPcrPid(const Aws::String& value) { m_pcrPidHasBeenSet = true; m_pcrPid = value; } 1425 1426 /** 1427 * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport 1428 * stream. When no value is given, the encoder will assign the same value as the 1429 * Video PID. Can be entered as a decimal or hexadecimal value. Valid values are 1430 * 32 (or 0x20)..8182 (or 0x1ff6). 1431 */ SetPcrPid(Aws::String && value)1432 inline void SetPcrPid(Aws::String&& value) { m_pcrPidHasBeenSet = true; m_pcrPid = std::move(value); } 1433 1434 /** 1435 * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport 1436 * stream. When no value is given, the encoder will assign the same value as the 1437 * Video PID. Can be entered as a decimal or hexadecimal value. Valid values are 1438 * 32 (or 0x20)..8182 (or 0x1ff6). 1439 */ SetPcrPid(const char * value)1440 inline void SetPcrPid(const char* value) { m_pcrPidHasBeenSet = true; m_pcrPid.assign(value); } 1441 1442 /** 1443 * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport 1444 * stream. When no value is given, the encoder will assign the same value as the 1445 * Video PID. Can be entered as a decimal or hexadecimal value. Valid values are 1446 * 32 (or 0x20)..8182 (or 0x1ff6). 1447 */ WithPcrPid(const Aws::String & value)1448 inline M2tsSettings& WithPcrPid(const Aws::String& value) { SetPcrPid(value); return *this;} 1449 1450 /** 1451 * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport 1452 * stream. When no value is given, the encoder will assign the same value as the 1453 * Video PID. Can be entered as a decimal or hexadecimal value. Valid values are 1454 * 32 (or 0x20)..8182 (or 0x1ff6). 1455 */ WithPcrPid(Aws::String && value)1456 inline M2tsSettings& WithPcrPid(Aws::String&& value) { SetPcrPid(std::move(value)); return *this;} 1457 1458 /** 1459 * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport 1460 * stream. When no value is given, the encoder will assign the same value as the 1461 * Video PID. Can be entered as a decimal or hexadecimal value. Valid values are 1462 * 32 (or 0x20)..8182 (or 0x1ff6). 1463 */ WithPcrPid(const char * value)1464 inline M2tsSettings& WithPcrPid(const char* value) { SetPcrPid(value); return *this;} 1465 1466 1467 /** 1468 * The number of milliseconds between instances of this table in the output 1469 * transport stream. Valid values are 0, 10..1000. 1470 */ GetPmtInterval()1471 inline int GetPmtInterval() const{ return m_pmtInterval; } 1472 1473 /** 1474 * The number of milliseconds between instances of this table in the output 1475 * transport stream. Valid values are 0, 10..1000. 1476 */ PmtIntervalHasBeenSet()1477 inline bool PmtIntervalHasBeenSet() const { return m_pmtIntervalHasBeenSet; } 1478 1479 /** 1480 * The number of milliseconds between instances of this table in the output 1481 * transport stream. Valid values are 0, 10..1000. 1482 */ SetPmtInterval(int value)1483 inline void SetPmtInterval(int value) { m_pmtIntervalHasBeenSet = true; m_pmtInterval = value; } 1484 1485 /** 1486 * The number of milliseconds between instances of this table in the output 1487 * transport stream. Valid values are 0, 10..1000. 1488 */ WithPmtInterval(int value)1489 inline M2tsSettings& WithPmtInterval(int value) { SetPmtInterval(value); return *this;} 1490 1491 1492 /** 1493 * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. 1494 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 1495 * 0x20)..8182 (or 0x1ff6). 1496 */ GetPmtPid()1497 inline const Aws::String& GetPmtPid() const{ return m_pmtPid; } 1498 1499 /** 1500 * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. 1501 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 1502 * 0x20)..8182 (or 0x1ff6). 1503 */ PmtPidHasBeenSet()1504 inline bool PmtPidHasBeenSet() const { return m_pmtPidHasBeenSet; } 1505 1506 /** 1507 * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. 1508 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 1509 * 0x20)..8182 (or 0x1ff6). 1510 */ SetPmtPid(const Aws::String & value)1511 inline void SetPmtPid(const Aws::String& value) { m_pmtPidHasBeenSet = true; m_pmtPid = value; } 1512 1513 /** 1514 * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. 1515 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 1516 * 0x20)..8182 (or 0x1ff6). 1517 */ SetPmtPid(Aws::String && value)1518 inline void SetPmtPid(Aws::String&& value) { m_pmtPidHasBeenSet = true; m_pmtPid = std::move(value); } 1519 1520 /** 1521 * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. 1522 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 1523 * 0x20)..8182 (or 0x1ff6). 1524 */ SetPmtPid(const char * value)1525 inline void SetPmtPid(const char* value) { m_pmtPidHasBeenSet = true; m_pmtPid.assign(value); } 1526 1527 /** 1528 * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. 1529 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 1530 * 0x20)..8182 (or 0x1ff6). 1531 */ WithPmtPid(const Aws::String & value)1532 inline M2tsSettings& WithPmtPid(const Aws::String& value) { SetPmtPid(value); return *this;} 1533 1534 /** 1535 * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. 1536 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 1537 * 0x20)..8182 (or 0x1ff6). 1538 */ WithPmtPid(Aws::String && value)1539 inline M2tsSettings& WithPmtPid(Aws::String&& value) { SetPmtPid(std::move(value)); return *this;} 1540 1541 /** 1542 * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. 1543 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 1544 * 0x20)..8182 (or 0x1ff6). 1545 */ WithPmtPid(const char * value)1546 inline M2tsSettings& WithPmtPid(const char* value) { SetPmtPid(value); return *this;} 1547 1548 1549 /** 1550 * The value of the program number field in the Program Map Table. 1551 */ GetProgramNum()1552 inline int GetProgramNum() const{ return m_programNum; } 1553 1554 /** 1555 * The value of the program number field in the Program Map Table. 1556 */ ProgramNumHasBeenSet()1557 inline bool ProgramNumHasBeenSet() const { return m_programNumHasBeenSet; } 1558 1559 /** 1560 * The value of the program number field in the Program Map Table. 1561 */ SetProgramNum(int value)1562 inline void SetProgramNum(int value) { m_programNumHasBeenSet = true; m_programNum = value; } 1563 1564 /** 1565 * The value of the program number field in the Program Map Table. 1566 */ WithProgramNum(int value)1567 inline M2tsSettings& WithProgramNum(int value) { SetProgramNum(value); return *this;} 1568 1569 1570 /** 1571 * When vbr, does not insert null packets into transport stream to fill specified 1572 * bitrate. The bitrate setting acts as the maximum bitrate when vbr is set. 1573 */ GetRateMode()1574 inline const M2tsRateMode& GetRateMode() const{ return m_rateMode; } 1575 1576 /** 1577 * When vbr, does not insert null packets into transport stream to fill specified 1578 * bitrate. The bitrate setting acts as the maximum bitrate when vbr is set. 1579 */ RateModeHasBeenSet()1580 inline bool RateModeHasBeenSet() const { return m_rateModeHasBeenSet; } 1581 1582 /** 1583 * When vbr, does not insert null packets into transport stream to fill specified 1584 * bitrate. The bitrate setting acts as the maximum bitrate when vbr is set. 1585 */ SetRateMode(const M2tsRateMode & value)1586 inline void SetRateMode(const M2tsRateMode& value) { m_rateModeHasBeenSet = true; m_rateMode = value; } 1587 1588 /** 1589 * When vbr, does not insert null packets into transport stream to fill specified 1590 * bitrate. The bitrate setting acts as the maximum bitrate when vbr is set. 1591 */ SetRateMode(M2tsRateMode && value)1592 inline void SetRateMode(M2tsRateMode&& value) { m_rateModeHasBeenSet = true; m_rateMode = std::move(value); } 1593 1594 /** 1595 * When vbr, does not insert null packets into transport stream to fill specified 1596 * bitrate. The bitrate setting acts as the maximum bitrate when vbr is set. 1597 */ WithRateMode(const M2tsRateMode & value)1598 inline M2tsSettings& WithRateMode(const M2tsRateMode& value) { SetRateMode(value); return *this;} 1599 1600 /** 1601 * When vbr, does not insert null packets into transport stream to fill specified 1602 * bitrate. The bitrate setting acts as the maximum bitrate when vbr is set. 1603 */ WithRateMode(M2tsRateMode && value)1604 inline M2tsSettings& WithRateMode(M2tsRateMode&& value) { SetRateMode(std::move(value)); return *this;} 1605 1606 1607 /** 1608 * Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple 1609 * values are accepted, and can be entered in ranges and/or by comma separation. 1610 * Can be entered as decimal or hexadecimal values. Each PID specified must be in 1611 * the range of 32 (or 0x20)..8182 (or 0x1ff6). 1612 */ GetScte27Pids()1613 inline const Aws::String& GetScte27Pids() const{ return m_scte27Pids; } 1614 1615 /** 1616 * Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple 1617 * values are accepted, and can be entered in ranges and/or by comma separation. 1618 * Can be entered as decimal or hexadecimal values. Each PID specified must be in 1619 * the range of 32 (or 0x20)..8182 (or 0x1ff6). 1620 */ Scte27PidsHasBeenSet()1621 inline bool Scte27PidsHasBeenSet() const { return m_scte27PidsHasBeenSet; } 1622 1623 /** 1624 * Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple 1625 * values are accepted, and can be entered in ranges and/or by comma separation. 1626 * Can be entered as decimal or hexadecimal values. Each PID specified must be in 1627 * the range of 32 (or 0x20)..8182 (or 0x1ff6). 1628 */ SetScte27Pids(const Aws::String & value)1629 inline void SetScte27Pids(const Aws::String& value) { m_scte27PidsHasBeenSet = true; m_scte27Pids = value; } 1630 1631 /** 1632 * Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple 1633 * values are accepted, and can be entered in ranges and/or by comma separation. 1634 * Can be entered as decimal or hexadecimal values. Each PID specified must be in 1635 * the range of 32 (or 0x20)..8182 (or 0x1ff6). 1636 */ SetScte27Pids(Aws::String && value)1637 inline void SetScte27Pids(Aws::String&& value) { m_scte27PidsHasBeenSet = true; m_scte27Pids = std::move(value); } 1638 1639 /** 1640 * Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple 1641 * values are accepted, and can be entered in ranges and/or by comma separation. 1642 * Can be entered as decimal or hexadecimal values. Each PID specified must be in 1643 * the range of 32 (or 0x20)..8182 (or 0x1ff6). 1644 */ SetScte27Pids(const char * value)1645 inline void SetScte27Pids(const char* value) { m_scte27PidsHasBeenSet = true; m_scte27Pids.assign(value); } 1646 1647 /** 1648 * Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple 1649 * values are accepted, and can be entered in ranges and/or by comma separation. 1650 * Can be entered as decimal or hexadecimal values. Each PID specified must be in 1651 * the range of 32 (or 0x20)..8182 (or 0x1ff6). 1652 */ WithScte27Pids(const Aws::String & value)1653 inline M2tsSettings& WithScte27Pids(const Aws::String& value) { SetScte27Pids(value); return *this;} 1654 1655 /** 1656 * Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple 1657 * values are accepted, and can be entered in ranges and/or by comma separation. 1658 * Can be entered as decimal or hexadecimal values. Each PID specified must be in 1659 * the range of 32 (or 0x20)..8182 (or 0x1ff6). 1660 */ WithScte27Pids(Aws::String && value)1661 inline M2tsSettings& WithScte27Pids(Aws::String&& value) { SetScte27Pids(std::move(value)); return *this;} 1662 1663 /** 1664 * Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple 1665 * values are accepted, and can be entered in ranges and/or by comma separation. 1666 * Can be entered as decimal or hexadecimal values. Each PID specified must be in 1667 * the range of 32 (or 0x20)..8182 (or 0x1ff6). 1668 */ WithScte27Pids(const char * value)1669 inline M2tsSettings& WithScte27Pids(const char* value) { SetScte27Pids(value); return *this;} 1670 1671 1672 /** 1673 * Optionally pass SCTE-35 signals from the input source to this output. 1674 */ GetScte35Control()1675 inline const M2tsScte35Control& GetScte35Control() const{ return m_scte35Control; } 1676 1677 /** 1678 * Optionally pass SCTE-35 signals from the input source to this output. 1679 */ Scte35ControlHasBeenSet()1680 inline bool Scte35ControlHasBeenSet() const { return m_scte35ControlHasBeenSet; } 1681 1682 /** 1683 * Optionally pass SCTE-35 signals from the input source to this output. 1684 */ SetScte35Control(const M2tsScte35Control & value)1685 inline void SetScte35Control(const M2tsScte35Control& value) { m_scte35ControlHasBeenSet = true; m_scte35Control = value; } 1686 1687 /** 1688 * Optionally pass SCTE-35 signals from the input source to this output. 1689 */ SetScte35Control(M2tsScte35Control && value)1690 inline void SetScte35Control(M2tsScte35Control&& value) { m_scte35ControlHasBeenSet = true; m_scte35Control = std::move(value); } 1691 1692 /** 1693 * Optionally pass SCTE-35 signals from the input source to this output. 1694 */ WithScte35Control(const M2tsScte35Control & value)1695 inline M2tsSettings& WithScte35Control(const M2tsScte35Control& value) { SetScte35Control(value); return *this;} 1696 1697 /** 1698 * Optionally pass SCTE-35 signals from the input source to this output. 1699 */ WithScte35Control(M2tsScte35Control && value)1700 inline M2tsSettings& WithScte35Control(M2tsScte35Control&& value) { SetScte35Control(std::move(value)); return *this;} 1701 1702 1703 /** 1704 * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be 1705 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 1706 * (or 0x1ff6). 1707 */ GetScte35Pid()1708 inline const Aws::String& GetScte35Pid() const{ return m_scte35Pid; } 1709 1710 /** 1711 * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be 1712 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 1713 * (or 0x1ff6). 1714 */ Scte35PidHasBeenSet()1715 inline bool Scte35PidHasBeenSet() const { return m_scte35PidHasBeenSet; } 1716 1717 /** 1718 * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be 1719 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 1720 * (or 0x1ff6). 1721 */ SetScte35Pid(const Aws::String & value)1722 inline void SetScte35Pid(const Aws::String& value) { m_scte35PidHasBeenSet = true; m_scte35Pid = value; } 1723 1724 /** 1725 * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be 1726 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 1727 * (or 0x1ff6). 1728 */ SetScte35Pid(Aws::String && value)1729 inline void SetScte35Pid(Aws::String&& value) { m_scte35PidHasBeenSet = true; m_scte35Pid = std::move(value); } 1730 1731 /** 1732 * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be 1733 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 1734 * (or 0x1ff6). 1735 */ SetScte35Pid(const char * value)1736 inline void SetScte35Pid(const char* value) { m_scte35PidHasBeenSet = true; m_scte35Pid.assign(value); } 1737 1738 /** 1739 * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be 1740 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 1741 * (or 0x1ff6). 1742 */ WithScte35Pid(const Aws::String & value)1743 inline M2tsSettings& WithScte35Pid(const Aws::String& value) { SetScte35Pid(value); return *this;} 1744 1745 /** 1746 * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be 1747 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 1748 * (or 0x1ff6). 1749 */ WithScte35Pid(Aws::String && value)1750 inline M2tsSettings& WithScte35Pid(Aws::String&& value) { SetScte35Pid(std::move(value)); return *this;} 1751 1752 /** 1753 * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be 1754 * entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 1755 * (or 0x1ff6). 1756 */ WithScte35Pid(const char * value)1757 inline M2tsSettings& WithScte35Pid(const char* value) { SetScte35Pid(value); return *this;} 1758 1759 1760 /** 1761 * Inserts segmentation markers at each segmentationTime period. raiSegstart sets 1762 * the Random Access Indicator bit in the adaptation field. raiAdapt sets the RAI 1763 * bit and adds the current timecode in the private data bytes. psiSegstart inserts 1764 * PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point 1765 * information to the adaptation field as per OpenCable specification 1766 * OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to the 1767 * adaptation field using a legacy proprietary format. 1768 */ GetSegmentationMarkers()1769 inline const M2tsSegmentationMarkers& GetSegmentationMarkers() const{ return m_segmentationMarkers; } 1770 1771 /** 1772 * Inserts segmentation markers at each segmentationTime period. raiSegstart sets 1773 * the Random Access Indicator bit in the adaptation field. raiAdapt sets the RAI 1774 * bit and adds the current timecode in the private data bytes. psiSegstart inserts 1775 * PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point 1776 * information to the adaptation field as per OpenCable specification 1777 * OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to the 1778 * adaptation field using a legacy proprietary format. 1779 */ SegmentationMarkersHasBeenSet()1780 inline bool SegmentationMarkersHasBeenSet() const { return m_segmentationMarkersHasBeenSet; } 1781 1782 /** 1783 * Inserts segmentation markers at each segmentationTime period. raiSegstart sets 1784 * the Random Access Indicator bit in the adaptation field. raiAdapt sets the RAI 1785 * bit and adds the current timecode in the private data bytes. psiSegstart inserts 1786 * PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point 1787 * information to the adaptation field as per OpenCable specification 1788 * OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to the 1789 * adaptation field using a legacy proprietary format. 1790 */ SetSegmentationMarkers(const M2tsSegmentationMarkers & value)1791 inline void SetSegmentationMarkers(const M2tsSegmentationMarkers& value) { m_segmentationMarkersHasBeenSet = true; m_segmentationMarkers = value; } 1792 1793 /** 1794 * Inserts segmentation markers at each segmentationTime period. raiSegstart sets 1795 * the Random Access Indicator bit in the adaptation field. raiAdapt sets the RAI 1796 * bit and adds the current timecode in the private data bytes. psiSegstart inserts 1797 * PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point 1798 * information to the adaptation field as per OpenCable specification 1799 * OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to the 1800 * adaptation field using a legacy proprietary format. 1801 */ SetSegmentationMarkers(M2tsSegmentationMarkers && value)1802 inline void SetSegmentationMarkers(M2tsSegmentationMarkers&& value) { m_segmentationMarkersHasBeenSet = true; m_segmentationMarkers = std::move(value); } 1803 1804 /** 1805 * Inserts segmentation markers at each segmentationTime period. raiSegstart sets 1806 * the Random Access Indicator bit in the adaptation field. raiAdapt sets the RAI 1807 * bit and adds the current timecode in the private data bytes. psiSegstart inserts 1808 * PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point 1809 * information to the adaptation field as per OpenCable specification 1810 * OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to the 1811 * adaptation field using a legacy proprietary format. 1812 */ WithSegmentationMarkers(const M2tsSegmentationMarkers & value)1813 inline M2tsSettings& WithSegmentationMarkers(const M2tsSegmentationMarkers& value) { SetSegmentationMarkers(value); return *this;} 1814 1815 /** 1816 * Inserts segmentation markers at each segmentationTime period. raiSegstart sets 1817 * the Random Access Indicator bit in the adaptation field. raiAdapt sets the RAI 1818 * bit and adds the current timecode in the private data bytes. psiSegstart inserts 1819 * PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point 1820 * information to the adaptation field as per OpenCable specification 1821 * OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to the 1822 * adaptation field using a legacy proprietary format. 1823 */ WithSegmentationMarkers(M2tsSegmentationMarkers && value)1824 inline M2tsSettings& WithSegmentationMarkers(M2tsSegmentationMarkers&& value) { SetSegmentationMarkers(std::move(value)); return *this;} 1825 1826 1827 /** 1828 * The segmentation style parameter controls how segmentation markers are inserted 1829 * into the transport stream. With avails, it is possible that segments may be 1830 * truncated, which can influence where future segmentation markers are 1831 * inserted. 1832 1833 When a segmentation style of "resetCadence" is selected and a segment 1834 * is truncated due to an avail, we will reset the segmentation cadence. This means 1835 * the subsequent segment will have a duration of $segmentationTime seconds. 1836 1837 When 1838 * a segmentation style of "maintainCadence" is selected and a segment is truncated 1839 * due to an avail, we will not reset the segmentation cadence. This means the 1840 * subsequent segment will likely be truncated as well. However, all segments after 1841 * that will have a duration of $segmentationTime seconds. Note that EBP lookahead 1842 * is a slight exception to this rule. 1843 */ GetSegmentationStyle()1844 inline const M2tsSegmentationStyle& GetSegmentationStyle() const{ return m_segmentationStyle; } 1845 1846 /** 1847 * The segmentation style parameter controls how segmentation markers are inserted 1848 * into the transport stream. With avails, it is possible that segments may be 1849 * truncated, which can influence where future segmentation markers are 1850 * inserted. 1851 1852 When a segmentation style of "resetCadence" is selected and a segment 1853 * is truncated due to an avail, we will reset the segmentation cadence. This means 1854 * the subsequent segment will have a duration of $segmentationTime seconds. 1855 1856 When 1857 * a segmentation style of "maintainCadence" is selected and a segment is truncated 1858 * due to an avail, we will not reset the segmentation cadence. This means the 1859 * subsequent segment will likely be truncated as well. However, all segments after 1860 * that will have a duration of $segmentationTime seconds. Note that EBP lookahead 1861 * is a slight exception to this rule. 1862 */ SegmentationStyleHasBeenSet()1863 inline bool SegmentationStyleHasBeenSet() const { return m_segmentationStyleHasBeenSet; } 1864 1865 /** 1866 * The segmentation style parameter controls how segmentation markers are inserted 1867 * into the transport stream. With avails, it is possible that segments may be 1868 * truncated, which can influence where future segmentation markers are 1869 * inserted. 1870 1871 When a segmentation style of "resetCadence" is selected and a segment 1872 * is truncated due to an avail, we will reset the segmentation cadence. This means 1873 * the subsequent segment will have a duration of $segmentationTime seconds. 1874 1875 When 1876 * a segmentation style of "maintainCadence" is selected and a segment is truncated 1877 * due to an avail, we will not reset the segmentation cadence. This means the 1878 * subsequent segment will likely be truncated as well. However, all segments after 1879 * that will have a duration of $segmentationTime seconds. Note that EBP lookahead 1880 * is a slight exception to this rule. 1881 */ SetSegmentationStyle(const M2tsSegmentationStyle & value)1882 inline void SetSegmentationStyle(const M2tsSegmentationStyle& value) { m_segmentationStyleHasBeenSet = true; m_segmentationStyle = value; } 1883 1884 /** 1885 * The segmentation style parameter controls how segmentation markers are inserted 1886 * into the transport stream. With avails, it is possible that segments may be 1887 * truncated, which can influence where future segmentation markers are 1888 * inserted. 1889 1890 When a segmentation style of "resetCadence" is selected and a segment 1891 * is truncated due to an avail, we will reset the segmentation cadence. This means 1892 * the subsequent segment will have a duration of $segmentationTime seconds. 1893 1894 When 1895 * a segmentation style of "maintainCadence" is selected and a segment is truncated 1896 * due to an avail, we will not reset the segmentation cadence. This means the 1897 * subsequent segment will likely be truncated as well. However, all segments after 1898 * that will have a duration of $segmentationTime seconds. Note that EBP lookahead 1899 * is a slight exception to this rule. 1900 */ SetSegmentationStyle(M2tsSegmentationStyle && value)1901 inline void SetSegmentationStyle(M2tsSegmentationStyle&& value) { m_segmentationStyleHasBeenSet = true; m_segmentationStyle = std::move(value); } 1902 1903 /** 1904 * The segmentation style parameter controls how segmentation markers are inserted 1905 * into the transport stream. With avails, it is possible that segments may be 1906 * truncated, which can influence where future segmentation markers are 1907 * inserted. 1908 1909 When a segmentation style of "resetCadence" is selected and a segment 1910 * is truncated due to an avail, we will reset the segmentation cadence. This means 1911 * the subsequent segment will have a duration of $segmentationTime seconds. 1912 1913 When 1914 * a segmentation style of "maintainCadence" is selected and a segment is truncated 1915 * due to an avail, we will not reset the segmentation cadence. This means the 1916 * subsequent segment will likely be truncated as well. However, all segments after 1917 * that will have a duration of $segmentationTime seconds. Note that EBP lookahead 1918 * is a slight exception to this rule. 1919 */ WithSegmentationStyle(const M2tsSegmentationStyle & value)1920 inline M2tsSettings& WithSegmentationStyle(const M2tsSegmentationStyle& value) { SetSegmentationStyle(value); return *this;} 1921 1922 /** 1923 * The segmentation style parameter controls how segmentation markers are inserted 1924 * into the transport stream. With avails, it is possible that segments may be 1925 * truncated, which can influence where future segmentation markers are 1926 * inserted. 1927 1928 When a segmentation style of "resetCadence" is selected and a segment 1929 * is truncated due to an avail, we will reset the segmentation cadence. This means 1930 * the subsequent segment will have a duration of $segmentationTime seconds. 1931 1932 When 1933 * a segmentation style of "maintainCadence" is selected and a segment is truncated 1934 * due to an avail, we will not reset the segmentation cadence. This means the 1935 * subsequent segment will likely be truncated as well. However, all segments after 1936 * that will have a duration of $segmentationTime seconds. Note that EBP lookahead 1937 * is a slight exception to this rule. 1938 */ WithSegmentationStyle(M2tsSegmentationStyle && value)1939 inline M2tsSettings& WithSegmentationStyle(M2tsSegmentationStyle&& value) { SetSegmentationStyle(std::move(value)); return *this;} 1940 1941 1942 /** 1943 * The length in seconds of each segment. Required unless markers is set to _none_. 1944 */ GetSegmentationTime()1945 inline double GetSegmentationTime() const{ return m_segmentationTime; } 1946 1947 /** 1948 * The length in seconds of each segment. Required unless markers is set to _none_. 1949 */ SegmentationTimeHasBeenSet()1950 inline bool SegmentationTimeHasBeenSet() const { return m_segmentationTimeHasBeenSet; } 1951 1952 /** 1953 * The length in seconds of each segment. Required unless markers is set to _none_. 1954 */ SetSegmentationTime(double value)1955 inline void SetSegmentationTime(double value) { m_segmentationTimeHasBeenSet = true; m_segmentationTime = value; } 1956 1957 /** 1958 * The length in seconds of each segment. Required unless markers is set to _none_. 1959 */ WithSegmentationTime(double value)1960 inline M2tsSettings& WithSegmentationTime(double value) { SetSegmentationTime(value); return *this;} 1961 1962 1963 /** 1964 * When set to passthrough, timed metadata will be passed through from input to 1965 * output. 1966 */ GetTimedMetadataBehavior()1967 inline const M2tsTimedMetadataBehavior& GetTimedMetadataBehavior() const{ return m_timedMetadataBehavior; } 1968 1969 /** 1970 * When set to passthrough, timed metadata will be passed through from input to 1971 * output. 1972 */ TimedMetadataBehaviorHasBeenSet()1973 inline bool TimedMetadataBehaviorHasBeenSet() const { return m_timedMetadataBehaviorHasBeenSet; } 1974 1975 /** 1976 * When set to passthrough, timed metadata will be passed through from input to 1977 * output. 1978 */ SetTimedMetadataBehavior(const M2tsTimedMetadataBehavior & value)1979 inline void SetTimedMetadataBehavior(const M2tsTimedMetadataBehavior& value) { m_timedMetadataBehaviorHasBeenSet = true; m_timedMetadataBehavior = value; } 1980 1981 /** 1982 * When set to passthrough, timed metadata will be passed through from input to 1983 * output. 1984 */ SetTimedMetadataBehavior(M2tsTimedMetadataBehavior && value)1985 inline void SetTimedMetadataBehavior(M2tsTimedMetadataBehavior&& value) { m_timedMetadataBehaviorHasBeenSet = true; m_timedMetadataBehavior = std::move(value); } 1986 1987 /** 1988 * When set to passthrough, timed metadata will be passed through from input to 1989 * output. 1990 */ WithTimedMetadataBehavior(const M2tsTimedMetadataBehavior & value)1991 inline M2tsSettings& WithTimedMetadataBehavior(const M2tsTimedMetadataBehavior& value) { SetTimedMetadataBehavior(value); return *this;} 1992 1993 /** 1994 * When set to passthrough, timed metadata will be passed through from input to 1995 * output. 1996 */ WithTimedMetadataBehavior(M2tsTimedMetadataBehavior && value)1997 inline M2tsSettings& WithTimedMetadataBehavior(M2tsTimedMetadataBehavior&& value) { SetTimedMetadataBehavior(std::move(value)); return *this;} 1998 1999 2000 /** 2001 * Packet Identifier (PID) of the timed metadata stream in the transport stream. 2002 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 2003 * 0x20)..8182 (or 0x1ff6). 2004 */ GetTimedMetadataPid()2005 inline const Aws::String& GetTimedMetadataPid() const{ return m_timedMetadataPid; } 2006 2007 /** 2008 * Packet Identifier (PID) of the timed metadata stream in the transport stream. 2009 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 2010 * 0x20)..8182 (or 0x1ff6). 2011 */ TimedMetadataPidHasBeenSet()2012 inline bool TimedMetadataPidHasBeenSet() const { return m_timedMetadataPidHasBeenSet; } 2013 2014 /** 2015 * Packet Identifier (PID) of the timed metadata stream in the transport stream. 2016 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 2017 * 0x20)..8182 (or 0x1ff6). 2018 */ SetTimedMetadataPid(const Aws::String & value)2019 inline void SetTimedMetadataPid(const Aws::String& value) { m_timedMetadataPidHasBeenSet = true; m_timedMetadataPid = value; } 2020 2021 /** 2022 * Packet Identifier (PID) of the timed metadata stream in the transport stream. 2023 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 2024 * 0x20)..8182 (or 0x1ff6). 2025 */ SetTimedMetadataPid(Aws::String && value)2026 inline void SetTimedMetadataPid(Aws::String&& value) { m_timedMetadataPidHasBeenSet = true; m_timedMetadataPid = std::move(value); } 2027 2028 /** 2029 * Packet Identifier (PID) of the timed metadata stream in the transport stream. 2030 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 2031 * 0x20)..8182 (or 0x1ff6). 2032 */ SetTimedMetadataPid(const char * value)2033 inline void SetTimedMetadataPid(const char* value) { m_timedMetadataPidHasBeenSet = true; m_timedMetadataPid.assign(value); } 2034 2035 /** 2036 * Packet Identifier (PID) of the timed metadata stream in the transport stream. 2037 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 2038 * 0x20)..8182 (or 0x1ff6). 2039 */ WithTimedMetadataPid(const Aws::String & value)2040 inline M2tsSettings& WithTimedMetadataPid(const Aws::String& value) { SetTimedMetadataPid(value); return *this;} 2041 2042 /** 2043 * Packet Identifier (PID) of the timed metadata stream in the transport stream. 2044 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 2045 * 0x20)..8182 (or 0x1ff6). 2046 */ WithTimedMetadataPid(Aws::String && value)2047 inline M2tsSettings& WithTimedMetadataPid(Aws::String&& value) { SetTimedMetadataPid(std::move(value)); return *this;} 2048 2049 /** 2050 * Packet Identifier (PID) of the timed metadata stream in the transport stream. 2051 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 2052 * 0x20)..8182 (or 0x1ff6). 2053 */ WithTimedMetadataPid(const char * value)2054 inline M2tsSettings& WithTimedMetadataPid(const char* value) { SetTimedMetadataPid(value); return *this;} 2055 2056 2057 /** 2058 * The value of the transport stream ID field in the Program Map Table. 2059 */ GetTransportStreamId()2060 inline int GetTransportStreamId() const{ return m_transportStreamId; } 2061 2062 /** 2063 * The value of the transport stream ID field in the Program Map Table. 2064 */ TransportStreamIdHasBeenSet()2065 inline bool TransportStreamIdHasBeenSet() const { return m_transportStreamIdHasBeenSet; } 2066 2067 /** 2068 * The value of the transport stream ID field in the Program Map Table. 2069 */ SetTransportStreamId(int value)2070 inline void SetTransportStreamId(int value) { m_transportStreamIdHasBeenSet = true; m_transportStreamId = value; } 2071 2072 /** 2073 * The value of the transport stream ID field in the Program Map Table. 2074 */ WithTransportStreamId(int value)2075 inline M2tsSettings& WithTransportStreamId(int value) { SetTransportStreamId(value); return *this;} 2076 2077 2078 /** 2079 * Packet Identifier (PID) of the elementary video stream in the transport stream. 2080 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 2081 * 0x20)..8182 (or 0x1ff6). 2082 */ GetVideoPid()2083 inline const Aws::String& GetVideoPid() const{ return m_videoPid; } 2084 2085 /** 2086 * Packet Identifier (PID) of the elementary video stream in the transport stream. 2087 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 2088 * 0x20)..8182 (or 0x1ff6). 2089 */ VideoPidHasBeenSet()2090 inline bool VideoPidHasBeenSet() const { return m_videoPidHasBeenSet; } 2091 2092 /** 2093 * Packet Identifier (PID) of the elementary video stream in the transport stream. 2094 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 2095 * 0x20)..8182 (or 0x1ff6). 2096 */ SetVideoPid(const Aws::String & value)2097 inline void SetVideoPid(const Aws::String& value) { m_videoPidHasBeenSet = true; m_videoPid = value; } 2098 2099 /** 2100 * Packet Identifier (PID) of the elementary video stream in the transport stream. 2101 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 2102 * 0x20)..8182 (or 0x1ff6). 2103 */ SetVideoPid(Aws::String && value)2104 inline void SetVideoPid(Aws::String&& value) { m_videoPidHasBeenSet = true; m_videoPid = std::move(value); } 2105 2106 /** 2107 * Packet Identifier (PID) of the elementary video stream in the transport stream. 2108 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 2109 * 0x20)..8182 (or 0x1ff6). 2110 */ SetVideoPid(const char * value)2111 inline void SetVideoPid(const char* value) { m_videoPidHasBeenSet = true; m_videoPid.assign(value); } 2112 2113 /** 2114 * Packet Identifier (PID) of the elementary video stream in the transport stream. 2115 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 2116 * 0x20)..8182 (or 0x1ff6). 2117 */ WithVideoPid(const Aws::String & value)2118 inline M2tsSettings& WithVideoPid(const Aws::String& value) { SetVideoPid(value); return *this;} 2119 2120 /** 2121 * Packet Identifier (PID) of the elementary video stream in the transport stream. 2122 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 2123 * 0x20)..8182 (or 0x1ff6). 2124 */ WithVideoPid(Aws::String && value)2125 inline M2tsSettings& WithVideoPid(Aws::String&& value) { SetVideoPid(std::move(value)); return *this;} 2126 2127 /** 2128 * Packet Identifier (PID) of the elementary video stream in the transport stream. 2129 * Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 2130 * 0x20)..8182 (or 0x1ff6). 2131 */ WithVideoPid(const char * value)2132 inline M2tsSettings& WithVideoPid(const char* value) { SetVideoPid(value); return *this;} 2133 2134 private: 2135 2136 M2tsAbsentInputAudioBehavior m_absentInputAudioBehavior; 2137 bool m_absentInputAudioBehaviorHasBeenSet; 2138 2139 M2tsArib m_arib; 2140 bool m_aribHasBeenSet; 2141 2142 Aws::String m_aribCaptionsPid; 2143 bool m_aribCaptionsPidHasBeenSet; 2144 2145 M2tsAribCaptionsPidControl m_aribCaptionsPidControl; 2146 bool m_aribCaptionsPidControlHasBeenSet; 2147 2148 M2tsAudioBufferModel m_audioBufferModel; 2149 bool m_audioBufferModelHasBeenSet; 2150 2151 int m_audioFramesPerPes; 2152 bool m_audioFramesPerPesHasBeenSet; 2153 2154 Aws::String m_audioPids; 2155 bool m_audioPidsHasBeenSet; 2156 2157 M2tsAudioStreamType m_audioStreamType; 2158 bool m_audioStreamTypeHasBeenSet; 2159 2160 int m_bitrate; 2161 bool m_bitrateHasBeenSet; 2162 2163 M2tsBufferModel m_bufferModel; 2164 bool m_bufferModelHasBeenSet; 2165 2166 M2tsCcDescriptor m_ccDescriptor; 2167 bool m_ccDescriptorHasBeenSet; 2168 2169 DvbNitSettings m_dvbNitSettings; 2170 bool m_dvbNitSettingsHasBeenSet; 2171 2172 DvbSdtSettings m_dvbSdtSettings; 2173 bool m_dvbSdtSettingsHasBeenSet; 2174 2175 Aws::String m_dvbSubPids; 2176 bool m_dvbSubPidsHasBeenSet; 2177 2178 DvbTdtSettings m_dvbTdtSettings; 2179 bool m_dvbTdtSettingsHasBeenSet; 2180 2181 Aws::String m_dvbTeletextPid; 2182 bool m_dvbTeletextPidHasBeenSet; 2183 2184 M2tsEbifControl m_ebif; 2185 bool m_ebifHasBeenSet; 2186 2187 M2tsAudioInterval m_ebpAudioInterval; 2188 bool m_ebpAudioIntervalHasBeenSet; 2189 2190 int m_ebpLookaheadMs; 2191 bool m_ebpLookaheadMsHasBeenSet; 2192 2193 M2tsEbpPlacement m_ebpPlacement; 2194 bool m_ebpPlacementHasBeenSet; 2195 2196 Aws::String m_ecmPid; 2197 bool m_ecmPidHasBeenSet; 2198 2199 M2tsEsRateInPes m_esRateInPes; 2200 bool m_esRateInPesHasBeenSet; 2201 2202 Aws::String m_etvPlatformPid; 2203 bool m_etvPlatformPidHasBeenSet; 2204 2205 Aws::String m_etvSignalPid; 2206 bool m_etvSignalPidHasBeenSet; 2207 2208 double m_fragmentTime; 2209 bool m_fragmentTimeHasBeenSet; 2210 2211 M2tsKlv m_klv; 2212 bool m_klvHasBeenSet; 2213 2214 Aws::String m_klvDataPids; 2215 bool m_klvDataPidsHasBeenSet; 2216 2217 M2tsNielsenId3Behavior m_nielsenId3Behavior; 2218 bool m_nielsenId3BehaviorHasBeenSet; 2219 2220 double m_nullPacketBitrate; 2221 bool m_nullPacketBitrateHasBeenSet; 2222 2223 int m_patInterval; 2224 bool m_patIntervalHasBeenSet; 2225 2226 M2tsPcrControl m_pcrControl; 2227 bool m_pcrControlHasBeenSet; 2228 2229 int m_pcrPeriod; 2230 bool m_pcrPeriodHasBeenSet; 2231 2232 Aws::String m_pcrPid; 2233 bool m_pcrPidHasBeenSet; 2234 2235 int m_pmtInterval; 2236 bool m_pmtIntervalHasBeenSet; 2237 2238 Aws::String m_pmtPid; 2239 bool m_pmtPidHasBeenSet; 2240 2241 int m_programNum; 2242 bool m_programNumHasBeenSet; 2243 2244 M2tsRateMode m_rateMode; 2245 bool m_rateModeHasBeenSet; 2246 2247 Aws::String m_scte27Pids; 2248 bool m_scte27PidsHasBeenSet; 2249 2250 M2tsScte35Control m_scte35Control; 2251 bool m_scte35ControlHasBeenSet; 2252 2253 Aws::String m_scte35Pid; 2254 bool m_scte35PidHasBeenSet; 2255 2256 M2tsSegmentationMarkers m_segmentationMarkers; 2257 bool m_segmentationMarkersHasBeenSet; 2258 2259 M2tsSegmentationStyle m_segmentationStyle; 2260 bool m_segmentationStyleHasBeenSet; 2261 2262 double m_segmentationTime; 2263 bool m_segmentationTimeHasBeenSet; 2264 2265 M2tsTimedMetadataBehavior m_timedMetadataBehavior; 2266 bool m_timedMetadataBehaviorHasBeenSet; 2267 2268 Aws::String m_timedMetadataPid; 2269 bool m_timedMetadataPidHasBeenSet; 2270 2271 int m_transportStreamId; 2272 bool m_transportStreamIdHasBeenSet; 2273 2274 Aws::String m_videoPid; 2275 bool m_videoPidHasBeenSet; 2276 }; 2277 2278 } // namespace Model 2279 } // namespace MediaLive 2280 } // namespace Aws 2281