core_media_sys/
sample_buffer.rs1use crate::libc::c_void;
2use crate::core_foundation_sys::base::{OSStatus, Boolean, CFAllocatorRef, CFTypeID, CFTypeRef};
3use crate::core_foundation_sys::dictionary::CFDictionaryRef;
4use crate::core_foundation_sys::string::CFStringRef;
5
6use crate::base::CMItemIndex;
7use crate::sync::CMClockRef;
8use crate::time::CMTime;
9
10
11pub type CMSampleBufferRef = *mut c_void;
12pub type CMSampleBufferMakeDataReadyCallback = extern "C" fn(sbuf: CMSampleBufferRef,
13 makeDataReadyRefcon: *mut c_void) -> OSStatus;
14
15
16#[repr(C)]
17#[derive(Debug, Copy, Clone)]
18pub struct CMSampleTimingInfo {
19 pub duration: CMTime,
20 pub presentation_time_stamp: CMTime,
21 pub decode_time_stamp: CMTime,
22}
23
24
25extern "C" {
26 pub fn CMSampleBufferGetSampleTimingInfo(sbuf: CMSampleBufferRef,
27 sampleIndex: CMItemIndex,
28 timingInfoOut: *mut CMSampleTimingInfo) -> OSStatus;
29}