nominal_api/conjure/objects/scout/video/api/
video_all_segments_metadata.rs1#[derive(
2 Debug,
3 Clone,
4 conjure_object::serde::Serialize,
5 conjure_object::serde::Deserialize,
6 conjure_object::private::DeriveWith
7)]
8#[serde(crate = "conjure_object::serde")]
9#[derive_with(PartialEq, Eq, PartialOrd, Ord, Hash)]
10#[conjure_object::private::staged_builder::staged_builder]
11#[builder(crate = conjure_object::private::staged_builder, update, inline)]
12pub struct VideoAllSegmentsMetadata {
13 #[serde(rename = "rid")]
14 rid: super::super::super::super::api::rids::VideoRid,
15 #[serde(rename = "numFrames")]
16 num_frames: i32,
17 #[serde(rename = "numSegments")]
18 num_segments: i32,
19 #[builder(default, into)]
20 #[serde(rename = "scaleFactor", skip_serializing_if = "Option::is_none", default)]
21 #[derive_with(with = conjure_object::private::DoubleWrapper)]
22 scale_factor: Option<f64>,
23 #[builder(
24 custom(type = super::super::super::super::api::Timestamp, convert = Box::new)
25 )]
26 #[serde(rename = "minAbsoluteTimestamp")]
27 min_absolute_timestamp: Box<super::super::super::super::api::Timestamp>,
28 #[builder(
29 custom(type = super::super::super::super::api::Timestamp, convert = Box::new)
30 )]
31 #[serde(rename = "maxAbsoluteTimestamp")]
32 max_absolute_timestamp: Box<super::super::super::super::api::Timestamp>,
33 #[serde(rename = "mediaDurationSeconds")]
34 #[derive_with(with = conjure_object::private::DoubleWrapper)]
35 media_duration_seconds: f64,
36 #[serde(rename = "mediaFrameRate")]
37 #[derive_with(with = conjure_object::private::DoubleWrapper)]
38 media_frame_rate: f64,
39 #[builder(
40 default,
41 custom(
42 type = impl
43 Into<Option<super::super::super::super::api::Timestamp>>,
44 convert = |v|v.into().map(Box::new)
45 )
46 )]
47 #[serde(rename = "minTimestamp", skip_serializing_if = "Option::is_none", default)]
48 min_timestamp: Option<Box<super::super::super::super::api::Timestamp>>,
49 #[builder(
50 default,
51 custom(
52 type = impl
53 Into<Option<super::super::super::super::api::Timestamp>>,
54 convert = |v|v.into().map(Box::new)
55 )
56 )]
57 #[serde(rename = "maxTimestamp", skip_serializing_if = "Option::is_none", default)]
58 max_timestamp: Option<Box<super::super::super::super::api::Timestamp>>,
59 #[builder(default, into)]
60 #[serde(
61 rename = "durationSeconds",
62 skip_serializing_if = "Option::is_none",
63 default
64 )]
65 #[derive_with(with = conjure_object::private::DoubleWrapper)]
66 duration_seconds: Option<f64>,
67 #[builder(default, into)]
68 #[serde(rename = "frameRate", skip_serializing_if = "Option::is_none", default)]
69 #[derive_with(with = conjure_object::private::DoubleWrapper)]
70 frame_rate: Option<f64>,
71}
72impl VideoAllSegmentsMetadata {
73 #[inline]
74 pub fn rid(&self) -> &super::super::super::super::api::rids::VideoRid {
75 &self.rid
76 }
77 #[inline]
78 pub fn num_frames(&self) -> i32 {
79 self.num_frames
80 }
81 #[inline]
82 pub fn num_segments(&self) -> i32 {
83 self.num_segments
84 }
85 #[inline]
87 pub fn scale_factor(&self) -> Option<f64> {
88 self.scale_factor.as_ref().map(|o| *o)
89 }
90 #[inline]
91 pub fn min_absolute_timestamp(&self) -> &super::super::super::super::api::Timestamp {
92 &*self.min_absolute_timestamp
93 }
94 #[inline]
96 pub fn max_absolute_timestamp(&self) -> &super::super::super::super::api::Timestamp {
97 &*self.max_absolute_timestamp
98 }
99 #[inline]
100 pub fn media_duration_seconds(&self) -> f64 {
101 self.media_duration_seconds
102 }
103 #[inline]
105 pub fn media_frame_rate(&self) -> f64 {
106 self.media_frame_rate
107 }
108 #[inline]
110 pub fn min_timestamp(&self) -> Option<&super::super::super::super::api::Timestamp> {
111 self.min_timestamp.as_ref().map(|o| &**o)
112 }
113 #[inline]
115 pub fn max_timestamp(&self) -> Option<&super::super::super::super::api::Timestamp> {
116 self.max_timestamp.as_ref().map(|o| &**o)
117 }
118 #[inline]
120 pub fn duration_seconds(&self) -> Option<f64> {
121 self.duration_seconds.as_ref().map(|o| *o)
122 }
123 #[inline]
125 pub fn frame_rate(&self) -> Option<f64> {
126 self.frame_rate.as_ref().map(|o| *o)
127 }
128}