GStreamer 1.26 and Igalia
The release of GStreamer 1.26, last March, delivered new features, optimization and improvements. Igalia played its role as long standing contributor, with 382 commits (194 merge requests) from a total of 2666 of commits merged in this release.This blog post takes a closer look on those contributions.
gst-devtools #
This module contains development and validation tools.
gst-dot-viewer #
gst-dot-viewer is a new web tool for real-time pipeline visualization. Our colleague, Thibault, wrote a blog post about its usage.
validate #
GstValidate is a tool to check if elements are behaving as expected.
- Added support for HTTP Testing.
- Scenario fixes such as reset pipelines on expected errors to avoid inconsistent states, improved error logging, and async action handling to prevent busy loops.
gst-editing-services #
GStreamer Editing Services is a library to simplify the creation of multimedia editing applications.
- Enabled reverse playback, by adding a
reverse
property tonlesource
for seamless backward clip playback. - Added internal tests for Non-Linear Engine elements.
gst-libav #
GStreamer Libav plug-in contains a set of many popular decoders and encoders using FFmpeg.
- As part of the effort to support VVC/H.266 in GStreamer FFmpeg VVC/H.266 decoder was exposed.
- Optimized framerate renegotiation in
avviddec
without decoder resets. - Mapped GST_VIDEO_FORMAT_GRAY10_LE16 format to FFmpeg’s equivalent.
gstreamer #
- Added a tracer for
gst-dots-viewer
. - Log tracers improvements such as, replaced integer codes with readable strings, to track pad’s sticky events, and simplify parameters handling, etc.
- On
pads
, don’t push sticky events in response to a FLUSH_STOP event. - On
queue
element, fixed missingnotify
signals for level changes. - Pipeline parser now logs bus error messages during pipeline construction.
- Fixed
gst_util_ceil_log2
utility function.
gst-plugins-base #
GStreamer Base Plugins is a well-groomed and well-maintained collection of plugins. It also contains helper libraries and base classes useful for writing elements.
- audiorate: respect tolerance property to avoid unnecessary sample adjustments for minor gaps.
- audioconvert: support reordering of unpositioned input channels.
- videoconvertscale: improve aspect ratio handling.
- glcolorconvert: added I422_10XX, I422_12XX, Y444_10XX, and Y444_16XX color formats, and fixed caps negotiation for DMABuf.
- glvideomixer: handle mouse events.
- pbutils: added VVC/H.266 codec support
- encodebasebin: parser fixes.
- oggdemux: fixed seek to the end of files.
- rtp: fixed precision for UNIX timestamp.
- sdp: enhanced debugging messages.
- parsebin: improved caps negotiation.
- decodebin3: added missing locks to prevent race conditions.
- streamsynchronizer: improved documentation.
gst-plugins-good #
GStreamer Good Plugins is a set of plugins considered to have good quality code, correct functionality, and uses LGPL/LGPL+compatible licenses.
- hlsdemux2: handle empty segments at the beginning of a stream.
- qtmux and matroska: add support for VVC/H.266.
- matroskademux:support seek with stop in push mode.
- rtp: several fixes.
- osxaudio: fixes.
- videoflip: support Y444_16LE and Y444_16BE color formats.
- vpx: enhance error and warning messages.
gst-plugins-bad #
GStreamer Bad Plug+ins is a set of plugins that aren’t up to par compared to the rest. They might be close to being good quality, but they’re missing something, be it a good code review, some documentation, a set of tests, etc.
- dashsink: a lot of improvements and cleanups, such as unit tests, state and event management.
- h266parse: enabled
vvc1
andvvi1
stream formats, improved code data parsing and negotiatios, along with cleanups and fixes. - mpegtsmux and tsdemux: added support for VVC/H.266 codec.
- vulkan:
- Added compatibility for timeline semaphores and barriers.
- Initial support of multiple GPU and dynamic element registering.
- Vulkan image buffer pool improvements.
- vulkanh264dec: support interlaced streams.
- vulkanencoding: rate control and quality level adjustments, update SPS/PPS, support layered DPBs.
- webrtcbin:
- Resolved duplicate payload types in SDP offers with RTX and multiple codecs.
- Transceivers are now created earlier during negotiation to avoid linkage issues.
- Allow session level in
setup
attribute in SDP answer.
- wpevideosrc:
- code cleanups
- cached SHM buffers are cleared after caps renegotiation.
- handle latency queries and post progress messages on bus.
- srtdec: fixes
- jpegparse: handle
avi1
tag for progressive images - va: improve encoders configuration when properties change in run+time, specially rate control.
- Previous: Using pre-commit in GStreamer