Release 0.10.31
[glsdk/gstreamer0-10.git] / RELEASE
2 Release notes for GStreamer 0.10.31 "Safety Pins"
3         
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.
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.
16 The 0.10.x series has been reworked for threadsafety.  It also features
17 various feature additions and enhancements.
20 This module, gstreamer, only contains core functionality.
21 For actual media playback, you will need other modules.
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
36   
38 Features of this release
39     
40       * bin: add "message-forward" property to force forwarding of messages that would usually be filtered such as ASYNC_DONE or EOS
41       * bin: improve tracking of source elements for more efficient event dispatch
42       * bufferlist: add function to add a list of buffers
43       * clock: fix racy shutdown clock id leak
44       * element: add support for arbitrary element class / factory details
45       * element: link_many should activate pads if needed
46       * gst: add math-compat.h header
47       * datetime: add GstDateTime API
48       * elementfactory: add utility functions to filter features by type
49       * plugin: load the gst-python plugin loader with G_MODULE_BIND_LAZY
50       * query: add buffering ranges API to retrieve informations about the areas of the stream currently buffered
51       * value: add int64 range type
52       * info: write debugging output to file if GST_DEBUG_FILE environment variable is set
53       * pad: use more efficient g_object_notify_by_pspec() for caps notifies if compiling against new-enough GLib
54       * pipeline: If the currently used clock gets lost update it the next time when going from PAUSED to playing
55       * plugin: add release datetime field to GstPluginDesc and set it if GST_PACKAGE_RELEASE_DATETIME is defined
56       * utils: speed up pad linking utility functions by not trying pads that will never work
57       * adapter: add function to get a list of buffers; support 0-sized buffers
58       * adapter: optimize gst_adapter_take() and gst_adapter_peek() a little
59       * basesink: only answer the SEGMENT query in pull mode
60       * basesrc: return values in stream time for the POSITION query
61       * basetransform: allow the subclass to add new fields to caps when getting new caps from downstream
62       * basetransform: avoid useless memcpy
63       * basetransform: upstream caps-renegotiation fixes
64       * bitreader: add inlined and unchecked versions of the most important functions
65       * bytewriter: add inline and unchecked variants of all important functions
66       * bytewriter: fix possible infinite loop caused by an overflow
67       * queue: add "silent" property to suppress signal emission (for better performance)
68       * queue: avoid unnecessary g_cond_signal() (for better performance)
69       * queue: push newsegment event when linking in PLAYING
70       * queue2: extend ring buffer to support RAM mode
71       * queue2: in download mode, prevent range corruption due to race
72       * queue2: don't send seeks beyond the end of the file upstream in pull mode (fixes apple trailers and youtube/html5 playback in webkit)
73       * multiqueue: flush the data queue if downstream return WRONG_STATE too
74       * gst-inspect: print GST_PARAM_MUTABLE_* property flags
76 Bugs fixed in this release
77      
78       * 396774 : Make GstElementDetails extensible
79       * 482147 : [queue] Issue with current time level if source task is not started
80       * 579127 : gst-launch: disable CLOCK_LOST message handling
81       * 594504 : Need a GType of " Date AND Time AND Timezone " 
82       * 600004 : underrun signal emits when i tested queue overrun test case from file /gstreamerXXXX/tests/check/element/queue.c
83       * 610366 : [gstcollectpads][doc] Add a reminder for 'data' doc
84       * 611918 : leaky queue might not push newsegment event
85       * 618919 : Registry/Plugin Loading Memory Leak
86       * 619522 : basetransform fix for upstream caps-renegotiation
87       * 621299 : make simple queues faster
88       * 621332 : BaseTransform should disable proxy alloc if downstream changes caps
89       * 622740 : GstPad: Do not call gst_pad_accept_caps() when caps change
90       * 623040 : Add release_datetime field to GstPluginDesc
91       * 623121 : [queue2] downloaded areas of the media are not exposed
92       * 623491 : make *_get_type() thread safe
93       * 623541 : [basetransform] Implement POSITION query
94       * 623622 : [basesink/basesrc] Should return values in stream time for POSITION query
95       * 623806 : [pipeline] Doesn't update the clock if the currently used one gets lost and the start time did not change
96       * 623875 : gstregistrybinary.c compatibility with glib > = 2.25.0
97       * 624203 : gstutils: Make gst_pad_proxy_getcaps() return empty caps if it's what the other side has
98       * 625239 : FTBFS: ./gstreamer-decl.txt:9461: warning: GstTagList has multiple definitions.
99       * 625295 : [info] regression: doesn't flush output stream after every debug print any longer
100       * 625368 : gstdatetime.c doesn't compile in VS 2008
101       * 625862 : [docs] unused symbol GST_CAT_LEVEL_LOG_valist breaks the build
102       * 626027 : [tag] Add GST_TAG_APPLICATION_NAME
103       * 626181 : GstElementFactory: add listing/filtering API
104       * 626651 : [tag] Photography/capture settings tags
105       * 626784 : element: link_many might assert elements are in paused or playing
106       * 627438 : gst: Add a gst_is_initialized() API
107       * 627826 : GstInt64Range type
108       * 627910 : Warnings emitted when -Wcast-qual used
109       * 627959 : [queue2] on-disk buffering failing for AVI container
110       * 628014 : Deprecate GST_FLOW_IS_FATAL/GST_FLOW_IS_SUCCESS
111       * 628174 : New gstvalue checks cause trouble in thoggen
112       * 628176 : [basetransform] Problems with buffer handling in inplace mode
113       * 628408 : Use GDateTime that has been released
114       * 629241 : Build broken with introspection using gobject-introspection from master
115       * 629410 : GstBaseTransform: position query refers to sink pad, not source pad
116       * 629494 : Latest gst-launch.c doesn't build in Visual Studio 2008
117       * 629553 : GstAdapter: timestamp not updated when empty buffer is pushed
118       * 629831 : [API] add gst_structure_take_value() and gst_structure_id_take_value()
119       * 629946 : Enumerations have incorrect names of enum values (GEnumValue.value_name)
120       * 630257 : GST_DEBUG_DUMP_DOT_DIR not working anymore
121       * 630436 : basesink: renderdelay needs to be subtracted in adjust_time()
122       * 630437 : basetransform: Make a WARNING into a DEBUG statement
123       * 630439 : clock: fix racy shutdown clock id leak
124       * 631755 : Fix build with glib 2.21.3
125       * 631853 : [queue2] deadlock when using temp-location and dispatch-properties
126       * 632236 : [gst-inspect] unhelpful uri handler output
127       * 632433 : [basesink] hangs/drops going to PLAYING following flushing step in PAUSED
128       * 632977 : [queue2] qtdemux causes soup to request seeks past the end of the range
129       * 633147 : Simple reverse negotiation pipeline is broken.
130       * 633886 : Visual Studio emits warnings about double defined _USE_MATH_DEFINES
131       * 635031 : [datetime] Fix unix epoch handling
132       * 635389 : Include information on exported packages in GIRs
133       * 635869 : GST_BOILERPLATE_FULL causes warnings in user C++ code
134       * 633176 : recent multiqueue changes break DVD playback
136 API changed in this release
137      
138 - API additions:
139     
140       * gst_is_initialized
141       * gst_buffer_list_iterator_add_list
142       * GstBin:message-forward
143       * GST_TYPE_DATE_TIME
144       * gst_date_time_get_day
145       * gst_date_time_get_hour
146       * gst_date_time_get_microsecond
147       * gst_date_time_get_minute
148       * gst_date_time_get_month
149       * gst_date_time_get_second
150       * gst_date_time_get_time_zone_offset
151       * gst_date_time_get_type
152       * gst_date_time_get_year
153       * gst_date_time_new
154       * gst_date_time_new_from_unix_epoch_local_time
155       * gst_date_time_new_from_unix_epoch_utc
156       * gst_date_time_new_local_time
157       * gst_date_time_new_now_local_time
158       * gst_date_time_new_now_utc
159       * gst_date_time_ref
160       * gst_date_time_unref
161       * gst_tag_list_get_date_time
162       * gst_tag_list_get_date_time_index
163       * GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR
164       * GST_TAG_APPLICATION_DATA
165       * GST_TAG_APPLICATION_NAME
166       * GST_TAG_DATE_TIME
167       * GST_ELEMENT_IS_SOURCE
168       * gst_element_class_set_documentation_uri
169       * gst_element_class_set_icon_name
170       * gst_element_factory_get_documentation_uri
171       * gst_element_factory_get_icon_name
172       * gst_element_factory_list_filter
173       * gst_element_factory_list_get_elements
174       * gst_element_factory_list_is_type
175       * GstElementFactoryListType
176       * GST_ELEMENT_FACTORY_TYPE_ANY
177       * GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS
178       * GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER
179       * GST_ELEMENT_FACTORY_TYPE_DECODABLE
180       * GST_ELEMENT_FACTORY_TYPE_DECODER
181       * GST_ELEMENT_FACTORY_TYPE_DEMUXER
182       * GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER
183       * GST_ELEMENT_FACTORY_TYPE_ENCODER
184       * GST_ELEMENT_FACTORY_TYPE_FORMATTER
185       * GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS
186       * GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO
187       * GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE
188       * GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA
189       * GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE
190       * GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO
191       * GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY
192       * GST_ELEMENT_FACTORY_TYPE_MUXER
193       * GST_ELEMENT_FACTORY_TYPE_PARSER
194       * GST_ELEMENT_FACTORY_TYPE_PAYLOADER
195       * GST_ELEMENT_FACTORY_TYPE_SINK
196       * GST_ELEMENT_FACTORY_TYPE_SRC
197       * GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER
198       * GST_ELEMENT_FACTORY_KLASS_DECODER
199       * GST_ELEMENT_FACTORY_KLASS_ENCODER
200       * GST_ELEMENT_FACTORY_KLASS_SINK
201       * GST_ELEMENT_FACTORY_KLASS_SRC
202       * GST_ELEMENT_FACTORY_KLASS_MUXER
203       * GST_ELEMENT_FACTORY_KLASS_DEMUXER
204       * GST_ELEMENT_FACTORY_KLASS_PARSER
205       * GST_ELEMENT_FACTORY_KLASS_PAYLOADER
206       * GST_ELEMENT_FACTORY_KLASS_DEPAYLOADER
207       * GST_ELEMENT_FACTORY_KLASS_FORMATTER
208       * GST_ELEMENT_FACTORY_KLASS_MEDIA_VIDEO
209       * GST_ELEMENT_FACTORY_KLASS_MEDIA_AUDIO
210       * GST_ELEMENT_FACTORY_KLASS_MEDIA_IMAGE
211       * GST_ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE
212       * GST_ELEMENT_FACTORY_KLASS_MEDIA_METADATA
213       * gst_plugin_feature_list_debug
214       * gst_plugin_feature_rank_compare_func
215       * gst_query_add_buffering_range
216       * gst_query_get_n_buffering_ranges
217       * gst_query_parse_nth_buffering_range
218       * gst_structure_get_date_time
219       * gst_structure_id_take_value
220       * gst_structure_take_value
221       * GST_TYPE_INT64_RANGE
222       * gst_int64_range_get_type
223       * gst_util_fraction_compare
224       * gst_value_get_int64_range_max
225       * gst_value_get_int64_range_min
226       * gst_value_set_int64_range
227       * GST_VALUE_HOLDS_DATE_TIME
228       * gst_adapter_take_list
229       * gst_bit_reader_skip_unchecked
230       * gst_bit_reader_skip_to_byte_unchecked
231       * gst_bit_reader_get_bits_uint16_unchecked
232       * gst_bit_reader_get_bits_uint32_unchecked
233       * gst_bit_reader_get_bits_uint64_unchecked
234       * gst_bit_reader_get_bits_uint8_unchecked
235       * gst_bit_reader_peek_bits_uint16_unchecked
236       * gst_bit_reader_peek_bits_uint32_unchecked
237       * gst_bit_reader_peek_bits_uint64_unchecked
238       * gst_bit_reader_peek_bits_uint8_unchecked
239       * gst_byte_writer_put_int8_unchecked
240       * gst_byte_writer_put_int16_be_unchecked
241       * gst_byte_writer_put_int16_le_unchecked
242       * gst_byte_writer_put_int24_be_unchecked
243       * gst_byte_writer_put_int24_le_unchecked
244       * gst_byte_writer_put_int32_be_unchecked
245       * gst_byte_writer_put_int32_le_unchecked
246       * gst_byte_writer_put_int64_be_unchecked
247       * gst_byte_writer_put_int64_le_unchecked
248       * gst_byte_writer_put_uint8_unchecked
249       * gst_byte_writer_put_uint16_be_unchecked
250       * gst_byte_writer_put_uint16_le_unchecked
251       * gst_byte_writer_put_uint24_be_unchecked
252       * gst_byte_writer_put_uint24_le_unchecked
253       * gst_byte_writer_put_uint32_be_unchecked
254       * gst_byte_writer_put_uint32_le_unchecked
255       * gst_byte_writer_put_uint64_be_unchecked
256       * gst_byte_writer_put_uint64_le_unchecked
257       * gst_byte_writer_put_float32_be_unchecked
258       * gst_byte_writer_put_float32_le_unchecked
259       * gst_byte_writer_put_float64_be_unchecked
260       * gst_byte_writer_put_float64_le_unchecked
261       * gst_byte_writer_put_data_unchecked
262       * gst_byte_writer_fill_unchecked
263 - API deprecations:
264     
265       * GST_FLOW_IS_FATAL
266       * GST_FLOW_IS_SUCCESS
268 Download
270 You can find source releases of gstreamer in the download directory:
271 http://gstreamer.freedesktop.org/src/gstreamer/
273 GStreamer Homepage
275 More details can be found on the project's website:
276 http://gstreamer.freedesktop.org/
278 Support and Bugs
280 We use GNOME's bugzilla for bug reports and feature requests:
281 http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
283 Developers
285 GStreamer is stored in Git, hosted at git.freedesktop.org, and can be cloned from there.
286 Interested developers of the core library, plug-ins, and applications should
287 subscribe to the gstreamer-devel list. If there is sufficient interest we
288 will create more lists as necessary.
290         
291 Applications
293 Applications ported to GStreamer 0.10 include Totem, RhythmBox, Sound-Juicer,
294 Gnome Media, Flumotion, Amarok, Jamboree, Pitivi, Istanbul, AnnoAmp, Elisa, and others.
295 Let us know if you want to be added to this list.
297   
298 Contributors to this release
299     
300       * Alessandro Decina
301       * Arun Raghavan
302       * Colin Walters
303       * David Hoyt
304       * David Schleef
305       * Edward Hervey
306       * Evan Nemerson
307       * Havard Graff
308       * Jan Schmidt
309       * Jeffrey S. Smith
310       * Jonas Holmberg
311       * Jonathan Matthew
312       * Mark Nauwelaerts
313       * Michael Bunk
314       * Ognyan Tonchev
315       * Olivier Crête
316       * Philippe Normand
317       * Rob Clark
318       * Robert Swain
319       * Sebastian Dröge
320       * Shixin Zeng
321       * Stefan Kost
322       * Thiago Santos
323       * Thijs Vermeir
324       * Tim-Philipp Müller
325       * Trond Andersen
326       * Vincent Penquerc'h
327       * Vladimir Eremeev
328       * Wim Taymans
329       * reynaldo
330