Skip to main content

Module cm

Module cm 

Source
Available on crate feature cm only.
Expand description

Core Media time, buffer, and format-description wrappers. CoreMedia primitives — CMTime, CMSampleBuffer, CMBlockBuffer, CMFormatDescription, audio buffer list bridging.

These are the framework-agnostic value types and reference-counted wrappers shared by every Apple media framework. ScreenCaptureKit / VideoToolbox / AVFoundation / AVAssetWriter all speak CMSampleBuffer, and this module is the single source of truth for the safe Rust wrapper.

The image-buffer accessor (CMSampleBuffer::image_buffer) is gated behind the cv feature so users who only need CMSampleBuffer for audio / encoded video don’t pay the CoreVideo dependency cost. The SCStreamFrameInfo attachment readers stay in screencapturekit-rs since they’re tied to ScreenCaptureKit’s specific attachment keys.

Re-exports§

pub use audio::AudioBuffer;
pub use audio::AudioBufferList;
pub use audio::AudioBufferListRaw;
pub use block_buffer::CMBlockBuffer;
pub use format_description::CMFormatDescription;
pub use format_description::CMMetadataFormatDescription;
pub use sample_buffer::CMSampleBuffer;
pub use time::CMClock;
pub use time::CMSampleTimingInfo;
pub use time::CMTime;
pub use time::CMTimeRange;
pub use timebase::CMTimebase;

Modules§

audio
Audio buffer types for captured audio samples
block_buffer
Core Media block-buffer wrappers. CMBlockBuffer - Block of contiguous data
format_description
Core Media format-description wrappers. CMFormatDescription - Media format description
sample_buffer
Core Media sample-buffer wrappers. CMSampleBuffer — framework-agnostic safe wrapper around a CoreMedia CMSampleBufferRef.
time
Core Media time and time-range wrappers. Core Media time types
timebase
Core Media timebase wrappers. CMTimebase wrapper.