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: 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 * 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 Download You can find source releases of gst-plugins-good in the download directory: http://gstreamer.freedesktop.org/src/gst-plugins-good/ 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: http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer Developers GStreamer is stored in Git, hosted at git.freedesktop.org, 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. Applications 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