GStreamer
open source multimedia framework
Home
Features
News
Annual Conference
Planet (Blogs)
Download
Applications
Security Center
GitLab
Developers
Documentation
Forum
File a Bug
Artwork
Follow us on Bluesky
Follow us on Mastodon
Chat with us on Matrix

GStreamer 1.27.x Release Notes

GStreamer 1.27.x was an API/ABI-unstable development series leading up to the stable 1.28 series.

This has now been superseded by the stable GStreamer 1.28.0 release series, which was released in January 2026.

1.27.90 (1.28.0 release candidate 1)

The 1.27.90 pre-release is the first release candidate for the upcoming 1.28.0 stable feature release, and was released on 05 January 2026.

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

Highlighted changes in 1.27.90

  • Add a burn-based YOLOX inference element and a YOLOX tensor decoder in Rust
  • Add an audio source separation element based on demuc in Rust
  • Add new GIF decoder element in Rust with looping support
  • Add a Rust-based icecastsink element with AAC support
  • analytics: Improvement to inference elements; move modelinfo to analytics lib; add script to help with modelinfo generation and upgrade
  • decklinkvideosink: Fix frame duration to be based on the decklink clock
  • flv: Fix track ID 0 semantics and extended FLV for non multitrack type packets
  • GstPlay: Add support for gapless looping
  • input-selector: implements a two-phase sinkpad switch now to avoid races when switching input pads
  • intersrc: new event-types property to forward upstream events to sink
  • isomp4mux: Support caps change and add support for raw audio as per ISO/IEC 23003-5
  • jpegparse: fix handling of JPEGs with HDR gain maps
  • jsontovtt: add property to enable per-cue line attributes
  • textaccumulate: implement no-timeout mode for forwarding full sentences
  • matroskademux: make maximum allowed block size large enough to support 4k uncompressed video
  • qtdemux: fix various MP4 demuxing issues and regressions
  • GstValue: The recently-introduced GstSet API was renamed to GstUniqueList
  • cerbero: add support for Python wheel packaging, fix Windows build with Python 3.14, support system recipes, ship Gtk4 and more plugins
  • Countless bug fixes, build fixes, memory leak fixes, and other stability and reliability improvements

gstreamer

gst-plugins-base

gst-plugins-good

gst-plugins-bad

Build improvements, introspection fixes, leak fixes, clean-ups and other smaller improvements:

gst-plugins-ugly

  • No changes

GStreamer Rust plugins

Build improvements, clean-ups and other smaller improvements:

gst-libav

gst-rtsp-server

  • No changes

gstreamer-sharp

  • No changes

gst-python

gst-editing-services

  • No changes

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

gst-examples

gstreamer-docs

Development build environment

Cerbero build tool and packaging changes in 1.27.90

Contributors to 1.27.90

Aaron Boxer, Adrien Plazas, Alicia Boya García, Brad Reitmeyer, Carlos Falgueras García, Christian Gräfe, Daniel Morin, Doug Nazar, Elliot Chen, François Laignel, Gang Zhao, Hyunjun Ko, Jakub Adam, Jan Schmidt, Jeongmin Kwak, Jerome Colle, Johan Sternerup, Jorge Zapata, L. E. Segovia, Mathieu Duponchelle, Nicolas Dufresne, Nirbheek Chauhan, Olivier Crête, Paxton Hare, Philippe Normand, Piotr Brzeziński, Ratchanan Srirattanamet, Robert Mader, Ruben Gonzalez, Sanchayan Maity, Sebastian Dröge, Seungha Yang, Taruntej Kanakamalla, Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tjitte de Wert, Tobias Schlager, Víctor Manuel Jáquez Leal, Yun Liu,

... 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.27.90

1.27.50

The third API/ABI-unstable 1.27.x development snapshot release (1.27.50) was released on 09 December 2025 and marks the beginning of our feature freeze in preparation of the upcoming 1.28 stable release.

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

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

