Release notes for
GStreamer Good Plugins 1.0.6
The GStreamer team is pleased to announce a new bug-fix release
in the 1.x stable series of the
core of the GStreamer streaming media framework.
The 1.x series is a stable series targeted at end users.
It is not API or ABI compatible with the stable 0.10.x series.
It is, however, parallel installable with the 0.10.x series and
will not affect an existing 0.10.x installation.
"Such ingratitude. After all the times I've saved your life."
A collection of plugins you'd want to have right next to you on the
battlefield. Shooting sharp and making no mistakes, these plugins 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 plugin 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 plugins that we consider to have good quality
code, correct functionality, our preferred license (LGPL for the plugin
code, LGPL or LGPL-compatible for the supporting library).
We believe distributors can safely ship these plugins.
People writing elements should base their code on these elements.
Other modules containing plugins are:
- contains a basic set of well-supported plugins
- contains a set of well-supported plugins, but might pose problems for
- 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)
Features of this release
- auparse: fix caps leak
- avidemux: push mode: handle some more 0-size buffer cases
- deinterlace: fix infinite loop on EOS with non-default methods or fields
- dvdemux: don't return FALSE when dropping sink events, fixes flow errors
- level: send a last message on EOS
- mp4mux: in faststart mode, don't output up to 4 kB of garbage at the end
- osxvideosink: Fix crash in osxvideosink with external window output
- osxvideosink: Make GstGLView propagate input events to its parent view
- osxvideosink: Make GstNavigation key input events in osxvideosink compatible with x(v)imagesink ones
- pulsesink: don't error out if pa_stream_proplist_update() with new tags fails
- qtdemux: fix potential crash on short MOOV atom
- qtdemux: fix sample leak when processing private qt tags
- qtdemux: push mode: only parse moov 1 once
- qtdemux: skip disabled tracks
- qtmux: set stream language code from tag
- rtph264pay: Don't use upstream caps with peer_query_caps()
- rtpmp4gdepay: streamtype is not put by all RTSP server, not make it optional
- rtpptdemux: forward sticky events and then set caps
- rtpsession: Fix wrong code organisation in case of collision
- rtspsrc: flush connection when stopping
- rtspsrc: only EOS when our source sends BYE
- rtspsrc: save the stream SSRC
- v4l2: don't check stride for encoded formats
- v4l2: fix compilation against newer kernel headers as on FC19
- videomixer2: avoid caps leak
- videomixer: fix eos timestamp check
- ximagesrc: Set the pixel aspect ratio correctly in the caps
- build: allow calling autogen.sh from out-of-tree
- build: fix build with automake 1.13
Bugs fixed in this release
: qtdemux: OSD displays persistent chapters subtitles
: pulsesink: errors out if pa_stream_proplist_update() fails with old pulseaudio versions
: rtspsrc: only EOS if BYE came from SSRC of the stream
: souphttpsrc: should return GST_FLOW_ERROR from create function in case of HTTP error 404 not found
: rtspsrc: flush connection when going to null state
: avidemux: " unhandled buffer size " error for cyuv.avi in push mode
: rtpjitterbuffer not always correctly warns about resetting skew
: osxvideosink: inconsistent keyboard navigation events
: osxvideosink: crash when displaying on Qt widget
: [isomp4/qtdemux] lots of critical warnings on this sample file
: ximagesrc sets bad pixel-aspect-ratio caps
: osxvideosink doesn't propagate input events to output window
: allow autogen.sh to be call out-of-tree
: CAPS event is forwarded before STREAM_START in rtpptdemux element
: videomixer: hangs on eos
: " rtpjitterbuffer " properties can't be changed after pipeline is started
: level: 32-bit formats don't work because of typo in format list: S32LEF32LE
: deinterlace method=greedyl fields=top does not complete
: videomixer2 leaks caps reference
: 1.0 branch is still using AM_CONFIG_HEADER
: qtdemux: crash with partial mp4 / moov atom
: Wrong code organisation in case of collision in rtpsession
: auparse: src_caps are leaked
: rtph264pay: caps negotiation fails if upstream caps is not NULL
: dvdemux: returns wrong value when it is not processing the sink events
: deinterlace: going to infinite loop on EOS with method=scalerbob fields=bff
: qtdemux: sample leak in tag handling
: qtmux: set language code on streams
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 https://gstreamer.freedesktop.org.
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).
There is also a #gstreamer IRC channel on the Freenode IRC network.
Git is hosted on git.freedesktop.org. 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
- Alexey Chernov
- Arnaud Vrac
- Bastien Nocera
- Benjamin Gaignard
- Kishore Arepalli
- Mark Nauwelaerts
- Markovtsev Vadim
- Matej Knopp
- Matthew Waters
- Michael Smith
- Norbert Waschbuesch
- Ognyan Tonchev
- Olivier Crête
- Paul HENRYS
- Rodolfo Schulz de Lima
- Thomas Vander Stichele
- Tim 'mithro' Ansell
- Tim-Philipp Müller
- Wim Taymans