Skip to main content

subtr_actor/stats/analysis_graph/nodes/
frame_info.rs

1use super::*;
2use crate::stats::calculators::*;
3use crate::*;
4
5/// Exposes per-frame timing/frame metadata extracted from raw frame input.
6pub struct FrameInfoNode {
7    state: FrameInfo,
8}
9
10impl FrameInfoNode {
11    pub fn new() -> Self {
12        Self {
13            state: FrameInfo::default(),
14        }
15    }
16}
17
18impl_analysis_node! {
19    node = FrameInfoNode,
20    state = FrameInfo,
21    name = "frame_info",
22    dependencies = [AnalysisDependency::required::<FrameInput>()],
23    inputs = { frame_input: FrameInput },
24    evaluate = |node| {
25        node.state = frame_input.frame_info();
26        Ok(())
27    },
28    state_ref = |node| &node.state,
29}