Why GStreamer shmsink Always Exits with Code 1

Fixing a GStreamer Bug: Why shmsink Always Exits with Code 1

A 2-line fix for a race condition in GStreamer’s shmsink that causes every pipeline using shared memory to exit with an error. How I found it, proved it, and verified the fix with sanitizers.

March 24, 2026 · 4 min · Pavel Guzenfeld
Zero-Copy Video on Jetson: Building gst-nvmm-cpp

Zero-Copy Video on Jetson: Building gst-nvmm-cpp and Contributing to GStreamer

How we built a GStreamer plugin suite for zero-copy NVMM video on NVIDIA Jetson, the bugs we hit along the way, and what it takes to contribute to the GStreamer project — from filing issues to getting an MR merged.

March 23, 2026 · 13 min · Pavel Guzenfeld
Contributing to ROS 2 — A Practical Guide

Contributing to ROS 2 — A Practical Guide from Four Accepted PRs

Everything I learned submitting four pull requests to ROS 2 core repositories — from finding issues and building in Docker to passing DCO checks, handling OSRF’s AI disclosure policy, rebasing across distro branches, and running the full test suites. A warts-and-all field guide.

March 22, 2026 · 15 min · Pavel Guzenfeld