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    * Placeholder documentation for VideoBlackFailoverSettings<p><h3>See Also:</h3>
26    * <a
27    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/VideoBlackFailoverSettings">AWS
28    * API Reference</a></p>
29    */
30   class AWS_MEDIALIVE_API VideoBlackFailoverSettings
31   {
32   public:
33     VideoBlackFailoverSettings();
34     VideoBlackFailoverSettings(Aws::Utils::Json::JsonView jsonValue);
35     VideoBlackFailoverSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
36     Aws::Utils::Json::JsonValue Jsonize() const;
37 
38 
39     /**
40      * A value used in calculating the threshold below which MediaLive considers a
41      * pixel to be 'black'. For the input to be considered black, every pixel in a
42      * frame must be below this threshold. The threshold is calculated as a percentage
43      * (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black).
44      * Note how the formula works for any color depth. For example, if you set this
45      * field to 0.1 in 10-bit color depth: (1023*0.1=102.3), which means a pixel value
46      * of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth:
47      * (255*0.1=25.5), which means a pixel value of 25 or less is 'black'. The range is
48      * 0.0 to 1.0, with any number of decimal places.
49      */
GetBlackDetectThreshold()50     inline double GetBlackDetectThreshold() const{ return m_blackDetectThreshold; }
51 
52     /**
53      * A value used in calculating the threshold below which MediaLive considers a
54      * pixel to be 'black'. For the input to be considered black, every pixel in a
55      * frame must be below this threshold. The threshold is calculated as a percentage
56      * (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black).
57      * Note how the formula works for any color depth. For example, if you set this
58      * field to 0.1 in 10-bit color depth: (1023*0.1=102.3), which means a pixel value
59      * of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth:
60      * (255*0.1=25.5), which means a pixel value of 25 or less is 'black'. The range is
61      * 0.0 to 1.0, with any number of decimal places.
62      */
BlackDetectThresholdHasBeenSet()63     inline bool BlackDetectThresholdHasBeenSet() const { return m_blackDetectThresholdHasBeenSet; }
64 
65     /**
66      * A value used in calculating the threshold below which MediaLive considers a
67      * pixel to be 'black'. For the input to be considered black, every pixel in a
68      * frame must be below this threshold. The threshold is calculated as a percentage
69      * (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black).
70      * Note how the formula works for any color depth. For example, if you set this
71      * field to 0.1 in 10-bit color depth: (1023*0.1=102.3), which means a pixel value
72      * of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth:
73      * (255*0.1=25.5), which means a pixel value of 25 or less is 'black'. The range is
74      * 0.0 to 1.0, with any number of decimal places.
75      */
SetBlackDetectThreshold(double value)76     inline void SetBlackDetectThreshold(double value) { m_blackDetectThresholdHasBeenSet = true; m_blackDetectThreshold = value; }
77 
78     /**
79      * A value used in calculating the threshold below which MediaLive considers a
80      * pixel to be 'black'. For the input to be considered black, every pixel in a
81      * frame must be below this threshold. The threshold is calculated as a percentage
82      * (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black).
83      * Note how the formula works for any color depth. For example, if you set this
84      * field to 0.1 in 10-bit color depth: (1023*0.1=102.3), which means a pixel value
85      * of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth:
86      * (255*0.1=25.5), which means a pixel value of 25 or less is 'black'. The range is
87      * 0.0 to 1.0, with any number of decimal places.
88      */
WithBlackDetectThreshold(double value)89     inline VideoBlackFailoverSettings& WithBlackDetectThreshold(double value) { SetBlackDetectThreshold(value); return *this;}
90 
91 
92     /**
93      * The amount of time (in milliseconds) that the active input must be black before
94      * automatic input failover occurs.
95      */
GetVideoBlackThresholdMsec()96     inline int GetVideoBlackThresholdMsec() const{ return m_videoBlackThresholdMsec; }
97 
98     /**
99      * The amount of time (in milliseconds) that the active input must be black before
100      * automatic input failover occurs.
101      */
VideoBlackThresholdMsecHasBeenSet()102     inline bool VideoBlackThresholdMsecHasBeenSet() const { return m_videoBlackThresholdMsecHasBeenSet; }
103 
104     /**
105      * The amount of time (in milliseconds) that the active input must be black before
106      * automatic input failover occurs.
107      */
SetVideoBlackThresholdMsec(int value)108     inline void SetVideoBlackThresholdMsec(int value) { m_videoBlackThresholdMsecHasBeenSet = true; m_videoBlackThresholdMsec = value; }
109 
110     /**
111      * The amount of time (in milliseconds) that the active input must be black before
112      * automatic input failover occurs.
113      */
WithVideoBlackThresholdMsec(int value)114     inline VideoBlackFailoverSettings& WithVideoBlackThresholdMsec(int value) { SetVideoBlackThresholdMsec(value); return *this;}
115 
116   private:
117 
118     double m_blackDetectThreshold;
119     bool m_blackDetectThresholdHasBeenSet;
120 
121     int m_videoBlackThresholdMsec;
122     bool m_videoBlackThresholdMsecHasBeenSet;
123   };
124 
125 } // namespace Model
126 } // namespace MediaLive
127 } // namespace Aws
128