open source multimedia framework
Annual Conference
Planet (Blogs)
Security Center
Mailing Lists
File a Bug
@gstreamer on Twitter
@gstreamer on Mastodon
#gstreamer on Matrix

Release notes for GStreamer Base Plugins 1.9.1

The GStreamer team is pleased to announce the first release of the unstable 1.9 release series. The 1.9 release series is adding new features on top of the 1.0, 1.2, 1.4, 1.6 and 1.8 series and is part of the API and ABI-stable 1.x release series of the GStreamer multimedia framework. The unstable 1.9 release series will lead to the stable 1.10 release series in the next weeks. Any newly added API can still change until that point.

Binaries for Android, iOS, Mac OS X and Windows will be provided in the next days.

This module contains a set of reference plugins, base classes for other plugins, and helper libraries. It also includes essential elements such as audio and video format converters, and higher-level components like playbin, decodebin, encodebin, and discoverer. This module is kept up-to-date together with the core developments. Element writers should look at the elements in this module as a reference for their development. This module contains elements for, among others:

  • device plugins: x(v)imagesink, alsa, v4lsrc, cdparanoia
  • containers: ogg
  • codecs: vorbis, theora
  • text: textoverlay, subparse
  • sources: audiotestsrc, videotestsrc, giosrc
  • network: tcp
  • typefind functions
  • audio processing: audioconvert, adder, audiorate, audioresample, volume
  • visualisation: libvisual
  • video processing: videoconvert, videoscale
  • high-level components: playbin, uridecodebin, decodebin, encodebin, discoverer
  • libraries: app, audio, fft, pbutils, riff, rtp, rtsp, sdp, tag, video
Other modules containing plugins are:
contains a set of well-supported plugins under our preferred license
contains a set of well-supported plugins, but might pose problems for distributors
contains a set of less supported plugins that haven't passed the rigorous quality testing we expect, or are still missing documentation and/or unit tests
contains a set of codecs plugins based on libav (formerly gst-ffmpeg)

Bugs fixed in this release

  • 578933 : Need generic " deep-element-added " signal and/or playbin " element-setup " signal
  • 629764 : subparse: Add WebVTT support
  • 747574 : videodecoder: reverse playback in non-packetized decoders
  • 753930 : tag: add GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM and handle it in exiftag
  • 761944 : rtcpbuffer: Add API for APP packets
  • 761950 : rtcpbuffer: Add profile-specific extension API.
  • 763058 : opusdec: add unit test for PLC timestamp when FEC is enabled
  • 763075 : base plugins: use new gst_element_class_add_static_pad_template()
  • 763630 : appsrc: If do-timestamp=true should take the timestamp when queueing the buffer
  • 763799 : alsasrc: should not always assume that 8 channels implies 7.1 setup
  • 763975 : decodebin: Modify result of seekable in check_upstream_seekable function
  • 763985 : audio: add some debug output about channels mapping
  • 764201 : video: Provide fast path for I420 to BGRA (and/or RGBA) conversion and back
  • 764319 : videorate : avoid useless buffer copy un drop-only mode
  • 764459 : GstRTPBasedepayload fail to detect new stream after SSRC change
  • 764631 : GstAudioDecoder produce invalid timestamps when PLC and delay
  • 764667 : videoaffinetransformationmeta: doesn't define the coordinate space
  • 764902 : Explicitly initialize GstVideoCropMeta fields to 0 on init.
  • 764948 : decodebin: use-buffering property ignored on non-muxed streams
  • 764966 : oggdemux: Gaps when playing test sine wave VBR file
  • 765042 : subparse: fix build error with GCC 4.6.3
  • 765216 : gst-play: call gst_deinit()
  • 765424 : ximagesink: generate reconfigure on window handle change
  • 765663 : gst_audio_buffer_clip() needs const on segment
  • 766226 : base: fix leaks in tests
  • 766229 : appsrc: Add duration property for providing a duration in TIME format
  • 766467 : oggdemux: Reset keyframe_granule when needed
  • 766800 : videodecoder: Make sure the DISCONT flag is set on the outgoing buffer
  • 767102 : decodebin: hits ASSERT with H264 byte-stream as input
  • 767155 : base: use MAY_BE_LEAKED flag
  • 767173 : tagdemux: preserve timestamp when skipping a tag at the beginning of a buffer
  • 767232 : videodecoder: Drain data in more situations
  • 767505 : audiovisualizer: produces wrong timestamps with non-16 bit audio formats
  • 767506 : audiovisualizer: still uses old GST_BUFFER_TIMESTAMP() macro switch it to GST_BUFFER_PTS()
  • 767507 : audiovisualizer: Timestamp adjustment calculations wrong for > 1 channel
  • 767537 : exiftag: Increase serialized geo coordinate precision
  • 767641 : videodecoder: Missing drain vfunc GST_FIXME flood on Raspberry Pi
  • 767791 : tagdemux: preserve duration when skipping a tag at the beginning of a buffer
  • 767826 : opusdec with plc enabled failing to decode audio
  • 768361 : videodecoder: Takes stream lock for non-serialized queries
  • 766203 : videoencoder/decoder: Wrong variable names used in GST_IS_*CODER_CLASS macros


You can find source releases of gst-plugins-base in the gst-plugins-base 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 gst-plugins-base 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.

Contributors to this release

  • Aleix Conchillo Flaqué
  • Alessandro Decina
  • Arjen Veenhuizen
  • Aurélien Zanelli
  • Edward Hervey
  • Fabrice Bellet
  • Frédéric Bertolus
  • Guillaume Desmottes
  • Haakon Sporsheim
  • Hyunjun Ko
  • Jakub Adam
  • Jan Schmidt
  • Jimmy Ohn
  • Joan Pau Beltran
  • Josep Torra
  • Julien Isorce
  • Kipp Cannon
  • Luis de Bethencourt
  • Matthew Waters
  • Michael Olbrich
  • Mikhail Fludkov
  • Nicolas Dufresne
  • Nirbheek Chauhan
  • Olivier Crête
  • Paulo Neves
  • Philippe Normand
  • Scott D Phillips
  • Sebastian Dröge
  • Sreerenj Balachandran
  • Stian Selnes
  • Thiago Santos
  • Thomas Jones
  • Tim-Philipp Müller
  • Vincent Penquerc'h
  • Vineeth TM
  • Vivia Nikolaidou
  • Víctor Manuel Jáquez Leal
  • Wim Taymans
  • Zaheer Abbas Merali

Report a problem on this page.