aws_sdk_mediaconvert/types/_video_overlay_input.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// Input settings for Video overlay. You can include one or more video overlays in sequence at different times that you specify.
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct VideoOverlayInput {
7 /// Use Audio selectors to specify audio to use during your Video overlay. You can use multiple Audio selectors per Video overlay. When you include an Audio selector within a Video overlay, MediaConvert mutes any Audio selectors with the same name from the underlying input. For example, if your underlying input has Audio selector 1 and Audio selector 2, and your Video overlay only has Audio selector 1, then MediaConvert replaces all audio for Audio selector 1 during the Video overlay. To replace all audio for all Audio selectors from the underlying input by using a single Audio selector in your overlay, set DefaultSelection to DEFAULT (Check \"Use as default\" in the MediaConvert console).
8 pub audio_selectors: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AudioSelector>>,
9 /// Specify the input file S3, HTTP, or HTTPS URL for your video overlay. To specify one or more Transitions for your base input video instead: Leave blank.
10 pub file_input: ::std::option::Option<::std::string::String>,
11 /// Specify one or more clips to use from your video overlay. When you include an input clip, you must also specify its start timecode, end timecode, or both start and end timecode.
12 pub input_clippings: ::std::option::Option<::std::vec::Vec<crate::types::VideoOverlayInputClipping>>,
13 /// Specify the timecode source for your video overlay input clips. To use the timecode present in your video overlay: Choose Embedded. To use a zerobased timecode: Choose Start at 0. To choose a timecode: Choose Specified start. When you do, enter the starting timecode in Start timecode. If you don't specify a value for Timecode source, MediaConvert uses Embedded by default.
14 pub timecode_source: ::std::option::Option<crate::types::InputTimecodeSource>,
15 /// Specify the starting timecode for this video overlay. To use this setting, you must set Timecode source to Specified start.
16 pub timecode_start: ::std::option::Option<::std::string::String>,
17}
18impl VideoOverlayInput {
19 /// Use Audio selectors to specify audio to use during your Video overlay. You can use multiple Audio selectors per Video overlay. When you include an Audio selector within a Video overlay, MediaConvert mutes any Audio selectors with the same name from the underlying input. For example, if your underlying input has Audio selector 1 and Audio selector 2, and your Video overlay only has Audio selector 1, then MediaConvert replaces all audio for Audio selector 1 during the Video overlay. To replace all audio for all Audio selectors from the underlying input by using a single Audio selector in your overlay, set DefaultSelection to DEFAULT (Check \"Use as default\" in the MediaConvert console).
20 pub fn audio_selectors(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AudioSelector>> {
21 self.audio_selectors.as_ref()
22 }
23 /// Specify the input file S3, HTTP, or HTTPS URL for your video overlay. To specify one or more Transitions for your base input video instead: Leave blank.
24 pub fn file_input(&self) -> ::std::option::Option<&str> {
25 self.file_input.as_deref()
26 }
27 /// Specify one or more clips to use from your video overlay. When you include an input clip, you must also specify its start timecode, end timecode, or both start and end timecode.
28 ///
29 /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.input_clippings.is_none()`.
30 pub fn input_clippings(&self) -> &[crate::types::VideoOverlayInputClipping] {
31 self.input_clippings.as_deref().unwrap_or_default()
32 }
33 /// Specify the timecode source for your video overlay input clips. To use the timecode present in your video overlay: Choose Embedded. To use a zerobased timecode: Choose Start at 0. To choose a timecode: Choose Specified start. When you do, enter the starting timecode in Start timecode. If you don't specify a value for Timecode source, MediaConvert uses Embedded by default.
34 pub fn timecode_source(&self) -> ::std::option::Option<&crate::types::InputTimecodeSource> {
35 self.timecode_source.as_ref()
36 }
37 /// Specify the starting timecode for this video overlay. To use this setting, you must set Timecode source to Specified start.
38 pub fn timecode_start(&self) -> ::std::option::Option<&str> {
39 self.timecode_start.as_deref()
40 }
41}
42impl VideoOverlayInput {
43 /// Creates a new builder-style object to manufacture [`VideoOverlayInput`](crate::types::VideoOverlayInput).
44 pub fn builder() -> crate::types::builders::VideoOverlayInputBuilder {
45 crate::types::builders::VideoOverlayInputBuilder::default()
46 }
47}
48
49/// A builder for [`VideoOverlayInput`](crate::types::VideoOverlayInput).
50#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
51#[non_exhaustive]
52pub struct VideoOverlayInputBuilder {
53 pub(crate) audio_selectors: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AudioSelector>>,
54 pub(crate) file_input: ::std::option::Option<::std::string::String>,
55 pub(crate) input_clippings: ::std::option::Option<::std::vec::Vec<crate::types::VideoOverlayInputClipping>>,
56 pub(crate) timecode_source: ::std::option::Option<crate::types::InputTimecodeSource>,
57 pub(crate) timecode_start: ::std::option::Option<::std::string::String>,
58}
59impl VideoOverlayInputBuilder {
60 /// Adds a key-value pair to `audio_selectors`.
61 ///
62 /// To override the contents of this collection use [`set_audio_selectors`](Self::set_audio_selectors).
63 ///
64 /// Use Audio selectors to specify audio to use during your Video overlay. You can use multiple Audio selectors per Video overlay. When you include an Audio selector within a Video overlay, MediaConvert mutes any Audio selectors with the same name from the underlying input. For example, if your underlying input has Audio selector 1 and Audio selector 2, and your Video overlay only has Audio selector 1, then MediaConvert replaces all audio for Audio selector 1 during the Video overlay. To replace all audio for all Audio selectors from the underlying input by using a single Audio selector in your overlay, set DefaultSelection to DEFAULT (Check \"Use as default\" in the MediaConvert console).
65 pub fn audio_selectors(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AudioSelector) -> Self {
66 let mut hash_map = self.audio_selectors.unwrap_or_default();
67 hash_map.insert(k.into(), v);
68 self.audio_selectors = ::std::option::Option::Some(hash_map);
69 self
70 }
71 /// Use Audio selectors to specify audio to use during your Video overlay. You can use multiple Audio selectors per Video overlay. When you include an Audio selector within a Video overlay, MediaConvert mutes any Audio selectors with the same name from the underlying input. For example, if your underlying input has Audio selector 1 and Audio selector 2, and your Video overlay only has Audio selector 1, then MediaConvert replaces all audio for Audio selector 1 during the Video overlay. To replace all audio for all Audio selectors from the underlying input by using a single Audio selector in your overlay, set DefaultSelection to DEFAULT (Check \"Use as default\" in the MediaConvert console).
72 pub fn set_audio_selectors(
73 mut self,
74 input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AudioSelector>>,
75 ) -> Self {
76 self.audio_selectors = input;
77 self
78 }
79 /// Use Audio selectors to specify audio to use during your Video overlay. You can use multiple Audio selectors per Video overlay. When you include an Audio selector within a Video overlay, MediaConvert mutes any Audio selectors with the same name from the underlying input. For example, if your underlying input has Audio selector 1 and Audio selector 2, and your Video overlay only has Audio selector 1, then MediaConvert replaces all audio for Audio selector 1 during the Video overlay. To replace all audio for all Audio selectors from the underlying input by using a single Audio selector in your overlay, set DefaultSelection to DEFAULT (Check \"Use as default\" in the MediaConvert console).
80 pub fn get_audio_selectors(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AudioSelector>> {
81 &self.audio_selectors
82 }
83 /// Specify the input file S3, HTTP, or HTTPS URL for your video overlay. To specify one or more Transitions for your base input video instead: Leave blank.
84 pub fn file_input(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
85 self.file_input = ::std::option::Option::Some(input.into());
86 self
87 }
88 /// Specify the input file S3, HTTP, or HTTPS URL for your video overlay. To specify one or more Transitions for your base input video instead: Leave blank.
89 pub fn set_file_input(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
90 self.file_input = input;
91 self
92 }
93 /// Specify the input file S3, HTTP, or HTTPS URL for your video overlay. To specify one or more Transitions for your base input video instead: Leave blank.
94 pub fn get_file_input(&self) -> &::std::option::Option<::std::string::String> {
95 &self.file_input
96 }
97 /// Appends an item to `input_clippings`.
98 ///
99 /// To override the contents of this collection use [`set_input_clippings`](Self::set_input_clippings).
100 ///
101 /// Specify one or more clips to use from your video overlay. When you include an input clip, you must also specify its start timecode, end timecode, or both start and end timecode.
102 pub fn input_clippings(mut self, input: crate::types::VideoOverlayInputClipping) -> Self {
103 let mut v = self.input_clippings.unwrap_or_default();
104 v.push(input);
105 self.input_clippings = ::std::option::Option::Some(v);
106 self
107 }
108 /// Specify one or more clips to use from your video overlay. When you include an input clip, you must also specify its start timecode, end timecode, or both start and end timecode.
109 pub fn set_input_clippings(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::VideoOverlayInputClipping>>) -> Self {
110 self.input_clippings = input;
111 self
112 }
113 /// Specify one or more clips to use from your video overlay. When you include an input clip, you must also specify its start timecode, end timecode, or both start and end timecode.
114 pub fn get_input_clippings(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::VideoOverlayInputClipping>> {
115 &self.input_clippings
116 }
117 /// Specify the timecode source for your video overlay input clips. To use the timecode present in your video overlay: Choose Embedded. To use a zerobased timecode: Choose Start at 0. To choose a timecode: Choose Specified start. When you do, enter the starting timecode in Start timecode. If you don't specify a value for Timecode source, MediaConvert uses Embedded by default.
118 pub fn timecode_source(mut self, input: crate::types::InputTimecodeSource) -> Self {
119 self.timecode_source = ::std::option::Option::Some(input);
120 self
121 }
122 /// Specify the timecode source for your video overlay input clips. To use the timecode present in your video overlay: Choose Embedded. To use a zerobased timecode: Choose Start at 0. To choose a timecode: Choose Specified start. When you do, enter the starting timecode in Start timecode. If you don't specify a value for Timecode source, MediaConvert uses Embedded by default.
123 pub fn set_timecode_source(mut self, input: ::std::option::Option<crate::types::InputTimecodeSource>) -> Self {
124 self.timecode_source = input;
125 self
126 }
127 /// Specify the timecode source for your video overlay input clips. To use the timecode present in your video overlay: Choose Embedded. To use a zerobased timecode: Choose Start at 0. To choose a timecode: Choose Specified start. When you do, enter the starting timecode in Start timecode. If you don't specify a value for Timecode source, MediaConvert uses Embedded by default.
128 pub fn get_timecode_source(&self) -> &::std::option::Option<crate::types::InputTimecodeSource> {
129 &self.timecode_source
130 }
131 /// Specify the starting timecode for this video overlay. To use this setting, you must set Timecode source to Specified start.
132 pub fn timecode_start(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
133 self.timecode_start = ::std::option::Option::Some(input.into());
134 self
135 }
136 /// Specify the starting timecode for this video overlay. To use this setting, you must set Timecode source to Specified start.
137 pub fn set_timecode_start(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
138 self.timecode_start = input;
139 self
140 }
141 /// Specify the starting timecode for this video overlay. To use this setting, you must set Timecode source to Specified start.
142 pub fn get_timecode_start(&self) -> &::std::option::Option<::std::string::String> {
143 &self.timecode_start
144 }
145 /// Consumes the builder and constructs a [`VideoOverlayInput`](crate::types::VideoOverlayInput).
146 pub fn build(self) -> crate::types::VideoOverlayInput {
147 crate::types::VideoOverlayInput {
148 audio_selectors: self.audio_selectors,
149 file_input: self.file_input,
150 input_clippings: self.input_clippings,
151 timecode_source: self.timecode_source,
152 timecode_start: self.timecode_start,
153 }
154 }
155}