#[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

source§

fn clone(&self) -> spa_io_position

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for spa_io_position

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for spa_io_position

source§

fn eq(&self, other: &spa_io_position) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for spa_io_position

source§

impl StructuralPartialEq for spa_io_position

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.