Struct libspa_sys::spa_io_position
source · #[repr(C)]pub struct spa_io_position {
pub clock: spa_io_clock,
pub video: spa_io_video_size,
pub offset: i64,
pub state: u32,
pub n_segments: u32,
pub segments: [spa_io_segment; 8],
}
Expand description
The position information adds extra meaning to the raw clock times.
It is set on all nodes and the clock id will contain the clock of the driving node in the graph.
The position information contains 1 or more segments that convert the raw clock times to a stream time. They are sorted based on their start times, and thus the order in which they will activate in the future. This makes it possible to look ahead in the scheduled segments and anticipate the changes in the timeline.
Fields§
§clock: spa_io_clock
< clock position of driver, always valid and read only
video: spa_io_video_size
< size of the video in the current cycle
offset: i64
< an offset to subtract from the clock position to get a running time. This is the time that the state has been in the RUNNING state and the time that should be used to compare the segment start values against.
state: u32
< one of enum spa_io_position_state
n_segments: u32
< number of segments
segments: [spa_io_segment; 8]
< segments
Trait Implementations§
source§impl Clone for spa_io_position
impl Clone for spa_io_position
source§fn clone(&self) -> spa_io_position
fn clone(&self) -> spa_io_position
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for spa_io_position
impl Debug for spa_io_position
source§impl PartialEq for spa_io_position
impl PartialEq for spa_io_position
source§fn eq(&self, other: &spa_io_position) -> bool
fn eq(&self, other: &spa_io_position) -> bool
self
and other
values to be equal, and is used
by ==
.