tests: remove superflous ';' and reindent
[platform/upstream/gstreamer.git] / RELEASE
1
2 Release notes for GStreamer Base Plug-ins 0.10.31 "Dance Like It's 1982"
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 Base Plug-ins.
9
10
11 The 0.10.x series is a stable series targeted at end users.
12 It is not API or ABI compatible with the stable 0.8.x series.
13 It is, however, parallel installable with the 0.8.x series.
14
15
16
17 This module contains a set of reference plugins, base classes for other
18 plugins, and helper libraries.
19
20 This module is kept up-to-date together with the core developments.  Element
21 writers should look at the elements in this module as a reference for
22 their development.
23
24 This module contains elements for, among others:
25
26   device plugins: x(v)imagesink, alsa, v4lsrc, cdparanoia
27   containers: ogg
28   codecs: vorbis, theora
29   text: textoverlay, subparse
30   sources: audiotestsrc, videotestsrc, gnomevfssrc, giosrc, appsrc
31   network: tcp
32   typefind functions
33   audio processing: audioconvert, adder, audiorate, audioresample, volume
34   visualisation: libvisual
35   video processing: ffmpegcolorspace
36   aggregate elements: uridecodebin, playbin2, decodebin2, decodebin, playbin
37
38
39 Other modules containing plug-ins are:
40
41
42 gst-plugins-good
43 contains a set of well-supported plug-ins under our preferred license
44 gst-plugins-ugly
45 contains a set of well-supported plug-ins, but might pose problems for
46     distributors
47 gst-plugins-bad
48 contains a set of less supported plug-ins that haven't passed the
49     rigorous quality testing we expect
50
51
52
53   
54
55 Features of this release
56     
57       * adder: Make sure FLUSH_STOP is always sent after a flushing seek
58       * alsasrc, alsasink: add "card-name" property to get the card name in addition to the device name
59       * appsrc: don't override buffer caps if appsrc caps are NULL; fix element classification
60       * audioclock: add a function to invalidate the clock
61       * audioconvert: optimise remaining conversion code paths with Orc as well
62       * baseaudiosink,baseaudiosrc: post clock-provide and clock-lost messages when going from/to READY to/from PAUSED
63       * baseaudiosink: subtract the render_delay from our latency
64       * decodebin2: don't add non prerolled stream to topology
65       * ffmpegcolorspace: add support for A420 and fix support for 8 bit paletted RGB and IYU1
66       * gnomevfsrc: set GST_PARAM_MUTABLE_READY flag on the "handle" property
67       * libvisual: add latency query; only drop frames that are really too old
68       * multifdsink: gdp protocol is deprecated. People should use gdppay instead
69       * oggdemux: fix seeking with negative rate with skeleton; fix wrong flowreturn handling
70       * pbutils: AAC profile and level detection utility functions
71       * pbutils: H.264 and MPEG-4 profile and level extraction utility functions
72       * pbutils: new GstDiscoverer utility API for extracting metadata and tags
73       * playbin2, decodebin2: declare stable, deprecate the old playbin/decodebin
74       * playbin2, uridecodebin: add property to configure ring buffer size
75       * rtcpbuffer: add function to manipulation the data in RTCP feedback packets
76       * rtpbuffer: add functions to add RFC 5285 header extensions to GstBufferLists
77       * rtpbuffer: add function to add RTP header extensions with a two bytes header
78       * rtpbuffer: add function to append RFC 5285 one byte header extensions
79       * rtpbuffer: add function to parse RFC 5285 header extensions
80       * rtpbuffer: add function to read RFC 5285 header extensions from GstBufferLists
81       * rtpbuffer: add function to transform a GstBuffer into a GstBufferList
82       * rtsp: improve rtsp timeout calculation and handling
83       * sdp: add methods to convert between uri and message
84       * tags: try ISO-8859-1 as second fallback in case WINDOWS-1252 is not supported
85       * tags: add many more photography/capture tags
86       * tags: EXIF and XMP tag handling improvements
87       * textoverlay: add support for NV12, NV21 and AYUV; configurable text color and position
88       * theoradec: expose telemetry properties only if libtheora was compiled with --enable-telemetry
89       * theoraenc: add support for two-pass encoding; allow change of bitrate and quality on-the-fly
90       * tools: standalone gst-discoverer-0.10 tool for discovering media file properties
91       * typefinding: detect avc1 ftyp as video/quicktime
92       * typefinding: export 3gp profile in caps
93       * typefinding: detect enhanced AC-3
94       * typefinding: extend AAC typefinder to detect LOAS streams
95       * typefinding: fix ADTS caps stream-format detail
96       * typefinding: more reliable mpeg-ts typefinding
97       * uridecodebin: Only enable progressive downloading if the upstream duration in bytes is known
98       * video: add  gst_video_convert_frame*() utility functions
99       * videorate: fixate the pixel-aspect-ratio if necessary
100       * videorate: mark duplicated frames with the GAP flag
101       * videoscale: add support for adding black borders to keep the DAR if necessary ("add-borders" property)
102       * videoscale: Fix caps fixating if the height is fixed but the width isn't
103       * videoscale: only set the PAR if the caps already had a PAR
104       * videoscale: refactor using more Orc code
105       * videotestsrc: new patterns: solid-color, ball, bar and smpte100
106       * videotestsrc: add "foreground-color" and "background-color" properties, deprecate "colorspec" property
107       * videotestsrc: add support for UYVP format, fix NV21 rendering
108       * volume: use Orc to optimise many code paths
109       * vorbisdec: decode pending buffers upon EOS when doing reverse playback
110       * xoverlay: add set_window_handle() with guintptr argument, deprecate set_xwindow_id() which doesn't work on some platforms
111       * xoverlay: allow render rectangle coordinates to be negative
112
113 Bugs fixed in this release
114      
115       * 628028 : [uridecodebin] Don't enable progressive downloading for live streams
116       * 623846 : typefinding: add support for " enhanced ac3 " (eac3)
117       * 602437 : [playbin2] [gapless] Completely broken when switching between files with audio/video only
118       * 612264 : Notification needed when the first buffer is pushed by the basertppayloader
119       * 615471 : [videoscale] Interlaced handling makes output worse than no interlaced handling at all
120       * 616392 : videotestsrc colorspec=0/1 does not affect color-matrix in caps
121       * 617314 : pbutils: Add codec-specific utility functions for AAC, H.264, MPEG-4 video
122       * 617506 : [videoscale] Add support for adding black borders if necessary to keep the DAR
123       * 620291 : typefindfunctions: Export 3gp profile in caps
124       * 623663 : [typefinding] mpeg-ts file detected as audio/mpeg
125       * 623807 : [audioclock] Add gst_audio_clock_new_full() with GDestroyNotify for the user_data
126       * 623837 : typefind: only associate .webm with WebM
127       * 623918 : [typefind] Extend AAC typefinder to detect LOAS stream
128       * 624598 : [adder] crash in orc_sse_set_mxcsr()
129       * 624656 : [videoscale] UYVY scaling broken, introduces green lines
130       * 624919 : [videotestsrc] add solid color pattern
131       * 624920 : [textoverlay] configurable text color and position
132       * 624949 : [playbin2] declare playbin2 stable
133       * 625001 : [examples] Don't use GdkDraw/GdkGC
134       * 625118 : [playbin2] Race condition with EOS events in gapless mode
135       * 625944 : [pbutils] GstDiscoverer - API to discover metadata and stream information
136       * 626125 : [alsa] Conditional jump or move depends on uninitialised value(s)
137       * 626570 : [tag] Add resolution tags
138       * 626581 : [playbin2] regression: occasional deadlocks in streamsynchronizer
139       * 626621 : [playbin2] streamsynchronizer regressions
140       * 626629 : [ffmpegcolorspace] doesn't handle palettes any longer
141       * 626718 : playback: Delay usage of GstFactoryList
142       * 627203 : [alsa] alsasrc and alsasink should expose card name via property
143       * 627297 : [regression] build-failure
144       * 627565 : [xoverlay][win64] gulong can't hold a HANDLE
145       * 627768 : add NV12 support to textoverlay
146       * 627780 : GstClockOverlay re-renders string even if it hasn't changed, resulting in very high CPU usage.
147       * 627924 : riff: add support for 2vuy
148       * 628009 : [volume] Float processing with orc broken
149       * 628400 : [videorate] does not generate buffers to fill the duration of the last frame
150       * 628500 : videotestsrc: add moving color bars pattern
151       * 628747 : gst-plugins-base: unable to build because of compiler warning in libggsttag
152       * 629157 : Move video frame conversion from playback plugin to libgstvideo
153       * 629672 : gnomevfsrsrc: " handle " property should also have the GST_PARAM_MUTABLE_READY flag
154       * 629848 : build problem with current gtk+: implicit declaration of function 'gdk_draw_rectangle', GtkStyle' has no member named 'black_gc'
155       * 630303 : theoraenc: Make the bitrate/quality dynamically modifiable
156       * 630353 : [appsrc] Avoid losing buffers' caps
157       * 630440 : ringbuffer: use g_once for type-init
158       * 630443 : baseaudiosink: Add getter and setter for drift tolerance
159       * 630471 : [tag] ligatures " Œ " and " œ " are not supported in freeform strings
160       * 630496 : seek example: add new #define to set seek bar graininess
161       * 630802 : videotestsrc.c doesn't compile in Visual Studio 2008
162       * 631128 : Add methods to manipulate RFC 5285 header extensions
163       * 631312 : [streamsynchronizer] Advancing segments too much
164       * 631633 : [oggdemux] fix seeking with negative rate with skeleton
165       * 631703 : [oggdemux] sintel ogv delay when playing
166       * 631756 : Fix build with glib 2.21.3
167       * 631773 : [tags] Add new exif tags: sharpness, metering mode, file/capturing source
168       * 631774 : [xvimagesink] sets non-simple caps on pad_alloced buffer
169       * 632167 : [oggdemux] doesn't parse/push all headers in pull mode
170       * 632653 : [seek] Don't use deprecated combo box API
171       * 632656 : [uridecodebin] internal decodebin2 might fail to reach PLAYING in streaming case
172       * 632789 : [PATCH] tests/icles/: adapted test-colorkey.c and test-xoverlay.c to deprecation of gtk_widget_hide_all
173       * 632809 : [regression] build failure in 0.10.30.2 in tools/
174       * 632988 : [discoverer] gst_caps_ref() critical for substreams of unknown streams
175       * 633023 : [discoverer] Add versionized gst-discoverer tool
176       * 633203 : Regression: streamsynchroniser + disabled deinterlacing = no DVD menu highlights/subtitles
177       * 633311 : discoverer: use specific types in getters, rename some boolean getters
178       * 633336 : [discoverer] Move documentation into the correct section
179       * 633455 : [rtsp] don't let the rtsp connection timeout
180       * 634014 : GTK+3 is a moving target, lets not compile against it by default.
181       * 634584 : decodebin2 docs should mention that " new-decoded-pad " signal may be emitted after " no-more-pads " 
182       * 635067 : [*decodebin*] pad template leaked
183       * 635392 : Missing information on exported packages from GIRs
184       * 621349 : [theoraenc] Implement two-pass encoding
185       * 628488 : [theoradec] add properties to enable telemetry overlay
186       * 629746 : Enumerations have incorrect names of enum values (GEnumValue.value_name)
187       * 626869 : The RTP depayloader is sometimes sending partial frames down the pipeline without the DISCONT bit set
188
189 API changed in this release
190      
191 - API additions:
192     
193       * gst_audio_clock_invalidate()
194       * gst_audio_clock_new_full()
195       * gst_base_audio_sink_get_drift_tolerance()
196       * gst_base_audio_sink_set_drift_tolerance()
197       * gst_x_overlay_got_window_handle()
198       * gst_x_overlay_set_window_handle()
199       * GstXOverlay::set_window_handle()
200       * gst_codec_utils_aac_caps_set_level_and_profile()
201       * gst_codec_utils_aac_get_level()
202       * gst_codec_utils_aac_get_profile()
203       * gst_codec_utils_aac_get_sample_rate_from_index()
204       * gst_codec_utils_h264_caps_set_level_and_profile()
205       * gst_codec_utils_h264_get_level()
206       * gst_codec_utils_h264_get_profile()
207       * gst_codec_utils_mpeg4video_caps_set_level_and_profile()
208       * gst_codec_utils_mpeg4video_get_level()
209       * gst_codec_utils_mpeg4video_get_profile()
210       * gst_discoverer_audio_info_get_bitrate()
211       * gst_discoverer_audio_info_get_channels()
212       * gst_discoverer_audio_info_get_depth()
213       * gst_discoverer_audio_info_get_max_bitrate()
214       * gst_discoverer_audio_info_get_sample_rate()
215       * gst_discoverer_audio_info_get_type()
216       * gst_discoverer_container_info_get_streams()
217       * gst_discoverer_container_info_get_type()
218       * gst_discoverer_discover_uri()
219       * gst_discoverer_discover_uri_async()
220       * gst_discoverer_get_type()
221       * gst_discoverer_info_copy()
222       * gst_discoverer_info_get_audio_streams()
223       * gst_discoverer_info_get_container_streams()
224       * gst_discoverer_info_get_duration()
225       * gst_discoverer_info_get_misc()
226       * gst_discoverer_info_get_result()
227       * gst_discoverer_info_get_stream_info()
228       * gst_discoverer_info_get_stream_list()
229       * gst_discoverer_info_get_streams()
230       * gst_discoverer_info_get_tags()
231       * gst_discoverer_info_get_type()
232       * gst_discoverer_info_get_uri()
233       * gst_discoverer_info_get_video_streams()
234       * gst_discoverer_new()
235       * gst_discoverer_result_get_type()
236       * gst_discoverer_start()
237       * gst_discoverer_stop()
238       * gst_discoverer_stream_info_get_caps()
239       * gst_discoverer_stream_info_get_misc()
240       * gst_discoverer_stream_info_get_next()
241       * gst_discoverer_stream_info_get_previous()
242       * gst_discoverer_stream_info_get_stream_type_nick()
243       * gst_discoverer_stream_info_get_tags()
244       * gst_discoverer_stream_info_get_type()
245       * gst_discoverer_stream_info_list_free()
246       * gst_discoverer_video_info_get_bitrate()
247       * gst_discoverer_video_info_get_depth()
248       * gst_discoverer_video_info_get_framerate_denom()
249       * gst_discoverer_video_info_get_framerate_num()
250       * gst_discoverer_video_info_get_height()
251       * gst_discoverer_video_info_get_max_bitrate()
252       * gst_discoverer_video_info_get_par_denom()
253       * gst_discoverer_video_info_get_par_num()
254       * gst_discoverer_video_info_get_type()
255       * gst_discoverer_video_info_get_width()
256       * gst_discoverer_video_info_is_image()
257       * gst_discoverer_video_info_is_interlaced()
258       * GST_PLUGINS_BASE_VERSION_MAJOR
259       * GST_PLUGINS_BASE_VERSION_MINOR
260       * GST_PLUGINS_BASE_VERSION_MICRO
261       * GST_PLUGINS_BASE_VERSION_NANO
262       * GST_CHECK_PLUGINS_BASE_VERSION
263       * gst_plugins_base_version()
264       * gst_plugins_base_version_string()
265       * gst_rtcp_packet_fb_get_fci()
266       * gst_rtcp_packet_fb_get_fci_length()
267       * gst_rtcp_packet_fb_set_fci_length()
268       * gst_rtp_buffer_add_extension_onebyte_header()
269       * gst_rtp_buffer_add_extension_twobytes_header()
270       * gst_rtp_buffer_get_extension_onebyte_header()
271       * gst_rtp_buffer_get_extension_twobytes_header()
272       * gst_rtp_buffer_list_add_extension_onebyte_header()
273       * gst_rtp_buffer_list_add_extension_twobytes_header()
274       * gst_rtp_buffer_list_from_buffer()
275       * gst_rtp_buffer_list_get_extension_onebyte_header()
276       * gst_rtp_buffer_list_get_extension_twobytes_header()
277       * gst_sdp_message_as_uri()
278       * gst_sdp_message_parse_uri()
279       * GST_TAG_CAPTURING_SOURCE
280       * GST_TAG_CAPTURING_METERING_MODE
281       * GST_TAG_CAPTURING_SHARPNESS
282       * GST_TAG_IMAGE_HORIZONTAL_PPI
283       * GST_TAG_IMAGE_VERTICAL_PPI
284       * GST_TAG_CAPTURING_FLASH_FIRED
285       * GST_TAG_CAPTURING_FLASH_MODE
286       * GST_TAG_CAPTURING_EXPOSURE_PROGRAM
287       * GST_TAG_CAPTURING_EXPOSURE_MODE
288       * GST_TAG_CAPTURING_SCENE_CAPTURE_TYPE
289       * GST_TAG_CAPTURING_GAIN_ADJUSTMENT
290       * GST_TAG_CAPTURING_WHITE_BALANCE
291       * GST_TAG_CAPTURING_CONTRAST
292       * GST_TAG_CAPTURING_SATURATION
293       * GST_TAG_CAPTURING_SHUTTER_SPEED
294       * GST_TAG_CAPTURING_FOCAL_RATIO
295       * GST_TAG_CAPTURING_FOCAL_LENGTH
296       * GST_TAG_CAPTURING_DIGITAL_ZOOM_RATIO
297       * GST_TAG_CAPTURING_ISO_SPEED
298       * GST_VIDEO_FORMAT_UYVP
299       * GST_VIDEO_FORMAT_A420
300       * gst_video_convert_frame()
301       * gst_video_convert_frame_async()
302       * GstTextOverlay:xpos
303       * GstTextOverlay:ypos
304       * GstTextOverlay:color
305       * GstVideoTestSrc:solid-color
306       * GstVideoTestSrc::foreground-color
307       * GstVideoTestSrc::background-color
308
309 - API deprecations:
310     
311       * gst_x_overlay_set_xwindow_id()
312       * gst_x_overlay_got_xwindow_id()
313       * GstXOverlay::set_xwindow_id()
314
315 Download
316
317 You can find source releases of gst-plugins-base in the download directory:
318 http://gstreamer.freedesktop.org/src/gst-plugins-base/
319
320 GStreamer Homepage
321
322 More details can be found on the project's website:
323 http://gstreamer.freedesktop.org/
324
325 Support and Bugs
326
327 We use GNOME's bugzilla for bug reports and feature requests:
328 http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
329
330 Developers
331
332 GStreamer is stored in Git, hosted at git.freedesktop.org, and can be cloned from there.
333 Interested developers of the core library, plug-ins, and applications should
334 subscribe to the gstreamer-devel list. If there is sufficient interest we
335 will create more lists as necessary.
336
337         
338 Applications
339   
340 Contributors to this release
341     
342       * Alessandro Decina
343       * Alexey Fisher
344       * American Dynamics
345       * Andrzej K. Haczewski
346       * Arun Raghavan
347       * Chris Shoemaker
348       * David Schleef
349       * Edward Hervey
350       * Evan Nemerson
351       * Guillaume Emont
352       * Harri Mähönen
353       * Havard Graff
354       * Jan Schmidt
355       * Leo Singer
356       * Mark Nauwelaerts
357       * Matthias Clasen
358       * Olivier Crête
359       * Parthasarathi Susarla
360       * Philip Jägenstedt
361       * Philippe Normand
362       * René Stadler
363       * Rob Clark
364       * Robert Swain
365       * Sebastian Dröge
366       * Sreerenj Balachandran
367       * Stefan Kost
368       * Thiago Santos
369       * Thijs Vermeir
370       * Tim-Philipp Müller
371       * Tristan Matthews
372       * Vincent Penquerc'h
373       * Vladimir
374       * Wim Taymans
375       * Zaheer Abbas Merali
376