9-13 October 2026
Impact Hub Prague
Europe/Prague timezone

Building a Ringbuffer - Going in circles with V4L2 and PipeWire

11 Oct 2026, 12:20
30m
Impact Hub Prague

Impact Hub Prague

Drtinova 557/10, 150 00 Prague 5 - Smíchov, Czech Republic

Speaker

Simon Himmelbauer

Description

We implemented a ringbuffer element to keep hundreds of video frames in a GStreamer pipeline and only emit buffers to the sink when requested. While its implementation was straightforward, we found out that other components, such as Video4Linux2 and PipeWire, are not primarily designed for keeping large amount of frames in memory for extended periods.
Specifically, we extended PipeWire to track buffer ownership across clients in order to improve how buffers are queued back to the V4L2 driver.

This presentation details our journey and lessons learned and will cover the following topics:

  • Implementation of a ringbuffer element in GStreamer
  • Impact on buffer management of GstV4l2BufferPool
  • Ensuring zero-copy across the entire Gstreamer pipeline
  • Challenges of using ringbuffer in combination with PipeWire and V4L2
  • Buffer tracking in PipeWire

Speaker Bio

Simon is a software engineer at A&R TECH. He has used GStreamer across several fields, such as broadcasting, medical engineering and railway.

Duration of the talk

Primary author

Presentation Materials

There are no materials yet.
2026 Platinum Sponsor
Arm
2026 Gold Sponsors
AMD
Collabora
Microsoft
NVIDIA
Raspberry Pi
2026 Silver Sponsors
CodeWeavers
Igalia
Netflix
Qualcomm
Specs
The Linux Foundation
2026 Bronze Sponsors
Imagination Technologies
Khronos Group
Libre Computer
Linaro
LunarG