AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
Track.h
1
6#pragma once
7#include <aws/mediaconvert/MediaConvert_EXPORTS.h>
8#include <aws/mediaconvert/model/AudioProperties.h>
9#include <aws/mediaconvert/model/Codec.h>
10#include <aws/mediaconvert/model/DataProperties.h>
11#include <aws/mediaconvert/model/TrackType.h>
12#include <aws/mediaconvert/model/VideoProperties.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace MediaConvert {
24namespace Model {
25
32class Track {
33 public:
34 AWS_MEDIACONVERT_API Track() = default;
35 AWS_MEDIACONVERT_API Track(Aws::Utils::Json::JsonView jsonValue);
36 AWS_MEDIACONVERT_API Track& operator=(Aws::Utils::Json::JsonView jsonValue);
37 AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
43 inline const AudioProperties& GetAudioProperties() const { return m_audioProperties; }
44 inline bool AudioPropertiesHasBeenSet() const { return m_audioPropertiesHasBeenSet; }
45 template <typename AudioPropertiesT = AudioProperties>
46 void SetAudioProperties(AudioPropertiesT&& value) {
47 m_audioPropertiesHasBeenSet = true;
48 m_audioProperties = std::forward<AudioPropertiesT>(value);
49 }
50 template <typename AudioPropertiesT = AudioProperties>
51 Track& WithAudioProperties(AudioPropertiesT&& value) {
52 SetAudioProperties(std::forward<AudioPropertiesT>(value));
53 return *this;
54 }
56
58
61 inline Codec GetCodec() const { return m_codec; }
62 inline bool CodecHasBeenSet() const { return m_codecHasBeenSet; }
63 inline void SetCodec(Codec value) {
64 m_codecHasBeenSet = true;
65 m_codec = value;
66 }
67 inline Track& WithCodec(Codec value) {
68 SetCodec(value);
69 return *this;
70 }
72
74
77 inline const DataProperties& GetDataProperties() const { return m_dataProperties; }
78 inline bool DataPropertiesHasBeenSet() const { return m_dataPropertiesHasBeenSet; }
79 template <typename DataPropertiesT = DataProperties>
80 void SetDataProperties(DataPropertiesT&& value) {
81 m_dataPropertiesHasBeenSet = true;
82 m_dataProperties = std::forward<DataPropertiesT>(value);
83 }
84 template <typename DataPropertiesT = DataProperties>
85 Track& WithDataProperties(DataPropertiesT&& value) {
86 SetDataProperties(std::forward<DataPropertiesT>(value));
87 return *this;
88 }
90
92
95 inline double GetDuration() const { return m_duration; }
96 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
97 inline void SetDuration(double value) {
98 m_durationHasBeenSet = true;
99 m_duration = value;
100 }
101 inline Track& WithDuration(double value) {
102 SetDuration(value);
103 return *this;
104 }
106
108
111 inline int GetIndex() const { return m_index; }
112 inline bool IndexHasBeenSet() const { return m_indexHasBeenSet; }
113 inline void SetIndex(int value) {
114 m_indexHasBeenSet = true;
115 m_index = value;
116 }
117 inline Track& WithIndex(int value) {
118 SetIndex(value);
119 return *this;
120 }
122
124
127 inline TrackType GetTrackType() const { return m_trackType; }
128 inline bool TrackTypeHasBeenSet() const { return m_trackTypeHasBeenSet; }
129 inline void SetTrackType(TrackType value) {
130 m_trackTypeHasBeenSet = true;
131 m_trackType = value;
132 }
134 SetTrackType(value);
135 return *this;
136 }
138
140
143 inline const VideoProperties& GetVideoProperties() const { return m_videoProperties; }
144 inline bool VideoPropertiesHasBeenSet() const { return m_videoPropertiesHasBeenSet; }
145 template <typename VideoPropertiesT = VideoProperties>
146 void SetVideoProperties(VideoPropertiesT&& value) {
147 m_videoPropertiesHasBeenSet = true;
148 m_videoProperties = std::forward<VideoPropertiesT>(value);
149 }
150 template <typename VideoPropertiesT = VideoProperties>
151 Track& WithVideoProperties(VideoPropertiesT&& value) {
152 SetVideoProperties(std::forward<VideoPropertiesT>(value));
153 return *this;
154 }
156 private:
157 AudioProperties m_audioProperties;
158
159 Codec m_codec{Codec::NOT_SET};
160
161 DataProperties m_dataProperties;
162
163 double m_duration{0.0};
164
165 int m_index{0};
166
167 TrackType m_trackType{TrackType::NOT_SET};
168
169 VideoProperties m_videoProperties;
170 bool m_audioPropertiesHasBeenSet = false;
171 bool m_codecHasBeenSet = false;
172 bool m_dataPropertiesHasBeenSet = false;
173 bool m_durationHasBeenSet = false;
174 bool m_indexHasBeenSet = false;
175 bool m_trackTypeHasBeenSet = false;
176 bool m_videoPropertiesHasBeenSet = false;
177};
178
179} // namespace Model
180} // namespace MediaConvert
181} // namespace Aws
const DataProperties & GetDataProperties() const
Definition Track.h:77
Track & WithIndex(int value)
Definition Track.h:117
void SetDataProperties(DataPropertiesT &&value)
Definition Track.h:80
bool DataPropertiesHasBeenSet() const
Definition Track.h:78
bool TrackTypeHasBeenSet() const
Definition Track.h:128
AWS_MEDIACONVERT_API Track & operator=(Aws::Utils::Json::JsonView jsonValue)
TrackType GetTrackType() const
Definition Track.h:127
Track & WithCodec(Codec value)
Definition Track.h:67
void SetCodec(Codec value)
Definition Track.h:63
Track & WithDuration(double value)
Definition Track.h:101
AWS_MEDIACONVERT_API Track()=default
Track & WithVideoProperties(VideoPropertiesT &&value)
Definition Track.h:151
double GetDuration() const
Definition Track.h:95
const VideoProperties & GetVideoProperties() const
Definition Track.h:143
void SetAudioProperties(AudioPropertiesT &&value)
Definition Track.h:46
AWS_MEDIACONVERT_API Track(Aws::Utils::Json::JsonView jsonValue)
bool DurationHasBeenSet() const
Definition Track.h:96
void SetTrackType(TrackType value)
Definition Track.h:129
void SetIndex(int value)
Definition Track.h:113
AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const
Track & WithTrackType(TrackType value)
Definition Track.h:133
Track & WithAudioProperties(AudioPropertiesT &&value)
Definition Track.h:51
const AudioProperties & GetAudioProperties() const
Definition Track.h:43
bool AudioPropertiesHasBeenSet() const
Definition Track.h:44
bool VideoPropertiesHasBeenSet() const
Definition Track.h:144
Track & WithDataProperties(DataPropertiesT &&value)
Definition Track.h:85
bool CodecHasBeenSet() const
Definition Track.h:62
void SetDuration(double value)
Definition Track.h:97
void SetVideoProperties(VideoPropertiesT &&value)
Definition Track.h:146
Aws::Utils::Json::JsonValue JsonValue