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 #include <aws/medialive/model/InputLossActionForUdpOut.h> 9 #include <aws/medialive/model/UdpTimedMetadataId3Frame.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace MediaLive 23 { 24 namespace Model 25 { 26 27 /** 28 * Udp Group Settings<p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UdpGroupSettings">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_MEDIALIVE_API UdpGroupSettings 33 { 34 public: 35 UdpGroupSettings(); 36 UdpGroupSettings(Aws::Utils::Json::JsonView jsonValue); 37 UdpGroupSettings& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * Specifies behavior of last resort when input video is lost, and no more backup 43 * inputs are available. When dropTs is selected the entire transport stream will 44 * stop being emitted. When dropProgram is selected the program can be dropped 45 * from the transport stream (and replaced with null packets to meet the TS bitrate 46 * requirement). Or, when emitProgram is chosen the transport stream will continue 47 * to be produced normally with repeat frames, black frames, or slate frames 48 * substituted for the absent input video. 49 */ GetInputLossAction()50 inline const InputLossActionForUdpOut& GetInputLossAction() const{ return m_inputLossAction; } 51 52 /** 53 * Specifies behavior of last resort when input video is lost, and no more backup 54 * inputs are available. When dropTs is selected the entire transport stream will 55 * stop being emitted. When dropProgram is selected the program can be dropped 56 * from the transport stream (and replaced with null packets to meet the TS bitrate 57 * requirement). Or, when emitProgram is chosen the transport stream will continue 58 * to be produced normally with repeat frames, black frames, or slate frames 59 * substituted for the absent input video. 60 */ InputLossActionHasBeenSet()61 inline bool InputLossActionHasBeenSet() const { return m_inputLossActionHasBeenSet; } 62 63 /** 64 * Specifies behavior of last resort when input video is lost, and no more backup 65 * inputs are available. When dropTs is selected the entire transport stream will 66 * stop being emitted. When dropProgram is selected the program can be dropped 67 * from the transport stream (and replaced with null packets to meet the TS bitrate 68 * requirement). Or, when emitProgram is chosen the transport stream will continue 69 * to be produced normally with repeat frames, black frames, or slate frames 70 * substituted for the absent input video. 71 */ SetInputLossAction(const InputLossActionForUdpOut & value)72 inline void SetInputLossAction(const InputLossActionForUdpOut& value) { m_inputLossActionHasBeenSet = true; m_inputLossAction = value; } 73 74 /** 75 * Specifies behavior of last resort when input video is lost, and no more backup 76 * inputs are available. When dropTs is selected the entire transport stream will 77 * stop being emitted. When dropProgram is selected the program can be dropped 78 * from the transport stream (and replaced with null packets to meet the TS bitrate 79 * requirement). Or, when emitProgram is chosen the transport stream will continue 80 * to be produced normally with repeat frames, black frames, or slate frames 81 * substituted for the absent input video. 82 */ SetInputLossAction(InputLossActionForUdpOut && value)83 inline void SetInputLossAction(InputLossActionForUdpOut&& value) { m_inputLossActionHasBeenSet = true; m_inputLossAction = std::move(value); } 84 85 /** 86 * Specifies behavior of last resort when input video is lost, and no more backup 87 * inputs are available. When dropTs is selected the entire transport stream will 88 * stop being emitted. When dropProgram is selected the program can be dropped 89 * from the transport stream (and replaced with null packets to meet the TS bitrate 90 * requirement). Or, when emitProgram is chosen the transport stream will continue 91 * to be produced normally with repeat frames, black frames, or slate frames 92 * substituted for the absent input video. 93 */ WithInputLossAction(const InputLossActionForUdpOut & value)94 inline UdpGroupSettings& WithInputLossAction(const InputLossActionForUdpOut& value) { SetInputLossAction(value); return *this;} 95 96 /** 97 * Specifies behavior of last resort when input video is lost, and no more backup 98 * inputs are available. When dropTs is selected the entire transport stream will 99 * stop being emitted. When dropProgram is selected the program can be dropped 100 * from the transport stream (and replaced with null packets to meet the TS bitrate 101 * requirement). Or, when emitProgram is chosen the transport stream will continue 102 * to be produced normally with repeat frames, black frames, or slate frames 103 * substituted for the absent input video. 104 */ WithInputLossAction(InputLossActionForUdpOut && value)105 inline UdpGroupSettings& WithInputLossAction(InputLossActionForUdpOut&& value) { SetInputLossAction(std::move(value)); return *this;} 106 107 108 /** 109 * Indicates ID3 frame that has the timecode. 110 */ GetTimedMetadataId3Frame()111 inline const UdpTimedMetadataId3Frame& GetTimedMetadataId3Frame() const{ return m_timedMetadataId3Frame; } 112 113 /** 114 * Indicates ID3 frame that has the timecode. 115 */ TimedMetadataId3FrameHasBeenSet()116 inline bool TimedMetadataId3FrameHasBeenSet() const { return m_timedMetadataId3FrameHasBeenSet; } 117 118 /** 119 * Indicates ID3 frame that has the timecode. 120 */ SetTimedMetadataId3Frame(const UdpTimedMetadataId3Frame & value)121 inline void SetTimedMetadataId3Frame(const UdpTimedMetadataId3Frame& value) { m_timedMetadataId3FrameHasBeenSet = true; m_timedMetadataId3Frame = value; } 122 123 /** 124 * Indicates ID3 frame that has the timecode. 125 */ SetTimedMetadataId3Frame(UdpTimedMetadataId3Frame && value)126 inline void SetTimedMetadataId3Frame(UdpTimedMetadataId3Frame&& value) { m_timedMetadataId3FrameHasBeenSet = true; m_timedMetadataId3Frame = std::move(value); } 127 128 /** 129 * Indicates ID3 frame that has the timecode. 130 */ WithTimedMetadataId3Frame(const UdpTimedMetadataId3Frame & value)131 inline UdpGroupSettings& WithTimedMetadataId3Frame(const UdpTimedMetadataId3Frame& value) { SetTimedMetadataId3Frame(value); return *this;} 132 133 /** 134 * Indicates ID3 frame that has the timecode. 135 */ WithTimedMetadataId3Frame(UdpTimedMetadataId3Frame && value)136 inline UdpGroupSettings& WithTimedMetadataId3Frame(UdpTimedMetadataId3Frame&& value) { SetTimedMetadataId3Frame(std::move(value)); return *this;} 137 138 139 /** 140 * Timed Metadata interval in seconds. 141 */ GetTimedMetadataId3Period()142 inline int GetTimedMetadataId3Period() const{ return m_timedMetadataId3Period; } 143 144 /** 145 * Timed Metadata interval in seconds. 146 */ TimedMetadataId3PeriodHasBeenSet()147 inline bool TimedMetadataId3PeriodHasBeenSet() const { return m_timedMetadataId3PeriodHasBeenSet; } 148 149 /** 150 * Timed Metadata interval in seconds. 151 */ SetTimedMetadataId3Period(int value)152 inline void SetTimedMetadataId3Period(int value) { m_timedMetadataId3PeriodHasBeenSet = true; m_timedMetadataId3Period = value; } 153 154 /** 155 * Timed Metadata interval in seconds. 156 */ WithTimedMetadataId3Period(int value)157 inline UdpGroupSettings& WithTimedMetadataId3Period(int value) { SetTimedMetadataId3Period(value); return *this;} 158 159 private: 160 161 InputLossActionForUdpOut m_inputLossAction; 162 bool m_inputLossActionHasBeenSet; 163 164 UdpTimedMetadataId3Frame m_timedMetadataId3Frame; 165 bool m_timedMetadataId3FrameHasBeenSet; 166 167 int m_timedMetadataId3Period; 168 bool m_timedMetadataId3PeriodHasBeenSet; 169 }; 170 171 } // namespace Model 172 } // namespace MediaLive 173 } // namespace Aws 174