pinray 0.2.2 — Stride fix, reachable docs, agent-friendly reference
Small follow-up to 0.2.0 - no breaking changes, all additive.
Highlights
- Fixed a real silent-wrong bug:
VideoFrame.stridecan exceed the tightly-packed row size, and copyingFrameData::Hostbytes directly into arawvideopipe or encoder skewed every row after the first. AddedVideoFrame::to_tight_bytes()andPixelFormat::bytes_per_pixel()to fix it at the API level. - The getting-started guide is now the docs.rs front page (
include_str!'d into crate-level docs), instead of living only indocs/where docs.rs visitors never saw it. - Documented the frame-pacing footgun (declared constant fps vs push-driven actual capture cadence desyncs muxed audio/video) with a worked example.
- Audio-only capture now has its own first-class example instead of a one-line mention, plus an explicit callout that
AudioCapture::Microphoneisn't implemented on any backend yet (.build()fails eagerly withPinrayError::Unsupported). - Clarified why the docs.rs page redirects to a fixed target (no libpipewire on their Linux builders) and linked
docs.rs/pinray-coreas the always-correct, target-independent type reference. - Added
llms.txtat the repo root - a reference checked directly againstcrates/core/src/*.rs, for agents/tools integrating the crate.
Upgrading
Drop-in - no API removed or changed, only additions.
