GStreamer 1.29.x release notes

devel first release 22 March 2026, latest 29 June 2026

Releases: 1.29.2 1.29.1

GStreamer 1.29.x is an API/ABI-unstable development series leading up to the stable 1.30 series.

The latest unstable development snapshot in the 1.29 series is 1.29.2 and was released on 29 June 2026.

1.29.1

The first API/ABI-unstable 1.29.x development snapshot release (1.29.1) was released on 22 March 2026.

Any newly-added API in the 1.29.x series may still change or be removed again before 1.30 and should be considered unstable until 1.30 is released.

The 1.29.x release series is for testing and development purposes, and distros should probably not package it.

Highlighted changes in 1.29.1

  • ac4parse: New basic AC-4 parser element, plus AC-4 typefinding
  • analytics: New GstAnalyticsMtd derivative to represent grouping of Mtd's and Keypoint
  • analytics: Added a hand tracking tensor decoder element
  • Parse HDR10+ metadata out of H.265 and AV1 bitstreams
  • Matroska demuxer: Can build a dynamic seek index now if needed
  • New h264seiinserter and h265seiinserter elements that support both closed captions and unregistered user data SEIs
  • Add HLS WebVTT sink element to the hlssink3 plugin
  • New DASH sink element that uses CMAF muxer without splitmuxsink
  • New plugin for general purpose compress/decompress
  • New udpsrc2 element with better performance for high bitrate streams
  • New VA-API overlay compositor
  • Opus audio support for F32 and S24_32 samples and 96kHz sample rate
  • Playbin3 subtitle switching fixes
  • Bump ranks of the new Rust RTP (de)payloaders to PRIMARY and default to mtu 1200 for payloaders
  • rtspsrc2 authentication support
  • GstPlay track selection notification improvements
  • QML6 GL Source now supports navigation events
  • QuickTime demuxer gained Bayer support
  • Splitmuxsink now includes the start and end timecodes in fragment-opened and closed messages
  • srtpdec gained a way to invalidate keys for a specific SSRC
  • The APE tag demuxer can extract cover art tags now
  • translationbin can control the textaccumulate latency now via a new property
  • Allow device providers rank override using GST_PLUGIN_FEATURE_RANK
  • cerbero gained support for Android on RISC-V64
  • Countless bug fixes, build fixes, memory leak fixes, and other stability and reliability improvements

gstreamer

Backported into 1.28:

gst-plugins-base

Backported into 1.28:

gst-plugins-good

Backported into 1.28:

gst-plugins-bad

Backported into 1.28:

gst-plugins-ugly

  • No changes that haven't been backported

Backported into 1.28:

GStreamer Rust plugins

Backported into 0.15:

gst-libav

  • No changes that haven't been backported

Backported into 1.28:

gst-rtsp-server

  • No changes that haven't been backported

Backported into 1.28:

gstreamer-sharp

gst-python

Backported into 1.28:

gst-editing-services

Backported into 1.28:

gst-devtools, gst-validate + gst-integration-testsuites

Backported into 1.28:

gstreamer-docs

Backported into 1.28:

Development build environment

Backported into 1.28:

Cerbero build tool and packaging changes in 1.29.1

Backported into 1.28:

Contributors to 1.29.1

