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.18 "Short Circuit"

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

  • v4l2src: implement GstURIHandler interface
  • matroskamux: make index size configurable
  • matroskademux: support push based mode
  • matroskademux: improve stream synchronization
  • flacdec: fix possible hanging in pull mode seeking
  • flacdec: use a single decoder field for both push and pull mode
  • flacenc: optionally add a seek table
  • rtp: add BroadcomVoice payloader and depayloader
  • rtp: add G.723 payloader and depayloader
  • rtph264pay: add option to insert PPS/SPS in streams
  • rtph264depay: optionally merge NALUs into Access Units
  • rtspsrc: add user-id and user-pw properties; fix major memory leak
  • avimux: many fixes, also better compatibility with Windows Media Player
  • avidemux: per-stream index parsing (= much faster startup)
  • qtdemux: progressive download support / seeking in push mode
  • qtdemux: per sample parsing (= much faster start up)
  • wavenc: Post warning if file hasn't been finalised properly
  • videomixer: MMX optimisations and other improvements; implement basic QoS
  • matroska, qtdemux, id3demux: fix language code writing and extraction

Bugs fixed in this release

  • 609405 : [qtdemux] Issues when seeking with file with lots of tracks and edit lists
  • 503582 : [avidemux] Extract date tag (contained in the IDIT chunk)
  • 351595 : [flacenc] write seek tables
  • 505823 : [matroskademux] language tags have wrong iso code
  • 515073 : [goom] Update to goom2k4
  • 539858 : not enough NEWSEGMENT events from matroskademux
  • 554839 : [rtpbin] Automaticaly remove pads
  • 582575 : [rtph263depay] dropping only part of key frames on lost fragmets
  • 583367 : gstrtpL16pay ignores max-ptime property
  • 583985 : [matroskamux] make index size configurable
  • 587323 : rtpmp4vpay does not payload mp4v stream depayloaded with rtpmp4vdepay
  • 593354 : rtpjitterbuffer sometimes outputs packets with timestamps in the past
  • 595265 : SDES handling in RTPSource
  • 597497 : can't play a redirecting .mov file via playbin
  • 597823 : Add rtpg723pay plugin
  • 599300 : [qtdemux] Doesn't populate video bitrate field
  • 601143 : v4l2src: add GstURIHandler interface
  • 601242 : [flvmux] ECMA array with file index lacks final 0x09 byte
  • 601728 : [rtspsrc] Add username/password properties
  • 602231 : Deadlock between rtpjitterbuffer and gstrtpbin
  • 602508 : qtdemux: Parse stbl atom per sample instead of all at once
  • 602887 : shout2send element won't change from PLAYING state to NULL
  • 602940 : jitterbuffer is racy determining basetime
  • 603376 : rtpsession : g_type_create_instance performance issue : avoid buffer ref
  • 603471 : [flacdec] not timestamping output buffers
  • 603547 : shout2send plugin sends data too fast
  • 603779 : [ladspa] Remove ladspa plugin code
  • 604352 : [rganalysis] miscomputes timestamps
  • 604611 : [qtdemux] Provides invalid ALAC codec data
  • 604679 : videomixer MMX code doesn't build on fedora12
  • 604814 : videomixer make error
  • 604872 : [udpsink] Add missing 'gssize len' parameter to g_convert()
  • 604913 : rtph264pay/NALU/rtph264depay
  • 605222 : Mobile Youtube RTSP streams time out at EOS
  • 605269 : [shout2][patch] Setting public flag
  • 605447 : Unable to play Real Audio stream for radioBERLIN.
  • 605882 : rtpg723pay is incorrect
  • 606198 : rtph264pay is causing alignment trap on ARM arch
  • 606438 : multiudpsink: warningfixes for windows
  • 606692 : Incorrect Center Frequency For Band3
  • 606807 : audioamplify: allow negative amplifications
  • 607353 : rtph264pay & base: Don't crash if the other side specifies the profile-level-id
  • 607440 : [wavenc] should post warning if the file isn't finished properly on pipeline shutting down
  • 607718 : [qtdemux] Infinite loop doing negative rate playback for single audio stream
  • 607949 : [avidemux] regression in stop position for mp3 streams
  • 608209 : [videomixer] blend_mmx.h:173: Error: can't encode register '%ah' in an instruction requiring REX prefix
  • 608255 : [speex] speexenc crash and leaks in rtpspeexpay and speexdec
  • 608268 : [flvmux] index timestamps should be in seconds, not milliseconds
  • 608629 : [pngdec] png_set_gray_1_2_4_to_8() removed in libpng > = 1.4.0
  • 608671 : [mkv] issues when seeking
  • 608990 : [qtdemux] Segment start timestamps can be broken
  • 609107 : [qtdemux] Unknown atoms should also be skipped when looking for moov
  • 598610 : [matroskademux] Support push mode operation
  • 594381 : audiofirfilter: Implement FFT convolution


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
  • Arnout Vandecappelle
  • Arun Raghavan
  • Aurelien Grimaud
  • Bastien Nocera
  • Branko Čibej
  • David Hoyt
  • Edward Hervey
  • Havard Graff
  • Jan Schmidt
  • Jan Urbański
  • Jonathan Conder
  • Kipp Cannon
  • Marco Ballesio
  • Mark Nauwelaerts
  • Michael Smith
  • Olivier Crête
  • Pascal Buhler
  • Peter van Hardenberg
  • Robert Swain
  • Robert Weidlich
  • Roland Krikava
  • Sebastian Dröge
  • Stefan Kost
  • Thiago Santos
  • Tiago Katcipis
  • Tim-Philipp Müller
  • Wim Taymans

Report a problem on this page.