/** * 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 IVS { namespace Model { /** *

Object specifying a stream’s audio configuration, as set up by the * broadcaster (usually in an encoder). This is part of the * IngestConfiguration object and used for monitoring stream * health.

See Also:

AWS * API Reference

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

Number of audio channels.

*/ inline long long GetChannels() const{ return m_channels; } /** *

Number of audio channels.

*/ inline bool ChannelsHasBeenSet() const { return m_channelsHasBeenSet; } /** *

Number of audio channels.

*/ inline void SetChannels(long long value) { m_channelsHasBeenSet = true; m_channels = value; } /** *

Number of audio channels.

*/ inline AudioConfiguration& WithChannels(long long value) { SetChannels(value); return *this;} /** *

Codec used for the audio encoding.

*/ inline const Aws::String& GetCodec() const{ return m_codec; } /** *

Codec used for the audio encoding.

*/ inline bool CodecHasBeenSet() const { return m_codecHasBeenSet; } /** *

Codec used for the audio encoding.

*/ inline void SetCodec(const Aws::String& value) { m_codecHasBeenSet = true; m_codec = value; } /** *

Codec used for the audio encoding.

*/ inline void SetCodec(Aws::String&& value) { m_codecHasBeenSet = true; m_codec = std::move(value); } /** *

Codec used for the audio encoding.

*/ inline void SetCodec(const char* value) { m_codecHasBeenSet = true; m_codec.assign(value); } /** *

Codec used for the audio encoding.

*/ inline AudioConfiguration& WithCodec(const Aws::String& value) { SetCodec(value); return *this;} /** *

Codec used for the audio encoding.

*/ inline AudioConfiguration& WithCodec(Aws::String&& value) { SetCodec(std::move(value)); return *this;} /** *

Codec used for the audio encoding.

*/ inline AudioConfiguration& WithCodec(const char* value) { SetCodec(value); return *this;} /** *

Number of audio samples recorded per second.

*/ inline long long GetSampleRate() const{ return m_sampleRate; } /** *

Number of audio samples recorded per second.

*/ inline bool SampleRateHasBeenSet() const { return m_sampleRateHasBeenSet; } /** *

Number of audio samples recorded per second.

*/ inline void SetSampleRate(long long value) { m_sampleRateHasBeenSet = true; m_sampleRate = value; } /** *

Number of audio samples recorded per second.

*/ inline AudioConfiguration& WithSampleRate(long long value) { SetSampleRate(value); return *this;} /** *

The expected ingest bitrate (bits per second). This is configured in the * encoder.

*/ inline long long GetTargetBitrate() const{ return m_targetBitrate; } /** *

The expected ingest bitrate (bits per second). This is configured in the * encoder.

*/ inline bool TargetBitrateHasBeenSet() const { return m_targetBitrateHasBeenSet; } /** *

The expected ingest bitrate (bits per second). This is configured in the * encoder.

*/ inline void SetTargetBitrate(long long value) { m_targetBitrateHasBeenSet = true; m_targetBitrate = value; } /** *

The expected ingest bitrate (bits per second). This is configured in the * encoder.

*/ inline AudioConfiguration& WithTargetBitrate(long long value) { SetTargetBitrate(value); return *this;} private: long long m_channels; bool m_channelsHasBeenSet = false; Aws::String m_codec; bool m_codecHasBeenSet = false; long long m_sampleRate; bool m_sampleRateHasBeenSet = false; long long m_targetBitrate; bool m_targetBitrateHasBeenSet = false; }; } // namespace Model } // namespace IVS } // namespace Aws