Skip to main content

nominal_api/conjure/objects/scout/video/api/
create_segment.rs

1#[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 CreateSegment {
13    #[builder(
14        custom(type = super::super::super::super::api::Handle, convert = Box::new)
15    )]
16    #[serde(rename = "dataHandle")]
17    data_handle: Box<super::super::super::super::api::Handle>,
18    #[serde(rename = "frameRate")]
19    #[derive_with(with = conjure_object::private::DoubleWrapper)]
20    frame_rate: f64,
21    #[serde(rename = "durationSeconds")]
22    #[derive_with(with = conjure_object::private::DoubleWrapper)]
23    duration_seconds: f64,
24    #[builder(custom(type = super::SegmentTimestamps, convert = Box::new))]
25    #[serde(rename = "timestamps")]
26    timestamps: Box<super::SegmentTimestamps>,
27    #[builder(
28        custom(type = super::super::super::super::api::Timestamp, convert = Box::new)
29    )]
30    #[serde(rename = "segmentEndTimestamp")]
31    segment_end_timestamp: Box<super::super::super::super::api::Timestamp>,
32}
33impl CreateSegment {
34    #[inline]
35    pub fn data_handle(&self) -> &super::super::super::super::api::Handle {
36        &*self.data_handle
37    }
38    /// The average frame rate (FPS) of the segment calculated as total frames / duration in seconds.
39    #[inline]
40    pub fn frame_rate(&self) -> f64 {
41        self.frame_rate
42    }
43    #[inline]
44    pub fn duration_seconds(&self) -> f64 {
45        self.duration_seconds
46    }
47    #[inline]
48    pub fn timestamps(&self) -> &super::SegmentTimestamps {
49        &*self.timestamps
50    }
51    #[inline]
52    pub fn segment_end_timestamp(&self) -> &super::super::super::super::api::Timestamp {
53        &*self.segment_end_timestamp
54    }
55}