dailz
|
6835f1f6cd
|
fix(main): call fps_limit.flush() before encoder flush on shutdown
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-14 16:45:47 +08:00 |
|
dailz
|
3a954dae1a
|
fix: resolve 4 audit bugs (PTS, WlOutput, first_frame, DRM minor)
|
2026-04-06 16:25:02 +08:00 |
|
dailz
|
27aa8d2c65
|
fix: convert PTS from from frame号单位转换
|
2026-04-06 16:23:59 +08:00 |
|
dailz
|
1e8d00126b
|
fix(bsf): remove non-functional BSF pipeline, use encoder repeat_pps option
|
2026-04-06 09:35:37 +08:00 |
|
dailz
|
6d49222de8
|
feat: Phase 1 MVP with audit fixes — Wayland screen capture + VAAPI encoding
Phase 1 MVP implementation of wl-webrtc: Wayland screen capture tool
with hardware-accelerated VAAPI H.264 encoding and WebTransport output.
Includes all 9 runtime bug fixes from code audit (fix-audit-issues plan):
CRITICAL:
- C2: h264_metadata BSF with repeat_sps/repeat_pps in encode pipeline
- C4: FpsLimit wired as timing gate in on_copy_complete
HIGH:
- C3+A2: DRM device discovery via dmabuf feedback MainDevice event,
unified resolve_drm_path() helper (CLI > compositor > auto > fallback)
- H2: Separate physical_size (mm) from mode_size (pixels) in wl_output
- H1+A3: Multi-output warning + named-output-not-found error
MEDIUM:
- M5: tv_sec u32->u64 to avoid Y2106 timestamp truncation
- M4: Guard against SHM Buffer event (DMA-BUF only)
Key components:
- src/avhw.rs: FFmpeg VAAPI encoder + filter graph + BSF pipeline
- src/state.rs: Wayland event loop + output negotiation + screencopy
- src/cap_wlr_screencopy.rs: wlr-screencopy capture source
- src/fps_limit.rs: Frame rate limiting with configurable target
- src/transform.rs: Frame format conversion utilities
|
2026-04-05 23:35:00 +08:00 |
|