Adrian Perez de Castro, Albert Sjölund, Alicia Boya García, Amyspark, Andoni Morales Alastruey, Andrey Sidorov, ArokyaMatthewNathan, axxel, Azat Nurgaliev, Carlos Bentzen, Charles, Chris Bainbridge, Christian Gräfe, Cole Richardson, Daniel Morin, David Rosca, Deepa Guthyappa Madivalara, Detlev Casanova, Dominique Leroux, Edward Hervey, Fabian Orccon, François Laignel, freedesktop, Guillaume Desmottes, He Junyan, Hou Qi, Hyunjun Ko, Jakub Adam, James Liu, Jan Alexander Steffens (heftig), Jan Schmidt, jeongmin kwak, Jeremy Whiting, Jorge Zapata, László Károlyi, L. E. Segovia, Mao Han, Marko Kohtala, Martin Rodriguez Reboredo, Mathieu Duponchelle, Matthew Waters, Mattia, Matus Gajdos, Monty C, Nicolas Dufresne, Nirbheek Chauhan, Ognyan Tonchev, Olivier Crête, Pablo García, Peter Stensson, Philippe Normand, Piotr Brzeziński, Rinat Zeh, Robert Mader, Roberto Viola, Ruben Gonzalez, Sanchayan Maity, Sebastian Dröge, Sergey Radionov, Seungha Yang, Shigeharu Kamiya, Sjoerd Simons, Stéphane Cerveau, Sven Püschel, Taruntej Kanakamalla, Thibault Saunier, Tim-Philipp Müller, Tobias Koenig, Tobias Rapp, Tobias Schlager, Víctor Manuel Jáquez Leal, Vitaly Vlasov, Vivia Nikolaidou, Vivienne Watermeier, Wojciech Kapsa, Xabier Rodriguez Calvar, Xavier Claessens, Xi Ruoyao,

... and many others who have contributed bug reports, translations, sent suggestions or helped testing. Thank you all!

List of merge requests and issues fixed in 1.29.1

1.29.2

The first API/ABI-unstable 1.29.x development snapshot release (1.29.2) was released on 29 June 2026.

Any newly-added API in the 1.29.x series may still change or be removed again before 1.30 and should be considered unstable until 1.30 is released.

The 1.29.x release series is for testing and development purposes, and distros should probably not package it.

Highlighted changes in 1.29.2

  • webrtcbin2: New scalable WebRTC bin that uses fewer threads and native Rust DTLS, ICE and RTP session management implementations
  • rtspsrc2: implement support for SRTP, authentication, HTTP tunnelling, keep alive, stream selection, TLS validation, latency configuration
  • rtp2: New Rust RTP payloader and depayloader implementations for MPA audio, MPEG-2 video and raw video
  • Digitally Signed Content (DSC) support, initially for H.266 video
  • New D3D12-based element which performs color lookup operations using user-provided Adobe .cube LUT files
  • videoencoders: Support adaptive presets with resolution-dependent properties and implement in x264enc and nvh264enc
  • closedcaption: add h266seiinserter; add "do-timestamp" property to codecseiiinserter/merge_requests/10514)
  • flv: Add support for AV1 video
  • v4l2: add capture timestamps to buffers in v4l2src, and "bitrate" and "gop-size" properties to video encoders
  • applemedia: new iosurface helper library providing a memory:IOSurface abstraction
  • AMF: add super resolution hq-scaler component
  • New OpenGL glalphacombine element for RGBA inputs and Vulkan/OpenGL memory support for alphacombine
  • openjpeg: Add support for high bit depth formats
  • analytics: add semantic tag getter to GstAnalyticsMtd
  • tensordecoders: Add YOLO26 detection decoder
  • tfliteinference: support for external delegates, XNNPACK, and GRAY8 input
  • MP4: add support for losslessly-compressed video
  • matroskamux: add TrueHD audio and HDMV PGS subpicture support
  • playsink reconfiguration stability improvements
  • New agingradio and sofalizer audio effect elements
  • New image-rs based imagersoverlay element in Rust to replace gdkpixbufoverlay
  • webrtcsink: add v4l2h264enc (Raspberry Pi) encoder support and a signaller for Unreal Engine PixelStreaming
  • webrtcsink, webrtcsource: make custom signalling protocol extendable
  • Speech elements: implement support for non-synchronized output
  • d3d12: Add support for hardware-accelerated decoding of VP9 with alpha
  • androidmedia: New source element for Android assets
  • filesink: Add support for Windows file sharing mode to allow reading of file while it's being written to
  • tracing: custom spans and events API and new tracers that integrate with the Rust tracing ecosystem
  • editing-services: auto-plug raw video converters from the registry based on compositor memory family and prepare for multi-threaded usage
  • dots-viewer: General enhancement of the web app
  • New viuersink video sink that plays video in the terminal, replacing aasink and cacasink
  • cerbero: Added ccache support for MSVC
  • Countless bug fixes, build fixes, memory leak fixes, and other stability and reliability improvements