Highlighted changes in 1.27.50

  • Vulkan Video AV1 decoder
  • webrtcsink: add renegotiation support, and support for va hardware encoders
  • New ST-2038 ancillary data combiner and extractor elements
  • applemedia: VP9 and AV1 hardware-accelerated video decoding support, and 10-bit HEVC encoding
  • fallbacksrc gained support for encoded streams
  • flv: enhanced rtmp H.265 video support, and support for multitrack audio
  • glupload: Implement udmabuf uploader to share buffers between software decoders/sources and GPUs, display engines (wayland), and other dma devices
  • video: Add crop, scale, rotate, flip, shear and more GstMeta transformation
  • New task pool GstContext to share a thread pool amongst elements for better resource management and performance, especially for video conversion and compositing
  • analytics: New tensordecodebin element to auto-plug compatible tensor decoders based on their caps and many other additions and improvements
  • New Deepgram speech-to-text transcription plugin
  • Speech synthesizers: expose new "compress" overflow mode that can speed up audio while preserving pitch
  • Support new Speechmatics speaker identification API
  • ElevenLabs voice cloning element
  • New Qt6 QML qml6 render source element
  • appsink, appsrc: new bindings-friendly "simple" callbacks API
  • New element to calculate perceptual video quality assessment scores using Netflix's VMAF framework
  • Add new metadata GstStream type and use in decodebin3 for KLV, ID3 PES and ST-2038 ancillary data
  • New MPEG-H audio decoding plugin plus MP4 demuxing support
  • The inter plugin wormhole sink and source elements gained new properties to fine tune the inner elements
  • hlscmafsink can generate I-frame only playlist now
  • New LCEVC H.266 encoder element
  • webrtc: add WHEP server signaller
  • Added "robust MPEG audio", raw audio (L8, L16, L24), and ancillary metadata RTP payloaders in Rust
  • The Windows IPC plugin gained support for passing generic data in addition to raw audio/video, and various properties
  • New D3D12 interlace and overlay compositor elements
  • GStreamer AMD HIP integration functionality is now available in a helper library
  • Blackmagic Decklink elements gained support for capturing and outputting all types of VANC via GstAncillaryMeta
  • Replaygain R128 gain tags support
  • aws: URI handler for S3 URIs; dropped registration of rusotos3src and rusotos3sink
  • quinn: Support sharing of QUIC/WebTransport connection/session
  • validate: New plugin with a check-last-frame-qrcode action
  • clocksync: new "rate" property and "resync" action signal
  • debug logging: Add convenience macros around GstLogContext for logging things only once
  • Countless bug fixes, build fixes, memory leak fixes, and other stability and reliability improvements

gstreamer

Build improvements, introspection fixes, leak fixes, clean-ups and other smaller improvements:

Tools:

Core elements:

gst-plugins-base

Build improvements, introspection fixes, leak fixes, clean-ups and other smaller improvements:

Tools:

gst-plugins-good

Build improvements, introspection fixes, leak fixes, clean-ups and other smaller improvements:

gst-plugins-bad

Build improvements, introspection fixes, leak fixes, clean-ups and other smaller improvements:

gst-plugins-ugly

GStreamer Rust plugins

gst-libav

gst-rtsp-server

gstreamer-sharp

  • No changes

gst-python

gst-editing-services

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

gst-examples

gstreamer-docs

Development build environment

Cerbero build tool and packaging changes in 1.27.50

Contributors to 1.27.50

Abd Razak,Muhammad Azizul Hazim, Amy Ko, Andoni Morales Alastruey, anonymix007, Artem Martus, Brad Hards, Brad Reitmeyer, Branko Subasic, Camilo Celis Guzman, Carlos Bentzen, Carlos Rafael Giani, Chengfa Wang, Christo Joseph, Christoph Reiter, Daniel Almeida, Daniel Morin, David Maseda Neira, Diego Nieto, Dominique Leroux, DongJoo Kim, Doug Nazar, Edward Hervey, Ekwang Lee, François Laignel, Gang Zhao, Haejung Hwang, Havard Graff, He Junyan, Hou Qi, Hyunjun Ko, Inbok Kim, Jaehoon Lee, Jakub Adam, Jan Alexander Steffens (heftig), Jan Schmidt, Jeehyun Lee, Jeffery Wilson, jeongmin kwak, Jerome Colle, Jihoon Lee, Jochen Henneberg, Jordan Yelloz, Julian Bouzas, Kevin Scott, Kevin Wolf, L. E. Segovia, Linus Svensson, Loïc Le Page, Manuel Torres, Marek Olejnik, Mark Nauwelaerts, Markus Hofstaetter, Mathieu Duponchelle, Matthew Semeniuk, Matthew Waters, Max Goltzsche, Mazdak Farzone, Michael Grzeschik, Michael Olbrich, Michiel Westerbeek, Nicholas Jin, Nicolas Dufresne, Nirbheek Chauhan, Norbert Hańderek, Olivier Crête, Oz Donner, Pablo García, Patricia Muscalu, Patrick Fischer, Paul Fee, Paweł Kotiuk, Peter Stensson, pfee, Philippe Normand, Piotr Brzeziński, Pratik Pachange, Qian Hu (胡骞), Rafael Caricio, Rares Branici, Razvan Grigore, Rinat Zeh, Robert Mader, Ross Burton, Ruben Gonzalez, Ruben Sanchez, Sanchayan Maity, Santiago Carot-Nemesio, Santosh Mahto, Sebastian Dröge, Seungha Yang, Shengqi Yu (喻盛琪), Stéphane Cerveau, stevn, Sven Püschel, Sylvain Garrigues, Taruntej Kanakamalla, Teus Groenewoud, Thibault Saunier, Tim-Philipp Müller, Tulio Beloqui, Val Packett, Víctor Manuel Jáquez Leal, Vincent Beng Keat Cheah, Vivia Nikolaidou, Vivienne Watermeier, Wilhelm Bartel, William Wedler, Xavier Claessens, Yun Liu,

