2 Release notes for GStreamer Good Plug-ins 0.10.29 "Soft Cheese Enthusiast"
6 The GStreamer team is proud to announce a new release
7 in the 0.10.x stable series of the
8 GStreamer Good Plug-ins.
11 The 0.10.x series is a stable series targeted at end users.
15 "Such ingratitude. After all the times I've saved your life."
18 A collection of plug-ins you'd want to have right next to you on the
19 battlefield. Shooting sharp and making no mistakes, these plug-ins have it
20 all: good looks, good code, and good licensing. Documented and dressed up
21 in tests. If you're looking for a role model to base your own plug-in on,
25 If you find a plot hole or a badly lip-synced line of code in them,
26 let us know - it is a matter of honour for us to ensure Blondie doesn't look
27 like he's been walking 100 miles through the desert without water.
30 This module contains a set of plug-ins that we consider to have good quality
31 code, correct functionality, our preferred license (LGPL for the plug-in
32 code, LGPL or LGPL-compatible for the supporting library).
33 We believe distributors can safely ship these plug-ins.
34 People writing elements should base their code on these elements.
37 Other modules containing plug-ins are:
41 contains a basic set of well-supported plug-ins
43 contains a set of well-supported plug-ins, but might pose problems for
46 contains a set of less supported plug-ins that haven't passed the
47 rigorous quality testing we expect
53 Features of this release
55 * audioparser: new amrparse, aacparse, ac3parse, flacparse, mpegaudioparse, dcaparse elements
56 * audiowsincband: Add new windowing functions: gaussian, cos and hann
57 * audiowsincband: Fix range of kernel elements (lim -> lim-1)
58 * audiowsinclimimt: Add new windows to high/low-pass filters: gaussian, cosine, hann
59 * audiowsinclimit: Fix range of kernel elements (lim -> lim-1) in high/low-pass filters
60 * avidemux: also add the frame-type for the stream index.
61 * avidemux, flvdemux: mark delta-units in the index
62 * avidemux: stream->current_total is accumulated byte size and not time
63 * avimux: add stream-format field to h264 pad template caps
64 * avimux: rework _request_new_pad to handle explict req-pad-names
65 * avimux: use running time for synchronization
66 * cairooverlay: Add generic Cairo overlay video element.
67 * debugutils: remove bitrotten negotiation element
68 * deinterlace: add support for NV12 and NV21 formats; fix greedyl method
69 * dvdemux: first try if upstream handles TIME seeks before handling them here and other event handling fixes
70 * flacdec: fix issues with large metadata blocks when streaming unframed flac
71 * flacenc: Add support for writing METADATA_BLOCK_PICTURE blocks for GST_TAG_IMAGE and GST_TAG_PREVIEW_IMAGE
72 * flacenc: Don't store image tags inside the vorbiscomments and the flac metadata
73 * flvdemux: add width, height and framerate to caps when present on onMetaData
74 * flvdemux: Do not build an index if upstream is not seekable
75 * flvdemux: fix deadlock on setting index on flvdemux
76 * flvmux: don't overwrite metadata tag with duration in streaming mode
77 * flvmux: don't set duration for live stream
78 * flvmux: use running time for synchronization
79 * flv: specify stream-format for h264 in the pad template caps
80 * icydemux: fix tag list handling issues that might have caused crashes
81 * j2kpay: skip EPH packets
82 * jitterbuffer: also estimate eos if very near eos
83 * jitterbuffer: avoid trying to buffer more than is available
84 * jitterbuffer: handle position query
85 * matroskademux: better calculation of output framerate
86 * matroskademux: properly resume cluster scanning
87 * matroskademux: pull mode should always report seekable
88 * matroskademux: set stream-format=byte-stream on h264 caps if there's no codec data
89 * matroskademux: store cluster positions provided by SeekHead
90 * matroskamux: add support for A-Law and µ-Law
91 * matroskamux: avoid building index when streamable
92 * matroskamux: use running time for stream synchronization
93 * matroskamux: add stream-format field to h264 pad template caps
94 * matroska: Use ARTIST Matroska tag instead of AUTHOR for GST_TAG_ARTIST
95 * matroskaparse: new element
96 * monoscope: stability (off-by-one) and memory leak fixes
97 * pngdec: handle 16-bit-per-channel images
98 * pulsesink: also uncork during EOS waiting (and after EOS is rendered)
99 * pulsesink: fix deadlock if connecting to PA fails
100 * pulsesink: release pa_shared_resource_mutex before pa_threaded_mainloop_wait
101 * qtdemux: Adds more h264 fields to its caps
102 * qtdemux: Add support for 2Vuy and r210
103 * qtdemux: don't error out when there's a problem parsing non-vital headers
104 * qtdemux: avoid skipping exposing a stream following a removed stream
105 * qtdemux: Check for invalid (empty) classification info entity strings
106 * qtdemux: extract MusicBrainz tags
107 * qtdemux: mind rounding issues when converting from global time to mov time
108 * qtdemux: propagate error during expose_streams
109 * qtdemux: support some more mpeg-4 fourcc variants
110 * qtdemux: take configured start time into account
111 * isomp4: move mp4mux/3gppmux/qtmux from -bad to -good, rename qtdemux plugin to isomp4
112 * rtpbin: Don't try to request the same request pad twice
113 * rtpbin: fix setting the SDES property
114 * rtpbin: Get and use the NTP time when receiving RTCP
115 * rtpmanager: ignore a BYE if it is sent with our internal SSRC
116 * rtpptdemux: Tag upstream custom events with payload type
117 * rtpsession: add action signal to request early RTCP
118 * rtpsession: add "rtcp-min-interval" property for minimum interval between Regular RTCP messages
119 * rtpsession: Don't relay more than one PLI request per RTT
120 * rtpsession: Emit "on-ssrc-validated" when validating by RTCP
121 * rtpsession: Emit signal on incoming RTCP feedback packet
122 * rtpsession: Emit signal when sending a compound RTCP packet
123 * rtpsession: Implement sending PLI packets in response to GstForceKeyUnit
124 * rtpsession: Number of active sources should be updated whenever the status of the source changes to active
125 * rtpsession: Send GstForceKeyUnit event in response to received RTCP PLI
126 * rtpsource: Retain RTCP Feedback packets for a specified amount of time
127 * rtpssrcdemux: Tag upstream custom events with SSRC
128 * rtpssrcdemux: Unknown SSRC is not fatal
129 * rtpspeexpay: Do not transmit samples with GAP flag
130 * rtptheoradepay: Request new keyframe on lost packets
131 * rtpvrawpay: add support for interlaced video
132 * rtspsrc: distribute new base_time to manager children following flush seek
133 * rtspsrc: handle * control correctly
134 * rtspsrc: improve recovery from failed seek
135 * spectrum: miscellaneous optimisations, add multi-channel support
136 * speexdec: Always process the number of frames per packet as specified in the header
137 * speexdec: get and use streamheader from the caps if possible
138 * speexenc: Use speex intern silence detection
139 * theorapay: handle 0-sized packets (which are repeat frames)
140 * udpsink: warn when packet is too large
141 * v4l2: Add PJPG mapping
142 * v4l2: fix interlaced set_format configuration
143 * v4l2: new v4l2radio element to control analog radio devices
144 * videobalance: fix handling of YUV images with 'odd' widths
145 * videoflip: add support for YUY2, UVYV and YVYU
146 * videoflip: fix invalid memory access for odd resolutions and Y422
147 * videomixer2: Add transparent background option for alpha channel formats
148 * videomixer: Add transparent background option for alpha channel formats
149 * videomixer: Fix argb/rgba overlay orc code
150 * wavparse: tune output max buffer size to material
152 Bugs fixed in this release
154 * 564122 : Crash in monoscope_update
155 * 432612 : [matroskamux] doesn't handle segments correctly
156 * 593482 : Spectrum: Multi-Channel support and Stereo to Mono compat report(cross-correlation)
157 * 595520 : Implement a generic cairo overlay
158 * 622553 : rtpmanager: Implement RFC 4585 (AVPF / early feedback)
159 * 636699 : [PLUGIN-MOVE] qtmux: move to -good
160 * 639994 : videomixer2: added 'transparent' background option
161 * 640118 : v4l2: add element to control radio devices
162 * 640163 : rtspsrc: minor leak
163 * 640249 : [taginject] Taginject does not allow to change tags after init
164 * 640483 : flvdemux: Video's width, height and/or framerate src caps added when present on onMetaData
165 * 640542 : matroskamux leaks memory after reset
166 * 641330 : icydemux: crash while playing MP3 stream in amarok
167 * 641332 : can't connect vorbisenc ! queue ! matroskamux
168 * 641400 : [deinterlace] Handle image caps without asserting
169 * 641827 : rtptheorapay: doesn't handle 0-size packets
170 * 642205 : qtdemux: extract MusicBrainz tags
171 * 642337 : [souphttpsrc] Add support for URI queries
172 * 642412 : gstrtpbin with ignore-pt tries to use NULL stream- > demux during uninitialization
173 * 642691 : deinterlace: Miscellaneous cleanup
174 * 642879 : qtmux: add a 'variant' with the bare video/quicktime media type
175 * 642961 : NV12 colorspace support for deinterlace plugin
176 * 642963 : [dvdemux] time based upstream seek
177 * 643087 : pulsesink: deadlock in gst_pulseringbuffer_open_device
178 * 643981 : [cairooverlay] example uses gtk/gtk-x11 unnecessarily
179 * 644288 : generic/states check fails
180 * 644477 : [jack] doesn't build with jack > = 0.120.2
181 * 644510 : pulsesink: deadlock when create/connect fails
182 * 644669 : gstspeexdec causes 'Conditional jump depends on uninitialised value'
183 * 644773 : Add support for Y422 colorspaces in videoflip element
184 * 644849 : [speexdec] Remove warning message when it is inappropriate
185 * 644875 : [matroskademux] can't read the ARTIST tag in a Matroska file
186 * 645858 : [flvdemux] memory leak when demuxing infinite FLV files
187 * 645961 : [pulsesink] hangs when going from paused to playing near EOS
188 * 646397 : rtpjitterbuffer base_time broken by commit f84b8a69
189 * 646474 : rtpspeexpay should drop empty samples
190 * 646567 : [matroska] Add alaw/mulaw audio support
191 * 646800 : rtspsrc: control attribute on the session and not on the media
192 * 646954 : rtpgstpay: declare frag_offset to hold 32 bits
193 * 646964 : rtpmanager: ignore a BYE if it is sent with our internal SSRC
194 * 646965 : rtpmanager: Number of active sources should be updated whenever the status of the source changes to active
195 * 646966 : rtpssrcdemux: Unknown SSRC is not fatal
196 * 646967 : rtpsession: make iterate_internal_links MT-safe
197 * 646999 : [regression] pulsesink: underruns while playing WMA
198 * 647263 : REGRESSION: rtpsession: fix wrongly applied patch
199 * 647510 : audiowsinclimit uses the wrong limits for the range of the kernel elements
200 * 647511 : add other common windows to low/high-pass filters in audiowsinclimit.c
201 * 647659 : mp3parse / mpegaudioparse fails to detect VBRI header in mpeg1 mono and mpeg2 files
202 * 647833 : matroskademux: bad at guessing the framerate
203 * 647848 : Failure to compile with GCC 4.6.x due to variable unused but set warnings being treated as errors
204 * 647919 : qtmux: silently corrupts h264 streams with legacy caps
205 * 648004 : [quicktime] Rename plugin library to quicktime too
206 * 648160 : Remove half-complete bits of RTCP FIR support
207 * 648589 : jpegdec: documentation typo " jpegddec "
208 * 649060 : flvmux: overwrites metadata tags with duration in streamable=false mode
209 * 649449 : [gppmux] Failure to write location
210 * 566769 : [flacdec] crash in push mode with large header packet (image)
211 * 644730 : [matroskamux] Should return TRUE in the event function when the event is handled
215 You can find source releases of gst-plugins-good in the download directory:
216 http://gstreamer.freedesktop.org/src/gst-plugins-good/
220 More details can be found on the project's website:
221 http://gstreamer.freedesktop.org/
225 We use GNOME's bugzilla for bug reports and feature requests:
226 http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
230 GStreamer is stored in Git, hosted at git.freedesktop.org, and can be cloned from there.
231 Interested developers of the core library, plug-ins, and applications should
232 subscribe to the gstreamer-devel list. If there is sufficient interest we
233 will create more lists as necessary.
238 Contributors to this release
245 * Andoni Morales Alastruey
248 * Christian Fredrik Kalager Schaller
260 * Jordi Burguet-Castell
268 * Luis de Bethencourt
272 * Ole André Vadla Ravnås
283 * Thiago Sousa Santos
290 * Zaheer Abbas Merali