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/TimecodeConfigSource.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace MediaLive 22 { 23 namespace Model 24 { 25 26 /** 27 * Timecode Config<p><h3>See Also:</h3> <a 28 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/TimecodeConfig">AWS 29 * API Reference</a></p> 30 */ 31 class AWS_MEDIALIVE_API TimecodeConfig 32 { 33 public: 34 TimecodeConfig(); 35 TimecodeConfig(Aws::Utils::Json::JsonView jsonValue); 36 TimecodeConfig& operator=(Aws::Utils::Json::JsonView jsonValue); 37 Aws::Utils::Json::JsonValue Jsonize() const; 38 39 40 /** 41 * Identifies the source for the timecode that will be associated with the events 42 * outputs. 43 -Embedded (embedded): Initialize the output timecode with timecode from 44 * the the source. If no embedded timecode is detected in the source, the system 45 * falls back to using "Start at 0" (zerobased). 46 -System Clock (systemclock): Use 47 * the UTC time. 48 -Start at 0 (zerobased): The time of the first frame of the event 49 * will be 00:00:00:00. 50 */ GetSource()51 inline const TimecodeConfigSource& GetSource() const{ return m_source; } 52 53 /** 54 * Identifies the source for the timecode that will be associated with the events 55 * outputs. 56 -Embedded (embedded): Initialize the output timecode with timecode from 57 * the the source. If no embedded timecode is detected in the source, the system 58 * falls back to using "Start at 0" (zerobased). 59 -System Clock (systemclock): Use 60 * the UTC time. 61 -Start at 0 (zerobased): The time of the first frame of the event 62 * will be 00:00:00:00. 63 */ SourceHasBeenSet()64 inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } 65 66 /** 67 * Identifies the source for the timecode that will be associated with the events 68 * outputs. 69 -Embedded (embedded): Initialize the output timecode with timecode from 70 * the the source. If no embedded timecode is detected in the source, the system 71 * falls back to using "Start at 0" (zerobased). 72 -System Clock (systemclock): Use 73 * the UTC time. 74 -Start at 0 (zerobased): The time of the first frame of the event 75 * will be 00:00:00:00. 76 */ SetSource(const TimecodeConfigSource & value)77 inline void SetSource(const TimecodeConfigSource& value) { m_sourceHasBeenSet = true; m_source = value; } 78 79 /** 80 * Identifies the source for the timecode that will be associated with the events 81 * outputs. 82 -Embedded (embedded): Initialize the output timecode with timecode from 83 * the the source. If no embedded timecode is detected in the source, the system 84 * falls back to using "Start at 0" (zerobased). 85 -System Clock (systemclock): Use 86 * the UTC time. 87 -Start at 0 (zerobased): The time of the first frame of the event 88 * will be 00:00:00:00. 89 */ SetSource(TimecodeConfigSource && value)90 inline void SetSource(TimecodeConfigSource&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } 91 92 /** 93 * Identifies the source for the timecode that will be associated with the events 94 * outputs. 95 -Embedded (embedded): Initialize the output timecode with timecode from 96 * the the source. If no embedded timecode is detected in the source, the system 97 * falls back to using "Start at 0" (zerobased). 98 -System Clock (systemclock): Use 99 * the UTC time. 100 -Start at 0 (zerobased): The time of the first frame of the event 101 * will be 00:00:00:00. 102 */ WithSource(const TimecodeConfigSource & value)103 inline TimecodeConfig& WithSource(const TimecodeConfigSource& value) { SetSource(value); return *this;} 104 105 /** 106 * Identifies the source for the timecode that will be associated with the events 107 * outputs. 108 -Embedded (embedded): Initialize the output timecode with timecode from 109 * the the source. If no embedded timecode is detected in the source, the system 110 * falls back to using "Start at 0" (zerobased). 111 -System Clock (systemclock): Use 112 * the UTC time. 113 -Start at 0 (zerobased): The time of the first frame of the event 114 * will be 00:00:00:00. 115 */ WithSource(TimecodeConfigSource && value)116 inline TimecodeConfig& WithSource(TimecodeConfigSource&& value) { SetSource(std::move(value)); return *this;} 117 118 119 /** 120 * Threshold in frames beyond which output timecode is resynchronized to the input 121 * timecode. Discrepancies below this threshold are permitted to avoid unnecessary 122 * discontinuities in the output timecode. No timecode sync when this is not 123 * specified. 124 */ GetSyncThreshold()125 inline int GetSyncThreshold() const{ return m_syncThreshold; } 126 127 /** 128 * Threshold in frames beyond which output timecode is resynchronized to the input 129 * timecode. Discrepancies below this threshold are permitted to avoid unnecessary 130 * discontinuities in the output timecode. No timecode sync when this is not 131 * specified. 132 */ SyncThresholdHasBeenSet()133 inline bool SyncThresholdHasBeenSet() const { return m_syncThresholdHasBeenSet; } 134 135 /** 136 * Threshold in frames beyond which output timecode is resynchronized to the input 137 * timecode. Discrepancies below this threshold are permitted to avoid unnecessary 138 * discontinuities in the output timecode. No timecode sync when this is not 139 * specified. 140 */ SetSyncThreshold(int value)141 inline void SetSyncThreshold(int value) { m_syncThresholdHasBeenSet = true; m_syncThreshold = value; } 142 143 /** 144 * Threshold in frames beyond which output timecode is resynchronized to the input 145 * timecode. Discrepancies below this threshold are permitted to avoid unnecessary 146 * discontinuities in the output timecode. No timecode sync when this is not 147 * specified. 148 */ WithSyncThreshold(int value)149 inline TimecodeConfig& WithSyncThreshold(int value) { SetSyncThreshold(value); return *this;} 150 151 private: 152 153 TimecodeConfigSource m_source; 154 bool m_sourceHasBeenSet; 155 156 int m_syncThreshold; 157 bool m_syncThresholdHasBeenSet; 158 }; 159 160 } // namespace Model 161 } // namespace MediaLive 162 } // namespace Aws 163