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/mediaconvert/model/CmfcAudioDuration.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/mediaconvert/model/CmfcAudioTrackType.h>
11 #include <aws/mediaconvert/model/CmfcDescriptiveVideoServiceFlag.h>
12 #include <aws/mediaconvert/model/CmfcIFrameOnlyManifest.h>
13 #include <aws/mediaconvert/model/CmfcScte35Esam.h>
14 #include <aws/mediaconvert/model/CmfcScte35Source.h>
15 #include <utility>
16 
17 namespace Aws
18 {
19 namespace Utils
20 {
21 namespace Json
22 {
23   class JsonValue;
24   class JsonView;
25 } // namespace Json
26 } // namespace Utils
27 namespace MediaConvert
28 {
29 namespace Model
30 {
31 
32   /**
33    * These settings relate to the fragmented MP4 container for the segments in your
34    * CMAF outputs.<p><h3>See Also:</h3>   <a
35    * href="http://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CmfcSettings">AWS
36    * API Reference</a></p>
37    */
38   class AWS_MEDIACONVERT_API CmfcSettings
39   {
40   public:
41     CmfcSettings();
42     CmfcSettings(Aws::Utils::Json::JsonView jsonValue);
43     CmfcSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
44     Aws::Utils::Json::JsonValue Jsonize() const;
45 
46 
47     /**
48      * Specify this setting only when your output will be consumed by a downstream
49      * repackaging workflow that is sensitive to very small duration differences
50      * between video and audio. For this situation, choose Match video duration
51      * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default
52      * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration,
53      * MediaConvert pads the output audio streams with silence or trims them to ensure
54      * that the total duration of each audio stream is at least as long as the total
55      * duration of the video stream. After padding or trimming, the audio stream
56      * duration is no more than one frame longer than the video stream. MediaConvert
57      * applies audio padding or trimming only to the end of the last segment of the
58      * output. For unsegmented outputs, MediaConvert adds padding only to the end of
59      * the file. When you keep the default value, any minor discrepancies between audio
60      * and video duration will depend on your output audio codec.
61      */
GetAudioDuration()62     inline const CmfcAudioDuration& GetAudioDuration() const{ return m_audioDuration; }
63 
64     /**
65      * Specify this setting only when your output will be consumed by a downstream
66      * repackaging workflow that is sensitive to very small duration differences
67      * between video and audio. For this situation, choose Match video duration
68      * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default
69      * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration,
70      * MediaConvert pads the output audio streams with silence or trims them to ensure
71      * that the total duration of each audio stream is at least as long as the total
72      * duration of the video stream. After padding or trimming, the audio stream
73      * duration is no more than one frame longer than the video stream. MediaConvert
74      * applies audio padding or trimming only to the end of the last segment of the
75      * output. For unsegmented outputs, MediaConvert adds padding only to the end of
76      * the file. When you keep the default value, any minor discrepancies between audio
77      * and video duration will depend on your output audio codec.
78      */
AudioDurationHasBeenSet()79     inline bool AudioDurationHasBeenSet() const { return m_audioDurationHasBeenSet; }
80 
81     /**
82      * Specify this setting only when your output will be consumed by a downstream
83      * repackaging workflow that is sensitive to very small duration differences
84      * between video and audio. For this situation, choose Match video duration
85      * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default
86      * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration,
87      * MediaConvert pads the output audio streams with silence or trims them to ensure
88      * that the total duration of each audio stream is at least as long as the total
89      * duration of the video stream. After padding or trimming, the audio stream
90      * duration is no more than one frame longer than the video stream. MediaConvert
91      * applies audio padding or trimming only to the end of the last segment of the
92      * output. For unsegmented outputs, MediaConvert adds padding only to the end of
93      * the file. When you keep the default value, any minor discrepancies between audio
94      * and video duration will depend on your output audio codec.
95      */
SetAudioDuration(const CmfcAudioDuration & value)96     inline void SetAudioDuration(const CmfcAudioDuration& value) { m_audioDurationHasBeenSet = true; m_audioDuration = value; }
97 
98     /**
99      * Specify this setting only when your output will be consumed by a downstream
100      * repackaging workflow that is sensitive to very small duration differences
101      * between video and audio. For this situation, choose Match video duration
102      * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default
103      * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration,
104      * MediaConvert pads the output audio streams with silence or trims them to ensure
105      * that the total duration of each audio stream is at least as long as the total
106      * duration of the video stream. After padding or trimming, the audio stream
107      * duration is no more than one frame longer than the video stream. MediaConvert
108      * applies audio padding or trimming only to the end of the last segment of the
109      * output. For unsegmented outputs, MediaConvert adds padding only to the end of
110      * the file. When you keep the default value, any minor discrepancies between audio
111      * and video duration will depend on your output audio codec.
112      */
SetAudioDuration(CmfcAudioDuration && value)113     inline void SetAudioDuration(CmfcAudioDuration&& value) { m_audioDurationHasBeenSet = true; m_audioDuration = std::move(value); }
114 
115     /**
116      * Specify this setting only when your output will be consumed by a downstream
117      * repackaging workflow that is sensitive to very small duration differences
118      * between video and audio. For this situation, choose Match video duration
119      * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default
120      * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration,
121      * MediaConvert pads the output audio streams with silence or trims them to ensure
122      * that the total duration of each audio stream is at least as long as the total
123      * duration of the video stream. After padding or trimming, the audio stream
124      * duration is no more than one frame longer than the video stream. MediaConvert
125      * applies audio padding or trimming only to the end of the last segment of the
126      * output. For unsegmented outputs, MediaConvert adds padding only to the end of
127      * the file. When you keep the default value, any minor discrepancies between audio
128      * and video duration will depend on your output audio codec.
129      */
WithAudioDuration(const CmfcAudioDuration & value)130     inline CmfcSettings& WithAudioDuration(const CmfcAudioDuration& value) { SetAudioDuration(value); return *this;}
131 
132     /**
133      * Specify this setting only when your output will be consumed by a downstream
134      * repackaging workflow that is sensitive to very small duration differences
135      * between video and audio. For this situation, choose Match video duration
136      * (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default
137      * codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration,
138      * MediaConvert pads the output audio streams with silence or trims them to ensure
139      * that the total duration of each audio stream is at least as long as the total
140      * duration of the video stream. After padding or trimming, the audio stream
141      * duration is no more than one frame longer than the video stream. MediaConvert
142      * applies audio padding or trimming only to the end of the last segment of the
143      * output. For unsegmented outputs, MediaConvert adds padding only to the end of
144      * the file. When you keep the default value, any minor discrepancies between audio
145      * and video duration will depend on your output audio codec.
146      */
WithAudioDuration(CmfcAudioDuration && value)147     inline CmfcSettings& WithAudioDuration(CmfcAudioDuration&& value) { SetAudioDuration(std::move(value)); return *this;}
148 
149 
150     /**
151      * Specify the audio rendition group for this audio rendition. Specify up to one
152      * value for each audio output in your output group. This value appears in your HLS
153      * parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the
154      * GROUP-ID attribute. For example, if you specify "audio_aac_1" for Audio group
155      * ID, it appears in your manifest like this:
156      * #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_aac_1". Related setting: To associate
157      * the rendition group that this audio track belongs to with a video rendition,
158      * include the same value that you provide here for that video output's setting
159      * Audio rendition sets (audioRenditionSets).
160      */
GetAudioGroupId()161     inline const Aws::String& GetAudioGroupId() const{ return m_audioGroupId; }
162 
163     /**
164      * Specify the audio rendition group for this audio rendition. Specify up to one
165      * value for each audio output in your output group. This value appears in your HLS
166      * parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the
167      * GROUP-ID attribute. For example, if you specify "audio_aac_1" for Audio group
168      * ID, it appears in your manifest like this:
169      * #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_aac_1". Related setting: To associate
170      * the rendition group that this audio track belongs to with a video rendition,
171      * include the same value that you provide here for that video output's setting
172      * Audio rendition sets (audioRenditionSets).
173      */
AudioGroupIdHasBeenSet()174     inline bool AudioGroupIdHasBeenSet() const { return m_audioGroupIdHasBeenSet; }
175 
176     /**
177      * Specify the audio rendition group for this audio rendition. Specify up to one
178      * value for each audio output in your output group. This value appears in your HLS
179      * parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the
180      * GROUP-ID attribute. For example, if you specify "audio_aac_1" for Audio group
181      * ID, it appears in your manifest like this:
182      * #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_aac_1". Related setting: To associate
183      * the rendition group that this audio track belongs to with a video rendition,
184      * include the same value that you provide here for that video output's setting
185      * Audio rendition sets (audioRenditionSets).
186      */
SetAudioGroupId(const Aws::String & value)187     inline void SetAudioGroupId(const Aws::String& value) { m_audioGroupIdHasBeenSet = true; m_audioGroupId = value; }
188 
189     /**
190      * Specify the audio rendition group for this audio rendition. Specify up to one
191      * value for each audio output in your output group. This value appears in your HLS
192      * parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the
193      * GROUP-ID attribute. For example, if you specify "audio_aac_1" for Audio group
194      * ID, it appears in your manifest like this:
195      * #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_aac_1". Related setting: To associate
196      * the rendition group that this audio track belongs to with a video rendition,
197      * include the same value that you provide here for that video output's setting
198      * Audio rendition sets (audioRenditionSets).
199      */
SetAudioGroupId(Aws::String && value)200     inline void SetAudioGroupId(Aws::String&& value) { m_audioGroupIdHasBeenSet = true; m_audioGroupId = std::move(value); }
201 
202     /**
203      * Specify the audio rendition group for this audio rendition. Specify up to one
204      * value for each audio output in your output group. This value appears in your HLS
205      * parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the
206      * GROUP-ID attribute. For example, if you specify "audio_aac_1" for Audio group
207      * ID, it appears in your manifest like this:
208      * #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_aac_1". Related setting: To associate
209      * the rendition group that this audio track belongs to with a video rendition,
210      * include the same value that you provide here for that video output's setting
211      * Audio rendition sets (audioRenditionSets).
212      */
SetAudioGroupId(const char * value)213     inline void SetAudioGroupId(const char* value) { m_audioGroupIdHasBeenSet = true; m_audioGroupId.assign(value); }
214 
215     /**
216      * Specify the audio rendition group for this audio rendition. Specify up to one
217      * value for each audio output in your output group. This value appears in your HLS
218      * parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the
219      * GROUP-ID attribute. For example, if you specify "audio_aac_1" for Audio group
220      * ID, it appears in your manifest like this:
221      * #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_aac_1". Related setting: To associate
222      * the rendition group that this audio track belongs to with a video rendition,
223      * include the same value that you provide here for that video output's setting
224      * Audio rendition sets (audioRenditionSets).
225      */
WithAudioGroupId(const Aws::String & value)226     inline CmfcSettings& WithAudioGroupId(const Aws::String& value) { SetAudioGroupId(value); return *this;}
227 
228     /**
229      * Specify the audio rendition group for this audio rendition. Specify up to one
230      * value for each audio output in your output group. This value appears in your HLS
231      * parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the
232      * GROUP-ID attribute. For example, if you specify "audio_aac_1" for Audio group
233      * ID, it appears in your manifest like this:
234      * #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_aac_1". Related setting: To associate
235      * the rendition group that this audio track belongs to with a video rendition,
236      * include the same value that you provide here for that video output's setting
237      * Audio rendition sets (audioRenditionSets).
238      */
WithAudioGroupId(Aws::String && value)239     inline CmfcSettings& WithAudioGroupId(Aws::String&& value) { SetAudioGroupId(std::move(value)); return *this;}
240 
241     /**
242      * Specify the audio rendition group for this audio rendition. Specify up to one
243      * value for each audio output in your output group. This value appears in your HLS
244      * parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the
245      * GROUP-ID attribute. For example, if you specify "audio_aac_1" for Audio group
246      * ID, it appears in your manifest like this:
247      * #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_aac_1". Related setting: To associate
248      * the rendition group that this audio track belongs to with a video rendition,
249      * include the same value that you provide here for that video output's setting
250      * Audio rendition sets (audioRenditionSets).
251      */
WithAudioGroupId(const char * value)252     inline CmfcSettings& WithAudioGroupId(const char* value) { SetAudioGroupId(value); return *this;}
253 
254 
255     /**
256      * List the audio rendition groups that you want included with this video
257      * rendition. Use a comma-separated list. For example, say you want to include the
258      * audio rendition groups that have the audio group IDs "audio_aac_1" and
259      * "audio_dolby". Then you would specify this value: "audio_aac_1, audio_dolby".
260      * Related setting: The rendition groups that you include in your comma-separated
261      * list should all match values that you specify in the setting Audio group ID
262      * (AudioGroupId) for audio renditions in the same output group as this video
263      * rendition. Default behavior: If you don't specify anything here and for Audio
264      * group ID, MediaConvert puts each audio variant in its own audio rendition group
265      * and associates it with every video variant. Each value in your list appears in
266      * your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO
267      * attribute. To continue the previous example, say that the file name for the
268      * child manifest for your video rendition is "amazing_video_1.m3u8". Then, in your
269      * parent manifest, each value will appear on separate lines, like this:
270      * #EXT-X-STREAM-INF:AUDIO="audio_aac_1"... amazing_video_1.m3u8
271      * #EXT-X-STREAM-INF:AUDIO="audio_dolby"... amazing_video_1.m3u8
272      */
GetAudioRenditionSets()273     inline const Aws::String& GetAudioRenditionSets() const{ return m_audioRenditionSets; }
274 
275     /**
276      * List the audio rendition groups that you want included with this video
277      * rendition. Use a comma-separated list. For example, say you want to include the
278      * audio rendition groups that have the audio group IDs "audio_aac_1" and
279      * "audio_dolby". Then you would specify this value: "audio_aac_1, audio_dolby".
280      * Related setting: The rendition groups that you include in your comma-separated
281      * list should all match values that you specify in the setting Audio group ID
282      * (AudioGroupId) for audio renditions in the same output group as this video
283      * rendition. Default behavior: If you don't specify anything here and for Audio
284      * group ID, MediaConvert puts each audio variant in its own audio rendition group
285      * and associates it with every video variant. Each value in your list appears in
286      * your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO
287      * attribute. To continue the previous example, say that the file name for the
288      * child manifest for your video rendition is "amazing_video_1.m3u8". Then, in your
289      * parent manifest, each value will appear on separate lines, like this:
290      * #EXT-X-STREAM-INF:AUDIO="audio_aac_1"... amazing_video_1.m3u8
291      * #EXT-X-STREAM-INF:AUDIO="audio_dolby"... amazing_video_1.m3u8
292      */
AudioRenditionSetsHasBeenSet()293     inline bool AudioRenditionSetsHasBeenSet() const { return m_audioRenditionSetsHasBeenSet; }
294 
295     /**
296      * List the audio rendition groups that you want included with this video
297      * rendition. Use a comma-separated list. For example, say you want to include the
298      * audio rendition groups that have the audio group IDs "audio_aac_1" and
299      * "audio_dolby". Then you would specify this value: "audio_aac_1, audio_dolby".
300      * Related setting: The rendition groups that you include in your comma-separated
301      * list should all match values that you specify in the setting Audio group ID
302      * (AudioGroupId) for audio renditions in the same output group as this video
303      * rendition. Default behavior: If you don't specify anything here and for Audio
304      * group ID, MediaConvert puts each audio variant in its own audio rendition group
305      * and associates it with every video variant. Each value in your list appears in
306      * your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO
307      * attribute. To continue the previous example, say that the file name for the
308      * child manifest for your video rendition is "amazing_video_1.m3u8". Then, in your
309      * parent manifest, each value will appear on separate lines, like this:
310      * #EXT-X-STREAM-INF:AUDIO="audio_aac_1"... amazing_video_1.m3u8
311      * #EXT-X-STREAM-INF:AUDIO="audio_dolby"... amazing_video_1.m3u8
312      */
SetAudioRenditionSets(const Aws::String & value)313     inline void SetAudioRenditionSets(const Aws::String& value) { m_audioRenditionSetsHasBeenSet = true; m_audioRenditionSets = value; }
314 
315     /**
316      * List the audio rendition groups that you want included with this video
317      * rendition. Use a comma-separated list. For example, say you want to include the
318      * audio rendition groups that have the audio group IDs "audio_aac_1" and
319      * "audio_dolby". Then you would specify this value: "audio_aac_1, audio_dolby".
320      * Related setting: The rendition groups that you include in your comma-separated
321      * list should all match values that you specify in the setting Audio group ID
322      * (AudioGroupId) for audio renditions in the same output group as this video
323      * rendition. Default behavior: If you don't specify anything here and for Audio
324      * group ID, MediaConvert puts each audio variant in its own audio rendition group
325      * and associates it with every video variant. Each value in your list appears in
326      * your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO
327      * attribute. To continue the previous example, say that the file name for the
328      * child manifest for your video rendition is "amazing_video_1.m3u8". Then, in your
329      * parent manifest, each value will appear on separate lines, like this:
330      * #EXT-X-STREAM-INF:AUDIO="audio_aac_1"... amazing_video_1.m3u8
331      * #EXT-X-STREAM-INF:AUDIO="audio_dolby"... amazing_video_1.m3u8
332      */
SetAudioRenditionSets(Aws::String && value)333     inline void SetAudioRenditionSets(Aws::String&& value) { m_audioRenditionSetsHasBeenSet = true; m_audioRenditionSets = std::move(value); }
334 
335     /**
336      * List the audio rendition groups that you want included with this video
337      * rendition. Use a comma-separated list. For example, say you want to include the
338      * audio rendition groups that have the audio group IDs "audio_aac_1" and
339      * "audio_dolby". Then you would specify this value: "audio_aac_1, audio_dolby".
340      * Related setting: The rendition groups that you include in your comma-separated
341      * list should all match values that you specify in the setting Audio group ID
342      * (AudioGroupId) for audio renditions in the same output group as this video
343      * rendition. Default behavior: If you don't specify anything here and for Audio
344      * group ID, MediaConvert puts each audio variant in its own audio rendition group
345      * and associates it with every video variant. Each value in your list appears in
346      * your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO
347      * attribute. To continue the previous example, say that the file name for the
348      * child manifest for your video rendition is "amazing_video_1.m3u8". Then, in your
349      * parent manifest, each value will appear on separate lines, like this:
350      * #EXT-X-STREAM-INF:AUDIO="audio_aac_1"... amazing_video_1.m3u8
351      * #EXT-X-STREAM-INF:AUDIO="audio_dolby"... amazing_video_1.m3u8
352      */
SetAudioRenditionSets(const char * value)353     inline void SetAudioRenditionSets(const char* value) { m_audioRenditionSetsHasBeenSet = true; m_audioRenditionSets.assign(value); }
354 
355     /**
356      * List the audio rendition groups that you want included with this video
357      * rendition. Use a comma-separated list. For example, say you want to include the
358      * audio rendition groups that have the audio group IDs "audio_aac_1" and
359      * "audio_dolby". Then you would specify this value: "audio_aac_1, audio_dolby".
360      * Related setting: The rendition groups that you include in your comma-separated
361      * list should all match values that you specify in the setting Audio group ID
362      * (AudioGroupId) for audio renditions in the same output group as this video
363      * rendition. Default behavior: If you don't specify anything here and for Audio
364      * group ID, MediaConvert puts each audio variant in its own audio rendition group
365      * and associates it with every video variant. Each value in your list appears in
366      * your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO
367      * attribute. To continue the previous example, say that the file name for the
368      * child manifest for your video rendition is "amazing_video_1.m3u8". Then, in your
369      * parent manifest, each value will appear on separate lines, like this:
370      * #EXT-X-STREAM-INF:AUDIO="audio_aac_1"... amazing_video_1.m3u8
371      * #EXT-X-STREAM-INF:AUDIO="audio_dolby"... amazing_video_1.m3u8
372      */
WithAudioRenditionSets(const Aws::String & value)373     inline CmfcSettings& WithAudioRenditionSets(const Aws::String& value) { SetAudioRenditionSets(value); return *this;}
374 
375     /**
376      * List the audio rendition groups that you want included with this video
377      * rendition. Use a comma-separated list. For example, say you want to include the
378      * audio rendition groups that have the audio group IDs "audio_aac_1" and
379      * "audio_dolby". Then you would specify this value: "audio_aac_1, audio_dolby".
380      * Related setting: The rendition groups that you include in your comma-separated
381      * list should all match values that you specify in the setting Audio group ID
382      * (AudioGroupId) for audio renditions in the same output group as this video
383      * rendition. Default behavior: If you don't specify anything here and for Audio
384      * group ID, MediaConvert puts each audio variant in its own audio rendition group
385      * and associates it with every video variant. Each value in your list appears in
386      * your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO
387      * attribute. To continue the previous example, say that the file name for the
388      * child manifest for your video rendition is "amazing_video_1.m3u8". Then, in your
389      * parent manifest, each value will appear on separate lines, like this:
390      * #EXT-X-STREAM-INF:AUDIO="audio_aac_1"... amazing_video_1.m3u8
391      * #EXT-X-STREAM-INF:AUDIO="audio_dolby"... amazing_video_1.m3u8
392      */
WithAudioRenditionSets(Aws::String && value)393     inline CmfcSettings& WithAudioRenditionSets(Aws::String&& value) { SetAudioRenditionSets(std::move(value)); return *this;}
394 
395     /**
396      * List the audio rendition groups that you want included with this video
397      * rendition. Use a comma-separated list. For example, say you want to include the
398      * audio rendition groups that have the audio group IDs "audio_aac_1" and
399      * "audio_dolby". Then you would specify this value: "audio_aac_1, audio_dolby".
400      * Related setting: The rendition groups that you include in your comma-separated
401      * list should all match values that you specify in the setting Audio group ID
402      * (AudioGroupId) for audio renditions in the same output group as this video
403      * rendition. Default behavior: If you don't specify anything here and for Audio
404      * group ID, MediaConvert puts each audio variant in its own audio rendition group
405      * and associates it with every video variant. Each value in your list appears in
406      * your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO
407      * attribute. To continue the previous example, say that the file name for the
408      * child manifest for your video rendition is "amazing_video_1.m3u8". Then, in your
409      * parent manifest, each value will appear on separate lines, like this:
410      * #EXT-X-STREAM-INF:AUDIO="audio_aac_1"... amazing_video_1.m3u8
411      * #EXT-X-STREAM-INF:AUDIO="audio_dolby"... amazing_video_1.m3u8
412      */
WithAudioRenditionSets(const char * value)413     inline CmfcSettings& WithAudioRenditionSets(const char* value) { SetAudioRenditionSets(value); return *this;}
414 
415 
416     /**
417      * Use this setting to control the values that MediaConvert puts in your HLS parent
418      * playlist to control how the client player selects which audio track to play. The
419      * other options for this setting determine the values that MediaConvert writes for
420      * the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio
421      * variant. For more information about these attributes, see the Apple
422      * documentation article
423      * https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist.
424      * Choose Alternate audio, auto select, default
425      * (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) to set DEFAULT=YES and AUTOSELECT=YES.
426      * Choose this value for only one variant in your output group. Choose Alternate
427      * audio, auto select, not default (ALTERNATE_AUDIO_AUTO_SELECT) to set DEFAULT=NO
428      * and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO
429      * and AUTOSELECT=NO. When you don't specify a value for this setting, MediaConvert
430      * defaults to Alternate audio, auto select, default. When there is more than one
431      * variant in your output group, you must explicitly choose a value for this
432      * setting.
433      */
GetAudioTrackType()434     inline const CmfcAudioTrackType& GetAudioTrackType() const{ return m_audioTrackType; }
435 
436     /**
437      * Use this setting to control the values that MediaConvert puts in your HLS parent
438      * playlist to control how the client player selects which audio track to play. The
439      * other options for this setting determine the values that MediaConvert writes for
440      * the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio
441      * variant. For more information about these attributes, see the Apple
442      * documentation article
443      * https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist.
444      * Choose Alternate audio, auto select, default
445      * (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) to set DEFAULT=YES and AUTOSELECT=YES.
446      * Choose this value for only one variant in your output group. Choose Alternate
447      * audio, auto select, not default (ALTERNATE_AUDIO_AUTO_SELECT) to set DEFAULT=NO
448      * and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO
449      * and AUTOSELECT=NO. When you don't specify a value for this setting, MediaConvert
450      * defaults to Alternate audio, auto select, default. When there is more than one
451      * variant in your output group, you must explicitly choose a value for this
452      * setting.
453      */
AudioTrackTypeHasBeenSet()454     inline bool AudioTrackTypeHasBeenSet() const { return m_audioTrackTypeHasBeenSet; }
455 
456     /**
457      * Use this setting to control the values that MediaConvert puts in your HLS parent
458      * playlist to control how the client player selects which audio track to play. The
459      * other options for this setting determine the values that MediaConvert writes for
460      * the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio
461      * variant. For more information about these attributes, see the Apple
462      * documentation article
463      * https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist.
464      * Choose Alternate audio, auto select, default
465      * (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) to set DEFAULT=YES and AUTOSELECT=YES.
466      * Choose this value for only one variant in your output group. Choose Alternate
467      * audio, auto select, not default (ALTERNATE_AUDIO_AUTO_SELECT) to set DEFAULT=NO
468      * and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO
469      * and AUTOSELECT=NO. When you don't specify a value for this setting, MediaConvert
470      * defaults to Alternate audio, auto select, default. When there is more than one
471      * variant in your output group, you must explicitly choose a value for this
472      * setting.
473      */
SetAudioTrackType(const CmfcAudioTrackType & value)474     inline void SetAudioTrackType(const CmfcAudioTrackType& value) { m_audioTrackTypeHasBeenSet = true; m_audioTrackType = value; }
475 
476     /**
477      * Use this setting to control the values that MediaConvert puts in your HLS parent
478      * playlist to control how the client player selects which audio track to play. The
479      * other options for this setting determine the values that MediaConvert writes for
480      * the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio
481      * variant. For more information about these attributes, see the Apple
482      * documentation article
483      * https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist.
484      * Choose Alternate audio, auto select, default
485      * (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) to set DEFAULT=YES and AUTOSELECT=YES.
486      * Choose this value for only one variant in your output group. Choose Alternate
487      * audio, auto select, not default (ALTERNATE_AUDIO_AUTO_SELECT) to set DEFAULT=NO
488      * and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO
489      * and AUTOSELECT=NO. When you don't specify a value for this setting, MediaConvert
490      * defaults to Alternate audio, auto select, default. When there is more than one
491      * variant in your output group, you must explicitly choose a value for this
492      * setting.
493      */
SetAudioTrackType(CmfcAudioTrackType && value)494     inline void SetAudioTrackType(CmfcAudioTrackType&& value) { m_audioTrackTypeHasBeenSet = true; m_audioTrackType = std::move(value); }
495 
496     /**
497      * Use this setting to control the values that MediaConvert puts in your HLS parent
498      * playlist to control how the client player selects which audio track to play. The
499      * other options for this setting determine the values that MediaConvert writes for
500      * the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio
501      * variant. For more information about these attributes, see the Apple
502      * documentation article
503      * https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist.
504      * Choose Alternate audio, auto select, default
505      * (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) to set DEFAULT=YES and AUTOSELECT=YES.
506      * Choose this value for only one variant in your output group. Choose Alternate
507      * audio, auto select, not default (ALTERNATE_AUDIO_AUTO_SELECT) to set DEFAULT=NO
508      * and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO
509      * and AUTOSELECT=NO. When you don't specify a value for this setting, MediaConvert
510      * defaults to Alternate audio, auto select, default. When there is more than one
511      * variant in your output group, you must explicitly choose a value for this
512      * setting.
513      */
WithAudioTrackType(const CmfcAudioTrackType & value)514     inline CmfcSettings& WithAudioTrackType(const CmfcAudioTrackType& value) { SetAudioTrackType(value); return *this;}
515 
516     /**
517      * Use this setting to control the values that MediaConvert puts in your HLS parent
518      * playlist to control how the client player selects which audio track to play. The
519      * other options for this setting determine the values that MediaConvert writes for
520      * the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio
521      * variant. For more information about these attributes, see the Apple
522      * documentation article
523      * https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist.
524      * Choose Alternate audio, auto select, default
525      * (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) to set DEFAULT=YES and AUTOSELECT=YES.
526      * Choose this value for only one variant in your output group. Choose Alternate
527      * audio, auto select, not default (ALTERNATE_AUDIO_AUTO_SELECT) to set DEFAULT=NO
528      * and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO
529      * and AUTOSELECT=NO. When you don't specify a value for this setting, MediaConvert
530      * defaults to Alternate audio, auto select, default. When there is more than one
531      * variant in your output group, you must explicitly choose a value for this
532      * setting.
533      */
WithAudioTrackType(CmfcAudioTrackType && value)534     inline CmfcSettings& WithAudioTrackType(CmfcAudioTrackType&& value) { SetAudioTrackType(std::move(value)); return *this;}
535 
536 
537     /**
538      * Specify whether to flag this audio track as descriptive video service (DVS) in
539      * your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the
540      * parameter CHARACTERISTICS="public.accessibility.describes-video" in the
541      * EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag
542      * (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with
543      * accessibility on Apple devices. For more information, see the Apple
544      * documentation.
545      */
GetDescriptiveVideoServiceFlag()546     inline const CmfcDescriptiveVideoServiceFlag& GetDescriptiveVideoServiceFlag() const{ return m_descriptiveVideoServiceFlag; }
547 
548     /**
549      * Specify whether to flag this audio track as descriptive video service (DVS) in
550      * your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the
551      * parameter CHARACTERISTICS="public.accessibility.describes-video" in the
552      * EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag
553      * (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with
554      * accessibility on Apple devices. For more information, see the Apple
555      * documentation.
556      */
DescriptiveVideoServiceFlagHasBeenSet()557     inline bool DescriptiveVideoServiceFlagHasBeenSet() const { return m_descriptiveVideoServiceFlagHasBeenSet; }
558 
559     /**
560      * Specify whether to flag this audio track as descriptive video service (DVS) in
561      * your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the
562      * parameter CHARACTERISTICS="public.accessibility.describes-video" in the
563      * EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag
564      * (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with
565      * accessibility on Apple devices. For more information, see the Apple
566      * documentation.
567      */
SetDescriptiveVideoServiceFlag(const CmfcDescriptiveVideoServiceFlag & value)568     inline void SetDescriptiveVideoServiceFlag(const CmfcDescriptiveVideoServiceFlag& value) { m_descriptiveVideoServiceFlagHasBeenSet = true; m_descriptiveVideoServiceFlag = value; }
569 
570     /**
571      * Specify whether to flag this audio track as descriptive video service (DVS) in
572      * your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the
573      * parameter CHARACTERISTICS="public.accessibility.describes-video" in the
574      * EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag
575      * (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with
576      * accessibility on Apple devices. For more information, see the Apple
577      * documentation.
578      */
SetDescriptiveVideoServiceFlag(CmfcDescriptiveVideoServiceFlag && value)579     inline void SetDescriptiveVideoServiceFlag(CmfcDescriptiveVideoServiceFlag&& value) { m_descriptiveVideoServiceFlagHasBeenSet = true; m_descriptiveVideoServiceFlag = std::move(value); }
580 
581     /**
582      * Specify whether to flag this audio track as descriptive video service (DVS) in
583      * your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the
584      * parameter CHARACTERISTICS="public.accessibility.describes-video" in the
585      * EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag
586      * (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with
587      * accessibility on Apple devices. For more information, see the Apple
588      * documentation.
589      */
WithDescriptiveVideoServiceFlag(const CmfcDescriptiveVideoServiceFlag & value)590     inline CmfcSettings& WithDescriptiveVideoServiceFlag(const CmfcDescriptiveVideoServiceFlag& value) { SetDescriptiveVideoServiceFlag(value); return *this;}
591 
592     /**
593      * Specify whether to flag this audio track as descriptive video service (DVS) in
594      * your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the
595      * parameter CHARACTERISTICS="public.accessibility.describes-video" in the
596      * EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag
597      * (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with
598      * accessibility on Apple devices. For more information, see the Apple
599      * documentation.
600      */
WithDescriptiveVideoServiceFlag(CmfcDescriptiveVideoServiceFlag && value)601     inline CmfcSettings& WithDescriptiveVideoServiceFlag(CmfcDescriptiveVideoServiceFlag&& value) { SetDescriptiveVideoServiceFlag(std::move(value)); return *this;}
602 
603 
604     /**
605      * Choose Include (INCLUDE) to have MediaConvert generate an HLS child manifest
606      * that lists only the I-frames for this rendition, in addition to your regular
607      * manifest for this rendition. You might use this manifest as part of a workflow
608      * that creates preview functions for your video. MediaConvert adds both the
609      * I-frame only child manifest and the regular child manifest to the parent
610      * manifest. When you don't need the I-frame only child manifest, keep the default
611      * value Exclude (EXCLUDE).
612      */
GetIFrameOnlyManifest()613     inline const CmfcIFrameOnlyManifest& GetIFrameOnlyManifest() const{ return m_iFrameOnlyManifest; }
614 
615     /**
616      * Choose Include (INCLUDE) to have MediaConvert generate an HLS child manifest
617      * that lists only the I-frames for this rendition, in addition to your regular
618      * manifest for this rendition. You might use this manifest as part of a workflow
619      * that creates preview functions for your video. MediaConvert adds both the
620      * I-frame only child manifest and the regular child manifest to the parent
621      * manifest. When you don't need the I-frame only child manifest, keep the default
622      * value Exclude (EXCLUDE).
623      */
IFrameOnlyManifestHasBeenSet()624     inline bool IFrameOnlyManifestHasBeenSet() const { return m_iFrameOnlyManifestHasBeenSet; }
625 
626     /**
627      * Choose Include (INCLUDE) to have MediaConvert generate an HLS child manifest
628      * that lists only the I-frames for this rendition, in addition to your regular
629      * manifest for this rendition. You might use this manifest as part of a workflow
630      * that creates preview functions for your video. MediaConvert adds both the
631      * I-frame only child manifest and the regular child manifest to the parent
632      * manifest. When you don't need the I-frame only child manifest, keep the default
633      * value Exclude (EXCLUDE).
634      */
SetIFrameOnlyManifest(const CmfcIFrameOnlyManifest & value)635     inline void SetIFrameOnlyManifest(const CmfcIFrameOnlyManifest& value) { m_iFrameOnlyManifestHasBeenSet = true; m_iFrameOnlyManifest = value; }
636 
637     /**
638      * Choose Include (INCLUDE) to have MediaConvert generate an HLS child manifest
639      * that lists only the I-frames for this rendition, in addition to your regular
640      * manifest for this rendition. You might use this manifest as part of a workflow
641      * that creates preview functions for your video. MediaConvert adds both the
642      * I-frame only child manifest and the regular child manifest to the parent
643      * manifest. When you don't need the I-frame only child manifest, keep the default
644      * value Exclude (EXCLUDE).
645      */
SetIFrameOnlyManifest(CmfcIFrameOnlyManifest && value)646     inline void SetIFrameOnlyManifest(CmfcIFrameOnlyManifest&& value) { m_iFrameOnlyManifestHasBeenSet = true; m_iFrameOnlyManifest = std::move(value); }
647 
648     /**
649      * Choose Include (INCLUDE) to have MediaConvert generate an HLS child manifest
650      * that lists only the I-frames for this rendition, in addition to your regular
651      * manifest for this rendition. You might use this manifest as part of a workflow
652      * that creates preview functions for your video. MediaConvert adds both the
653      * I-frame only child manifest and the regular child manifest to the parent
654      * manifest. When you don't need the I-frame only child manifest, keep the default
655      * value Exclude (EXCLUDE).
656      */
WithIFrameOnlyManifest(const CmfcIFrameOnlyManifest & value)657     inline CmfcSettings& WithIFrameOnlyManifest(const CmfcIFrameOnlyManifest& value) { SetIFrameOnlyManifest(value); return *this;}
658 
659     /**
660      * Choose Include (INCLUDE) to have MediaConvert generate an HLS child manifest
661      * that lists only the I-frames for this rendition, in addition to your regular
662      * manifest for this rendition. You might use this manifest as part of a workflow
663      * that creates preview functions for your video. MediaConvert adds both the
664      * I-frame only child manifest and the regular child manifest to the parent
665      * manifest. When you don't need the I-frame only child manifest, keep the default
666      * value Exclude (EXCLUDE).
667      */
WithIFrameOnlyManifest(CmfcIFrameOnlyManifest && value)668     inline CmfcSettings& WithIFrameOnlyManifest(CmfcIFrameOnlyManifest&& value) { SetIFrameOnlyManifest(std::move(value)); return *this;}
669 
670 
671     /**
672      * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT
673      * to put SCTE-35 markers in this output at the insertion points that you specify
674      * in an ESAM XML document. Provide the document in the setting SCC XML (sccXml).
675      */
GetScte35Esam()676     inline const CmfcScte35Esam& GetScte35Esam() const{ return m_scte35Esam; }
677 
678     /**
679      * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT
680      * to put SCTE-35 markers in this output at the insertion points that you specify
681      * in an ESAM XML document. Provide the document in the setting SCC XML (sccXml).
682      */
Scte35EsamHasBeenSet()683     inline bool Scte35EsamHasBeenSet() const { return m_scte35EsamHasBeenSet; }
684 
685     /**
686      * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT
687      * to put SCTE-35 markers in this output at the insertion points that you specify
688      * in an ESAM XML document. Provide the document in the setting SCC XML (sccXml).
689      */
SetScte35Esam(const CmfcScte35Esam & value)690     inline void SetScte35Esam(const CmfcScte35Esam& value) { m_scte35EsamHasBeenSet = true; m_scte35Esam = value; }
691 
692     /**
693      * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT
694      * to put SCTE-35 markers in this output at the insertion points that you specify
695      * in an ESAM XML document. Provide the document in the setting SCC XML (sccXml).
696      */
SetScte35Esam(CmfcScte35Esam && value)697     inline void SetScte35Esam(CmfcScte35Esam&& value) { m_scte35EsamHasBeenSet = true; m_scte35Esam = std::move(value); }
698 
699     /**
700      * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT
701      * to put SCTE-35 markers in this output at the insertion points that you specify
702      * in an ESAM XML document. Provide the document in the setting SCC XML (sccXml).
703      */
WithScte35Esam(const CmfcScte35Esam & value)704     inline CmfcSettings& WithScte35Esam(const CmfcScte35Esam& value) { SetScte35Esam(value); return *this;}
705 
706     /**
707      * Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT
708      * to put SCTE-35 markers in this output at the insertion points that you specify
709      * in an ESAM XML document. Provide the document in the setting SCC XML (sccXml).
710      */
WithScte35Esam(CmfcScte35Esam && value)711     inline CmfcSettings& WithScte35Esam(CmfcScte35Esam&& value) { SetScte35Esam(std::move(value)); return *this;}
712 
713 
714     /**
715      * Ignore this setting unless you have SCTE-35 markers in your input video file.
716      * Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your
717      * input to also appear in this output. Choose None (NONE) if you don't want those
718      * SCTE-35 markers in this output.
719      */
GetScte35Source()720     inline const CmfcScte35Source& GetScte35Source() const{ return m_scte35Source; }
721 
722     /**
723      * Ignore this setting unless you have SCTE-35 markers in your input video file.
724      * Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your
725      * input to also appear in this output. Choose None (NONE) if you don't want those
726      * SCTE-35 markers in this output.
727      */
Scte35SourceHasBeenSet()728     inline bool Scte35SourceHasBeenSet() const { return m_scte35SourceHasBeenSet; }
729 
730     /**
731      * Ignore this setting unless you have SCTE-35 markers in your input video file.
732      * Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your
733      * input to also appear in this output. Choose None (NONE) if you don't want those
734      * SCTE-35 markers in this output.
735      */
SetScte35Source(const CmfcScte35Source & value)736     inline void SetScte35Source(const CmfcScte35Source& value) { m_scte35SourceHasBeenSet = true; m_scte35Source = value; }
737 
738     /**
739      * Ignore this setting unless you have SCTE-35 markers in your input video file.
740      * Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your
741      * input to also appear in this output. Choose None (NONE) if you don't want those
742      * SCTE-35 markers in this output.
743      */
SetScte35Source(CmfcScte35Source && value)744     inline void SetScte35Source(CmfcScte35Source&& value) { m_scte35SourceHasBeenSet = true; m_scte35Source = std::move(value); }
745 
746     /**
747      * Ignore this setting unless you have SCTE-35 markers in your input video file.
748      * Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your
749      * input to also appear in this output. Choose None (NONE) if you don't want those
750      * SCTE-35 markers in this output.
751      */
WithScte35Source(const CmfcScte35Source & value)752     inline CmfcSettings& WithScte35Source(const CmfcScte35Source& value) { SetScte35Source(value); return *this;}
753 
754     /**
755      * Ignore this setting unless you have SCTE-35 markers in your input video file.
756      * Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your
757      * input to also appear in this output. Choose None (NONE) if you don't want those
758      * SCTE-35 markers in this output.
759      */
WithScte35Source(CmfcScte35Source && value)760     inline CmfcSettings& WithScte35Source(CmfcScte35Source&& value) { SetScte35Source(std::move(value)); return *this;}
761 
762   private:
763 
764     CmfcAudioDuration m_audioDuration;
765     bool m_audioDurationHasBeenSet;
766 
767     Aws::String m_audioGroupId;
768     bool m_audioGroupIdHasBeenSet;
769 
770     Aws::String m_audioRenditionSets;
771     bool m_audioRenditionSetsHasBeenSet;
772 
773     CmfcAudioTrackType m_audioTrackType;
774     bool m_audioTrackTypeHasBeenSet;
775 
776     CmfcDescriptiveVideoServiceFlag m_descriptiveVideoServiceFlag;
777     bool m_descriptiveVideoServiceFlagHasBeenSet;
778 
779     CmfcIFrameOnlyManifest m_iFrameOnlyManifest;
780     bool m_iFrameOnlyManifestHasBeenSet;
781 
782     CmfcScte35Esam m_scte35Esam;
783     bool m_scte35EsamHasBeenSet;
784 
785     CmfcScte35Source m_scte35Source;
786     bool m_scte35SourceHasBeenSet;
787   };
788 
789 } // namespace Model
790 } // namespace MediaConvert
791 } // namespace Aws
792