screencapturekit/cm/
mod.rs

1//! Core Media types and wrappers
2//!
3//! This module provides Rust wrappers for Core Media framework types used in
4//! screen capture operations.
5//!
6//! ## Main Types
7//!
8//! - [`CMSampleBuffer`] - Container for media samples (audio/video frames)
9//! - [`CMTime`] - Time value with rational timescale
10//! - [`CVPixelBuffer`] - Video pixel buffer
11//! - [`IOSurface`] - Hardware-accelerated surface
12//! - [`AudioBuffer`] - Audio data buffer
13//! - [`AudioBufferList`] - Collection of audio buffers
14//! - [`SCFrameStatus`] - Status of a captured frame
15
16mod audio;
17mod block_buffer;
18pub mod ffi;
19mod format_description;
20mod frame_status;
21mod iosurface;
22mod pixel_buffer;
23mod sample_buffer;
24mod time;
25
26// Re-export all public types
27pub use audio::{
28    AudioBuffer, AudioBufferList, AudioBufferListIter, AudioBufferListRaw, AudioBufferRef,
29};
30pub use block_buffer::CMBlockBuffer;
31pub use format_description::CMFormatDescription;
32pub use frame_status::SCFrameStatus;
33pub use iosurface::IOSurface;
34pub use pixel_buffer::{CVPixelBuffer, CVPixelBufferLockGuard, CVPixelBufferPool};
35pub use sample_buffer::CMSampleBuffer;
36pub use time::{CMSampleTimingInfo, CMTime};
37
38// Re-export codec and media type modules from format_description
39pub use format_description::codec_types;
40pub use format_description::media_types;