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/mediaconvert/MediaConvert_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.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 MediaConvert
22 {
23 namespace Model
24 {
25 
26   /**
27    * To insert ID3 tags in your output, specify two values. Use ID3 tag (Id3) to
28    * specify the base 64 encoded string and use Timecode (TimeCode) to specify the
29    * time when the tag should be inserted. To insert multiple ID3 tags in your
30    * output, create multiple instances of ID3 insertion (Id3Insertion).<p><h3>See
31    * Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/Id3Insertion">AWS
33    * API Reference</a></p>
34    */
35   class AWS_MEDIACONVERT_API Id3Insertion
36   {
37   public:
38     Id3Insertion();
39     Id3Insertion(Aws::Utils::Json::JsonView jsonValue);
40     Id3Insertion& operator=(Aws::Utils::Json::JsonView jsonValue);
41     Aws::Utils::Json::JsonValue Jsonize() const;
42 
43 
44     /**
45      * Use ID3 tag (Id3) to provide a tag value in base64-encode format.
46      */
GetId3()47     inline const Aws::String& GetId3() const{ return m_id3; }
48 
49     /**
50      * Use ID3 tag (Id3) to provide a tag value in base64-encode format.
51      */
Id3HasBeenSet()52     inline bool Id3HasBeenSet() const { return m_id3HasBeenSet; }
53 
54     /**
55      * Use ID3 tag (Id3) to provide a tag value in base64-encode format.
56      */
SetId3(const Aws::String & value)57     inline void SetId3(const Aws::String& value) { m_id3HasBeenSet = true; m_id3 = value; }
58 
59     /**
60      * Use ID3 tag (Id3) to provide a tag value in base64-encode format.
61      */
SetId3(Aws::String && value)62     inline void SetId3(Aws::String&& value) { m_id3HasBeenSet = true; m_id3 = std::move(value); }
63 
64     /**
65      * Use ID3 tag (Id3) to provide a tag value in base64-encode format.
66      */
SetId3(const char * value)67     inline void SetId3(const char* value) { m_id3HasBeenSet = true; m_id3.assign(value); }
68 
69     /**
70      * Use ID3 tag (Id3) to provide a tag value in base64-encode format.
71      */
WithId3(const Aws::String & value)72     inline Id3Insertion& WithId3(const Aws::String& value) { SetId3(value); return *this;}
73 
74     /**
75      * Use ID3 tag (Id3) to provide a tag value in base64-encode format.
76      */
WithId3(Aws::String && value)77     inline Id3Insertion& WithId3(Aws::String&& value) { SetId3(std::move(value)); return *this;}
78 
79     /**
80      * Use ID3 tag (Id3) to provide a tag value in base64-encode format.
81      */
WithId3(const char * value)82     inline Id3Insertion& WithId3(const char* value) { SetId3(value); return *this;}
83 
84 
85     /**
86      * Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format.
87      */
GetTimecode()88     inline const Aws::String& GetTimecode() const{ return m_timecode; }
89 
90     /**
91      * Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format.
92      */
TimecodeHasBeenSet()93     inline bool TimecodeHasBeenSet() const { return m_timecodeHasBeenSet; }
94 
95     /**
96      * Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format.
97      */
SetTimecode(const Aws::String & value)98     inline void SetTimecode(const Aws::String& value) { m_timecodeHasBeenSet = true; m_timecode = value; }
99 
100     /**
101      * Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format.
102      */
SetTimecode(Aws::String && value)103     inline void SetTimecode(Aws::String&& value) { m_timecodeHasBeenSet = true; m_timecode = std::move(value); }
104 
105     /**
106      * Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format.
107      */
SetTimecode(const char * value)108     inline void SetTimecode(const char* value) { m_timecodeHasBeenSet = true; m_timecode.assign(value); }
109 
110     /**
111      * Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format.
112      */
WithTimecode(const Aws::String & value)113     inline Id3Insertion& WithTimecode(const Aws::String& value) { SetTimecode(value); return *this;}
114 
115     /**
116      * Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format.
117      */
WithTimecode(Aws::String && value)118     inline Id3Insertion& WithTimecode(Aws::String&& value) { SetTimecode(std::move(value)); return *this;}
119 
120     /**
121      * Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format.
122      */
WithTimecode(const char * value)123     inline Id3Insertion& WithTimecode(const char* value) { SetTimecode(value); return *this;}
124 
125   private:
126 
127     Aws::String m_id3;
128     bool m_id3HasBeenSet;
129 
130     Aws::String m_timecode;
131     bool m_timecodeHasBeenSet;
132   };
133 
134 } // namespace Model
135 } // namespace MediaConvert
136 } // namespace Aws
137