Release 0.10.26
[platform/upstream/gstreamer.git] / RELEASE
1
2 Release notes for GStreamer 0.10.26 "Think Twice"
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 core of the GStreamer streaming media framework.
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 The 0.10.x series has been reworked for threadsafety.  It also features
17 various feature additions and enhancements.
18
19
20 This module, gstreamer, only contains core functionality.
21 For actual media playback, you will need other modules.
22
23 gst-plugins-base
24 contains a basic set of well-supported plug-ins
25 gst-plugins-good
26 contains a set of well-supported plug-ins under our preferred license
27 gst-plugins-ugly
28 contains a set of well-supported plug-ins, but might pose problems for
29     distributors
30 gst-plugins-bad
31 contains a set of less supported plug-ins that haven't passed the
32     rigorous quality testing we expect
33
34
35
36   
37
38 Features of this release
39     
40       * Threadsafe design and API
41       * registry: do plugin scanning (on *nix) using an external helper binary
42       * lots of performance improvements all over the place (ghostpads,
43         multiqueue, pad construction, superfluous type checks, registry loading)
44       * add GstByteWriter, a simple generic byte writer
45       * filesink: Use _wfopen on win32 to open files with non-ascii filenames correctly.
46       * queue2: add option to remove the temp-file (enabled by default)
47       * it is now allowed to use gst_caps_set_simple() on non-simple caps
48       * queue2: move from gst-plugins-base into the coreelements plugin in core
49         (this means you may need to remove libgstqueue2.so manually if you
50         installed from source and don't do make uninstall before upgrading, or
51         combine an older -base with a newer core)
52       * multiqueue: add support for buffering mode where we post BUFFERING
53         messages based on the level of the queues
54       * typefind: speed up typefinding a lot by first trying the typefinder for
55         the file's extension
56       * buffer: remove private/internal subbuffer subclass and keep track of
57         the parent buffer directly in the GstBuffer structure (this removes
58         quite a bit of special-casing and will allow for future improvements/
59         extensions that are harder to do if there's a separate subbuffer class.
60       * collectpads: add ability to install clipping functions
61       * new tags for TV/Radio shows/episodes, lyrics, composer sortname and
62         grouping
63       * miniobject: avoid race when recycling buffers
64       * basesrc: fix race in PLAYING->PAUSED->PLAYING
65
66 Bugs fixed in this release
67      
68       * 476514 : [multiqueue] Doesn't forward EOS event in all cases
69       * 590941 : API: add gst_pad_get_caps() variant that avoids unneeded caps copies
70       * 595602 : g_child_proxy_get_valist doesn't initialize GValue correctly
71       * 535069 : basesrc no longer support non-flushing seeks on itself
72       * 560442 : GNOME Goal: Remove deprecated GLib symbols
73       * 595511 : Annotations for gst_element_query_{position,duration}
74       * 595886 : gst_pad_fixate_caps() does not return fixed caps in case of multiple structures
75       * 595964 : [multiqueue] can hang pipeline during startup
76       * 596366 : proxy_getcaps reverses direction of getcaps
77       * 597407 : GstPipeline calculates base_time incorrectly when a new clock appears during PAUSED state
78       * 597550 : basesrc: sometimes no buffers produced after PLAYING - PAUSED - PLAYING
79       * 597690 : Improve caps setters API
80       * 598297 : make check fails when any --disable option which changes the API has been used
81       * 598526 : bytewriter: fails to compile with gcc 4.2.4 on Ubuntu Hardy 64 bits
82       * 598700 : scripts: Parallelise git-update.sh build script
83       * 598895 : [GstRegistry] Use hash table for feature lookups
84       * 598896 : [GstRegistry] Cache lists of ElementFactory and TypeFindFactory
85       * 599147 : typefind : Avoid having to re-sort the typefind factory list
86       * 599759 : [qtdemux] Add support for more tags
87       * 600313 : Visualisations stop updating after seek
88       * 600922 : gst-launch: wake up less often to check for Ctrl-C
89       * 601587 : MiniObject race condition
90       * 601668 : [gstregistry] gstregistry.c uses a variable from gst.c
91       * 601669 : [tests] tests/examples/manual depends on libgstcheck
92       * 602093 : libgstcheck fails to export some symbols when built under et_EE locale
93       * 602275 : [API] Add new sink-message event
94       * 602419 : [basesink] Regression with position reporting
95       * 603059 : Totem crashes when DVD is encrypted but libdvdcss isn't available
96       * 603787 : [registry] Doesn't use GMappedFile
97       * 604091 : tee: cleanup requestpads in dispose
98       * 604093 : gst-inspect/launch: move gst_tools_print_version to avoid glib warning
99       * 605251 : tee causes segfault if there is no source pad
100       * 605930 : [shave] common/shave not existing yet when configure checks need it
101       * 606435 : gsttee not threadsafe
102       * 607283 : segfaults and/or miniobject warnings with GLib > = 2.23.2
103       * 607317 : [PATCH] fix unaligned detection for x86-64 when cross compiling
104       * 607431 : update common modules before freeze
105       * 607481 : Should define G_THREADS_MANDATORY everywhere
106       * 607739 : [queue2] Temporary file is removed although code claims the opposite
107       * 607842 : Audio comes out with short breaks after resume pipeline (paused- > playing)
108       * 608136 : multiqueue handles UNEXPECTED flowreturn wrongly
109       * 608398 : Initializing the glib thread system seems not to work
110       * 608442 : [filesrc] typo in warning message
111       * 608726 : bytewriter: mistake in .h/.c function naming
112       * 609166 : Buffer list docs ascii art
113       * 590669 : [API] need GstByteWriter or GstChunkWriter
114       * 601698 : Rename new plugin-scanner helper executable before release
115       * 604565 : [gstcheck] Update check to 0.9.8
116       * 596877 : New internal libcheck breaks the Solaris build
117
118 API changed in this release
119      
120 - API additions:
121     
122 * GST_DEBUG_REGISTER_FUNCPTR()
123 * gst_base_src_new_seamless_segment()
124 * gst_event_new_sink_message()
125 * gst_event_parse_sink_message()
126 * gst_util_fraction_add()
127 * gst_util_fraction_multiply()
128 * gst_util_greatest_common_divisor()
129 * gst_util_double_to_fraction()
130 * gst_util_fraction_to_double()
131 * gst_registry_get_feature_list_cookie()
132 * gst_default_registry_get_feature_list_cookie()
133 * gst_pad_get_caps_reffed()
134 * gst_pad_peer_get_caps_reffed()
135 * gst_structure_id_has_field()
136 * gst_structure_id_has_field_typed()
137 * gst_plugin_feature_list_copy()
138 * gst_caps_set_value()
139 * gst_byte_writer_ensure_free_space()
140 * gst_byte_writer_free()
141 * gst_byte_writer_free_and_get_buffer()
142 * gst_byte_writer_free_and_get_data()
143 * gst_byte_writer_get_remaining()
144 * gst_byte_writer_init()
145 * gst_byte_writer_init_with_buffer()
146 * gst_byte_writer_init_with_data()
147 * gst_byte_writer_init_with_size()
148 * gst_byte_writer_new()
149 * gst_byte_writer_new_with_buffer()
150 * gst_byte_writer_new_with_data()
151 * gst_byte_writer_new_with_size()
152 * gst_byte_writer_put_data()
153 * gst_byte_writer_put_float32_be()
154 * gst_byte_writer_put_float32_le()
155 * gst_byte_writer_put_float64_be()
156 * gst_byte_writer_put_float64_le()
157 * gst_byte_writer_put_int16_be()
158 * gst_byte_writer_put_int16_le()
159 * gst_byte_writer_put_int24_be()
160 * gst_byte_writer_put_int24_le()
161 * gst_byte_writer_put_int32_be()
162 * gst_byte_writer_put_int32_le()
163 * gst_byte_writer_put_int64_be()
164 * gst_byte_writer_put_int64_le()
165 * gst_byte_writer_put_int8()
166 * gst_byte_writer_put_string_utf16()
167 * gst_byte_writer_put_string_utf32()
168 * gst_byte_writer_put_string_utf8()
169 * gst_byte_writer_put_uint16_be()
170 * gst_byte_writer_put_uint16_le()
171 * gst_byte_writer_put_uint24_be()
172 * gst_byte_writer_put_uint24_le()
173 * gst_byte_writer_put_uint32_be()
174 * gst_byte_writer_put_uint32_le()
175 * gst_byte_writer_put_uint64_be()
176 * gst_byte_writer_put_uint64_le()
177 * gst_byte_writer_put_uint8()
178 * gst_byte_writer_reset()
179 * gst_byte_writer_reset_and_get_buffer()
180 * gst_byte_writer_reset_and_get_data()
181 * gst_bit_reader_get_size()
182 * gst_byte_reader_get_size()
183 * gst_data_queue_new_full()
184 * gst_collect_pads_set_clip_function()
185 * gst_type_find_helper_get_range_ext()
186 - API deprecations:
187     
188 * gst_registry_xml_read_cache()
189 * gst_registry_xml_write_cache()
190
191 Download
192
193 You can find source releases of gstreamer in the download directory:
194 http://gstreamer.freedesktop.org/src/gstreamer/
195
196 GStreamer Homepage
197
198 More details can be found on the project's website:
199 http://gstreamer.freedesktop.org/
200
201 Support and Bugs
202
203 We use GNOME's bugzilla for bug reports and feature requests:
204 http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
205
206 Developers
207
208 GStreamer is stored in Git, hosted at git.freedesktop.org, and can be cloned from there.
209 Interested developers of the core library, plug-ins, and applications should
210 subscribe to the gstreamer-devel list. If there is sufficient interest we
211 will create more lists as necessary.
212
213         
214 Applications
215
216 Applications ported to GStreamer 0.10 include Totem, RhythmBox, Sound-Juicer,
217 Gnome Media, Flumotion, Amarok, Jamboree, Pitivi, Istanbul, AnnoAmp, Elisa, and others.
218 Let us know if you want to be added to this list.
219
220   
221 Contributors to this release
222     
223       * Andoni Morales Alastruey
224       * Bastien Nocera
225       * Benjamin Otte
226       * Christian Schaller
227       * David Schleef
228       * Edward Hervey
229       * Frederic Crozat
230       * Havard Graff
231       * Håvard Graff
232       * Jan Schmidt
233       * Javier Jardón
234       * Johan Bilien
235       * LRN
236       * Mark Nauwelaerts
237       * Michael Smith
238       * Ole André Vadla Ravnås
239       * Olivier Crête
240       * Peter Kjellerstedt
241       * Peter van Hardenberg
242       * Priit Laes
243       * Rob Clark
244       * Robert Swain
245       * Sebastian Dröge
246       * Stefan Kost
247       * Thiago Santos
248       * Thiago Sousa Santos
249       * Thijs Vermeir
250       * Tim-Philipp Müller
251       * Tommi Myöhänen
252       * Wim Taymans
253       * Руслан Ижбулатов
254