Release 0.10.29
[platform/upstream/gst-plugins-good.git] / RELEASE
1
2 Release notes for GStreamer Good Plug-ins 0.10.29 "Soft Cheese Enthusiast"
3         
4
5
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.
9
10
11 The 0.10.x series is a stable series targeted at end users.
12
13
14
15 "Such ingratitude.  After all the times I've saved your life."
16
17
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,
22 here it is.
23
24
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.
28
29
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.
35
36
37 Other modules containing plug-ins are:
38
39
40 gst-plugins-base
41 contains a basic set of well-supported plug-ins
42 gst-plugins-ugly
43 contains a set of well-supported plug-ins, but might pose problems for
44     distributors
45 gst-plugins-bad
46 contains a set of less supported plug-ins that haven't passed the
47     rigorous quality testing we expect
48
49
50
51   
52
53 Features of this release
54     
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
151
152 Bugs fixed in this release
153      
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
212
213 Download
214
215 You can find source releases of gst-plugins-good in the download directory:
216 http://gstreamer.freedesktop.org/src/gst-plugins-good/
217
218 GStreamer Homepage
219
220 More details can be found on the project's website:
221 http://gstreamer.freedesktop.org/
222
223 Support and Bugs
224
225 We use GNOME's bugzilla for bug reports and feature requests:
226 http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
227
228 Developers
229
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.
234
235         
236 Applications
237   
238 Contributors to this release
239     
240       * "Carsten Kroll
241       * Alejandro Gonzalez
242       * Alessandro Decina
243       * Alexey Chernov
244       * Alexey Fisher
245       * Andoni Morales Alastruey
246       * Arun Raghavan
247       * Benjamin Otte
248       * Christian Fredrik Kalager Schaller
249       * Christian Schaller
250       * David Hoyt
251       * David Schleef
252       * Edward Hervey
253       * Felipe Contreras
254       * Haakon Sporsheim
255       * Havard Graff
256       * Jan Schmidt
257       * Jan Urbanski
258       * Jan Urbański
259       * Jon Nordby
260       * Jordi Burguet-Castell
261       * Josep Torra
262       * Joshua M. Doe
263       * Julien Moutte
264       * LRN
265       * Lane Brooks
266       * Lasse Laukkanen
267       * Leonardo Sandoval
268       * Luis de Bethencourt
269       * Marc-André Lureau
270       * Mark Nauwelaerts
271       * Michael Smith
272       * Ole André Vadla Ravnås
273       * Olivier Crête
274       * Pascal Buhler
275       * Philip Jägenstedt
276       * Philippe Normand
277       * René Stadler
278       * Rob Clark
279       * Robert Swain
280       * Sebastian Dröge
281       * Stefan Kost
282       * Thiago Santos
283       * Thiago Sousa Santos
284       * Thibault Saunier
285       * Tim-Philipp Müller
286       * Tom Janiszewski
287       * Vincent Penquerc'h
288       * Wim Taymans
289       * Youness Alaoui
290       * Zaheer Abbas Merali
291