Skip to main content

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}