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 Good Plug-ins 0.10.19 "Closer to the Edit"

The GStreamer team is proud to announce a new release in the 0.10.x stable series of the GStreamer Good Plug-ins.

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.

"Such ingratitude. After all the times I've saved your life."

A collection of plug-ins you'd want to have right next to you on the battlefield. Shooting sharp and making no mistakes, these plug-ins have it all: good looks, good code, and good licensing. Documented and dressed up in tests. If you're looking for a role model to base your own plug-in on, here it is.

If you find a plot hole or a badly lip-synced line of code in them, let us know - it is a matter of honour for us to ensure Blondie doesn't look like he's been walking 100 miles through the desert without water.

This module contains a set of plug-ins that we consider to have good quality code, correct functionality, our preferred license (LGPL for the plug-in code, LGPL or LGPL-compatible for the supporting library). We believe distributors can safely ship these plug-ins. People writing elements should base their code on these elements.

Other modules containing plug-ins are:

contains a basic set of well-supported plug-ins
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

  • shapewipe: moved from -bad to -good
  • avidemux: push mode seeking support
  • avidemux: drop video frames up to the desired keyframe after a seek
  • configure: cross-compilation fixes (use $PKG_CONFIG instead of pkg-config)
  • dvdepay: don't output frames until we have a header, fixes crash
  • flacdec: fix tag extraction in push mode
  • flvdemux: obtain the index from the end of an flv file in push mode
  • flvdemux: audio tags without any content are valid; indexing improvements
  • jpegdec: fix invalid memory access in parser
  • jitterbuffer: new buffering modes: low/high watermark buffering, rtp timestamps
  • matroskademux: seeking/segment fixes (esp. regression with gnonlin)
  • matroskademux: subtitle stream improvements (advance sparse streams in smaller steps)
  • multipartdemux: improve header mime-type parsing
  • qtdemux: fix ALAC codec-data handling; handle signed values in 3GPP location tag
  • qtdemux: fix frame rate cap regression; fix sample durations corner-case
  • qtdemux: Use the correct duration when comparing segments
  • pulsesink: avoid segfault when shutting down
  • pulsesink: return previous mute state if sink is not active at the moment
  • rtpbin: change how NTP time is calculated in RTCP, generating more accurate NTP timestamps if the system clock is synchronised with NTP or similar
  • rtpmp4gdepay: avoid division by 0 in corner case
  • v4l2sink: change rank to NONE so we don't try to autoplug it
  • videomixer: fix timestamping problems for input streams with different lengths
  • videomixer: fix problem when used with gnonlin (always send FLUSH_STOP)

Bugs fixed in this release

  • 584536 : [PLUGIN-MOVE] Move shapewipe to -good
  • 587304 : [jitterbuffer] don't handle correctly data burst from udpsrc
  • 599292 : Synchronizing two RTP streams from different devices using RTCP is inaccurate.
  • 604711 : Handling of mime type in multipartdemux
  • 608026 : [videomixer] timestamping problems
  • 608843 : [flacdec] Can't read tags in push mode
  • 610004 : GST_CXXFLAGS should contain GST_CFLAGS
  • 610053 : matroska fails to build with Sun Studio
  • 610238 : Avoid an assertion in the rtspsrc element which abort the client application
  • 610265 : gstrtpmp4gdepay issuing a SIGFPE crashing an application
  • 610280 : [qtdemux] issue with corrupted 3gp file
  • 610296 : [qtdemux] Confusion with gst/qt segments
  • 610337 : pulsesink: gst_pulsesink_get_mute: set result earlier.
  • 610483 : [jpegdec] invalid memory access
  • 610556 : Memory violation when starting to decode a running DV PAL RTP stream
  • 610839 : Unable to cross compile gst-plugins-good
  • 610894 : send FLUSH_STOP after FLUSH_START in videomixer
  • 611501 : [regression] matroskademux fails to output anything on some seeks
  • 609724 : Add translator comment for %s in pulsesink

API changes

  • API additions
    • jitterbuffer::mode
    • rtpbin::buffer-mode


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

  • Alessandro Decina
  • Anders Skargren
  • Brian Cameron
  • David Hoyt
  • Edward Hervey
  • Mark Nauwelaerts
  • Philippe Normand
  • Robert Swain
  • Sebastian Dröge
  • Stefan Kost
  • Thiago Santos
  • Tim-Philipp Müller
  • Volker Grabsch
  • Wim Taymans

Report a problem on this page.