RELEASE: GStreamer Good Plug-ins 0.10.29 "Soft Cheese Enthusiast"

This mail announces the release of GStreamer Good Plug-ins 0.10.29 "Soft Cheese Enthusiast".

GStreamer Good Plug-ins is a set of plug-ins that we consider to have
good quality code and correct functionality, under our preferred license
(LGPL for the plug-in code, LGPL or LGPL-compatible for the supporting

Highlights of this release:

  - amrparse, aacparse, ac3parse, flacparse, mpegaudioparse, dcaparse audio parsers (moved from -bad)
  - muxers now mux based on running time
  - ISO MP4 muxers: mp4mux/3gppmux/qtmux/mj2mux (moved from -bad)
  - new matroskaparse element
  - new v4l2radio element
  - rtpsession: support RTCP Early Feedback (the AVPF profile)
  - orc 0.4.14 or newer recommended
  - many other fixes and improvements

For more information, see

To file bugs, request features or submit patches, please go to

Direct links:

MD5 sums (for tarballs downloaded from
4fcd11b6ad76fa7a9fee2926da41da02  gst-plugins-good-0.10.29.tar.gz
5a652416141d9530258b474dc1d384b9  gst-plugins-good-0.10.29.tar.bz2


Release notes for GStreamer Good Plug-ins 0.10.29 "Soft Cheese Enthusiast"

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.

"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
contains a set of less supported plug-ins that haven't passed the
    rigorous quality testing we expect


Features of this release
      * audioparser: new amrparse, aacparse, ac3parse, flacparse, mpegaudioparse, dcaparse elements
      * audiowsincband: Add new windowing functions: gaussian, cos and hann
      * audiowsincband: Fix range of kernel elements (lim -> lim-1)
      * audiowsinclimimt: Add new windows to high/low-pass filters: gaussian, cosine, hann
      * audiowsinclimit: Fix range of kernel elements (lim -> lim-1) in high/low-pass filters
      * avidemux: also add the frame-type for the stream index.
      * avidemux, flvdemux: mark delta-units in the index
      * avidemux: stream->current_total is accumulated byte size and not time
      * avimux: add stream-format field to h264 pad template caps
      * avimux: rework _request_new_pad to handle explict req-pad-names
      * avimux: use running time for synchronization
      * cairooverlay: Add generic Cairo overlay video element.
      * debugutils: remove bitrotten negotiation element
      * deinterlace: add support for NV12 and NV21 formats; fix greedyl method
      * dvdemux: first try if upstream handles TIME seeks before handling them here and other event handling fixes
      * flacdec: fix issues with large metadata blocks when streaming unframed flac
      * flacenc: Add support for writing METADATA_BLOCK_PICTURE blocks for GST_TAG_IMAGE and GST_TAG_PREVIEW_IMAGE
      * flacenc: Don't store image tags inside the vorbiscomments and the flac metadata
      * flvdemux: add width, height and framerate to caps when present on onMetaData
      * flvdemux: Do not build an index if upstream is not seekable
      * flvdemux: fix deadlock on setting index on flvdemux
      * flvmux: don't overwrite metadata tag with duration in streaming mode
      * flvmux: don't set duration for live stream
      * flvmux: use running time for synchronization
      * flv: specify stream-format for h264 in the pad template caps
      * icydemux: fix tag list handling issues that might have caused crashes
      * j2kpay: skip EPH packets
      * jitterbuffer: also estimate eos if very near eos
      * jitterbuffer: avoid trying to buffer more than is available
      * jitterbuffer: handle position query
      * matroskademux: better calculation of output framerate
      * matroskademux: properly resume cluster scanning
      * matroskademux: pull mode should always report seekable
      * matroskademux: set stream-format=byte-stream on h264 caps if there's no codec data
      * matroskademux: store cluster positions provided by SeekHead
      * matroskamux: add support for A-Law and µ-Law
      * matroskamux: avoid building index when streamable
      * matroskamux: use running time for stream synchronization
      * matroskamux: add stream-format field to h264 pad template caps
      * matroska: Use ARTIST Matroska tag instead of AUTHOR for GST_TAG_ARTIST
      * matroskaparse: new element
      * monoscope: stability (off-by-one) and memory leak fixes
      * pngdec: handle 16-bit-per-channel images
      * pulsesink: also uncork during EOS waiting (and after EOS is rendered)
      * pulsesink: fix deadlock if connecting to PA fails
      * pulsesink: release pa_shared_resource_mutex before pa_threaded_mainloop_wait
      * qtdemux: Adds more h264 fields to its caps
      * qtdemux: Add support for 2Vuy and r210
      * qtdemux: don't error out when there's a problem parsing non-vital headers
      * qtdemux: avoid skipping exposing a stream following a removed stream
      * qtdemux: Check for invalid (empty) classification info entity strings
      * qtdemux: extract MusicBrainz tags
      * qtdemux: mind rounding issues when converting from global time to mov time
      * qtdemux: propagate error during expose_streams
      * qtdemux: support some more mpeg-4 fourcc variants
      * qtdemux: take configured start time into account
      * isomp4: move mp4mux/3gppmux/qtmux from -bad to -good, rename qtdemux plugin to isomp4
      * rtpbin: Don't try to request the same request pad twice
      * rtpbin: fix setting the SDES property
      * rtpbin: Get and use the NTP time when receiving RTCP
      * rtpmanager: ignore a BYE if it is sent with our internal SSRC
      * rtpptdemux: Tag upstream custom events with payload type
      * rtpsession: add action signal to request early RTCP
      * rtpsession: add "rtcp-min-interval" property for minimum interval between Regular RTCP messages
      * rtpsession: Don't relay more than one PLI request per RTT
      * rtpsession: Emit "on-ssrc-validated" when validating by RTCP
      * rtpsession: Emit signal on incoming RTCP feedback packet
      * rtpsession: Emit signal when sending a compound RTCP packet
      * rtpsession: Implement sending PLI packets in response to GstForceKeyUnit
      * rtpsession: Number of active sources should be updated whenever the status of the source changes to active
      * rtpsession: Send GstForceKeyUnit event in response to received RTCP PLI
      * rtpsource: Retain RTCP Feedback packets for a specified amount of time
      * rtpssrcdemux: Tag upstream custom events with SSRC
      * rtpssrcdemux: Unknown SSRC is not fatal
      * rtpspeexpay: Do not transmit samples with GAP flag
      * rtptheoradepay: Request new keyframe on lost packets
      * rtpvrawpay: add support for interlaced video
      * rtspsrc: distribute new base_time to manager children following flush seek
      * rtspsrc: handle * control correctly
      * rtspsrc: improve recovery from failed seek
      * spectrum: miscellaneous optimisations, add multi-channel support
      * speexdec: Always process the number of frames per packet as specified in the header
      * speexdec: get and use streamheader from the caps if possible
      * speexenc: Use speex intern silence detection
      * theorapay: handle 0-sized packets (which are repeat frames)
      * udpsink: warn when packet is too large
      * v4l2: Add PJPG mapping
      * v4l2: fix interlaced set_format configuration
      * v4l2: new v4l2radio element to control analog radio devices
      * videobalance: fix handling of YUV images with 'odd' widths
      * videoflip: add support for YUY2, UVYV and YVYU
      * videoflip: fix invalid memory access for odd resolutions and Y422
      * videomixer2: Add transparent background option for alpha channel formats
      * videomixer: Add transparent background option for alpha channel formats
      * videomixer: Fix argb/rgba overlay orc code
      * wavparse: tune output max buffer size to material

Bugs fixed in this release
      * 564122 : Crash in monoscope_update
      * 432612 : [matroskamux] doesn't handle segments correctly
      * 593482 : Spectrum: Multi-Channel support and Stereo to Mono compat report(cross-correlation)
      * 595520 : Implement a generic cairo overlay
      * 622553 : rtpmanager: Implement RFC 4585 (AVPF / early feedback)
      * 636699 : [PLUGIN-MOVE] qtmux: move to -good
      * 639994 : videomixer2: added 'transparent' background option
      * 640118 : v4l2: add element to control radio devices
      * 640163 : rtspsrc: minor leak
      * 640249 : [taginject] Taginject does not allow to change tags after init
      * 640483 : flvdemux: Video's width, height and/or framerate src caps added when present on onMetaData
      * 640542 : matroskamux leaks memory after reset
      * 641330 : icydemux: crash while playing MP3 stream in amarok
      * 641332 : can't connect vorbisenc ! queue ! matroskamux
      * 641400 : [deinterlace] Handle image caps without asserting
      * 641827 : rtptheorapay: doesn't handle 0-size packets
      * 642205 : qtdemux: extract MusicBrainz tags
      * 642337 : [souphttpsrc] Add support for URI queries
      * 642412 : gstrtpbin with ignore-pt tries to use NULL stream- > demux during uninitialization
      * 642691 : deinterlace: Miscellaneous cleanup
      * 642879 : qtmux: add a 'variant' with the bare video/quicktime media type
      * 642961 : NV12 colorspace support for deinterlace plugin
      * 642963 : [dvdemux] time based upstream seek
      * 643087 : pulsesink: deadlock in gst_pulseringbuffer_open_device
      * 643981 : [cairooverlay] example uses gtk/gtk-x11 unnecessarily
      * 644288 : generic/states check fails
      * 644477 : [jack] doesn't build with jack > = 0.120.2
      * 644510 : pulsesink: deadlock when create/connect fails
      * 644669 : gstspeexdec causes 'Conditional jump depends on uninitialised value'
      * 644773 : Add support for Y422 colorspaces in videoflip element
      * 644849 : [speexdec] Remove warning message when it is inappropriate
      * 644875 : [matroskademux] can't read the ARTIST tag in a Matroska file
      * 645858 : [flvdemux] memory leak when demuxing infinite FLV files
      * 645961 : [pulsesink] hangs when going from paused to playing near EOS
      * 646397 : rtpjitterbuffer base_time broken by commit f84b8a69
      * 646474 : rtpspeexpay should drop empty samples
      * 646567 : [matroska] Add alaw/mulaw audio support
      * 646800 : rtspsrc: control attribute on the session and not on the media
      * 646954 : rtpgstpay: declare frag_offset to hold 32 bits
      * 646964 : rtpmanager: ignore a BYE if it is sent with our internal SSRC
      * 646965 : rtpmanager: Number of active sources should be updated whenever the status of the source changes to active
      * 646966 : rtpssrcdemux: Unknown SSRC is not fatal
      * 646967 : rtpsession: make iterate_internal_links MT-safe
      * 646999 : [regression] pulsesink: underruns while playing WMA
      * 647263 : REGRESSION: rtpsession: fix wrongly applied patch
      * 647510 : audiowsinclimit uses the wrong limits for the range of the kernel elements
      * 647511 : add other common windows to low/high-pass filters in audiowsinclimit.c
      * 647659 : mp3parse / mpegaudioparse fails to detect VBRI header in mpeg1 mono and mpeg2 files
      * 647833 : matroskademux: bad at guessing the framerate
      * 647848 : Failure to compile with GCC 4.6.x due to variable unused but set warnings being treated as errors
      * 647919 : qtmux: silently corrupts h264 streams with legacy caps
      * 648004 : [quicktime] Rename plugin library to quicktime too
      * 648160 : Remove half-complete bits of RTCP FIR support
      * 648589 : jpegdec: documentation typo " jpegddec " 
      * 649060 : flvmux: overwrites metadata tags with duration in streamable=false mode
      * 649449 : [gppmux] Failure to write location
      * 566769 : [flacdec] crash in push mode with large header packet (image)
      * 644730 : [matroskamux] Should return TRUE in the event function when the event is handled


You can find source releases of gst-plugins-good in the download directory:

GStreamer Homepage

More details can be found on the project's website:

Support and Bugs

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


GStreamer is stored in Git, hosted at, and can be cloned from there.
Interested developers of the core library, plug-ins, and applications should
subscribe to the gstreamer-devel list. If there is sufficient interest we
will create more lists as necessary.

Contributors to this release
      * "Carsten Kroll
      * Alejandro Gonzalez
      * Alessandro Decina
      * Alexey Chernov
      * Alexey Fisher
      * Andoni Morales Alastruey
      * Arun Raghavan
      * Benjamin Otte
      * Christian Fredrik Kalager Schaller
      * Christian Schaller
      * David Hoyt
      * David Schleef
      * Edward Hervey
      * Felipe Contreras
      * Haakon Sporsheim
      * Havard Graff
      * Jan Schmidt
      * Jan Urbanski
      * Jan Urbański
      * Jon Nordby
      * Jordi Burguet-Castell
      * Josep Torra
      * Joshua M. Doe
      * Julien Moutte
      * LRN
      * Lane Brooks
      * Lasse Laukkanen
      * Leonardo Sandoval
      * Luis de Bethencourt
      * Marc-André Lureau
      * Mark Nauwelaerts
      * Michael Smith
      * Ole André Vadla Ravnås
      * Olivier Crête
      * Pascal Buhler
      * Philip Jägenstedt
      * Philippe Normand
      * René Stadler
      * Rob Clark
      * Robert Swain
      * Sebastian Dröge
      * Stefan Kost
      * Thiago Santos
      * Thiago Sousa Santos
      * Thibault Saunier
      * Tim-Philipp Müller
      * Tom Janiszewski
      * Vincent Penquerc'h
      * Wim Taymans
      * Youness Alaoui
      * Zaheer Abbas Merali

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]