Release 1.5.1
[platform/upstream/gst-plugins-good.git] / RELEASE
1
2 Release notes for GStreamer Good Plugins 1.5.1
3
4
5 The GStreamer team is pleased to announce the first release of the unstable
6 1.5 release series. The 1.5 release series is adding new features on top of
7 the 1.0, 1.2 and 1.4 series and is part of the API and ABI-stable 1.x release
8 series of the GStreamer multimedia framework. The unstable 1.5 release series
9 will lead to the stable 1.6 release series in the next weeks, and newly added
10 API can still change until that point.
11
12
13 Binaries for Android, iOS, Mac OS X and Windows will be provided separately
14 during the unstable 1.5 release series.
15
16
17
18 "Such ingratitude.  After all the times I've saved your life."
19
20
21 A collection of plugins you'd want to have right next to you on the
22 battlefield.  Shooting sharp and making no mistakes, these plugins have it
23 all: good looks, good code, and good licensing.  Documented and dressed up
24 in tests.  If you're looking for a role model to base your own plugin on,
25 here it is.
26
27
28 If you find a plot hole or a badly lip-synced line of code in them,
29 let us know - it is a matter of honour for us to ensure Blondie doesn't look
30 like he's been walking 100 miles through the desert without water.
31
32
33 This module contains a set of plugins that we consider to have good quality
34   code, correct functionality, our preferred license (LGPL for the plugin
35   code, LGPL or LGPL-compatible for the supporting library).
36 We believe distributors can safely ship these plugins.
37 People writing elements should base their code on these elements.
38
39
40 Other modules containing plugins are:
41
42
43 gst-plugins-base
44 contains a basic set of well-supported plugins
45 gst-plugins-ugly
46 contains a set of well-supported plugins, but might pose problems for
47     distributors
48 gst-plugins-bad
49 contains a set of less supported plugins that haven't passed the
50     rigorous quality testing we expect, or are still missing documentation
51     and/or unit tests
52 gst-libav
53 contains a set of codecs plugins based on libav (formerly gst-ffmpeg)
54
55
56
57   
58
59 Bugs fixed in this release
60      
61       * 740130 : matroskamux: wrong duration on some files
62       * 699382 : v4l2: dmabuf handling is not complete
63       * 746747 : rtpsession: Also report internal sources in on-new-ssrc and on-ssrc-active
64       * 741783 : qtmux: crash when trying to mux ALAC
65       * 601733 : rtspsrc: Use specific error message when authentication is required
66       * 635701 : rtspsrc: seeking is broken
67       * 678124 : multifilesink: add support for time based file switching
68       * 682770 : v4l2src: should renegotiate
69       * 690646 : ximagesrc: Cursor offset with ximagesrc and xid
70       * 690719 : jackaudiosink: add new property (port-pattern) to specify which jack ports to autoconnect to
71       * 692473 : qtmux: does not store stream specific tags
72       * 708808 : qtmux: Error out when downstream is not seekable and no fast-start
73       * 711764 : osxaudiosrc: Produces broken audio for any sample rate other than 44100Hz
74       * 722567 : wavparse: loops on incorrect wav file
75       * 725335 : rtspsrc: Extract the payload type from sdp framesize attribute
76       * 726415 : rtpjpegpay/-depay: Remove incorrectly introduced framesize SDP attribute
77       * 726416 : rtph263pay/-depay: add framesize SDP attribute
78       * 730417 : rtspt: no timestamp from some rtsp source over tcp
79       * 731038 : playbin downmixes 5.0 multichannel-audio to stereo
80       * 732152 : multiudpsink: use sendmmsg() to send multiple packets to multiple recipients in one go
81       * 732866 : udpsink: client add/remove from app blocked while render function is stuck in g_socket_send_message()
82       * 732870 : jpegenc: add support for encoding from nv21
83       * 733225 : Lockup while using Cheese on 1.3.91
84       * 733444 : wavenc: does not support more than 2 channel
85       * 733539 : rtph264pay: append profile-level-id parameter to SDP if available
86       * 733556 : h264 payloader : append packetization-mode parameter for SDP
87       * 733616 : v4l2object: code cleanup
88       * 733750 : v4l2object: query minimum required buffers for output
89       * 734322 : RTP Jitterbuffer shouldn't force clock-rate on the caps
90       * 734443 : qtdemux: forward DISCONT from upstream to the output streams
91       * 734542 : speexenc: Improve annotation of internal function
92       * 734987 : udp: fix udpsrc documentation
93       * 735085 : y4mencode :  port y4m encoder to use GstVideoEncoder base class
94       * 735378 : gstrtpjitterbuffer: requests retransmission periodically when no needed
95       * 735564 : gdkpixbufdec: Error when using gdkpixbufdec with ImageFreeze element
96       * 735581 : imagefreeze: Remove impossible error condition
97       * 735626 : multipartdemux: caps are NULL in pad-added callback (regression)
98       * 735627 : wavenc/wavparse: should support RF64 files
99       * 735795 : imagefreeze: Don't call gst_caps_unref() on NULL caps
100       * 735880 : imagefreeze: replace with gst_buffer_copy
101       * 735950 : gdkpixbufdec: free query after use
102       * 735971 : qtdemux: avdec_mjpeg does not get autoplugged for mjpeg in mov container
103       * 736072 : v4l2: set min_latency for output device according to required minimum number of buffers
104       * 736122 : ximagesrc: setting the screen-num property has no effect
105       * 736133 : v4l2: query crop configuration after each call of S_CROP
106       * 736252 : gdkpixbufdec: packetized mode logic
107       * 736462 : multifile: don't bitwise OR the same flag twice
108       * 736528 : udp: getting compilation error for implicit declaration of memcmp, memset
109       * 736543 : matroska:OR and Bitwise OR of the same flag twice
110       * 736872 : libpng: Removed redundant assignment
111       * 736873 : alpha: Removed unreachable break statements
112       * 736874 : audiofx: Removed unwanted variable
113       * 736875 : audiofx: Removed unwanted buffer_length variable
114       * 736876 : audiofx: Removed unreachable breaks, unwanted variable
115       * 736878 : audioparsers: Added index check before using the index
116       * 736879 : avi: Removed redundant assignment
117       * 736880 : avi: Removed unwanted hdl variable
118       * 736881 : deinterlace: Removed unwanted res variable
119       * 736883 : dtmf: Removed unwanted structure member and assignment
120       * 736884 : flv: Removed unreachable break statements
121       * 736887 : goom: Clarified precedence between % and ?
122       * 736888 : isomp4: Removed unreachable breaks
123       * 736890 : matroska: Removed unwanted instruction
124       * 736892 : rtpmanager: Removed unwanted variable and assignment
125       * 736893 : rtpmanager: Removed unwanted assignment
126       * 736894 : rtpmanager: Removed unwanted assignment in rtpsession
127       * 736897 : videobox: duplicate assignment
128       * 736903 : rtsp: Precedence in expression is not clear
129       * 736986 : qtdemux: handle AAC audio without ESDS atom
130       * 737095 : qtmux: subtitle muxing doesn't work
131       * 737127 : interleave: interleaving does not respect the channel positions default order
132       * 737359 : matroskademux: returns FLOW_FLUSHING when trying to reuse it
133       * 737708 : pngdec: change parse logic
134       * 737868 : rtspsrc: set stream caps on internal src TCP pads
135       * 738013 : v4l2allocator: issue with import_userptr() in single-planar API when n_planes > 1
136       * 738707 : gst-plugins-good fails to build on Mac OS X 10.10 Yosemite due to deprecated NSOpenGLPFAFullScreen
137       * 738838 : videobox: critical error when element properties set as max/min
138       * 739344 : rtpjitterbuffer: ensure rtx_retry_period > = 0
139       * 739366 : imagefreeze: Handle seqnums
140       * 739549 : v4l2bufferpool: fix typos in flags
141       * 739566 : gdkpixbufoverlay: Fix relative-x/y and widen their range to support scolling images in/out of frame with GstController
142       * 739930 : Port server-alsasrc-PCMA.py to version 1.x
143       * 739975 : Seeking through some AAC file freezes my application
144       * 740403 : v4l2object: reuse caps framerate if not overwritten by v4l2 device
145       * 740505 : rtspsrc: segmentation fault when requesting srtp key
146       * 740683 : rtspsrc: add retransmission handling for rtp
147       * 740987 : Fixes to osxaudiosrc and osxaudiosink
148       * 741115 : videomixer segfault when output height is smaller than input height and ypos is negative
149       * 741134 : v4l2: CREATE_BUF support is broken
150       * 741279 : qtmux: generating corrupted file when over 4GB
151       * 741398 : rtpptdemux: errors out on invalid rtp packet, e.g. if the version check failed (0 != 2)
152       * 741993 : souphttpsrc: leaking a buffer during flushing
153       * 742098 : rtp: Fails rtpaux and rtpcollision tests
154       * 742325 : ac3parse: requests minimum frame size that is too small
155       * 742363 : v4l2object: recognize and distinguish all bayer arrangements
156       * 742572 : qtdemux: EOS emitted after 10 seconds on a audio/mp4a file [REGRESSION]
157       * 742661 : qtdemux: EOS in push mode when seeking in m4a
158       * 743013 : v4l2bufferpool: set v4l2_buffer.field when queuing buffer in an output device
159       * 743186 : v4l2object: set colorspace in caps for capture devices
160       * 743407 : qtdemux: doesn't ignore data after last sample in mdat.
161       * 743518 : qtdemux: dead code while calculating segment base ?
162       * 743578 : qtdemux: Parse 'sidx' atom (for duration and indexing in fragmented files)
163       * 743906 : quarktv: doesn't work with planes=0, fix property range accordingly
164       * 744211 : interleave: assertion 'self- > func != NULL' failed
165       * 744461 : pulsesink: Enhance code readability in pulsesink_query
166       * 745192 : matroskademux: V_MS-VFW-FOURCC streams have DTS instead of PTS
167       * 745226 : Vorbis RTP payloader metadata is slightly wrong
168       * 745276 : avidemux: remove not needed code
169       * 745339 : qtdemux: key_unit seek doesn't work
170       * 745441 : v4l2: Detect lossed frame and warn
171       * 745515 : level: infinite loop when interval is set to low values
172       * 745587 : rtp: Add PLI and FIR counters to RTPSource statistics
173       * 745599 : rtsp: tcp transport fails
174       * 745973 : matroskademux: gst_tag_list_insert: assertion 'GST_IS_TAG_LIST (into)' failed
175       * 746065 : level: outputs random values if channels==1
176       * 746242 : matroskaparse: send global tags
177       * 746274 : flvdemux: Less spam from no_more_pads warning
178       * 746390 : qtdemux: crash while playing MPEG DASH stream
179       * 746479 : rtsp: Only two second of playback with rtpsrc and test-mp4 (rtsp-server)
180       * 746543 : rtpsession: Properly implement T_rr_interval and allow sending multiple early feedback packets in a row
181       * 746810 : matroska: fix GValue leak when parsing tags
182       * 746822 : qtdemux: segment query reports wrong values after key-unit seek
183       * 746834 : v4l2sink: driver is not queried for minimum number of buffers when propose_allocation is not called
184       * 747204 : audiofirfilter creates strange noise for smaller filter kernels and even default kernel
185       * 747208 : rtpvp8depay: should have width/height in its caps so it can be fed to muxers
186       * 747358 : rtp: RTPJitterBufferMode enum missing from gtk-doc
187       * 747394 : rtpsession: Track RTX ssrc caps
188       * 747554 : suppressions: silence possible valgrind false positive
189       * 747595 : tests: Add test suite for alpha element
190       * 747597 : smpte: Remove unused fields
191       * 747863 : rtpsession: Use bandwidth calculation by default instead of some arbitrary hardcoded value
192       * 747922 : rtpjitterbuffer/rtxreceive: Don't reset the jitterbuffer if too old RTX packets arrive
193       * 748022 : audiofx: fix typos in example pipelines
194       * 748024 : icydemux: Fix segfault for 0-value metainterval
195       * 748041 : rtpjitterbuffer: Too early requested retransmission for future packets
196       * 748353 : rtspsrc: Leak of RTCP caps
197       * 748436 : rtpjitterbuffer: " stats " property docs
198       * 748584 : matroskademux: fix seek event leak in push mode
199       * 748617 : qtdemux: fix buffer leak on EOS with stop position in push mode
200       * 748627 : rtspsrc: Don't send NACKs and early RTCP in non-feedback profiles
201       * 748909 : jpegdec: fix frame leaks
202       * 749054 : qtdemux: Fix gst-launch pipeline in the documentation
203       * 749072 : flacparse: fix buffer leak
204       * 749122 : vp8enc: vp9enc: target bitrate is not working as expected
205       * 749129 : rtpg726depay: add block_align to output caps
206       * 749163 : po: update POTFILES.in
207       * 749543 : rtpg726depay: fix input buffer memleak
208       * 749544 : rtpg726pay: fix caps leak
209       * 749581 : rtpbasepayload: Try harder to reuse previously configured caps values and give more preference to anything set as properties
210       * 749669 : rtp: fix collection of statistic
211       * 749690 : splitfilesrc: Implement binary search in find_part_for_offset
212       * 749909 : matroska: overwritten value assignment
213       * 750327 : rtpssrcdemux: Add support for reduce size rtcp
214       * 750332 : rtpsession: Add support for reduced size rtcp
215       * 743925 : osxaudiosink won't reconfigure sink caps
216       * 744922 : osxaudiosrc: iOS resampling is stuttering
217       * 728353 : goom2k1: code does nothing, slowly
218       * 748068 : equalizer: not changing settings dynamically
219       * 731352 : flv: Container timestamp is DTS not PTS
220       * 732910 : v4l2src: Dectect and workaround decreasing HW timestamp
221       * 737810 : payloaders: VP8 and Opus payloader should probably suppport Google Chrome encoding-names
222       * 740787 : videocrop: No longer apply the new crop if caps have not changed
223       * 736396 : isomp4: duplicate if else branches in atoms.c
224       * 610364 : udpsrc: allocates buffers with size a lot bigger than needed
225       * 739305 : souphttpsrc: log connection events at info level
226       * 744213 : spectrum: assertion 'len > 0' failed
227
228 ==== Download ====
229
230 You can find source releases of gst-plugins-good in the download
231 directory: http://gstreamer.freedesktop.org/src/gst-plugins-good/
232
233 The git repository and details how to clone it can be found at
234 http://cgit.freedesktop.org/gstreamer/gst-plugins-good/
235
236 ==== Homepage ====
237
238 The project's website is http://gstreamer.freedesktop.org/
239
240 ==== Support and Bugs ====
241
242 We use GNOME's bugzilla for bug reports and feature requests:
243 http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
244
245 Please submit patches via bugzilla as well.
246
247 For help and support, please subscribe to and send questions to the
248 gstreamer-devel mailing list (see below for details).
249
250 There is also a #gstreamer IRC channel on the Freenode IRC network.
251
252 ==== Developers ====
253
254 GStreamer is stored in Git, hosted at git.freedesktop.org, and can be cloned
255 from there (see link above).
256
257 Interested developers of the core library, plugins, and applications should
258 subscribe to the gstreamer-devel list.
259
260         
261 Contributors to this release
262     
263       * Aleix Conchillo Flaqué
264       * Alex O'Konski
265       * Ananda
266       * Andrei Sarakeev
267       * Antonio Ospite
268       * Anuj Jaiswal
269       * Arun Raghavan
270       * Aurélien Zanelli
271       * Benjamin Gaignard
272       * Brad Smith
273       * Branislav Katreniak
274       * David Sansome
275       * David Schleef
276       * Edward Hervey
277       * George Kiagiadakis
278       * Guillaume Desmottes
279       * Gwenole Beauchesne
280       * Göran Jönsson
281       * Hans de Goede
282       * Henning Heinold
283       * Hyunjun Ko
284       * Ilya Konstantinov
285       * Jan Alexander Steffens (heftig)
286       * Jan Schmidt
287       * Jason Litzinger
288       * Jesper Larsen
289       * Jimmy Ohn
290       * Jonas Holmberg
291       * Jose Antonio Santos Cadenas
292       * Josep Torra
293       * Julien Isorce
294       * Jurgen Slowack
295       * Krzysztof Kotlenga
296       * Linus Svensson
297       * Luis de Bethencourt
298       * Mark Nauwelaerts
299       * Matej Knopp
300       * Mathieu Duponchelle
301       * Matthew Waters
302       * Michael Smith
303       * Miguel París Díaz
304       * Nicola Murino
305       * Nicolas Dufresne
306       * Nicolas Huet
307       * Nirbheek Chauhan
308       * Ognyan Tonchev
309       * Olivier Crête
310       * Patrick Radizi
311       * Paul Hyunil
312       * Peter G. Baum
313       * Peter Korsgaard
314       * Peter Seiderer
315       * Philippe De Muyter
316       * Philippe Normand
317       * Piotr Drąg
318       * Ramiro Polla
319       * Ravi Kiran K N
320       * Reynaldo H. Verdejo Pinochet
321       * Sanjay NM
322       * Santiago Carot-Nemesio
323       * Sebastian Dröge
324       * Sebastian Rasmussen
325       * Simon Farnsworth
326       * Sjoerd Simons
327       * Srimanta Panda
328       * Stefan Sauer
329       * Thiago Santos
330       * Thibault Saunier
331       * Tim-Philipp Müller
332       * Tobias Modschiedler
333       * Tom Greenwood
334       * Vincent Penquerc'h
335       * Vineeth T M
336       * Vineeth TM
337       * Víctor Manuel Jáquez Leal
338       * Wim Taymans
339       * Youness Alaoui
340       * hark
341