gstreamer

Core:

Core Libraries:

Core Elements and Tracers:

Backported into 1.28:

gst-plugins-base

Backported into 1.28:

gst-plugins-good

Backported into 1.28:

gst-plugins-bad

Backported into 1.28:

gst-plugins-ugly

Backported into 1.28:

GStreamer Rust plugins

Backported into 0.15:

gst-libav

Backported into 1.28:

gst-rtsp-server

Backported into 1.28:

gstreamer-sharp

gst-python

gst-editing-services

Backported into 1.28:

gst-devtools, gst-validate + gst-integration-testsuites

Backported into 1.28:

gstreamer-docs

Backported into 1.28:

Development build environment

Backported into 1.28:

Cerbero build tool and packaging changes in 1.29.2

Backported into 1.28:

Contributors to 1.29.2

Albert Sjölund, Alicia Boya García, Anders Hellerup Madsen, Andreas Frisch, Andrew Yooeun Chun, Arthur Chan, Azat Nurgaliev, Batalev Ilya, Benoît Mauduit, Cameron O'Neal, Carlos Falgueras García, Carlos Bentzen, Christoph Seitz, Cole Richardson, Corentin Noël, Daniel Morin, David Maseda Neira, dec05eba, Dennis Han, Diego Nieto, Dino Spiller, Dominique Leroux, Edward Hervey, Elliot Chen, Emil Ljungdahl, Emmanuel Madrigal, Fabian Orccon, Fabien Danieau, François Laignel, Felix Gong, Frédéric Chanal, Gordon Smith, Guillaume Desmottes, Haihua Hu, Havard Graff, He Junyan, Hou Qi, Ilya Batalev, Jakub Adam, Jan Alexander Steffens (heftig), Jan Schmidt, Jeehyun Lee, Jeongmin Kwak, Jeremy Whiting, Jerome Colle, Jochen Henneberg, Johan Sternerup, Jordan Petridis, László Károlyi, Leonardo Salvatore, L. E. Segovia, Marcus Hanestad, Mathieu Duponchelle, Matthew Waters, Michael Olbrich, Michiel Westerbeek, MilkClouds, Monty C, Niclas Götting, Nicolas Dufresne, Nirbheek Chauhan, nitroxis, Ognyan Tonchev, Olivier Crête, Oscar Carter, Oskar Fiedot, Pablo García, Pavel Guzenfeld, Per Enstedt, Philippe Normand, Philipp Wallrich, Pieter Willem Jordaan, Piotr Brzeziński, Qian Hu (胡骞), Rares Branici, Robert Mader, Rolf Eike Beer, romain, RSWilli, Ruben Gonzalez, Sanchayan Maity, Santiago Carot-Nemesio, Sebastian Dröge, Seungha Yang, Seungmin Lee, Shengqi Yu, Shigeharu Kamiya, Stéphane Cerveau, Taruntej Kanakamalla, Thibault Saunier, Thomas Devoogdt, Tim-Philipp Müller, Tjitte, Tobias Koenig, Tomas Granath, Tomasz Andrzejak, Tomasz Bujewski, Tulio Beloqui, Tushar Darote, Vadym Markov, Víctor Manuel Jáquez Leal, Vincent Beng Keat Cheah, Vivia Nikolaidou, Walisiewicz, Xabier Rodriguez Calvar, Xavier Claessens, Zeeshan Ali Khan,

... and many others who have contributed bug reports, translations, sent suggestions or helped testing. Thank you all!

List of merge requests and issues fixed in 1.29.2

Schedule for 1.30

Our next major feature release will be 1.30, and 1.29.x is the unstable development series leading up to the stable 1.30 release. The development of 1.29/1.30 will happen in the git main branch of the GStreamer mono repository.

The schedule for 1.30 is yet to be decided, but we're targetting Q4/2026.

1.30 will be backwards-compatible to the stable 1.28, 1.26, 1.24, 1.22, 1.20, 1.18, 1.16, 1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.


These release notes have been prepared by Tim-Philipp Müller.

License: CC BY-SA 4.0