Skip to main content

TcInterpolator

Struct TcInterpolator 

Source
pub struct TcInterpolator { /* private fields */ }
Expand description

Timecode interpolator that derives frame-accurate timecodes from sparse reference points.

Implementations§

Source§

impl TcInterpolator

Source

pub fn new(frame_rate: FrameRate, mode: InterpolationMode) -> Self

Creates a new interpolator with the given frame rate and mode.

Source

pub fn with_max_gap(self, gap: u64) -> Self

Sets the maximum allowable gap in frames.

Source

pub fn add_ref(&mut self, point: TcRefPoint)

Adds a reference point. Points are kept sorted by position.

Source

pub fn ref_count(&self) -> usize

Returns the number of stored reference points.

Source

pub fn clear(&mut self)

Clears all reference points.

Source

pub fn frame_rate(&self) -> FrameRate

Returns the frame rate used for interpolation.

Source

pub fn mode(&self) -> InterpolationMode

Returns the interpolation mode.

Source

pub fn max_gap(&self) -> u64

Returns the maximum gap setting.

Source

pub fn interpolate( &self, position: u64, ) -> Option<Result<Timecode, TimecodeError>>

Interpolates the timecode at the given position.

Returns None if there are no reference points or the position is out of range for the chosen interpolation mode.

Source

pub fn validate_consistency(&self) -> Vec<ConsistencyIssue>

Checks whether the reference points are consistent (i.e., timecode increments match positional deltas).

Trait Implementations§

Source§

impl Clone for TcInterpolator

Source§

fn clone(&self) -> TcInterpolator

Returns a duplicate 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 TcInterpolator

Source§

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

Formats the value using the given formatter. Read more

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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,

Source§

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>,

Source§

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>,

Source§

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.