aws_sdk_elastictranscoder/protocol_serde/
shape_video_parameters.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub 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}