Speaker
Description
In GStreamer, the media pipeline operation is defined by threads that are continuously pushing or pulling data through the pads of the linked elements. This is an elegant and very flexible way of operating the pipeline, but there are certain drawbacks.
PipeWire follows a different approach, using a single thread that wakes up elements in a dependency-based sequence to consume and produce data that is placed in shared memory. With that approach, it can schedule pipelines with a predictable processing latency that span across multiple processes, quite efficiently. How does that work exactly and are there drawbacks to that as well?
This talk aims to explain in depth and discuss pipeline operation and how to get the most out of different systems.
Speaker Bio
George Kiagiadakis is a principal software engineer at Collabora, with over 15 years of experience in open source and embedded multimedia projects in particular. He is the author and maintainer of WirePlumber, a modular session manager for PipeWire, and has worked extensively with - and contributed to - both PipeWire and GStreamer. George has also contributed to Automotive Grade Linux (AGL) and various other FOSS projects in the past, most notably including Telepathy, Debian and KDE.
Duration of the talk |
---|