1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
/// FMTP
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Fmtp {
/// The format of the audio channel.
#[doc(hidden)]
pub channel_order: std::option::Option<std::string::String>,
/// The format that is used for the representation of color.
#[doc(hidden)]
pub colorimetry: std::option::Option<crate::types::Colorimetry>,
/// The frame rate for the video stream, in frames/second. For example: 60000/1001. If you specify a whole number, MediaConnect uses a ratio of N/1. For example, if you specify 60, MediaConnect uses 60/1 as the exactFramerate.
#[doc(hidden)]
pub exact_framerate: std::option::Option<std::string::String>,
/// The pixel aspect ratio (PAR) of the video.
#[doc(hidden)]
pub par: std::option::Option<std::string::String>,
/// The encoding range of the video.
#[doc(hidden)]
pub range: std::option::Option<crate::types::Range>,
/// The type of compression that was used to smooth the video’s appearance
#[doc(hidden)]
pub scan_mode: std::option::Option<crate::types::ScanMode>,
/// The transfer characteristic system (TCS) that is used in the video.
#[doc(hidden)]
pub tcs: std::option::Option<crate::types::Tcs>,
}
impl Fmtp {
/// The format of the audio channel.
pub fn channel_order(&self) -> std::option::Option<&str> {
self.channel_order.as_deref()
}
/// The format that is used for the representation of color.
pub fn colorimetry(&self) -> std::option::Option<&crate::types::Colorimetry> {
self.colorimetry.as_ref()
}
/// The frame rate for the video stream, in frames/second. For example: 60000/1001. If you specify a whole number, MediaConnect uses a ratio of N/1. For example, if you specify 60, MediaConnect uses 60/1 as the exactFramerate.
pub fn exact_framerate(&self) -> std::option::Option<&str> {
self.exact_framerate.as_deref()
}
/// The pixel aspect ratio (PAR) of the video.
pub fn par(&self) -> std::option::Option<&str> {
self.par.as_deref()
}
/// The encoding range of the video.
pub fn range(&self) -> std::option::Option<&crate::types::Range> {
self.range.as_ref()
}
/// The type of compression that was used to smooth the video’s appearance
pub fn scan_mode(&self) -> std::option::Option<&crate::types::ScanMode> {
self.scan_mode.as_ref()
}
/// The transfer characteristic system (TCS) that is used in the video.
pub fn tcs(&self) -> std::option::Option<&crate::types::Tcs> {
self.tcs.as_ref()
}
}
impl Fmtp {
/// Creates a new builder-style object to manufacture [`Fmtp`](crate::types::Fmtp).
pub fn builder() -> crate::types::builders::FmtpBuilder {
crate::types::builders::FmtpBuilder::default()
}
}
/// A builder for [`Fmtp`](crate::types::Fmtp).
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct FmtpBuilder {
pub(crate) channel_order: std::option::Option<std::string::String>,
pub(crate) colorimetry: std::option::Option<crate::types::Colorimetry>,
pub(crate) exact_framerate: std::option::Option<std::string::String>,
pub(crate) par: std::option::Option<std::string::String>,
pub(crate) range: std::option::Option<crate::types::Range>,
pub(crate) scan_mode: std::option::Option<crate::types::ScanMode>,
pub(crate) tcs: std::option::Option<crate::types::Tcs>,
}
impl FmtpBuilder {
/// The format of the audio channel.
pub fn channel_order(mut self, input: impl Into<std::string::String>) -> Self {
self.channel_order = Some(input.into());
self
}
/// The format of the audio channel.
pub fn set_channel_order(mut self, input: std::option::Option<std::string::String>) -> Self {
self.channel_order = input;
self
}
/// The format that is used for the representation of color.
pub fn colorimetry(mut self, input: crate::types::Colorimetry) -> Self {
self.colorimetry = Some(input);
self
}
/// The format that is used for the representation of color.
pub fn set_colorimetry(
mut self,
input: std::option::Option<crate::types::Colorimetry>,
) -> Self {
self.colorimetry = input;
self
}
/// The frame rate for the video stream, in frames/second. For example: 60000/1001. If you specify a whole number, MediaConnect uses a ratio of N/1. For example, if you specify 60, MediaConnect uses 60/1 as the exactFramerate.
pub fn exact_framerate(mut self, input: impl Into<std::string::String>) -> Self {
self.exact_framerate = Some(input.into());
self
}
/// The frame rate for the video stream, in frames/second. For example: 60000/1001. If you specify a whole number, MediaConnect uses a ratio of N/1. For example, if you specify 60, MediaConnect uses 60/1 as the exactFramerate.
pub fn set_exact_framerate(mut self, input: std::option::Option<std::string::String>) -> Self {
self.exact_framerate = input;
self
}
/// The pixel aspect ratio (PAR) of the video.
pub fn par(mut self, input: impl Into<std::string::String>) -> Self {
self.par = Some(input.into());
self
}
/// The pixel aspect ratio (PAR) of the video.
pub fn set_par(mut self, input: std::option::Option<std::string::String>) -> Self {
self.par = input;
self
}
/// The encoding range of the video.
pub fn range(mut self, input: crate::types::Range) -> Self {
self.range = Some(input);
self
}
/// The encoding range of the video.
pub fn set_range(mut self, input: std::option::Option<crate::types::Range>) -> Self {
self.range = input;
self
}
/// The type of compression that was used to smooth the video’s appearance
pub fn scan_mode(mut self, input: crate::types::ScanMode) -> Self {
self.scan_mode = Some(input);
self
}
/// The type of compression that was used to smooth the video’s appearance
pub fn set_scan_mode(mut self, input: std::option::Option<crate::types::ScanMode>) -> Self {
self.scan_mode = input;
self
}
/// The transfer characteristic system (TCS) that is used in the video.
pub fn tcs(mut self, input: crate::types::Tcs) -> Self {
self.tcs = Some(input);
self
}
/// The transfer characteristic system (TCS) that is used in the video.
pub fn set_tcs(mut self, input: std::option::Option<crate::types::Tcs>) -> Self {
self.tcs = input;
self
}
/// Consumes the builder and constructs a [`Fmtp`](crate::types::Fmtp).
pub fn build(self) -> crate::types::Fmtp {
crate::types::Fmtp {
channel_order: self.channel_order,
colorimetry: self.colorimetry,
exact_framerate: self.exact_framerate,
par: self.par,
range: self.range,
scan_mode: self.scan_mode,
tcs: self.tcs,
}
}
}