Skip to content

Commit b1e140a

Browse files
committed
expose CMSampleBuffer
1 parent 83da3aa commit b1e140a

File tree

5 files changed

+15
-3
lines changed

5 files changed

+15
-3
lines changed

src/capturer/engine/mac/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ mod apple_sys;
2929
mod pixel_buffer;
3030
mod pixelformat;
3131

32+
pub use pixel_buffer::PixelBuffer;
33+
3234
struct ErrorHandler;
3335
impl StreamErrorHandler for ErrorHandler {
3436
fn on_error(&self) {

src/capturer/engine/mac/pixel_buffer.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,12 @@ impl PixelBuffer {
9999
}
100100
}
101101

102+
impl Into<CMSampleBuffer> for PixelBuffer {
103+
fn into(self) -> CMSampleBuffer {
104+
self.buffer
105+
}
106+
}
107+
102108
#[derive(Debug)]
103109
pub struct Plane {
104110
buffer: CVPixelBufferRef,
@@ -170,7 +176,6 @@ impl RawCapturer<'_> {
170176

171177
pub unsafe fn sample_buffer_to_pixel_buffer(sample_buffer: &CMSampleBuffer) -> CVPixelBufferRef {
172178
let buffer_ref = &(*sample_buffer.sys_ref);
173-
174179

175180
CMSampleBufferGetImageBuffer(buffer_ref) as CVPixelBufferRef
176181
}

src/capturer/engine/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use super::Options;
44
use crate::frame::Frame;
55

66
#[cfg(target_os = "macos")]
7-
mod mac;
7+
pub mod mac;
88

99
#[cfg(target_os = "windows")]
1010
mod win;

src/capturer/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
mod engine;
1+
pub mod engine;
22

33
use std::{error::Error, sync::mpsc};
44

src/lib.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,8 @@ pub use targets::Target;
1111
pub use utils::has_permission;
1212
pub use utils::is_supported;
1313
pub use utils::request_permission;
14+
15+
#[cfg(target_os = "macos")]
16+
pub mod engine {
17+
pub use crate::capturer::engine::mac;
18+
}

0 commit comments

Comments
 (0)