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 9 namespace Aws 10 { 11 namespace Utils 12 { 13 namespace Json 14 { 15 class JsonValue; 16 class JsonView; 17 } // namespace Json 18 } // namespace Utils 19 namespace MediaLive 20 { 21 namespace Model 22 { 23 24 /** 25 * Statmux rate control settings<p><h3>See Also:</h3> <a 26 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/MultiplexStatmuxVideoSettings">AWS 27 * API Reference</a></p> 28 */ 29 class AWS_MEDIALIVE_API MultiplexStatmuxVideoSettings 30 { 31 public: 32 MultiplexStatmuxVideoSettings(); 33 MultiplexStatmuxVideoSettings(Aws::Utils::Json::JsonView jsonValue); 34 MultiplexStatmuxVideoSettings& operator=(Aws::Utils::Json::JsonView jsonValue); 35 Aws::Utils::Json::JsonValue Jsonize() const; 36 37 38 /** 39 * Maximum statmux bitrate. 40 */ GetMaximumBitrate()41 inline int GetMaximumBitrate() const{ return m_maximumBitrate; } 42 43 /** 44 * Maximum statmux bitrate. 45 */ MaximumBitrateHasBeenSet()46 inline bool MaximumBitrateHasBeenSet() const { return m_maximumBitrateHasBeenSet; } 47 48 /** 49 * Maximum statmux bitrate. 50 */ SetMaximumBitrate(int value)51 inline void SetMaximumBitrate(int value) { m_maximumBitrateHasBeenSet = true; m_maximumBitrate = value; } 52 53 /** 54 * Maximum statmux bitrate. 55 */ WithMaximumBitrate(int value)56 inline MultiplexStatmuxVideoSettings& WithMaximumBitrate(int value) { SetMaximumBitrate(value); return *this;} 57 58 59 /** 60 * Minimum statmux bitrate. 61 */ GetMinimumBitrate()62 inline int GetMinimumBitrate() const{ return m_minimumBitrate; } 63 64 /** 65 * Minimum statmux bitrate. 66 */ MinimumBitrateHasBeenSet()67 inline bool MinimumBitrateHasBeenSet() const { return m_minimumBitrateHasBeenSet; } 68 69 /** 70 * Minimum statmux bitrate. 71 */ SetMinimumBitrate(int value)72 inline void SetMinimumBitrate(int value) { m_minimumBitrateHasBeenSet = true; m_minimumBitrate = value; } 73 74 /** 75 * Minimum statmux bitrate. 76 */ WithMinimumBitrate(int value)77 inline MultiplexStatmuxVideoSettings& WithMinimumBitrate(int value) { SetMinimumBitrate(value); return *this;} 78 79 80 /** 81 * The purpose of the priority is to use a combination of the\nmultiplex rate 82 * control algorithm and the QVBR capability of the\nencoder to prioritize the 83 * video quality of some channels in a\nmultiplex over others. Channels that have 84 * a higher priority will\nget higher video quality at the expense of the video 85 * quality of\nother channels in the multiplex with lower priority. 86 */ GetPriority()87 inline int GetPriority() const{ return m_priority; } 88 89 /** 90 * The purpose of the priority is to use a combination of the\nmultiplex rate 91 * control algorithm and the QVBR capability of the\nencoder to prioritize the 92 * video quality of some channels in a\nmultiplex over others. Channels that have 93 * a higher priority will\nget higher video quality at the expense of the video 94 * quality of\nother channels in the multiplex with lower priority. 95 */ PriorityHasBeenSet()96 inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; } 97 98 /** 99 * The purpose of the priority is to use a combination of the\nmultiplex rate 100 * control algorithm and the QVBR capability of the\nencoder to prioritize the 101 * video quality of some channels in a\nmultiplex over others. Channels that have 102 * a higher priority will\nget higher video quality at the expense of the video 103 * quality of\nother channels in the multiplex with lower priority. 104 */ SetPriority(int value)105 inline void SetPriority(int value) { m_priorityHasBeenSet = true; m_priority = value; } 106 107 /** 108 * The purpose of the priority is to use a combination of the\nmultiplex rate 109 * control algorithm and the QVBR capability of the\nencoder to prioritize the 110 * video quality of some channels in a\nmultiplex over others. Channels that have 111 * a higher priority will\nget higher video quality at the expense of the video 112 * quality of\nother channels in the multiplex with lower priority. 113 */ WithPriority(int value)114 inline MultiplexStatmuxVideoSettings& WithPriority(int value) { SetPriority(value); return *this;} 115 116 private: 117 118 int m_maximumBitrate; 119 bool m_maximumBitrateHasBeenSet; 120 121 int m_minimumBitrate; 122 bool m_minimumBitrateHasBeenSet; 123 124 int m_priority; 125 bool m_priorityHasBeenSet; 126 }; 127 128 } // namespace Model 129 } // namespace MediaLive 130 } // namespace Aws 131