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 /// 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.
8 pub file_input: ::std::option::Option<::std::string::String>,
9 /// 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.
10 pub input_clippings: ::std::option::Option<::std::vec::Vec<crate::types::VideoOverlayInputClipping>>,
11 /// 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.
12 pub timecode_source: ::std::option::Option<crate::types::InputTimecodeSource>,
13 /// Specify the starting timecode for this video overlay. To use this setting, you must set Timecode source to Specified start.
14 pub timecode_start: ::std::option::Option<::std::string::String>,
15}
16impl VideoOverlayInput {
17 /// 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.
18 pub fn file_input(&self) -> ::std::option::Option<&str> {
19 self.file_input.as_deref()
20 }
21 /// 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.
22 ///
23 /// 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()`.
24 pub fn input_clippings(&self) -> &[crate::types::VideoOverlayInputClipping] {
25 self.input_clippings.as_deref().unwrap_or_default()
26 }
27 /// 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.
28 pub fn timecode_source(&self) -> ::std::option::Option<&crate::types::InputTimecodeSource> {
29 self.timecode_source.as_ref()
30 }
31 /// Specify the starting timecode for this video overlay. To use this setting, you must set Timecode source to Specified start.
32 pub fn timecode_start(&self) -> ::std::option::Option<&str> {
33 self.timecode_start.as_deref()
34 }
35}
36impl VideoOverlayInput {
37 /// Creates a new builder-style object to manufacture [`VideoOverlayInput`](crate::types::VideoOverlayInput).
38 pub fn builder() -> crate::types::builders::VideoOverlayInputBuilder {
39 crate::types::builders::VideoOverlayInputBuilder::default()
40 }
41}
42
43/// A builder for [`VideoOverlayInput`](crate::types::VideoOverlayInput).
44#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
45#[non_exhaustive]
46pub struct VideoOverlayInputBuilder {
47 pub(crate) file_input: ::std::option::Option<::std::string::String>,
48 pub(crate) input_clippings: ::std::option::Option<::std::vec::Vec<crate::types::VideoOverlayInputClipping>>,
49 pub(crate) timecode_source: ::std::option::Option<crate::types::InputTimecodeSource>,
50 pub(crate) timecode_start: ::std::option::Option<::std::string::String>,
51}
52impl VideoOverlayInputBuilder {
53 /// 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.
54 pub fn file_input(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
55 self.file_input = ::std::option::Option::Some(input.into());
56 self
57 }
58 /// 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.
59 pub fn set_file_input(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
60 self.file_input = input;
61 self
62 }
63 /// 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.
64 pub fn get_file_input(&self) -> &::std::option::Option<::std::string::String> {
65 &self.file_input
66 }
67 /// Appends an item to `input_clippings`.
68 ///
69 /// To override the contents of this collection use [`set_input_clippings`](Self::set_input_clippings).
70 ///
71 /// 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.
72 pub fn input_clippings(mut self, input: crate::types::VideoOverlayInputClipping) -> Self {
73 let mut v = self.input_clippings.unwrap_or_default();
74 v.push(input);
75 self.input_clippings = ::std::option::Option::Some(v);
76 self
77 }
78 /// 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.
79 pub fn set_input_clippings(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::VideoOverlayInputClipping>>) -> Self {
80 self.input_clippings = input;
81 self
82 }
83 /// 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.
84 pub fn get_input_clippings(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::VideoOverlayInputClipping>> {
85 &self.input_clippings
86 }
87 /// 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.
88 pub fn timecode_source(mut self, input: crate::types::InputTimecodeSource) -> Self {
89 self.timecode_source = ::std::option::Option::Some(input);
90 self
91 }
92 /// 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.
93 pub fn set_timecode_source(mut self, input: ::std::option::Option<crate::types::InputTimecodeSource>) -> Self {
94 self.timecode_source = input;
95 self
96 }
97 /// 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.
98 pub fn get_timecode_source(&self) -> &::std::option::Option<crate::types::InputTimecodeSource> {
99 &self.timecode_source
100 }
101 /// Specify the starting timecode for this video overlay. To use this setting, you must set Timecode source to Specified start.
102 pub fn timecode_start(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
103 self.timecode_start = ::std::option::Option::Some(input.into());
104 self
105 }
106 /// Specify the starting timecode for this video overlay. To use this setting, you must set Timecode source to Specified start.
107 pub fn set_timecode_start(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
108 self.timecode_start = input;
109 self
110 }
111 /// Specify the starting timecode for this video overlay. To use this setting, you must set Timecode source to Specified start.
112 pub fn get_timecode_start(&self) -> &::std::option::Option<::std::string::String> {
113 &self.timecode_start
114 }
115 /// Consumes the builder and constructs a [`VideoOverlayInput`](crate::types::VideoOverlayInput).
116 pub fn build(self) -> crate::types::VideoOverlayInput {
117 crate::types::VideoOverlayInput {
118 file_input: self.file_input,
119 input_clippings: self.input_clippings,
120 timecode_source: self.timecode_source,
121 timecode_start: self.timecode_start,
122 }
123 }
124}