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