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

Object specifying the ingest configuration set up by the broadcaster, usually * in an encoder.

See Also:

AWS * API Reference

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

Encoder settings for audio.

*/ inline const AudioConfiguration& GetAudio() const{ return m_audio; } /** *

Encoder settings for audio.

*/ inline bool AudioHasBeenSet() const { return m_audioHasBeenSet; } /** *

Encoder settings for audio.

*/ inline void SetAudio(const AudioConfiguration& value) { m_audioHasBeenSet = true; m_audio = value; } /** *

Encoder settings for audio.

*/ inline void SetAudio(AudioConfiguration&& value) { m_audioHasBeenSet = true; m_audio = std::move(value); } /** *

Encoder settings for audio.

*/ inline IngestConfiguration& WithAudio(const AudioConfiguration& value) { SetAudio(value); return *this;} /** *

Encoder settings for audio.

*/ inline IngestConfiguration& WithAudio(AudioConfiguration&& value) { SetAudio(std::move(value)); return *this;} /** *

Encoder settings for video.

*/ inline const VideoConfiguration& GetVideo() const{ return m_video; } /** *

Encoder settings for video.

*/ inline bool VideoHasBeenSet() const { return m_videoHasBeenSet; } /** *

Encoder settings for video.

*/ inline void SetVideo(const VideoConfiguration& value) { m_videoHasBeenSet = true; m_video = value; } /** *

Encoder settings for video.

*/ inline void SetVideo(VideoConfiguration&& value) { m_videoHasBeenSet = true; m_video = std::move(value); } /** *

Encoder settings for video.

*/ inline IngestConfiguration& WithVideo(const VideoConfiguration& value) { SetVideo(value); return *this;} /** *

Encoder settings for video.

*/ inline IngestConfiguration& WithVideo(VideoConfiguration&& value) { SetVideo(std::move(value)); return *this;} private: AudioConfiguration m_audio; bool m_audioHasBeenSet = false; VideoConfiguration m_video; bool m_videoHasBeenSet = false; }; } // namespace Model } // namespace IVS } // namespace Aws