aws_sdk_elastictranscoder/protocol_serde/
shape_video_parameters.rs1pub fn ser_video_parameters(
3 object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
4 input: &crate::types::VideoParameters,
5) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
6 if let Some(var_1) = &input.codec {
7 object.key("Codec").string(var_1.as_str());
8 }
9 if let Some(var_2) = &input.codec_options {
10 #[allow(unused_mut)]
11 let mut object_3 = object.key("CodecOptions").start_object();
12 for (key_4, value_5) in var_2 {
13 {
14 object_3.key(key_4.as_str()).string(value_5.as_str());
15 }
16 }
17 object_3.finish();
18 }
19 if let Some(var_6) = &input.keyframes_max_dist {
20 object.key("KeyframesMaxDist").string(var_6.as_str());
21 }
22 if let Some(var_7) = &input.fixed_gop {
23 object.key("FixedGOP").string(var_7.as_str());
24 }
25 if let Some(var_8) = &input.bit_rate {
26 object.key("BitRate").string(var_8.as_str());
27 }
28 if let Some(var_9) = &input.frame_rate {
29 object.key("FrameRate").string(var_9.as_str());
30 }
31 if let Some(var_10) = &input.max_frame_rate {
32 object.key("MaxFrameRate").string(var_10.as_str());
33 }
34 if let Some(var_11) = &input.resolution {
35 object.key("Resolution").string(var_11.as_str());
36 }
37 if let Some(var_12) = &input.aspect_ratio {
38 object.key("AspectRatio").string(var_12.as_str());
39 }
40 if let Some(var_13) = &input.max_width {
41 object.key("MaxWidth").string(var_13.as_str());
42 }
43 if let Some(var_14) = &input.max_height {
44 object.key("MaxHeight").string(var_14.as_str());
45 }
46 if let Some(var_15) = &input.display_aspect_ratio {
47 object.key("DisplayAspectRatio").string(var_15.as_str());
48 }
49 if let Some(var_16) = &input.sizing_policy {
50 object.key("SizingPolicy").string(var_16.as_str());
51 }
52 if let Some(var_17) = &input.padding_policy {
53 object.key("PaddingPolicy").string(var_17.as_str());
54 }
55 if let Some(var_18) = &input.watermarks {
56 let mut array_19 = object.key("Watermarks").start_array();
57 for item_20 in var_18 {
58 {
59 #[allow(unused_mut)]
60 let mut object_21 = array_19.value().start_object();
61 crate::protocol_serde::shape_preset_watermark::ser_preset_watermark(&mut object_21, item_20)?;
62 object_21.finish();
63 }
64 }
65 array_19.finish();
66 }
67 Ok(())
68}
69
70pub(crate) fn de_video_parameters<'a, I>(
71 tokens: &mut ::std::iter::Peekable<I>,
72) -> ::std::result::Result<Option<crate::types::VideoParameters>, ::aws_smithy_json::deserialize::error::DeserializeError>
73where
74 I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
75{
76 match tokens.next().transpose()? {
77 Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
78 Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
79 #[allow(unused_mut)]
80 let mut builder = crate::types::builders::VideoParametersBuilder::default();
81 loop {
82 match tokens.next().transpose()? {
83 Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
84 Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
85 "Codec" => {
86 builder = builder.set_codec(
87 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
88 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
89 .transpose()?,
90 );
91 }
92 "CodecOptions" => {
93 builder = builder.set_codec_options(crate::protocol_serde::shape_codec_options::de_codec_options(tokens)?);
94 }
95 "KeyframesMaxDist" => {
96 builder = builder.set_keyframes_max_dist(
97 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
98 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
99 .transpose()?,
100 );
101 }
102 "FixedGOP" => {
103 builder = builder.set_fixed_gop(
104 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
105 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
106 .transpose()?,
107 );
108 }
109 "BitRate" => {
110 builder = builder.set_bit_rate(
111 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
112 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
113 .transpose()?,
114 );
115 }
116 "FrameRate" => {
117 builder = builder.set_frame_rate(
118 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
119 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
120 .transpose()?,
121 );
122 }
123 "MaxFrameRate" => {
124 builder = builder.set_max_frame_rate(
125 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
126 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
127 .transpose()?,
128 );
129 }
130 "Resolution" => {
131 builder = builder.set_resolution(
132 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
133 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
134 .transpose()?,
135 );
136 }
137 "AspectRatio" => {
138 builder = builder.set_aspect_ratio(
139 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
140 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
141 .transpose()?,
142 );
143 }
144 "MaxWidth" => {
145 builder = builder.set_max_width(
146 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
147 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
148 .transpose()?,
149 );
150 }
151 "MaxHeight" => {
152 builder = builder.set_max_height(
153 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
154 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
155 .transpose()?,
156 );
157 }
158 "DisplayAspectRatio" => {
159 builder = builder.set_display_aspect_ratio(
160 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
161 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
162 .transpose()?,
163 );
164 }
165 "SizingPolicy" => {
166 builder = builder.set_sizing_policy(
167 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
168 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
169 .transpose()?,
170 );
171 }
172 "PaddingPolicy" => {
173 builder = builder.set_padding_policy(
174 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
175 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
176 .transpose()?,
177 );
178 }
179 "Watermarks" => {
180 builder = builder.set_watermarks(crate::protocol_serde::shape_preset_watermarks::de_preset_watermarks(tokens)?);
181 }
182 _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
183 },
184 other => {
185 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
186 "expected object key or end object, found: {:?}",
187 other
188 )))
189 }
190 }
191 }
192 Ok(Some(builder.build()))
193 }
194 _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
195 "expected start object or null",
196 )),
197 }
198}