Skip to content

pinray 0.2.2 — Stride fix, reachable docs, agent-friendly reference

Choose a tag to compare

@Itz-Agasta Itz-Agasta released this 08 Jul 13:19

Small follow-up to 0.2.0 - no breaking changes, all additive.

Highlights

  • Fixed a real silent-wrong bug: VideoFrame.stride can exceed the tightly-packed row size, and copying FrameData::Host bytes directly into a rawvideo pipe or encoder skewed every row after the first. Added VideoFrame::to_tight_bytes() and PixelFormat::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 in docs/ 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::Microphone isn't implemented on any backend yet (.build() fails eagerly with PinrayError::Unsupported).
  • Clarified why the docs.rs page redirects to a fixed target (no libpipewire on their Linux builders) and linked docs.rs/pinray-core as the always-correct, target-independent type reference.
  • Added llms.txt at the repo root - a reference checked directly against crates/core/src/*.rs, for agents/tools integrating the crate.

Upgrading

Drop-in - no API removed or changed, only additions.

Kana Arima GIF