... 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.27.50

1.27.2

The second API/ABI-unstable 1.27.x development snapshot release (1.27.2) was released on 07 September 2025.

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

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

Highlighted changes in 1.27.2

  • Add more 10bit RGB formats in GStreamer Video, OpenGL and Wayland, as well as in deinterlace and gdkpixbufoverlay
  • analytics: new analytics combiner and splitter elements plus batch meta to batch buffers from one or more streams
  • analyticsoverlay: Add expire-overlay property
  • onnx: Add Verisilicon provider support
  • awstranscriber2: add property for setting show_speaker_labels
  • awstranslate: expose property for turning brevity on
  • speechmatics: expose mask-profanities property
  • textaccumulate: new element for speech synthesis or translation preprocessing
  • tttocea608: expose speaker-prefix property
  • cea708mux: expose "discarded-services" property on sink pads
  • cuda crop meta support
  • hlssink3, hlscmafsink: Support the use of a single media file
  • s302mparse: Add new S302M audio parser
  • webrtc: add WHEP client signaller; sdp and stats-related improvements
  • threadshare: many improvements to the various elements, plus examples and a new benchmark program; relicense to MPL-2.0
  • gtk4paintablesink: Add YCbCr memory texture formats and improve color-state fallbacks
  • OpenGL: Add support for the NV24 pixel format; support changing caps and get_gl_context() in glbasesrc
  • rtspsrc: Send RTSP keepalives also in TCP/interleaved modes
  • nvencoder: interlaced video handling improvements
  • vaav1enc: Enable intrablock copy and palette mode
  • videopool: support parsing dma_drm caps
  • Vulkan VP9 video decode support and many other video encode and decode improvements
  • waylandsink: Parse and set the HDR10 metadata and other color management improvements
  • LCEVC: Add autoplugging decoding support for LCEVC H265 and H266 video streams and LCEVC H.265 encoder
  • GstMiniObject: Add missing take() and steal() functions and convert is_writable() and make_writable() macros to inline functions
  • alsa: Improve PCM sink enumeration
  • d3d12: various d3d12swapchainsink enhancements and bug fixes; fisheye image dewarping support
  • wasapi2: add support for dynamic device switching, exclusive mode and format negotiation; device provider and latency enhancements
  • windows: Disable all audio device providers except wasapi2
  • dots-viewer: Improve dot file generation and interactivity
  • gst-editing-services: Make framepositioner zorder controllable and expose it
  • Various introspection fixes and bindings updates
  • Cerbero: Update to Android API level 24; add config for number of cargo jobs; ship unixfd plugin
  • Cerbero: Implement library melding for smaller binary sizes of Rust plugins
  • Countless bug fixes, build fixes, memory leak fixes, and other stability and reliability improvements

Possibly breaking behavioural changes

  • Previously it was guaranteed that there is only ever up to one GstTensorMeta per buffer. This is no longer true and code working with GstTensorMeta must be able to handle multiple GstTensorMeta now (after this Merge Request).

gstreamer

gst-plugins-base

gst-plugins-good

gst-plugins-bad

gst-plugins-ugly

GStreamer Rust plugins

gst-libav

gst-rtsp-server

gstreamer-sharp

gst-python

gst-editing-services

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

gst-examples

gstreamer-docs

Development build environment

Cerbero build tool and packaging changes in 1.27.2

Contributors to 1.27.2

Adrian Perez de Castro, Amotz Terem, Andrey Khamukhin, Daniel Morin, Derek Foreman, Doug Nazar, Elliot Chen, François Laignel, Haihua Hu, Havard Graff, Hou Qi, Ian Napier, Jan Alexander Steffens (heftig), Jan Schmidt, Jaslo Ziska, Jonathan Lui, Jordan Petridis, Julian Bouzas, L. E. Segovia, Marc-André Lureau, Mathieu Duponchelle, Matthew Waters, Marko Kohtala, Monty C, Nicolas Dufresne, Nirbheek Chauhan, Ola Fornander, Olivier Crête, Philippe Normand, Piotr Brzeziński, Qian Hu (胡骞), Raghavendra Rao, Rick Ye, Robert Mader, Ruben Gonzalez, Sanchayan Maity, Sebastian Dröge, Seungha Yang, Slava Sokolovsky, Stéphane Cerveau, Taruntej Kanakamalla, Thibault Saunier, Tim-Philipp Müller, Tomasz Mikolajczyk, Víctor Manuel Jáquez Leal, Vivia Nikolaidou, Vivian Lee, Vivienne Watermeier, Xavier Claessens,

