/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ElasticTranscoder { namespace Model { /** *

Options associated with your audio codec.

See Also:

AWS * API Reference

*/ class AudioCodecOptions { public: AWS_ELASTICTRANSCODER_API AudioCodecOptions(); AWS_ELASTICTRANSCODER_API AudioCodecOptions(Aws::Utils::Json::JsonView jsonValue); AWS_ELASTICTRANSCODER_API AudioCodecOptions& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ELASTICTRANSCODER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

You can only choose an audio profile when you specify AAC for the value of * Audio:Codec.

Specify the AAC profile for the output file. Elastic * Transcoder supports the following profiles:

  • auto: * If you specify auto, Elastic Transcoder selects the profile based * on the bit rate selected for the output file.

  • * AAC-LC: The most common AAC profile. Use for bit rates larger than * 64 kbps.

  • HE-AAC: Not supported on some older * players and devices. Use for bit rates between 40 and 80 kbps.

  • *

    HE-AACv2: Not supported on some players and devices. Use for * bit rates less than 48 kbps.

All outputs in a * Smooth playlist must have the same value for * Profile.

If you created any presets before AAC * profiles were added, Elastic Transcoder automatically updated your presets to * use AAC-LC. You can change the value as required.

*/ inline const Aws::String& GetProfile() const{ return m_profile; } /** *

You can only choose an audio profile when you specify AAC for the value of * Audio:Codec.

Specify the AAC profile for the output file. Elastic * Transcoder supports the following profiles:

  • auto: * If you specify auto, Elastic Transcoder selects the profile based * on the bit rate selected for the output file.

  • * AAC-LC: The most common AAC profile. Use for bit rates larger than * 64 kbps.

  • HE-AAC: Not supported on some older * players and devices. Use for bit rates between 40 and 80 kbps.

  • *

    HE-AACv2: Not supported on some players and devices. Use for * bit rates less than 48 kbps.

All outputs in a * Smooth playlist must have the same value for * Profile.

If you created any presets before AAC * profiles were added, Elastic Transcoder automatically updated your presets to * use AAC-LC. You can change the value as required.

*/ inline bool ProfileHasBeenSet() const { return m_profileHasBeenSet; } /** *

You can only choose an audio profile when you specify AAC for the value of * Audio:Codec.

Specify the AAC profile for the output file. Elastic * Transcoder supports the following profiles:

  • auto: * If you specify auto, Elastic Transcoder selects the profile based * on the bit rate selected for the output file.

  • * AAC-LC: The most common AAC profile. Use for bit rates larger than * 64 kbps.

  • HE-AAC: Not supported on some older * players and devices. Use for bit rates between 40 and 80 kbps.

  • *

    HE-AACv2: Not supported on some players and devices. Use for * bit rates less than 48 kbps.

All outputs in a * Smooth playlist must have the same value for * Profile.

If you created any presets before AAC * profiles were added, Elastic Transcoder automatically updated your presets to * use AAC-LC. You can change the value as required.

*/ inline void SetProfile(const Aws::String& value) { m_profileHasBeenSet = true; m_profile = value; } /** *

You can only choose an audio profile when you specify AAC for the value of * Audio:Codec.

Specify the AAC profile for the output file. Elastic * Transcoder supports the following profiles:

  • auto: * If you specify auto, Elastic Transcoder selects the profile based * on the bit rate selected for the output file.

  • * AAC-LC: The most common AAC profile. Use for bit rates larger than * 64 kbps.

  • HE-AAC: Not supported on some older * players and devices. Use for bit rates between 40 and 80 kbps.

  • *

    HE-AACv2: Not supported on some players and devices. Use for * bit rates less than 48 kbps.

All outputs in a * Smooth playlist must have the same value for * Profile.

If you created any presets before AAC * profiles were added, Elastic Transcoder automatically updated your presets to * use AAC-LC. You can change the value as required.

*/ inline void SetProfile(Aws::String&& value) { m_profileHasBeenSet = true; m_profile = std::move(value); } /** *

You can only choose an audio profile when you specify AAC for the value of * Audio:Codec.

Specify the AAC profile for the output file. Elastic * Transcoder supports the following profiles:

  • auto: * If you specify auto, Elastic Transcoder selects the profile based * on the bit rate selected for the output file.

  • * AAC-LC: The most common AAC profile. Use for bit rates larger than * 64 kbps.

  • HE-AAC: Not supported on some older * players and devices. Use for bit rates between 40 and 80 kbps.

  • *

    HE-AACv2: Not supported on some players and devices. Use for * bit rates less than 48 kbps.

All outputs in a * Smooth playlist must have the same value for * Profile.

If you created any presets before AAC * profiles were added, Elastic Transcoder automatically updated your presets to * use AAC-LC. You can change the value as required.

*/ inline void SetProfile(const char* value) { m_profileHasBeenSet = true; m_profile.assign(value); } /** *

You can only choose an audio profile when you specify AAC for the value of * Audio:Codec.

Specify the AAC profile for the output file. Elastic * Transcoder supports the following profiles:

  • auto: * If you specify auto, Elastic Transcoder selects the profile based * on the bit rate selected for the output file.

  • * AAC-LC: The most common AAC profile. Use for bit rates larger than * 64 kbps.

  • HE-AAC: Not supported on some older * players and devices. Use for bit rates between 40 and 80 kbps.

  • *

    HE-AACv2: Not supported on some players and devices. Use for * bit rates less than 48 kbps.

All outputs in a * Smooth playlist must have the same value for * Profile.

If you created any presets before AAC * profiles were added, Elastic Transcoder automatically updated your presets to * use AAC-LC. You can change the value as required.

*/ inline AudioCodecOptions& WithProfile(const Aws::String& value) { SetProfile(value); return *this;} /** *

You can only choose an audio profile when you specify AAC for the value of * Audio:Codec.

Specify the AAC profile for the output file. Elastic * Transcoder supports the following profiles:

  • auto: * If you specify auto, Elastic Transcoder selects the profile based * on the bit rate selected for the output file.

  • * AAC-LC: The most common AAC profile. Use for bit rates larger than * 64 kbps.

  • HE-AAC: Not supported on some older * players and devices. Use for bit rates between 40 and 80 kbps.

  • *

    HE-AACv2: Not supported on some players and devices. Use for * bit rates less than 48 kbps.

All outputs in a * Smooth playlist must have the same value for * Profile.

If you created any presets before AAC * profiles were added, Elastic Transcoder automatically updated your presets to * use AAC-LC. You can change the value as required.

*/ inline AudioCodecOptions& WithProfile(Aws::String&& value) { SetProfile(std::move(value)); return *this;} /** *

You can only choose an audio profile when you specify AAC for the value of * Audio:Codec.

Specify the AAC profile for the output file. Elastic * Transcoder supports the following profiles:

  • auto: * If you specify auto, Elastic Transcoder selects the profile based * on the bit rate selected for the output file.

  • * AAC-LC: The most common AAC profile. Use for bit rates larger than * 64 kbps.

  • HE-AAC: Not supported on some older * players and devices. Use for bit rates between 40 and 80 kbps.

  • *

    HE-AACv2: Not supported on some players and devices. Use for * bit rates less than 48 kbps.

All outputs in a * Smooth playlist must have the same value for * Profile.

If you created any presets before AAC * profiles were added, Elastic Transcoder automatically updated your presets to * use AAC-LC. You can change the value as required.

*/ inline AudioCodecOptions& WithProfile(const char* value) { SetProfile(value); return *this;} /** *

You can only choose an audio bit depth when you specify flac or * pcm for the value of Audio:Codec.

The bit depth of a sample * is how many bits of information are included in the audio samples. The higher * the bit depth, the better the audio, but the larger the file.

Valid * values are 16 and 24.

The most common bit depth * is 24.

*/ inline const Aws::String& GetBitDepth() const{ return m_bitDepth; } /** *

You can only choose an audio bit depth when you specify flac or * pcm for the value of Audio:Codec.

The bit depth of a sample * is how many bits of information are included in the audio samples. The higher * the bit depth, the better the audio, but the larger the file.

Valid * values are 16 and 24.

The most common bit depth * is 24.

*/ inline bool BitDepthHasBeenSet() const { return m_bitDepthHasBeenSet; } /** *

You can only choose an audio bit depth when you specify flac or * pcm for the value of Audio:Codec.

The bit depth of a sample * is how many bits of information are included in the audio samples. The higher * the bit depth, the better the audio, but the larger the file.

Valid * values are 16 and 24.

The most common bit depth * is 24.

*/ inline void SetBitDepth(const Aws::String& value) { m_bitDepthHasBeenSet = true; m_bitDepth = value; } /** *

You can only choose an audio bit depth when you specify flac or * pcm for the value of Audio:Codec.

The bit depth of a sample * is how many bits of information are included in the audio samples. The higher * the bit depth, the better the audio, but the larger the file.

Valid * values are 16 and 24.

The most common bit depth * is 24.

*/ inline void SetBitDepth(Aws::String&& value) { m_bitDepthHasBeenSet = true; m_bitDepth = std::move(value); } /** *

You can only choose an audio bit depth when you specify flac or * pcm for the value of Audio:Codec.

The bit depth of a sample * is how many bits of information are included in the audio samples. The higher * the bit depth, the better the audio, but the larger the file.

Valid * values are 16 and 24.

The most common bit depth * is 24.

*/ inline void SetBitDepth(const char* value) { m_bitDepthHasBeenSet = true; m_bitDepth.assign(value); } /** *

You can only choose an audio bit depth when you specify flac or * pcm for the value of Audio:Codec.

The bit depth of a sample * is how many bits of information are included in the audio samples. The higher * the bit depth, the better the audio, but the larger the file.

Valid * values are 16 and 24.

The most common bit depth * is 24.

*/ inline AudioCodecOptions& WithBitDepth(const Aws::String& value) { SetBitDepth(value); return *this;} /** *

You can only choose an audio bit depth when you specify flac or * pcm for the value of Audio:Codec.

The bit depth of a sample * is how many bits of information are included in the audio samples. The higher * the bit depth, the better the audio, but the larger the file.

Valid * values are 16 and 24.

The most common bit depth * is 24.

*/ inline AudioCodecOptions& WithBitDepth(Aws::String&& value) { SetBitDepth(std::move(value)); return *this;} /** *

You can only choose an audio bit depth when you specify flac or * pcm for the value of Audio:Codec.

The bit depth of a sample * is how many bits of information are included in the audio samples. The higher * the bit depth, the better the audio, but the larger the file.

Valid * values are 16 and 24.

The most common bit depth * is 24.

*/ inline AudioCodecOptions& WithBitDepth(const char* value) { SetBitDepth(value); return *this;} /** *

You can only choose an audio bit order when you specify pcm for * the value of Audio:Codec.

The order the bits of a PCM sample are stored * in.

The supported value is LittleEndian.

*/ inline const Aws::String& GetBitOrder() const{ return m_bitOrder; } /** *

You can only choose an audio bit order when you specify pcm for * the value of Audio:Codec.

The order the bits of a PCM sample are stored * in.

The supported value is LittleEndian.

*/ inline bool BitOrderHasBeenSet() const { return m_bitOrderHasBeenSet; } /** *

You can only choose an audio bit order when you specify pcm for * the value of Audio:Codec.

The order the bits of a PCM sample are stored * in.

The supported value is LittleEndian.

*/ inline void SetBitOrder(const Aws::String& value) { m_bitOrderHasBeenSet = true; m_bitOrder = value; } /** *

You can only choose an audio bit order when you specify pcm for * the value of Audio:Codec.

The order the bits of a PCM sample are stored * in.

The supported value is LittleEndian.

*/ inline void SetBitOrder(Aws::String&& value) { m_bitOrderHasBeenSet = true; m_bitOrder = std::move(value); } /** *

You can only choose an audio bit order when you specify pcm for * the value of Audio:Codec.

The order the bits of a PCM sample are stored * in.

The supported value is LittleEndian.

*/ inline void SetBitOrder(const char* value) { m_bitOrderHasBeenSet = true; m_bitOrder.assign(value); } /** *

You can only choose an audio bit order when you specify pcm for * the value of Audio:Codec.

The order the bits of a PCM sample are stored * in.

The supported value is LittleEndian.

*/ inline AudioCodecOptions& WithBitOrder(const Aws::String& value) { SetBitOrder(value); return *this;} /** *

You can only choose an audio bit order when you specify pcm for * the value of Audio:Codec.

The order the bits of a PCM sample are stored * in.

The supported value is LittleEndian.

*/ inline AudioCodecOptions& WithBitOrder(Aws::String&& value) { SetBitOrder(std::move(value)); return *this;} /** *

You can only choose an audio bit order when you specify pcm for * the value of Audio:Codec.

The order the bits of a PCM sample are stored * in.

The supported value is LittleEndian.

*/ inline AudioCodecOptions& WithBitOrder(const char* value) { SetBitOrder(value); return *this;} /** *

You can only choose whether an audio sample is signed when you specify * pcm for the value of Audio:Codec.

Whether audio samples are * represented with negative and positive numbers (signed) or only positive numbers * (unsigned).

The supported value is Signed.

*/ inline const Aws::String& GetSigned() const{ return m_signed; } /** *

You can only choose whether an audio sample is signed when you specify * pcm for the value of Audio:Codec.

Whether audio samples are * represented with negative and positive numbers (signed) or only positive numbers * (unsigned).

The supported value is Signed.

*/ inline bool SignedHasBeenSet() const { return m_signedHasBeenSet; } /** *

You can only choose whether an audio sample is signed when you specify * pcm for the value of Audio:Codec.

Whether audio samples are * represented with negative and positive numbers (signed) or only positive numbers * (unsigned).

The supported value is Signed.

*/ inline void SetSigned(const Aws::String& value) { m_signedHasBeenSet = true; m_signed = value; } /** *

You can only choose whether an audio sample is signed when you specify * pcm for the value of Audio:Codec.

Whether audio samples are * represented with negative and positive numbers (signed) or only positive numbers * (unsigned).

The supported value is Signed.

*/ inline void SetSigned(Aws::String&& value) { m_signedHasBeenSet = true; m_signed = std::move(value); } /** *

You can only choose whether an audio sample is signed when you specify * pcm for the value of Audio:Codec.

Whether audio samples are * represented with negative and positive numbers (signed) or only positive numbers * (unsigned).

The supported value is Signed.

*/ inline void SetSigned(const char* value) { m_signedHasBeenSet = true; m_signed.assign(value); } /** *

You can only choose whether an audio sample is signed when you specify * pcm for the value of Audio:Codec.

Whether audio samples are * represented with negative and positive numbers (signed) or only positive numbers * (unsigned).

The supported value is Signed.

*/ inline AudioCodecOptions& WithSigned(const Aws::String& value) { SetSigned(value); return *this;} /** *

You can only choose whether an audio sample is signed when you specify * pcm for the value of Audio:Codec.

Whether audio samples are * represented with negative and positive numbers (signed) or only positive numbers * (unsigned).

The supported value is Signed.

*/ inline AudioCodecOptions& WithSigned(Aws::String&& value) { SetSigned(std::move(value)); return *this;} /** *

You can only choose whether an audio sample is signed when you specify * pcm for the value of Audio:Codec.

Whether audio samples are * represented with negative and positive numbers (signed) or only positive numbers * (unsigned).

The supported value is Signed.

*/ inline AudioCodecOptions& WithSigned(const char* value) { SetSigned(value); return *this;} private: Aws::String m_profile; bool m_profileHasBeenSet = false; Aws::String m_bitDepth; bool m_bitDepthHasBeenSet = false; Aws::String m_bitOrder; bool m_bitOrderHasBeenSet = false; Aws::String m_signed; bool m_signedHasBeenSet = false; }; } // namespace Model } // namespace ElasticTranscoder } // namespace Aws