docs.rs failed to build syphon-core-0.1.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
syphon-core
Core Rust bindings to Syphon — the open-source macOS framework for sharing video frames between applications in real time with zero-copy GPU efficiency.
This crate provides safe wrappers around the Syphon Objective-C API:
SyphonServer, SyphonClient, Frame, and SyphonServerDirectory, plus
helpers for IOSurface and Metal device discovery.
macOS only. Requires
Syphon.frameworkto be available at link/run time (see Requirements).
Features
SyphonServer— publish IOSurface-backed frames; optional private servers viaServerOptions { is_private: true }.SyphonClient— connect by name or byServerInfo(UUID, never ambiguous), receive frames push-based withnewFrameHandler.SyphonServerDirectory— enumerate available servers.- Zero-copy access —
Frame::iosurface()exposes the shared GPU memory so you can alias it as a Metal texture (seesyphon-metal).
Example
use ;
// Publish frames
let server = new?;
server.publish_iosurface?;
// Discover servers
for info in servers
// Connect and receive
let client = connect?;
if let Some = client.try_receive?
# Ok::
Requirements
- macOS 10.13+ with a Metal-capable GPU
- Xcode Command Line Tools
Syphon.frameworkinstalled in/Library/Frameworks(or otherwise on the framework search path). This ships with most Syphon-enabled apps, or build it from the Syphon-Framework repo. The build script also probes a siblingsyphon-lib/Syphon.frameworkfor local workspace development.
Feature flags
logging— cap log output atwarnin release builds.max_perf— compile out all logging in release builds.
License
MIT. Part of the syphon-rs workspace.