1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//! Screen capture stream functionality
//!
//! This module provides the core streaming API for capturing screen content.
//!
//! ## Main Components
//!
//! - [`SCStream`] - The main capture stream that manages the capture session
//! - [`configuration::SCStreamConfiguration`] - Stream configuration (resolution, FPS, pixel format, audio)
//! - [`content_filter::SCContentFilter`] - Filter for selecting what to capture (display, window, app)
//! - [`output_trait::SCStreamOutputTrait`] - Trait for receiving captured frames
//! - [`output_type::SCStreamOutputType`] - Type of output (screen, audio, microphone)
//! - [`delegate_trait::SCStreamDelegateTrait`] - Trait for stream lifecycle events
//!
//! ## Workflow
//!
//! 1. Query available content with [`SCShareableContent`](crate::shareable_content::SCShareableContent)
//! 2. Create a content filter with [`SCContentFilter::create()`](content_filter::SCContentFilter::create)
//! 3. Configure the stream with [`SCStreamConfiguration::new()`](configuration::SCStreamConfiguration::new)
//! 4. Create and start the stream with [`SCStream::new()`](SCStream::new)
//!
//! ## Example
//!
//! ```rust,no_run
//! use screencapturekit::prelude::*;
//!
//! # let content = SCShareableContent::get().unwrap();
//! # let display = &content.displays()[0];
//! let filter = SCContentFilter::create()
//! .with_display(display)
//! .with_excluding_windows(&[])
//! .build();
//! let config = SCStreamConfiguration::new()
//! .with_width(1920)
//! .with_height(1080);
//!
//! let mut stream = SCStream::new(&filter, &config);
//! stream.add_output_handler(
//! |sample, output_type| println!("Got frame!"),
//! SCStreamOutputType::Screen
//! );
//! stream.start_capture()?;
//! # Ok::<(), screencapturekit::error::SCError>(())
//! ```
pub use ErrorHandler;
pub use SCStreamDelegateTrait as SCStreamDelegate;
pub use StreamCallbacks;
pub use SCStreamOutputTrait as SCStreamOutput;
pub use SCStream;
pub use ;