GStreamer
open source multimedia framework
Home
Features
News
Annual Conference
Planet (Blogs)
Download
Applications
Developers
Documentation
Mailing Lists
File a Bug
Bug Lists
Artwork
Follow @gstreamer on Twitter

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:

gst-plugins-base
contains a basic set of well-supported plug-ins
gst-plugins-ugly
contains a set of well-supported plug-ins, but might pose problems for distributors
gst-plugins-bad
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

Download

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

GStreamer Homepage

More details can be found on the project's website, http://gstreamer.freedesktop.org.

Support and Bugs

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

Developers

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, plug-ins, and applications should subscribe to the gstreamer-devel list. If there is sufficient interest we will create more lists as necessary.

Applications

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

Report a problem on this page.