... 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.27.2

1.27.1

The first API/ABI-unstable 1.27.x development snapshot release (1.27.1) was released on 8 July 2025.

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

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

Highlighted changes in 1.27.1

  • Add AMD HIP plugin
  • Add Vulkan H.264 encoder and add 10-bit support to Vulkan H.265 decoder
  • Add LiteRT inference element
  • Aggregator: expose current-level-* properties on sink pads
  • Analytics: add general classifier tensor-decoder, facedetector, and more convenience API
  • alsa: Support enumerating virtual PCM sinks
  • d3d12: Add d3d12remap element
  • Wayland: Add basic colorimetrie support
  • Webkit: New wpe2 plugin making use of the "WPE Platform API"
  • MPEG-TS demuxer: Add property to disable skew corrections
  • qml6gloverlay: support directly passing a QQuickItem for QML the render tree
  • unifxfdsink: Add a property to allow copying to make sink usable with more upstream elements
  • videorate: Revive "new-pref" property for better control in case of caps changes
  • wasapi2: Port to IMMDevice based device selection
  • GstReferenceTimestampMeta can carry additional per-timestamp information now
  • Added GstLogContext API that allows to fix log spam in several components
  • New tracer hook to track when buffers are queued/dequeued in buffer pools
  • gst-inspect-1.0: Prints type info for caps fields now
  • Pipeline graph dot files now contain information about active tracers
  • Python bindings: add Gst.Float wrapper, Gst.ValueArray.append_value(), analytics API improvements
  • cerbero packages: ship vvdec and curl plugins; ship wasapi2 on MingW builds
  • Removed the gstreamer-vaapi module which has now been superseded by the va plugin
  • Countless bug fixes, build fixes, memory leak fixes, and other stability and reliability improvements

gstreamer

gst-plugins-base

gst-plugins-good

gst-plugins-bad

gst-plugins-ugly

GStreamer Rust plugins

Changes compared to the current stable release (1.26.3) which both track gst-plugins-rs main branch for the time being:

gst-libav

gst-rtsp-server

gstreamer-vaapi

gstreamer-sharp

gst-python

gst-editing-services

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

gstreamer-docs

Development build environment

Cerbero build tool and packaging changes in 1.27.1

Contributors to 1.27.1

Adrian Perez de Castro, Aleix Pol, Alexander Slobodeniuk, Alicia Boya García, Alyssa Ross, Andoni Morales Alastruey, Andrew Yooeun Chun, Arnout Engelen, Artem Martus, Arun Raghavan, Ben Butterworth, Biswapriyo Nath, Brad Hards, Branko Subasic, Carlos Bentzen, Carlos Rafael Giani, César Alejandro Torrealba Vázquez, Changyong Ahn, Daniel Morin, David Maseda Neira, David Monge, David Smitmanis, Denis Shimizu, Detlev Casanova, Diego Nieto, Dongyun Seo, Doug Nazar, Devon Sookhoo, Edward Hervey, Eli Mallon, Elliot Chen, Enock Gomes Neto, Enrique Ocaña González, Eric, F. Duncanh, François Laignel, Gang Zhao, Glyn Davies, Guillaume Desmottes, Gustav Fahlen, He Junyan, Hou Qi, Jakub Adam, James Cowgill, Jan Alexander Steffens (heftig), Jan Schmidt, Jan Tojnar, Jan Vermaete, Jerome Colle, Jochen Henneberg, Johan Sternerup, Jordan Petridis, Jordan Yelloz, Jorge Zapata, Julian Bouzas, L. E. Segovia, Loïc Le Page, Marc Leeman, Marek Olejnik, Mathieu Duponchelle, Matteo Bruni, Matthew Waters, Michael Grzeschik, Michael Olbrich, Nicolas Dufresne, Nirbheek Chauhan, Ognyan Tonchev, Olivier Blin, Olivier Crête, Pablo García, Philippe Normand, Piotr Brzeziński, Pratik Pachange, Qian Hu (胡骞), Raghavendra Rao, Razvan Grigore, Robert Ayrapetyan, Robert Mader, Ruben Gonzalez, Santosh Mahto, Sebastian Dröge, Seungha Yang, Shengqi Yu (喻盛琪), Stefan Andersson, Stéphane Cerveau, Taruntej Kanakamalla, Théo Maillart, Thibault Saunier, Tim-Philipp Müller, Vasiliy Doylov, Víctor Manuel Jáquez Leal, Vineet Suryan, Wim Taymans, Xavier Claessens,

... 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.27.1

Schedule for 1.28

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

The schedule for 1.28 is yet to be decided, but we're targetting late 2025.

1.28 will be backwards-compatible to the stable 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


Report a problem on this page.