|
 |
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
|
 |