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/Eac3AttenuationControl.h> 9 #include <aws/medialive/model/Eac3BitstreamMode.h> 10 #include <aws/medialive/model/Eac3CodingMode.h> 11 #include <aws/medialive/model/Eac3DcFilter.h> 12 #include <aws/medialive/model/Eac3DrcLine.h> 13 #include <aws/medialive/model/Eac3DrcRf.h> 14 #include <aws/medialive/model/Eac3LfeControl.h> 15 #include <aws/medialive/model/Eac3LfeFilter.h> 16 #include <aws/medialive/model/Eac3MetadataControl.h> 17 #include <aws/medialive/model/Eac3PassthroughControl.h> 18 #include <aws/medialive/model/Eac3PhaseControl.h> 19 #include <aws/medialive/model/Eac3StereoDownmix.h> 20 #include <aws/medialive/model/Eac3SurroundExMode.h> 21 #include <aws/medialive/model/Eac3SurroundMode.h> 22 #include <utility> 23 24 namespace Aws 25 { 26 namespace Utils 27 { 28 namespace Json 29 { 30 class JsonValue; 31 class JsonView; 32 } // namespace Json 33 } // namespace Utils 34 namespace MediaLive 35 { 36 namespace Model 37 { 38 39 /** 40 * Eac3 Settings<p><h3>See Also:</h3> <a 41 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/Eac3Settings">AWS 42 * API Reference</a></p> 43 */ 44 class AWS_MEDIALIVE_API Eac3Settings 45 { 46 public: 47 Eac3Settings(); 48 Eac3Settings(Aws::Utils::Json::JsonView jsonValue); 49 Eac3Settings& operator=(Aws::Utils::Json::JsonView jsonValue); 50 Aws::Utils::Json::JsonValue Jsonize() const; 51 52 53 /** 54 * When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. 55 * Only used for 3/2 coding mode. 56 */ GetAttenuationControl()57 inline const Eac3AttenuationControl& GetAttenuationControl() const{ return m_attenuationControl; } 58 59 /** 60 * When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. 61 * Only used for 3/2 coding mode. 62 */ AttenuationControlHasBeenSet()63 inline bool AttenuationControlHasBeenSet() const { return m_attenuationControlHasBeenSet; } 64 65 /** 66 * When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. 67 * Only used for 3/2 coding mode. 68 */ SetAttenuationControl(const Eac3AttenuationControl & value)69 inline void SetAttenuationControl(const Eac3AttenuationControl& value) { m_attenuationControlHasBeenSet = true; m_attenuationControl = value; } 70 71 /** 72 * When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. 73 * Only used for 3/2 coding mode. 74 */ SetAttenuationControl(Eac3AttenuationControl && value)75 inline void SetAttenuationControl(Eac3AttenuationControl&& value) { m_attenuationControlHasBeenSet = true; m_attenuationControl = std::move(value); } 76 77 /** 78 * When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. 79 * Only used for 3/2 coding mode. 80 */ WithAttenuationControl(const Eac3AttenuationControl & value)81 inline Eac3Settings& WithAttenuationControl(const Eac3AttenuationControl& value) { SetAttenuationControl(value); return *this;} 82 83 /** 84 * When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. 85 * Only used for 3/2 coding mode. 86 */ WithAttenuationControl(Eac3AttenuationControl && value)87 inline Eac3Settings& WithAttenuationControl(Eac3AttenuationControl&& value) { SetAttenuationControl(std::move(value)); return *this;} 88 89 90 /** 91 * Average bitrate in bits/second. Valid bitrates depend on the coding mode. 92 */ GetBitrate()93 inline double GetBitrate() const{ return m_bitrate; } 94 95 /** 96 * Average bitrate in bits/second. Valid bitrates depend on the coding mode. 97 */ BitrateHasBeenSet()98 inline bool BitrateHasBeenSet() const { return m_bitrateHasBeenSet; } 99 100 /** 101 * Average bitrate in bits/second. Valid bitrates depend on the coding mode. 102 */ SetBitrate(double value)103 inline void SetBitrate(double value) { m_bitrateHasBeenSet = true; m_bitrate = value; } 104 105 /** 106 * Average bitrate in bits/second. Valid bitrates depend on the coding mode. 107 */ WithBitrate(double value)108 inline Eac3Settings& WithBitrate(double value) { SetBitrate(value); return *this;} 109 110 111 /** 112 * Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC 113 * A/52-2012 (Annex E) for background on these values. 114 */ GetBitstreamMode()115 inline const Eac3BitstreamMode& GetBitstreamMode() const{ return m_bitstreamMode; } 116 117 /** 118 * Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC 119 * A/52-2012 (Annex E) for background on these values. 120 */ BitstreamModeHasBeenSet()121 inline bool BitstreamModeHasBeenSet() const { return m_bitstreamModeHasBeenSet; } 122 123 /** 124 * Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC 125 * A/52-2012 (Annex E) for background on these values. 126 */ SetBitstreamMode(const Eac3BitstreamMode & value)127 inline void SetBitstreamMode(const Eac3BitstreamMode& value) { m_bitstreamModeHasBeenSet = true; m_bitstreamMode = value; } 128 129 /** 130 * Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC 131 * A/52-2012 (Annex E) for background on these values. 132 */ SetBitstreamMode(Eac3BitstreamMode && value)133 inline void SetBitstreamMode(Eac3BitstreamMode&& value) { m_bitstreamModeHasBeenSet = true; m_bitstreamMode = std::move(value); } 134 135 /** 136 * Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC 137 * A/52-2012 (Annex E) for background on these values. 138 */ WithBitstreamMode(const Eac3BitstreamMode & value)139 inline Eac3Settings& WithBitstreamMode(const Eac3BitstreamMode& value) { SetBitstreamMode(value); return *this;} 140 141 /** 142 * Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC 143 * A/52-2012 (Annex E) for background on these values. 144 */ WithBitstreamMode(Eac3BitstreamMode && value)145 inline Eac3Settings& WithBitstreamMode(Eac3BitstreamMode&& value) { SetBitstreamMode(std::move(value)); return *this;} 146 147 148 /** 149 * Dolby Digital Plus coding mode. Determines number of channels. 150 */ GetCodingMode()151 inline const Eac3CodingMode& GetCodingMode() const{ return m_codingMode; } 152 153 /** 154 * Dolby Digital Plus coding mode. Determines number of channels. 155 */ CodingModeHasBeenSet()156 inline bool CodingModeHasBeenSet() const { return m_codingModeHasBeenSet; } 157 158 /** 159 * Dolby Digital Plus coding mode. Determines number of channels. 160 */ SetCodingMode(const Eac3CodingMode & value)161 inline void SetCodingMode(const Eac3CodingMode& value) { m_codingModeHasBeenSet = true; m_codingMode = value; } 162 163 /** 164 * Dolby Digital Plus coding mode. Determines number of channels. 165 */ SetCodingMode(Eac3CodingMode && value)166 inline void SetCodingMode(Eac3CodingMode&& value) { m_codingModeHasBeenSet = true; m_codingMode = std::move(value); } 167 168 /** 169 * Dolby Digital Plus coding mode. Determines number of channels. 170 */ WithCodingMode(const Eac3CodingMode & value)171 inline Eac3Settings& WithCodingMode(const Eac3CodingMode& value) { SetCodingMode(value); return *this;} 172 173 /** 174 * Dolby Digital Plus coding mode. Determines number of channels. 175 */ WithCodingMode(Eac3CodingMode && value)176 inline Eac3Settings& WithCodingMode(Eac3CodingMode&& value) { SetCodingMode(std::move(value)); return *this;} 177 178 179 /** 180 * When set to enabled, activates a DC highpass filter for all input channels. 181 */ GetDcFilter()182 inline const Eac3DcFilter& GetDcFilter() const{ return m_dcFilter; } 183 184 /** 185 * When set to enabled, activates a DC highpass filter for all input channels. 186 */ DcFilterHasBeenSet()187 inline bool DcFilterHasBeenSet() const { return m_dcFilterHasBeenSet; } 188 189 /** 190 * When set to enabled, activates a DC highpass filter for all input channels. 191 */ SetDcFilter(const Eac3DcFilter & value)192 inline void SetDcFilter(const Eac3DcFilter& value) { m_dcFilterHasBeenSet = true; m_dcFilter = value; } 193 194 /** 195 * When set to enabled, activates a DC highpass filter for all input channels. 196 */ SetDcFilter(Eac3DcFilter && value)197 inline void SetDcFilter(Eac3DcFilter&& value) { m_dcFilterHasBeenSet = true; m_dcFilter = std::move(value); } 198 199 /** 200 * When set to enabled, activates a DC highpass filter for all input channels. 201 */ WithDcFilter(const Eac3DcFilter & value)202 inline Eac3Settings& WithDcFilter(const Eac3DcFilter& value) { SetDcFilter(value); return *this;} 203 204 /** 205 * When set to enabled, activates a DC highpass filter for all input channels. 206 */ WithDcFilter(Eac3DcFilter && value)207 inline Eac3Settings& WithDcFilter(Eac3DcFilter&& value) { SetDcFilter(std::move(value)); return *this;} 208 209 210 /** 211 * Sets the dialnorm for the output. If blank and input audio is Dolby Digital 212 * Plus, dialnorm will be passed through. 213 */ GetDialnorm()214 inline int GetDialnorm() const{ return m_dialnorm; } 215 216 /** 217 * Sets the dialnorm for the output. If blank and input audio is Dolby Digital 218 * Plus, dialnorm will be passed through. 219 */ DialnormHasBeenSet()220 inline bool DialnormHasBeenSet() const { return m_dialnormHasBeenSet; } 221 222 /** 223 * Sets the dialnorm for the output. If blank and input audio is Dolby Digital 224 * Plus, dialnorm will be passed through. 225 */ SetDialnorm(int value)226 inline void SetDialnorm(int value) { m_dialnormHasBeenSet = true; m_dialnorm = value; } 227 228 /** 229 * Sets the dialnorm for the output. If blank and input audio is Dolby Digital 230 * Plus, dialnorm will be passed through. 231 */ WithDialnorm(int value)232 inline Eac3Settings& WithDialnorm(int value) { SetDialnorm(value); return *this;} 233 234 235 /** 236 * Sets the Dolby dynamic range compression profile. 237 */ GetDrcLine()238 inline const Eac3DrcLine& GetDrcLine() const{ return m_drcLine; } 239 240 /** 241 * Sets the Dolby dynamic range compression profile. 242 */ DrcLineHasBeenSet()243 inline bool DrcLineHasBeenSet() const { return m_drcLineHasBeenSet; } 244 245 /** 246 * Sets the Dolby dynamic range compression profile. 247 */ SetDrcLine(const Eac3DrcLine & value)248 inline void SetDrcLine(const Eac3DrcLine& value) { m_drcLineHasBeenSet = true; m_drcLine = value; } 249 250 /** 251 * Sets the Dolby dynamic range compression profile. 252 */ SetDrcLine(Eac3DrcLine && value)253 inline void SetDrcLine(Eac3DrcLine&& value) { m_drcLineHasBeenSet = true; m_drcLine = std::move(value); } 254 255 /** 256 * Sets the Dolby dynamic range compression profile. 257 */ WithDrcLine(const Eac3DrcLine & value)258 inline Eac3Settings& WithDrcLine(const Eac3DrcLine& value) { SetDrcLine(value); return *this;} 259 260 /** 261 * Sets the Dolby dynamic range compression profile. 262 */ WithDrcLine(Eac3DrcLine && value)263 inline Eac3Settings& WithDrcLine(Eac3DrcLine&& value) { SetDrcLine(std::move(value)); return *this;} 264 265 266 /** 267 * Sets the profile for heavy Dolby dynamic range compression, ensures that the 268 * instantaneous signal peaks do not exceed specified levels. 269 */ GetDrcRf()270 inline const Eac3DrcRf& GetDrcRf() const{ return m_drcRf; } 271 272 /** 273 * Sets the profile for heavy Dolby dynamic range compression, ensures that the 274 * instantaneous signal peaks do not exceed specified levels. 275 */ DrcRfHasBeenSet()276 inline bool DrcRfHasBeenSet() const { return m_drcRfHasBeenSet; } 277 278 /** 279 * Sets the profile for heavy Dolby dynamic range compression, ensures that the 280 * instantaneous signal peaks do not exceed specified levels. 281 */ SetDrcRf(const Eac3DrcRf & value)282 inline void SetDrcRf(const Eac3DrcRf& value) { m_drcRfHasBeenSet = true; m_drcRf = value; } 283 284 /** 285 * Sets the profile for heavy Dolby dynamic range compression, ensures that the 286 * instantaneous signal peaks do not exceed specified levels. 287 */ SetDrcRf(Eac3DrcRf && value)288 inline void SetDrcRf(Eac3DrcRf&& value) { m_drcRfHasBeenSet = true; m_drcRf = std::move(value); } 289 290 /** 291 * Sets the profile for heavy Dolby dynamic range compression, ensures that the 292 * instantaneous signal peaks do not exceed specified levels. 293 */ WithDrcRf(const Eac3DrcRf & value)294 inline Eac3Settings& WithDrcRf(const Eac3DrcRf& value) { SetDrcRf(value); return *this;} 295 296 /** 297 * Sets the profile for heavy Dolby dynamic range compression, ensures that the 298 * instantaneous signal peaks do not exceed specified levels. 299 */ WithDrcRf(Eac3DrcRf && value)300 inline Eac3Settings& WithDrcRf(Eac3DrcRf&& value) { SetDrcRf(std::move(value)); return *this;} 301 302 303 /** 304 * When encoding 3/2 audio, setting to lfe enables the LFE channel 305 */ GetLfeControl()306 inline const Eac3LfeControl& GetLfeControl() const{ return m_lfeControl; } 307 308 /** 309 * When encoding 3/2 audio, setting to lfe enables the LFE channel 310 */ LfeControlHasBeenSet()311 inline bool LfeControlHasBeenSet() const { return m_lfeControlHasBeenSet; } 312 313 /** 314 * When encoding 3/2 audio, setting to lfe enables the LFE channel 315 */ SetLfeControl(const Eac3LfeControl & value)316 inline void SetLfeControl(const Eac3LfeControl& value) { m_lfeControlHasBeenSet = true; m_lfeControl = value; } 317 318 /** 319 * When encoding 3/2 audio, setting to lfe enables the LFE channel 320 */ SetLfeControl(Eac3LfeControl && value)321 inline void SetLfeControl(Eac3LfeControl&& value) { m_lfeControlHasBeenSet = true; m_lfeControl = std::move(value); } 322 323 /** 324 * When encoding 3/2 audio, setting to lfe enables the LFE channel 325 */ WithLfeControl(const Eac3LfeControl & value)326 inline Eac3Settings& WithLfeControl(const Eac3LfeControl& value) { SetLfeControl(value); return *this;} 327 328 /** 329 * When encoding 3/2 audio, setting to lfe enables the LFE channel 330 */ WithLfeControl(Eac3LfeControl && value)331 inline Eac3Settings& WithLfeControl(Eac3LfeControl&& value) { SetLfeControl(std::move(value)); return *this;} 332 333 334 /** 335 * When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to 336 * encoding. Only valid with codingMode32 coding mode. 337 */ GetLfeFilter()338 inline const Eac3LfeFilter& GetLfeFilter() const{ return m_lfeFilter; } 339 340 /** 341 * When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to 342 * encoding. Only valid with codingMode32 coding mode. 343 */ LfeFilterHasBeenSet()344 inline bool LfeFilterHasBeenSet() const { return m_lfeFilterHasBeenSet; } 345 346 /** 347 * When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to 348 * encoding. Only valid with codingMode32 coding mode. 349 */ SetLfeFilter(const Eac3LfeFilter & value)350 inline void SetLfeFilter(const Eac3LfeFilter& value) { m_lfeFilterHasBeenSet = true; m_lfeFilter = value; } 351 352 /** 353 * When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to 354 * encoding. Only valid with codingMode32 coding mode. 355 */ SetLfeFilter(Eac3LfeFilter && value)356 inline void SetLfeFilter(Eac3LfeFilter&& value) { m_lfeFilterHasBeenSet = true; m_lfeFilter = std::move(value); } 357 358 /** 359 * When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to 360 * encoding. Only valid with codingMode32 coding mode. 361 */ WithLfeFilter(const Eac3LfeFilter & value)362 inline Eac3Settings& WithLfeFilter(const Eac3LfeFilter& value) { SetLfeFilter(value); return *this;} 363 364 /** 365 * When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to 366 * encoding. Only valid with codingMode32 coding mode. 367 */ WithLfeFilter(Eac3LfeFilter && value)368 inline Eac3Settings& WithLfeFilter(Eac3LfeFilter&& value) { SetLfeFilter(std::move(value)); return *this;} 369 370 371 /** 372 * Left only/Right only center mix level. Only used for 3/2 coding mode. 373 */ GetLoRoCenterMixLevel()374 inline double GetLoRoCenterMixLevel() const{ return m_loRoCenterMixLevel; } 375 376 /** 377 * Left only/Right only center mix level. Only used for 3/2 coding mode. 378 */ LoRoCenterMixLevelHasBeenSet()379 inline bool LoRoCenterMixLevelHasBeenSet() const { return m_loRoCenterMixLevelHasBeenSet; } 380 381 /** 382 * Left only/Right only center mix level. Only used for 3/2 coding mode. 383 */ SetLoRoCenterMixLevel(double value)384 inline void SetLoRoCenterMixLevel(double value) { m_loRoCenterMixLevelHasBeenSet = true; m_loRoCenterMixLevel = value; } 385 386 /** 387 * Left only/Right only center mix level. Only used for 3/2 coding mode. 388 */ WithLoRoCenterMixLevel(double value)389 inline Eac3Settings& WithLoRoCenterMixLevel(double value) { SetLoRoCenterMixLevel(value); return *this;} 390 391 392 /** 393 * Left only/Right only surround mix level. Only used for 3/2 coding mode. 394 */ GetLoRoSurroundMixLevel()395 inline double GetLoRoSurroundMixLevel() const{ return m_loRoSurroundMixLevel; } 396 397 /** 398 * Left only/Right only surround mix level. Only used for 3/2 coding mode. 399 */ LoRoSurroundMixLevelHasBeenSet()400 inline bool LoRoSurroundMixLevelHasBeenSet() const { return m_loRoSurroundMixLevelHasBeenSet; } 401 402 /** 403 * Left only/Right only surround mix level. Only used for 3/2 coding mode. 404 */ SetLoRoSurroundMixLevel(double value)405 inline void SetLoRoSurroundMixLevel(double value) { m_loRoSurroundMixLevelHasBeenSet = true; m_loRoSurroundMixLevel = value; } 406 407 /** 408 * Left only/Right only surround mix level. Only used for 3/2 coding mode. 409 */ WithLoRoSurroundMixLevel(double value)410 inline Eac3Settings& WithLoRoSurroundMixLevel(double value) { SetLoRoSurroundMixLevel(value); return *this;} 411 412 413 /** 414 * Left total/Right total center mix level. Only used for 3/2 coding mode. 415 */ GetLtRtCenterMixLevel()416 inline double GetLtRtCenterMixLevel() const{ return m_ltRtCenterMixLevel; } 417 418 /** 419 * Left total/Right total center mix level. Only used for 3/2 coding mode. 420 */ LtRtCenterMixLevelHasBeenSet()421 inline bool LtRtCenterMixLevelHasBeenSet() const { return m_ltRtCenterMixLevelHasBeenSet; } 422 423 /** 424 * Left total/Right total center mix level. Only used for 3/2 coding mode. 425 */ SetLtRtCenterMixLevel(double value)426 inline void SetLtRtCenterMixLevel(double value) { m_ltRtCenterMixLevelHasBeenSet = true; m_ltRtCenterMixLevel = value; } 427 428 /** 429 * Left total/Right total center mix level. Only used for 3/2 coding mode. 430 */ WithLtRtCenterMixLevel(double value)431 inline Eac3Settings& WithLtRtCenterMixLevel(double value) { SetLtRtCenterMixLevel(value); return *this;} 432 433 434 /** 435 * Left total/Right total surround mix level. Only used for 3/2 coding mode. 436 */ GetLtRtSurroundMixLevel()437 inline double GetLtRtSurroundMixLevel() const{ return m_ltRtSurroundMixLevel; } 438 439 /** 440 * Left total/Right total surround mix level. Only used for 3/2 coding mode. 441 */ LtRtSurroundMixLevelHasBeenSet()442 inline bool LtRtSurroundMixLevelHasBeenSet() const { return m_ltRtSurroundMixLevelHasBeenSet; } 443 444 /** 445 * Left total/Right total surround mix level. Only used for 3/2 coding mode. 446 */ SetLtRtSurroundMixLevel(double value)447 inline void SetLtRtSurroundMixLevel(double value) { m_ltRtSurroundMixLevelHasBeenSet = true; m_ltRtSurroundMixLevel = value; } 448 449 /** 450 * Left total/Right total surround mix level. Only used for 3/2 coding mode. 451 */ WithLtRtSurroundMixLevel(double value)452 inline Eac3Settings& WithLtRtSurroundMixLevel(double value) { SetLtRtSurroundMixLevel(value); return *this;} 453 454 455 /** 456 * When set to followInput, encoder metadata will be sourced from the DD, DD+, or 457 * DolbyE decoder that supplied this audio data. If audio was not supplied from one 458 * of these streams, then the static metadata settings will be used. 459 */ GetMetadataControl()460 inline const Eac3MetadataControl& GetMetadataControl() const{ return m_metadataControl; } 461 462 /** 463 * When set to followInput, encoder metadata will be sourced from the DD, DD+, or 464 * DolbyE decoder that supplied this audio data. If audio was not supplied from one 465 * of these streams, then the static metadata settings will be used. 466 */ MetadataControlHasBeenSet()467 inline bool MetadataControlHasBeenSet() const { return m_metadataControlHasBeenSet; } 468 469 /** 470 * When set to followInput, encoder metadata will be sourced from the DD, DD+, or 471 * DolbyE decoder that supplied this audio data. If audio was not supplied from one 472 * of these streams, then the static metadata settings will be used. 473 */ SetMetadataControl(const Eac3MetadataControl & value)474 inline void SetMetadataControl(const Eac3MetadataControl& value) { m_metadataControlHasBeenSet = true; m_metadataControl = value; } 475 476 /** 477 * When set to followInput, encoder metadata will be sourced from the DD, DD+, or 478 * DolbyE decoder that supplied this audio data. If audio was not supplied from one 479 * of these streams, then the static metadata settings will be used. 480 */ SetMetadataControl(Eac3MetadataControl && value)481 inline void SetMetadataControl(Eac3MetadataControl&& value) { m_metadataControlHasBeenSet = true; m_metadataControl = std::move(value); } 482 483 /** 484 * When set to followInput, encoder metadata will be sourced from the DD, DD+, or 485 * DolbyE decoder that supplied this audio data. If audio was not supplied from one 486 * of these streams, then the static metadata settings will be used. 487 */ WithMetadataControl(const Eac3MetadataControl & value)488 inline Eac3Settings& WithMetadataControl(const Eac3MetadataControl& value) { SetMetadataControl(value); return *this;} 489 490 /** 491 * When set to followInput, encoder metadata will be sourced from the DD, DD+, or 492 * DolbyE decoder that supplied this audio data. If audio was not supplied from one 493 * of these streams, then the static metadata settings will be used. 494 */ WithMetadataControl(Eac3MetadataControl && value)495 inline Eac3Settings& WithMetadataControl(Eac3MetadataControl&& value) { SetMetadataControl(std::move(value)); return *this;} 496 497 498 /** 499 * When set to whenPossible, input DD+ audio will be passed through if it is 500 * present on the input. This detection is dynamic over the life of the transcode. 501 * Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ 502 * output as the system alternates between passthrough and encoding. 503 */ GetPassthroughControl()504 inline const Eac3PassthroughControl& GetPassthroughControl() const{ return m_passthroughControl; } 505 506 /** 507 * When set to whenPossible, input DD+ audio will be passed through if it is 508 * present on the input. This detection is dynamic over the life of the transcode. 509 * Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ 510 * output as the system alternates between passthrough and encoding. 511 */ PassthroughControlHasBeenSet()512 inline bool PassthroughControlHasBeenSet() const { return m_passthroughControlHasBeenSet; } 513 514 /** 515 * When set to whenPossible, input DD+ audio will be passed through if it is 516 * present on the input. This detection is dynamic over the life of the transcode. 517 * Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ 518 * output as the system alternates between passthrough and encoding. 519 */ SetPassthroughControl(const Eac3PassthroughControl & value)520 inline void SetPassthroughControl(const Eac3PassthroughControl& value) { m_passthroughControlHasBeenSet = true; m_passthroughControl = value; } 521 522 /** 523 * When set to whenPossible, input DD+ audio will be passed through if it is 524 * present on the input. This detection is dynamic over the life of the transcode. 525 * Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ 526 * output as the system alternates between passthrough and encoding. 527 */ SetPassthroughControl(Eac3PassthroughControl && value)528 inline void SetPassthroughControl(Eac3PassthroughControl&& value) { m_passthroughControlHasBeenSet = true; m_passthroughControl = std::move(value); } 529 530 /** 531 * When set to whenPossible, input DD+ audio will be passed through if it is 532 * present on the input. This detection is dynamic over the life of the transcode. 533 * Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ 534 * output as the system alternates between passthrough and encoding. 535 */ WithPassthroughControl(const Eac3PassthroughControl & value)536 inline Eac3Settings& WithPassthroughControl(const Eac3PassthroughControl& value) { SetPassthroughControl(value); return *this;} 537 538 /** 539 * When set to whenPossible, input DD+ audio will be passed through if it is 540 * present on the input. This detection is dynamic over the life of the transcode. 541 * Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ 542 * output as the system alternates between passthrough and encoding. 543 */ WithPassthroughControl(Eac3PassthroughControl && value)544 inline Eac3Settings& WithPassthroughControl(Eac3PassthroughControl&& value) { SetPassthroughControl(std::move(value)); return *this;} 545 546 547 /** 548 * When set to shift90Degrees, applies a 90-degree phase shift to the surround 549 * channels. Only used for 3/2 coding mode. 550 */ GetPhaseControl()551 inline const Eac3PhaseControl& GetPhaseControl() const{ return m_phaseControl; } 552 553 /** 554 * When set to shift90Degrees, applies a 90-degree phase shift to the surround 555 * channels. Only used for 3/2 coding mode. 556 */ PhaseControlHasBeenSet()557 inline bool PhaseControlHasBeenSet() const { return m_phaseControlHasBeenSet; } 558 559 /** 560 * When set to shift90Degrees, applies a 90-degree phase shift to the surround 561 * channels. Only used for 3/2 coding mode. 562 */ SetPhaseControl(const Eac3PhaseControl & value)563 inline void SetPhaseControl(const Eac3PhaseControl& value) { m_phaseControlHasBeenSet = true; m_phaseControl = value; } 564 565 /** 566 * When set to shift90Degrees, applies a 90-degree phase shift to the surround 567 * channels. Only used for 3/2 coding mode. 568 */ SetPhaseControl(Eac3PhaseControl && value)569 inline void SetPhaseControl(Eac3PhaseControl&& value) { m_phaseControlHasBeenSet = true; m_phaseControl = std::move(value); } 570 571 /** 572 * When set to shift90Degrees, applies a 90-degree phase shift to the surround 573 * channels. Only used for 3/2 coding mode. 574 */ WithPhaseControl(const Eac3PhaseControl & value)575 inline Eac3Settings& WithPhaseControl(const Eac3PhaseControl& value) { SetPhaseControl(value); return *this;} 576 577 /** 578 * When set to shift90Degrees, applies a 90-degree phase shift to the surround 579 * channels. Only used for 3/2 coding mode. 580 */ WithPhaseControl(Eac3PhaseControl && value)581 inline Eac3Settings& WithPhaseControl(Eac3PhaseControl&& value) { SetPhaseControl(std::move(value)); return *this;} 582 583 584 /** 585 * Stereo downmix preference. Only used for 3/2 coding mode. 586 */ GetStereoDownmix()587 inline const Eac3StereoDownmix& GetStereoDownmix() const{ return m_stereoDownmix; } 588 589 /** 590 * Stereo downmix preference. Only used for 3/2 coding mode. 591 */ StereoDownmixHasBeenSet()592 inline bool StereoDownmixHasBeenSet() const { return m_stereoDownmixHasBeenSet; } 593 594 /** 595 * Stereo downmix preference. Only used for 3/2 coding mode. 596 */ SetStereoDownmix(const Eac3StereoDownmix & value)597 inline void SetStereoDownmix(const Eac3StereoDownmix& value) { m_stereoDownmixHasBeenSet = true; m_stereoDownmix = value; } 598 599 /** 600 * Stereo downmix preference. Only used for 3/2 coding mode. 601 */ SetStereoDownmix(Eac3StereoDownmix && value)602 inline void SetStereoDownmix(Eac3StereoDownmix&& value) { m_stereoDownmixHasBeenSet = true; m_stereoDownmix = std::move(value); } 603 604 /** 605 * Stereo downmix preference. Only used for 3/2 coding mode. 606 */ WithStereoDownmix(const Eac3StereoDownmix & value)607 inline Eac3Settings& WithStereoDownmix(const Eac3StereoDownmix& value) { SetStereoDownmix(value); return *this;} 608 609 /** 610 * Stereo downmix preference. Only used for 3/2 coding mode. 611 */ WithStereoDownmix(Eac3StereoDownmix && value)612 inline Eac3Settings& WithStereoDownmix(Eac3StereoDownmix&& value) { SetStereoDownmix(std::move(value)); return *this;} 613 614 615 /** 616 * When encoding 3/2 audio, sets whether an extra center back surround channel is 617 * matrix encoded into the left and right surround channels. 618 */ GetSurroundExMode()619 inline const Eac3SurroundExMode& GetSurroundExMode() const{ return m_surroundExMode; } 620 621 /** 622 * When encoding 3/2 audio, sets whether an extra center back surround channel is 623 * matrix encoded into the left and right surround channels. 624 */ SurroundExModeHasBeenSet()625 inline bool SurroundExModeHasBeenSet() const { return m_surroundExModeHasBeenSet; } 626 627 /** 628 * When encoding 3/2 audio, sets whether an extra center back surround channel is 629 * matrix encoded into the left and right surround channels. 630 */ SetSurroundExMode(const Eac3SurroundExMode & value)631 inline void SetSurroundExMode(const Eac3SurroundExMode& value) { m_surroundExModeHasBeenSet = true; m_surroundExMode = value; } 632 633 /** 634 * When encoding 3/2 audio, sets whether an extra center back surround channel is 635 * matrix encoded into the left and right surround channels. 636 */ SetSurroundExMode(Eac3SurroundExMode && value)637 inline void SetSurroundExMode(Eac3SurroundExMode&& value) { m_surroundExModeHasBeenSet = true; m_surroundExMode = std::move(value); } 638 639 /** 640 * When encoding 3/2 audio, sets whether an extra center back surround channel is 641 * matrix encoded into the left and right surround channels. 642 */ WithSurroundExMode(const Eac3SurroundExMode & value)643 inline Eac3Settings& WithSurroundExMode(const Eac3SurroundExMode& value) { SetSurroundExMode(value); return *this;} 644 645 /** 646 * When encoding 3/2 audio, sets whether an extra center back surround channel is 647 * matrix encoded into the left and right surround channels. 648 */ WithSurroundExMode(Eac3SurroundExMode && value)649 inline Eac3Settings& WithSurroundExMode(Eac3SurroundExMode&& value) { SetSurroundExMode(std::move(value)); return *this;} 650 651 652 /** 653 * When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the 654 * two channels. 655 */ GetSurroundMode()656 inline const Eac3SurroundMode& GetSurroundMode() const{ return m_surroundMode; } 657 658 /** 659 * When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the 660 * two channels. 661 */ SurroundModeHasBeenSet()662 inline bool SurroundModeHasBeenSet() const { return m_surroundModeHasBeenSet; } 663 664 /** 665 * When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the 666 * two channels. 667 */ SetSurroundMode(const Eac3SurroundMode & value)668 inline void SetSurroundMode(const Eac3SurroundMode& value) { m_surroundModeHasBeenSet = true; m_surroundMode = value; } 669 670 /** 671 * When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the 672 * two channels. 673 */ SetSurroundMode(Eac3SurroundMode && value)674 inline void SetSurroundMode(Eac3SurroundMode&& value) { m_surroundModeHasBeenSet = true; m_surroundMode = std::move(value); } 675 676 /** 677 * When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the 678 * two channels. 679 */ WithSurroundMode(const Eac3SurroundMode & value)680 inline Eac3Settings& WithSurroundMode(const Eac3SurroundMode& value) { SetSurroundMode(value); return *this;} 681 682 /** 683 * When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the 684 * two channels. 685 */ WithSurroundMode(Eac3SurroundMode && value)686 inline Eac3Settings& WithSurroundMode(Eac3SurroundMode&& value) { SetSurroundMode(std::move(value)); return *this;} 687 688 private: 689 690 Eac3AttenuationControl m_attenuationControl; 691 bool m_attenuationControlHasBeenSet; 692 693 double m_bitrate; 694 bool m_bitrateHasBeenSet; 695 696 Eac3BitstreamMode m_bitstreamMode; 697 bool m_bitstreamModeHasBeenSet; 698 699 Eac3CodingMode m_codingMode; 700 bool m_codingModeHasBeenSet; 701 702 Eac3DcFilter m_dcFilter; 703 bool m_dcFilterHasBeenSet; 704 705 int m_dialnorm; 706 bool m_dialnormHasBeenSet; 707 708 Eac3DrcLine m_drcLine; 709 bool m_drcLineHasBeenSet; 710 711 Eac3DrcRf m_drcRf; 712 bool m_drcRfHasBeenSet; 713 714 Eac3LfeControl m_lfeControl; 715 bool m_lfeControlHasBeenSet; 716 717 Eac3LfeFilter m_lfeFilter; 718 bool m_lfeFilterHasBeenSet; 719 720 double m_loRoCenterMixLevel; 721 bool m_loRoCenterMixLevelHasBeenSet; 722 723 double m_loRoSurroundMixLevel; 724 bool m_loRoSurroundMixLevelHasBeenSet; 725 726 double m_ltRtCenterMixLevel; 727 bool m_ltRtCenterMixLevelHasBeenSet; 728 729 double m_ltRtSurroundMixLevel; 730 bool m_ltRtSurroundMixLevelHasBeenSet; 731 732 Eac3MetadataControl m_metadataControl; 733 bool m_metadataControlHasBeenSet; 734 735 Eac3PassthroughControl m_passthroughControl; 736 bool m_passthroughControlHasBeenSet; 737 738 Eac3PhaseControl m_phaseControl; 739 bool m_phaseControlHasBeenSet; 740 741 Eac3StereoDownmix m_stereoDownmix; 742 bool m_stereoDownmixHasBeenSet; 743 744 Eac3SurroundExMode m_surroundExMode; 745 bool m_surroundExModeHasBeenSet; 746 747 Eac3SurroundMode m_surroundMode; 748 bool m_surroundModeHasBeenSet; 749 }; 750 751 } // namespace Model 752 } // namespace MediaLive 753 } // namespace Aws 754