open source multimedia framework

GStreamer Conference 2023

25-26 September 2023 · A Coruña, Spain

Registration is open · Lightning Talks can still be submitted · Join us!
Annual Conference
Planet (Blogs)
Security Center
Mailing Lists
File a Bug
@gstreamer on Twitter
@gstreamer on Mastodon
#gstreamer on Matrix

Release notes for GStreamer 0.10.22 "I heard a disturbing sound"

The GStreamer team is proud to announce a new release in the 0.10.x stable series of the core of the GStreamer streaming media framework.

The 0.10.x series is a stable series targeted at end users. It is not API or ABI compatible with the stable 0.8.x series. It is, however, parallel installable with the 0.8.x series.

The 0.10.x series has been reworked for threadsafety. It also features various feature additions and enhancements.

This module, gstreamer, only contains core functionality. For actual media playback, you will need other modules.

contains a basic set of well-supported plug-ins
contains a set of well-supported plug-ins under our preferred license
contains a set of well-supported plug-ins, but might pose problems for distributors
contains a set of less supported plug-ins that haven't passed the rigorous quality testing we expect

Features of this release

  • GstController improvements
  • Extensions to the latency setting behaviours
  • Ability for plugins to register dependencies to trigger re-scanning
  • Optimisations in some common operations on caps and values and elsewhere
  • Add sequence numbers to events so dependent events can be associated with the event that caused them
  • New macros for reading and writing float values
  • Many improvements in the basesink base class
  • Support non-default main contexts for GstBus watches
  • Improvements in pull-mode scheduling of sinks
  • Fixes for alignment issues on sparc
  • Ghost pad fixes
  • New bit-reader assistance API
  • Many other bug fixes and improvements

Bugs fixed in this release

  • 567002 : --gst-disable-registry-update also skips registry creation
  • 350477 : [Registry] Provide a way for plugins to delegate the 'cha...
  • 510354 : post GST_MESSAGE_STRUCTURE_CHANGE when linking and unlink...
  • 526044 : Crash if there is more than one watcher for a GstBus
  • 539108 : gst_ghost_pad_new() does more than call g_object_new()
  • 544003 : [parse] Links to wrong pad if no padtemplate name is given
  • 544293 : rtspsrc / gstpoll regression
  • 545714 : GST_READ_UINT_* and GST_WRITE_UINT_* are not always safe ...
  • 548786 : [win32] search for plugins based on location of DLL
  • 551676 : Small Memleak fix in gst_pad_link_check_compatible_unlocked
  • 552778 : add free_func in gstbuffer instances
  • 553554 : [base] Add a generic bit reader
  • 553874 : query_position broken during seek
  • 555196 : Move floating point endian conversion macros into core
  • 555307 : Need to push latency event into the pipeline
  • 555631 : Banshee crashes; gstreamer GST_CAPS GST_IS_CAPS warnings
  • 556091 : libtool-2.2 and old gettext don't mix
  • 556900 : a copy & paste bug in helloworld example
  • 557154 : Allow totem to run without write-access to home directory
  • 557300 : libgstnet needs to link against $(WIN32_LIBS)
  • 557438 : Gstreamer crashes when Banshee supposed to change track
  • 557649 : GstBaseTransform can cause ivalid memory references
  • 559250 : segments need identifiers.
  • 560301 : Add --plugin to gst-inspect
  • 560360 : Excessive statting when reading binary cache
  • 560399 : Unnecessary CRC checksum for binary registry cache
  • 560442 : GNOME Goal: Remove deprecated GLib symbols
  • 561501 : g_type_class_ref without unref
  • 562170 : GstBus watch doesn't work with non-default main context
  • 562949 : [API] Add an URI query type for querying the source/sink URI
  • 564863 : Caps are not propagated from a ghostpad's target to the g...
  • 567225 : volatile gonce_data in BOILERPLATE not initialized to 0
  • 566393 : [deadlock] Setting index on a pipeline

API changes

  • API additions
    • Add bit reader and byte reader classes.
    • gst_message_new_structure_change()
    • gst_message_parse_structure_change()
    • GstBaseSrc::gst_base_src_set_blocksize()
    • GstBaseSrc::gst_base_src_get_blocksize()
    • GstBaseSink::gst_base_sink_set_blocksize()
    • GstBaseSink::gst_base_sink_get_blocksize()
    • GstBaseSink::blocksize
    • GstBaseSink::gst_base_sink_do_preroll()
    • Add gst_byte_reader_get_data and gst_byte_reader_peek_data
    • Move float endianness conversion macros from libgstfloatcast to core
    • gst_util_seqnum_next, gst_util_seqnum_compare
    • gst_event_get_seqnum, gst_event_set_seqnum
    • gst_message_get_seqnum, gst_message_set_seqnum
    • GstSeekFlags::GST_SEEK_FLAG_SKIP
    • gst_bin_recalculate_latency()
    • GstBin::do-latency
    • gst_tag_setter_reset_tags()
    • gst_query_new_uri, gst_query_set_uri, gst_query_parse_uri
    • add gst_plugin_add_dependency()
    • add gst_plugin_add_dependency_simple()


You can find source releases of gstreamer in the gstreamer download directory.

The git repository and details how to clone it can be found at .


The project's website is

Support and Bugs

We use GNOME's bugzilla for bug reports and feature requests.

Please submit patches via bugzilla as well.

For help and support, please subscribe to and send questions to the gstreamer-devel mailing list (see below for details).

Find us on IRC at #gstreamer.


Git is hosted on You can browse the gstreamer repository.

All code is in Git and can be checked out from there.

Interested developers of the core library, plugins, and applications should subscribe to the gstreamer-devel list.


Applications ported to GStreamer 0.10 include Totem, RhythmBox, Sound-Juicer, Gnome Media, Flumotion, Amarok, Jamboree, Pitivi, Istanbul, AnnoAmp, Elisa, and others. Let us know if you want to be added to this list.

Contributors to this release

  • Alessandro Decina
  • Andrew Feren
  • Andy Wingo
  • Antoine Tremblay
  • Cygwin Ports maintainer
  • David Schleef
  • Dig Ge
  • Edward Hervey
  • Jan Schmidt
  • Jan Schmidt - Sun Microsystems
  • Jonas Holmberg
  • Michael Smith
  • Olivier Crete
  • Peter Kjellerstedt
  • Sebastian Dröge
  • Simon Holm Thøgersen
  • Stefan Kost
  • Thijs Vermeir
  • Thomas Vander Stichele
  • Tim-Philipp Müller
  • Wim Taymans
  • 이문형

Report a problem on this page.