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/core/utils/memory/stl/AWSString.h>
9 #include <aws/medialive/model/Fmp4NielsenId3Behavior.h>
10 #include <aws/medialive/model/Fmp4TimedMetadataBehavior.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace MediaLive
24 {
25 namespace Model
26 {
27 
28   /**
29    * Fmp4 Hls Settings<p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/Fmp4HlsSettings">AWS
31    * API Reference</a></p>
32    */
33   class AWS_MEDIALIVE_API Fmp4HlsSettings
34   {
35   public:
36     Fmp4HlsSettings();
37     Fmp4HlsSettings(Aws::Utils::Json::JsonView jsonValue);
38     Fmp4HlsSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * List all the audio groups that are used with the video output stream. Input all
44      * the audio GROUP-IDs that are associated to the video, separate by ','.
45      */
GetAudioRenditionSets()46     inline const Aws::String& GetAudioRenditionSets() const{ return m_audioRenditionSets; }
47 
48     /**
49      * List all the audio groups that are used with the video output stream. Input all
50      * the audio GROUP-IDs that are associated to the video, separate by ','.
51      */
AudioRenditionSetsHasBeenSet()52     inline bool AudioRenditionSetsHasBeenSet() const { return m_audioRenditionSetsHasBeenSet; }
53 
54     /**
55      * List all the audio groups that are used with the video output stream. Input all
56      * the audio GROUP-IDs that are associated to the video, separate by ','.
57      */
SetAudioRenditionSets(const Aws::String & value)58     inline void SetAudioRenditionSets(const Aws::String& value) { m_audioRenditionSetsHasBeenSet = true; m_audioRenditionSets = value; }
59 
60     /**
61      * List all the audio groups that are used with the video output stream. Input all
62      * the audio GROUP-IDs that are associated to the video, separate by ','.
63      */
SetAudioRenditionSets(Aws::String && value)64     inline void SetAudioRenditionSets(Aws::String&& value) { m_audioRenditionSetsHasBeenSet = true; m_audioRenditionSets = std::move(value); }
65 
66     /**
67      * List all the audio groups that are used with the video output stream. Input all
68      * the audio GROUP-IDs that are associated to the video, separate by ','.
69      */
SetAudioRenditionSets(const char * value)70     inline void SetAudioRenditionSets(const char* value) { m_audioRenditionSetsHasBeenSet = true; m_audioRenditionSets.assign(value); }
71 
72     /**
73      * List all the audio groups that are used with the video output stream. Input all
74      * the audio GROUP-IDs that are associated to the video, separate by ','.
75      */
WithAudioRenditionSets(const Aws::String & value)76     inline Fmp4HlsSettings& WithAudioRenditionSets(const Aws::String& value) { SetAudioRenditionSets(value); return *this;}
77 
78     /**
79      * List all the audio groups that are used with the video output stream. Input all
80      * the audio GROUP-IDs that are associated to the video, separate by ','.
81      */
WithAudioRenditionSets(Aws::String && value)82     inline Fmp4HlsSettings& WithAudioRenditionSets(Aws::String&& value) { SetAudioRenditionSets(std::move(value)); return *this;}
83 
84     /**
85      * List all the audio groups that are used with the video output stream. Input all
86      * the audio GROUP-IDs that are associated to the video, separate by ','.
87      */
WithAudioRenditionSets(const char * value)88     inline Fmp4HlsSettings& WithAudioRenditionSets(const char* value) { SetAudioRenditionSets(value); return *this;}
89 
90 
91     /**
92      * If set to passthrough, Nielsen inaudible tones for media tracking will be
93      * detected in the input audio and an equivalent ID3 tag will be inserted in the
94      * output.
95      */
GetNielsenId3Behavior()96     inline const Fmp4NielsenId3Behavior& GetNielsenId3Behavior() const{ return m_nielsenId3Behavior; }
97 
98     /**
99      * If set to passthrough, Nielsen inaudible tones for media tracking will be
100      * detected in the input audio and an equivalent ID3 tag will be inserted in the
101      * output.
102      */
NielsenId3BehaviorHasBeenSet()103     inline bool NielsenId3BehaviorHasBeenSet() const { return m_nielsenId3BehaviorHasBeenSet; }
104 
105     /**
106      * If set to passthrough, Nielsen inaudible tones for media tracking will be
107      * detected in the input audio and an equivalent ID3 tag will be inserted in the
108      * output.
109      */
SetNielsenId3Behavior(const Fmp4NielsenId3Behavior & value)110     inline void SetNielsenId3Behavior(const Fmp4NielsenId3Behavior& value) { m_nielsenId3BehaviorHasBeenSet = true; m_nielsenId3Behavior = value; }
111 
112     /**
113      * If set to passthrough, Nielsen inaudible tones for media tracking will be
114      * detected in the input audio and an equivalent ID3 tag will be inserted in the
115      * output.
116      */
SetNielsenId3Behavior(Fmp4NielsenId3Behavior && value)117     inline void SetNielsenId3Behavior(Fmp4NielsenId3Behavior&& value) { m_nielsenId3BehaviorHasBeenSet = true; m_nielsenId3Behavior = std::move(value); }
118 
119     /**
120      * If set to passthrough, Nielsen inaudible tones for media tracking will be
121      * detected in the input audio and an equivalent ID3 tag will be inserted in the
122      * output.
123      */
WithNielsenId3Behavior(const Fmp4NielsenId3Behavior & value)124     inline Fmp4HlsSettings& WithNielsenId3Behavior(const Fmp4NielsenId3Behavior& value) { SetNielsenId3Behavior(value); return *this;}
125 
126     /**
127      * If set to passthrough, Nielsen inaudible tones for media tracking will be
128      * detected in the input audio and an equivalent ID3 tag will be inserted in the
129      * output.
130      */
WithNielsenId3Behavior(Fmp4NielsenId3Behavior && value)131     inline Fmp4HlsSettings& WithNielsenId3Behavior(Fmp4NielsenId3Behavior&& value) { SetNielsenId3Behavior(std::move(value)); return *this;}
132 
133 
134     /**
135      * When set to passthrough, timed metadata is passed through from input to output.
136      */
GetTimedMetadataBehavior()137     inline const Fmp4TimedMetadataBehavior& GetTimedMetadataBehavior() const{ return m_timedMetadataBehavior; }
138 
139     /**
140      * When set to passthrough, timed metadata is passed through from input to output.
141      */
TimedMetadataBehaviorHasBeenSet()142     inline bool TimedMetadataBehaviorHasBeenSet() const { return m_timedMetadataBehaviorHasBeenSet; }
143 
144     /**
145      * When set to passthrough, timed metadata is passed through from input to output.
146      */
SetTimedMetadataBehavior(const Fmp4TimedMetadataBehavior & value)147     inline void SetTimedMetadataBehavior(const Fmp4TimedMetadataBehavior& value) { m_timedMetadataBehaviorHasBeenSet = true; m_timedMetadataBehavior = value; }
148 
149     /**
150      * When set to passthrough, timed metadata is passed through from input to output.
151      */
SetTimedMetadataBehavior(Fmp4TimedMetadataBehavior && value)152     inline void SetTimedMetadataBehavior(Fmp4TimedMetadataBehavior&& value) { m_timedMetadataBehaviorHasBeenSet = true; m_timedMetadataBehavior = std::move(value); }
153 
154     /**
155      * When set to passthrough, timed metadata is passed through from input to output.
156      */
WithTimedMetadataBehavior(const Fmp4TimedMetadataBehavior & value)157     inline Fmp4HlsSettings& WithTimedMetadataBehavior(const Fmp4TimedMetadataBehavior& value) { SetTimedMetadataBehavior(value); return *this;}
158 
159     /**
160      * When set to passthrough, timed metadata is passed through from input to output.
161      */
WithTimedMetadataBehavior(Fmp4TimedMetadataBehavior && value)162     inline Fmp4HlsSettings& WithTimedMetadataBehavior(Fmp4TimedMetadataBehavior&& value) { SetTimedMetadataBehavior(std::move(value)); return *this;}
163 
164   private:
165 
166     Aws::String m_audioRenditionSets;
167     bool m_audioRenditionSetsHasBeenSet;
168 
169     Fmp4NielsenId3Behavior m_nielsenId3Behavior;
170     bool m_nielsenId3BehaviorHasBeenSet;
171 
172     Fmp4TimedMetadataBehavior m_timedMetadataBehavior;
173     bool m_timedMetadataBehaviorHasBeenSet;
174   };
175 
176 } // namespace Model
177 } // namespace MediaLive
178 } // namespace Aws
179