/** * 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 MediaPackageVod { namespace Model { /** * A StreamSelection configuration.

See Also:

AWS * API Reference

*/ class StreamSelection { public: AWS_MEDIAPACKAGEVOD_API StreamSelection(); AWS_MEDIAPACKAGEVOD_API StreamSelection(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIAPACKAGEVOD_API StreamSelection& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIAPACKAGEVOD_API Aws::Utils::Json::JsonValue Jsonize() const; /** * The maximum video bitrate (bps) to include in output. */ inline int GetMaxVideoBitsPerSecond() const{ return m_maxVideoBitsPerSecond; } /** * The maximum video bitrate (bps) to include in output. */ inline bool MaxVideoBitsPerSecondHasBeenSet() const { return m_maxVideoBitsPerSecondHasBeenSet; } /** * The maximum video bitrate (bps) to include in output. */ inline void SetMaxVideoBitsPerSecond(int value) { m_maxVideoBitsPerSecondHasBeenSet = true; m_maxVideoBitsPerSecond = value; } /** * The maximum video bitrate (bps) to include in output. */ inline StreamSelection& WithMaxVideoBitsPerSecond(int value) { SetMaxVideoBitsPerSecond(value); return *this;} /** * The minimum video bitrate (bps) to include in output. */ inline int GetMinVideoBitsPerSecond() const{ return m_minVideoBitsPerSecond; } /** * The minimum video bitrate (bps) to include in output. */ inline bool MinVideoBitsPerSecondHasBeenSet() const { return m_minVideoBitsPerSecondHasBeenSet; } /** * The minimum video bitrate (bps) to include in output. */ inline void SetMinVideoBitsPerSecond(int value) { m_minVideoBitsPerSecondHasBeenSet = true; m_minVideoBitsPerSecond = value; } /** * The minimum video bitrate (bps) to include in output. */ inline StreamSelection& WithMinVideoBitsPerSecond(int value) { SetMinVideoBitsPerSecond(value); return *this;} /** * A directive that determines the order of streams in the output. */ inline const StreamOrder& GetStreamOrder() const{ return m_streamOrder; } /** * A directive that determines the order of streams in the output. */ inline bool StreamOrderHasBeenSet() const { return m_streamOrderHasBeenSet; } /** * A directive that determines the order of streams in the output. */ inline void SetStreamOrder(const StreamOrder& value) { m_streamOrderHasBeenSet = true; m_streamOrder = value; } /** * A directive that determines the order of streams in the output. */ inline void SetStreamOrder(StreamOrder&& value) { m_streamOrderHasBeenSet = true; m_streamOrder = std::move(value); } /** * A directive that determines the order of streams in the output. */ inline StreamSelection& WithStreamOrder(const StreamOrder& value) { SetStreamOrder(value); return *this;} /** * A directive that determines the order of streams in the output. */ inline StreamSelection& WithStreamOrder(StreamOrder&& value) { SetStreamOrder(std::move(value)); return *this;} private: int m_maxVideoBitsPerSecond; bool m_maxVideoBitsPerSecondHasBeenSet = false; int m_minVideoBitsPerSecond; bool m_minVideoBitsPerSecondHasBeenSet = false; StreamOrder m_streamOrder; bool m_streamOrderHasBeenSet = false; }; } // namespace Model } // namespace MediaPackageVod } // namespace Aws