Struct CMSampleTimingInfo
#[repr(C)]pub struct CMSampleTimingInfo {
pub duration: CMTime,
pub presentation_time_stamp: CMTime,
pub decode_time_stamp: CMTime,
}Expand description
Sample timing information
Contains timing data for a media sample (audio or video frame).
§Examples
use apple_cf::cm::{CMSampleTimingInfo, CMTime};
let timing = CMSampleTimingInfo::new();
assert!(!timing.is_valid());
let duration = CMTime::new(1, 30);
let pts = CMTime::new(100, 30);
let dts = CMTime::new(100, 30);
let timing = CMSampleTimingInfo::with_times(duration, pts, dts);
assert!(timing.is_valid());Fields§
§duration: CMTime§presentation_time_stamp: CMTime§decode_time_stamp: CMTimeImplementations§
§impl CMSampleTimingInfo
impl CMSampleTimingInfo
pub const fn new() -> CMSampleTimingInfo
pub const fn new() -> CMSampleTimingInfo
Create a new timing info with all times set to invalid
§Examples
use apple_cf::cm::CMSampleTimingInfo;
let timing = CMSampleTimingInfo::new();
assert!(!timing.is_valid());pub const fn with_times(
duration: CMTime,
presentation_time_stamp: CMTime,
decode_time_stamp: CMTime,
) -> CMSampleTimingInfo
pub const fn with_times( duration: CMTime, presentation_time_stamp: CMTime, decode_time_stamp: CMTime, ) -> CMSampleTimingInfo
Create timing info with specific values
pub const fn is_valid(&self) -> bool
pub const fn is_valid(&self) -> bool
Check if all timing fields are valid Returns whether this time carries Core Media’s valid flag.
pub const fn has_valid_presentation_time(&self) -> bool
pub const fn has_valid_presentation_time(&self) -> bool
Check if presentation timestamp is valid
pub const fn has_valid_decode_time(&self) -> bool
pub const fn has_valid_decode_time(&self) -> bool
Check if decode timestamp is valid
pub const fn has_valid_duration(&self) -> bool
pub const fn has_valid_duration(&self) -> bool
Check if duration is valid
pub fn presentation_seconds(&self) -> Option<f64>
pub fn presentation_seconds(&self) -> Option<f64>
Get the presentation timestamp in seconds
pub fn decode_seconds(&self) -> Option<f64>
pub fn decode_seconds(&self) -> Option<f64>
Get the decode timestamp in seconds
pub fn duration_seconds(&self) -> Option<f64>
pub fn duration_seconds(&self) -> Option<f64>
Get the duration in seconds
Trait Implementations§
§impl Clone for CMSampleTimingInfo
impl Clone for CMSampleTimingInfo
§fn clone(&self) -> CMSampleTimingInfo
fn clone(&self) -> CMSampleTimingInfo
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for CMSampleTimingInfo
impl Debug for CMSampleTimingInfo
§impl Default for CMSampleTimingInfo
impl Default for CMSampleTimingInfo
§fn default() -> CMSampleTimingInfo
fn default() -> CMSampleTimingInfo
Returns the “default value” for a type. Read more
§impl Display for CMSampleTimingInfo
impl Display for CMSampleTimingInfo
§impl Hash for CMSampleTimingInfo
impl Hash for CMSampleTimingInfo
§impl PartialEq for CMSampleTimingInfo
impl PartialEq for CMSampleTimingInfo
impl Copy for CMSampleTimingInfo
impl Eq for CMSampleTimingInfo
impl StructuralPartialEq for CMSampleTimingInfo
Auto Trait Implementations§
impl Freeze for CMSampleTimingInfo
impl RefUnwindSafe for CMSampleTimingInfo
impl Send for CMSampleTimingInfo
impl Sync for CMSampleTimingInfo
impl Unpin for CMSampleTimingInfo
impl UnsafeUnpin for CMSampleTimingInfo
impl UnwindSafe for CMSampleTimingInfo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more