Release 0.10.24
[platform/upstream/gstreamer.git] / NEWS
1 This is GStreamer 0.10.24 "It matters"
2
3 Changes since 0.10.23:
4     
5       * Fully support nested structures in caps
6       * Support frame-by-frame stepping in sinks
7       * Add support for buffer-lists to pass around groups of buffers
8       * Use TaskPools for managing worker threads
9       * New stream-status API for finer thread control
10       * Code optimisations
11       * Many other bug-fixes and enhancements
12
13 Bugs fixed since 0.10.23:
14      
15       * 580579 : crash in Volume Control: aucunes idées désolé.
16       * 527488 : [GstXML] can't load elements with request pads from XML
17       * 570233 : allow plugins caching data in the registry
18       * 584389 : don't recreate plugin feature and element factories on fi...
19       * 534208 : [API] add gst_structure_get()
20       * 545787 : [API] add gst_plugin_register_static_full() for bindings
21       * 554460 : thumbnailer crash in gst_fake_sink_event() on FLUSH_START...
22       * 559643 : Don't allow empty or NULL strings in taglists
23       * 560345 : gst_tag_list_get_string() may return NULL or empty string
24       * 560442 : GNOME Goal: Remove deprecated GLib symbols
25       * 572285 : Buffer Lists
26       * 577926 : Remove old xml registry
27       * 578908 : [fdsink] implement seeking on seekable fds
28       * 580177 : glibc 2.10 deprecates register_printf_function
29       * 580716 : race condition in gst_element_lost_state
30       * 581198 : [tags] Add gst_tag_setter_add_tag_value() and gst_tag_lis...
31       * 581281 : [GstURIHandler] Doesn't use get_type_full() at all
32       * 582010 : audiotestsrc is-live=1 ! pulsesink unreliable
33       * 582564 : [controller] Use ordered GSequence instead of GList in th...
34       * 582588 : [API] Add a way to get the pad corresponding to a taglist
35       * 582878 : [GstClock] ABI breakage in GIT on x86
36       * 583187 : [API] add gst_adapter_masked_scan_uint32() and gst_adapte...
37       * 583419 : Bad translatable string in gst-launch.c
38       * 583456 : framestep functionality
39       * 583554 : Slow down or lock if date time is changed to the past
40       * 584835 : MSVC compiler fails with 'static inline' function
41       * 584838 : basesrc: confusing QUERY_SEEKING handling
42       * 585039 : rtpool-test can't find pthreads
43       * 585075 : Compilation with MSVC fails for files including config.h ...
44       * 585137 : gst_xml_write_file() fails serialising GstStructure property
45       * 585592 : [API] add gst_byte_reader_masked_scan_uint32()
46       * 585733 : Wrong #include order in gstsegment.c
47       * 585748 : [API] add gst_tag_list_new_full() to create taglist with ...
48       * 586566 : Add GAP Flag support to gstcapsfilter
49       * 586568 : [bytereader] add misc. string functions and gst_byte_read...
50       * 587973 : use G_DIR_SEPARATOR_S instead of " /' " 
51       * 587976 : Fix for gst-inspect and gst-launch when option parsing is...
52       * 588744 : [check] Stream consistency checker utility
53       * 588745 : [basesrc] Serialize tags in the dataflow
54       * 589127 : gsttask leaks the pool
55       * 590056 : [collectpads] race resulting in double flush-stop being o...
56       * 590622 : [bytereader] buffer size checks subject to wrap-around ov...
57       * 579177 : GstInfo: maintain ABI compatibility
58       * 581321 : typefind element leaks force-caps property
59       * 584118 : [gstadapter][doc] Improve documentation of gst_adapter_ma...
60       * 585433 : [queue] Can lock down if min-threshold conflicts with max...
61       * 585569 : rtsp/rtp streaming fails when skipping explicit PAUSED st...
62       * 585834 : Support for GstBufferList in ghostpads
63       * 585960 : Support for GstBufferList in gstbasesink
64       * 587052 : [filesink.c] Support for files > 4GB on windows makes file...
65
66 API added since 0.10.23:
67      
68       * GST_DEBUG_CATEGORY_GET() macro
69       * gst_byte_reader_dup_data
70       * gst_byte_reader_dup_string
71       * gst_byte_reader_dup_string_utf8
72       * gst_byte_reader_dup_string_utf16
73       * gst_byte_reader_dup_string_utf32
74       * gst_byte_reader_skip_string
75       * gst_byte_reader_skip_string_utf8
76       * gst_byte_reader_skip_string_utf16
77       * gst_byte_reader_skip_string_utf32
78       * gst_byte_reader_peek_string
79       * gst_byte_reader_peek_string_utf8
80       * gst_byte_reader_get_string
81       * gst_byte_reader_get_string_utf8
82       * add gst_tag_list_new_full()
83       * add gst_tag_list_new_full_valist()
84       * add gst_byte_reader_masked_scan_uint32()
85       * add gst_plugin_get_cache_data, gst_plugin_set_cache_data
86       * gst_structure_get()
87       * gst_structure_id_get()
88       * gst_structure_get_valist()
89       * gst_structure_id_get_valist()
90       * GstSegment::gst_segment_set_running_time()
91       * Add GST_MESSAGE_SRC_NAME() macro
92       * GstSegment::gst_segment_to_position()
93       * GstEvent::gst_event_new_step()
94       * GstEvent::gst_event_parse_step()
95       * GstMessage::gst_message_new_step_done()
96       * GstMessage::gst_message_parse_step_done()
97       * gst_structure_id_new()
98       * Add gst_message_{new,parse}_tag_full() to get/set the source pad
99       * GstAdapter::gst_adapter_masked_scan_uint32()
100       * GstElement::gst_element_lost_state_full()
101       * GstAdapter::gst_adapter_prev_timestamp()
102       * gst_plugin_register_static_full()
103       * gst_tag_list_add_value()
104       * gst_tag_setter_add_tag_value()
105       * add GST_TAG_CONTAINER_FORMAT tag
106       * GstTask::gst_task_set_state()
107       * GstObject::gst_object_ref_sink()
108
109 Changes since 0.10.22:
110       * Support files > 4GB on Windows
111       * Controller interpolation fixes
112       * Add timer support to GstPoll and use it for clocking
113       * Attempt to typefind contents from the file extension if all else fails
114       * GStreamer revision control switched to Git
115       * Many other bug fixes and improvements
116
117 Bugs fixed since 0.10.22:
118      
119       * 579177 : GstInfo: maintain ABI compatibility
120       * 163577 : [RFC] Interlaced/progressive media support in GStreamer.
121       * 574160 : collectpads does not reliably eos when last pad is removed
122       * 575598 : hierarchical pipelines accumulate segment-done wrongly
123       * 575922 : disabling subsystems cause API break
124       * 576842 : loading a broken registry file can crash
125       * 555978 : [ladspa] no elements exposed/found on Cygwin
126       * 565607 : Broken macros in gsturi.h and gstinterface.h
127       * 566936 : [ghostpads] unlink function wrongly called on target
128       * 567692 : gstinfo.h header not compatible with C++
129       * 567725 : [qtdemux] stopping at a time sometimes shows a different ...
130       * 568289 : gst_pad_template_new() leaks caps it's supposed to take o...
131       * 568438 : gst_poll_wait calling read() on control socket
132       * 568481 : GStreamer linking failures.
133       * 568632 : __MSVCRT_VERSION__ not defined with mingw, causing " stora...
134       * 568678 : filesrc doesn't logs offsets
135       * 570910 : Removing the target of a ghostpad does not re-target the ...
136       * 571227 : Add home page tag
137       * 571559 : [API] add GST_PARAM_MUTABLE_PLAYING etc. to indicate vali...
138       * 572480 : unref and copy functions should not be macros
139       * 573623 : [API] Array binary search utility function
140       * 574024 : [GstAdapter] gst_adapter_push should not accept empty buf...
141       * 574211 : gst_poll_*_control always returns FALSE on Windows
142       * 574213 : [gstcheck] fix for libcheck > 0.9.6
143       * 574241 : gst_tag_list_add and gst_tag_list_add_values behave incon...
144       * 574484 : [patch] Make caps in DOT debug graphs more readable
145       * 574623 : [dot_file_with_ts] ':' not a valid character for a filename
146       * 574805 : [capsfilter] Doesn't reset the internal suggestion with A...
147       * 575695 : build fails on OpenSolaris due to incorrect header file i...
148       * 575814 : flag for EOS on gst-launch when exiting with ctrl-c
149       * 576381 : [basesink] QoS: emergency rendering not always done
150       * 576563 : pidgin crashes on exit in gst_plugin_ext_dep_free()
151       * 576582 : A patch to enable the use of 'name' in Enum parameters
152       * 577887 : Missing GST_DISABLE_GST_DEBUG in gstregistrybinary.c
153       * 577891 : add alloc-pad property on tee
154       * 578114 : API: add two new log levels: FIXME and MEMDUMP
155       * 578201 : _gst_plugin_fault_handler_is_setup undefined under HAVE_W...
156       * 579127 : gst-launch: disable CLOCK_LOST message handling
157       * 580121 : race condition in GStreamer state changes causes problems...
158       * 361155 : Add monotonic clock
159       * 517231 : threadsafe/colored windows logging
160       * 572591 : Another batch of " differs in signedness " warnings
161       * 573823 : pad block callback if it is re-blocked while the previous...
162       * 574163 : Fix gst_pad_activate_pull deactivation with unlinked element
163       * 575682 : Add gst_pad_is_compatible()
164       * 575988 : On Windows filesink can't write files longer than 2-4 GiB...
165
166 API additions since 0.10.22:
167     
168       * New FIXME and MEMDUMP debug levels
169       * gst_tag_list_get_buffer() and gst_tag_list_get_buffer_index()
170       * New tags: GST_TAG_SUBTITLE_CODEC, GST_TAG_HOMEPAGE
171       * gst_util_array_binary_search()
172       * gst_message_new_request_state(), gst_message_parse_request_state(), GST_MESSAGE_REQUEST_STATE
173       * GstPoll::gst_poll_new_timer()
174       * GstPoll::gst_poll_write_control()
175       * GstPoll::gst_poll_read_control()
176
177 Changes since 0.10.21:
178
179       * GstController improvements
180       * Extensions to the latency setting behaviours
181       * Ability for plugins to register dependencies to trigger re-scanning
182       * Optimisations in some common operations on caps and values and elsewhere
183       * Add sequence numbers to events so dependent events can be associated with
184         the event that caused them
185       * New macros for reading and writing float values
186       * Many improvements in the basesink base class
187       * Support non-default main contexts for GstBus watches
188       * Improvements in pull-mode scheduling of sinks
189       * Fixes for alignment issues on sparc
190       * Ghost pad fixes
191       * New bit-reader assistance API
192       * Many other bug fixes and improvements
193       
194 Bugs fixed since 0.10.21:
195
196       * 567002 : --gst-disable-registry-update also skips registry creation
197       * 350477 : [Registry] Provide a way for plugins to delegate the 'cha...
198       * 510354 : post GST_MESSAGE_STRUCTURE_CHANGE when linking and unlink...
199       * 526044 : Crash if there is more than one watcher for a GstBus
200       * 539108 : gst_ghost_pad_new() does more than call g_object_new()
201       * 544003 : [parse] Links to wrong pad if no padtemplate name is given
202       * 544293 : rtspsrc / gstpoll regression
203       * 545714 : GST_READ_UINT_* and GST_WRITE_UINT_* are not always safe ...
204       * 548786 : [win32] search for plugins based on location of DLL
205       * 551676 : Small Memleak fix in gst_pad_link_check_compatible_unlocked
206       * 552778 : add free_func in gstbuffer instances
207       * 553554 : [base] Add a generic bit reader
208       * 553874 : query_position broken during seek
209       * 555196 : Move floating point endian conversion macros into core
210       * 555307 : Need to push latency event into the pipeline
211       * 555631 : Banshee crashes; gstreamer GST_CAPS GST_IS_CAPS warnings
212       * 556091 : libtool-2.2 and old gettext don't mix
213       * 556900 : a copy & paste bug in helloworld example
214       * 557154 : Allow totem to run without write-access to home directory
215       * 557300 : libgstnet needs to link against $(WIN32_LIBS)
216       * 557438 : Gstreamer crashes when Banshee supposed to change track
217       * 557649 : GstBaseTransform can cause ivalid memory references
218       * 559250 : segments need identifiers.
219       * 560301 : Add --plugin to gst-inspect
220       * 560360 : Excessive statting when reading binary cache
221       * 560399 : Unnecessary CRC checksum for binary registry cache
222       * 560442 : GNOME Goal: Remove deprecated GLib symbols
223       * 561501 : g_type_class_ref without unref
224       * 562170 : GstBus watch doesn't work with non-default main context
225       * 562949 : [API] Add an URI query type for querying the source/sink URI
226       * 564863 : Caps are not propagated from a ghostpad's target to the g...
227       * 567225 : volatile gonce_data in BOILERPLATE not initialized to 0
228       * 566393 : [deadlock] Setting index on a pipeline
229
230 API added since 0.10.21:
231
232       * Add bit reader and byte reader classes.
233       * gst_message_new_structure_change()
234       * gst_message_parse_structure_change()
235       * GST_BUFFER_FREE_FUNC()
236       * Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
237       * GstBaseSrc::gst_base_src_set_blocksize()
238       * GstBaseSrc::gst_base_src_get_blocksize()
239       * GstBaseSink::gst_base_sink_set_blocksize()
240       * GstBaseSink::gst_base_sink_get_blocksize()
241       * GstBaseSink::blocksize
242       * GstBaseSink::gst_base_sink_do_preroll()
243       * Add gst_byte_reader_get_data and gst_byte_reader_peek_data 
244       * Move float endianness conversion macros from libgstfloatcast to core
245       * gst_util_seqnum_next, gst_util_seqnum_compare
246       * gst_event_get_seqnum, gst_event_set_seqnum
247       * gst_message_get_seqnum, gst_message_set_seqnum
248       * GstSeekFlags::GST_SEEK_FLAG_SKIP 
249       * gst_bin_recalculate_latency()
250       * GstBin::do-latency
251       * gst_tag_setter_reset_tags()
252       * gst_query_new_uri, gst_query_set_uri, gst_query_parse_uri
253       * add gst_plugin_add_dependency()
254       * add gst_plugin_add_dependency_simple()
255
256
257 Changes since 0.10.20:
258
259       * Basetransform rework
260       * Basesink synchronisation extensions
261       * New documentation
262       * Many bug fixes, enhancements and optimisations
263
264 Bugs fixed since 0.10.20:
265
266       * 481169 : [tag] add support for geo tags (gps location etc.)
267       * 520694 : adding GST_TAG_KEYWORDS
268       * 538201 : deleting the control point at ts=0 does not lower the con...
269       * 544855 : fakesrc and fakesink should call super::event()
270       * 339795 : [GstBaseTransform] Reverse negotiation issues in passthro...
271       * 348114 : [PPC64?] [gcc-4.1.2?] GST_BUFFER_IN_CAPS flag should have...
272       * 361718 : [basetransform] needs API to force renegotiation
273       * 533856 : gst_buffer_join() documentation is unclear
274       * 536978 : GTKDOC_CFLAGS should include CFLAGS
275       * 537804 : [multiqueue] wrongly reporting that the queue is full.
276       * 537812 : [check] add api to setup a pad by name
277       * 538568 : Add GST_TAG_ATTACHMENT
278       * 539772 : gst_pad_template_new() does more than call g_object_new()
279       * 542175 : gst-inspect --gst-plugins-path fails with multiple direct...
280       * 543444 : gst_base_sink_get_position can return 0 unexpectedly
281       * 543853 : Bison version check failure on OSX 10.4 Tiger
282       * 544174 : [basesrc] allow dynamic value of the seekable value.
283       * 544776 : [win32] binary registry may fail if glib is using a diffe...
284       * 545352 : gsturi is too restrictive
285       * 545603 : gst-inspect: don't print uri handler when compiled withou...
286       * 545605 : gstelementfactory: don't use uri handler code without uri...
287       * 545607 : gst: include gstconfig when using macros defined therein
288       * 545853 : [basetransform] rewrite
289       * 546328 : fractions with G_MAXINT cause failure for fixation
290       * 546822 : gstreamer doesn't tell gettext to output its translations...
291       * 547277 : filesrc detect if a file is seekable using SEEK_SET and n...
292       * 547728 : [basetransform] fail on buffer_alloc 
293       * 548394 : basesink should ignore EOS during flushing
294       * 548652 : [Inconsistency] GST_TAG_LOCATION is used for different me...
295       * 549504 : Thread-safe version of gst_pad_get_internal_links()
296       * 551952 : Need 'check' package when compile
297       * 551978 : Memleak in gst_element_sync_state_with_paren
298       * 547835 : tee release_request_pad while buffer_alloc racyness
299       * 538628 : Patch: added a timeout property to fdsrc used in gst_poll...
300       * 546883 : [basetransform] ximagesink fails when resizing video window
301       * 551509 : gst_base_transform_prepare_output_buffer: assertion faile...
302
303 API added since 0.10.20:
304
305       * Add GST_TAG_ATTACHMENT for generic file attachments to streams.
306       * Add gst_base_sink_set_render_delay()
307       * Add gst_base_sink_get_render_delay()
308       * Add gst_check_setup_src_pad_by_name
309       * Add gst_check_setup_sink_pad_by_name
310       * Add gst_check_teardown_pad_by_name
311       * Add GstBaseTransform::gst_base_transform_suggest()
312       * GstBaseTransform::gst_base_transform_reconfigure()
313       * GstPad::gst_pad_set_iterate_internal_links_function()
314       * GstPad::GstPadIterIntLinkFunction
315       * GstPad::gst_pad_iterate_internal_links()
316       * GstPad::gst_pad_iterate_internal_links_default()
317
318 API deprecated since 0.10.20:
319
320       * gst_pad_get_internal_links()
321       * gst_pad_set_internal_link_function()
322       * gst_pad_get_internal_links_default()
323
324 Changes since 0.10.19:
325
326       * Add the Presets interface
327       * Use the binary registry by default
328       * Deprecate gst_element_get_pad and don't use it anywhere any more.
329       * Reverse playback fixes
330       * API to get missing element messages from parse_launch parsing.
331       * Fixes in latency calculations
332       * BaseTransform negotiation fixes
333       * New Buffering query and messages
334       * Fix multiqueue deadlocks when changing limits
335       * Remove pre-generated parser hacks and require newer flex/bison
336       * Use GSlice in more places
337       * Use static strings in property declarations everywhere to save memory
338         allocations
339       * Fix unaligned memory accesses with the binary registry and add CRC
340         checks
341       * Lots of other bug fixes
342
343 Bugs fixed since 0.10.19:
344
345       * 535069 : basesrc no longer support non-flushing seeks on itself
346       * 522882 : Add a configure option to enable/disable OPTION_PARSING i...
347       * 396779 : Preset interface for elements
348       * 359653 : GStreamer Binary Registry patch
349       * 401456 : [API] Rename gst_bin_find_unconnected_pad to gst_bin_find...
350       * 446763 : [identity] leaks events in single segment mode
351       * 459862 : typefinding coud be more efficient
352       * 461253 : Crash when gst_base_transform_prepare_output_buffer is se...
353       * 489269 : valgrind option parameter invalid for valgrind 2.2 
354       * 508070 : gstreamer crashes whilst trying to read .so files in .deb...
355       * 512577 : GstTagMergeMode doc has slightly incorrect explanation
356       * 512578 : gst_tag_setter_merge_tags can mess up with KEEP_ALL merge...
357       * 514507 : gst-xmlinspect outputs text instead of xml for plugins
358       * 518022 : [libgstnet] MSVC 6.0 compile error due to socklen_t
359       * 518932 : Expose gst_segment_copy() to facilitate wrapping of GstSe...
360       * 520468 : Add a Env to enable/disable scan_and_update_registry for ...
361       * 522326 : use of 'char*' instead of 'const char*' in gst_caps_set_s...
362       * 523798 : [API] Some GstMiniObject enhancements
363       * 523806 : Should use G_PARAM_STATIC_(NAME|NICK|BLURB) when possible
364       * 523978 : Documentation fixes. 
365       * 523985 : [PATCH] [identity] meta-writes buffers without meta-writa...
366       * 524659 : Add specific error code for encrypted streams (e.g. WMA/A...
367       * 525532 : [fakesink/fakesrc/identity] Uses GObject marshallers for ...
368       * 526042 : [identity] check-imperfect-timestamp doesn't handle new s...
369       * 526236 : mingw32 gstpoll compilation fix
370       * 526247 : Actually build dlls when cross-compiling with mingw32
371       * 526705 : GstIndexResolver uses nickname field as description field
372       * 526768 : Basetransform bufferalloc passing through too easily
373       * 526814 : [API] add gst_pad_add_{data,event,buffer}_probe_full() wi...
374       * 527967 : gst_gerror_get_type is not thread safe
375       * 528187 : Get missing elements from gst_parse_launch()
376       * 528868 : URI schemes/protocols should be handled case insensitive
377       * 529148 : Make gstqueue give the right min latency
378       * 530317 : GType registration error - race condition when parallel c...
379       * 530637 : queue leak on capacity change
380       * 531538 : Race between gst_bus_set_flushing and async bus watches
381       * 533490 : gst_message_new_warning() should take const gchar*
382       * 533635 : gst_event_new_tag() documentation should say it takes own...
383       * 533740 : [API] add gst_typefind_suggest_simple()
384       * 533865 : gst_element_get_pad() should really be deprecated
385       * 534258 : basesink not accumulated time in some cases.
386       * 535218 : gst_base_src_send_event will block if basesrc is blocking...
387       * 536723 : Misspelled word in error string
388       * 536744 : Must link to libdl if dladdr() is used
389       * 536780 : gcc 4.3.0 compile warnings
390       * 536857 : DATADIR definition conflicts with windows headers
391       * 525961 : Build fails on darwin
392       * 535285 : Correct reference to GST_URI_UNKNOWN in gst_element_facto...
393
394 API added since 0.10.19:
395
396       * Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
397         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object
398       * typefind::force-caps
399       * gst_message_set_buffering_stats()
400       * gst_message_parse_buffering_stats()
401       * GST_QUERY_BUFFERING
402       * GstBufferingMode
403       * gst_query_new_buffering()
404       * gst_query_set_buffering_percent()
405       * gst_query_parse_buffering_percent()
406       * gst_query_set_buffering_stats()
407       * gst_query_parse_buffering_stats()
408       * gst_query_set_buffering_range()
409       * gst_query_parse_buffering_range()
410       * GST_STREAM_ERROR_DECRYPT
411       * GST_STREAM_ERROR_DECRYPT_NOKEY
412       * gst_segment_copy()
413       * gst_pad_add_data_probe_full()
414       * gst_pad_add_buffer_probe_full()
415       * gst_pad_add_event_probe_full()
416       * GstEvent::gst_event_has_name()
417       * GstFakeSrc:format
418       * gst_type_find_suggest_simple()
419       * GstBaseSink::gst_base_sink_wait_clock()
420       * gst_parse_launch_full()
421       * gst_parse_launchv_full()
422       * gst_parse_bin_from_description_full()
423       * gst_parse_context_new()
424       * gst_parse_context_free()
425       * gst_parse_context_get_missing_elements()
426       * gst_bin_find_unlinked_pad()
427       * GstPreset interface
428
429 API deprecated since 0.10.19:
430
431       * gst_element_get_pad -
432         use gst_element_get_static_pad or gst_element_get_request_pad
433       * gst_atomic_int_set() - g_atomic_int_set from GLib
434       * gst_bin_find_unconnected_pad()
435
436 Changes since 0.10.18:
437
438       * Fix a regression in raw fd handling
439
440 Bugs fixed since 0.10.18:
441      
442       * 524041 : gstfdsrc broken in 0.10.18
443
444 Changes since 0.10.17:
445         
446       * New GstPoll abstraction simplifies operations on multiple fd's/sockets
447       * Various bug fixes and corrections
448       
449 Bugs fixed since 0.10.17:
450       
451       * 516187 : adding gst_collect_pads_read_buffer () collectpads
452       * 516395 : gst_buffer_create_sub does not copy flags
453       * 520756 : different registry backend configurations cause build errors
454       * 498222 : configure improvements
455       * 499127 : [multiqueue] has no documentation
456       * 505417 : Add GstPoll to core
457       * 509559 : [gstinfo]_gst_debug_init() memory leak
458       * 510194 : segmentation fault when trying to link elements.
459       * 511783 : [API] [check] add gst_check_element_push_buffer_list() etc.
460       * 513964 : [GstPad] gst_pad_get_caps don't return a copy of the caps
461       * 515469 : patch to add gst_index_set_resolver_full
462       * 519584 : gst_element_implements_interface() segfaults with 'filesr...
463       * 519698 : g_free/xmlFree mismatches in gstregistryxml
464       * 520152 : Core uses non-portable size_t and ssize_t
465       * 520671 : GstPoll needs to be ported to Windows
466       * 520808 : GstPoll's API could need some changes for Windows
467       * 520877 : registrybinary.c doesn't build cleanly on Windows/MSVC
468       * 521740 : libgstreamer.def exports not up to date
469       * 522741 : regression: gst_index_entry_free() frees string it does n...
470
471 Changes since 0.10.16:
472
473       * Fix compilation on environments that have POSIX timers but not
474         monotonic clocks
475
476 Bugs fixed since 0.10.16:
477       
478       * 512715 : gst/gstutils.c and HAVE_MONOTONIC_CLOCK
479
480 Changes since 0.10.15:
481
482       * Monotonic/Posix clock support
483       * Dumping of dot-file graph descriptions for debugging
484       * Clean-up of exported symbols
485       * Many bug-fixes and enhancements
486
487 Bugs fixed since 0.10.15:
488
489       * 497859 : --disable-gst-debug option fails compilation
490       * 339279 : [gst.URIHandler] interfaces with class-global virtual met...
491       * 498694 : Patches to avoid g_signal_emit(SIGNAL_HANDOFF) on identit...
492       * 498746 : basesink is forwarding downstream events
493       * 498767 : Hangs after end of tracks since 0.10.15
494       * 498924 : deprecate GST_PLUGIN_DEFINE_STATIC because it's not portable
495       * 499007 : [gst-plot-timeline] more options
496       * 499140 : Add check to ensure .def files are kept up-to-date
497       * 500143 : Some small improvements (limiting realloc and CPU usage )
498       * 500150 : [filesink] add property to enable buffering via setvbuf()
499       * 501560 : gst_(caps|structure)_from_string() crash if structure nam...
500       * 503131 : g_intern_string SUSE 10.2
501       * 503231 : Change to GST_BUFFER_FLAG_GAP meaning can break with base...
502       * 503417 : Build failure due uninitialized variable in function 'gst...
503       * 503590 : gstreamer-0.10.15 fails tests on ppc64
504       * 503675 : broken registry files written to disk
505       * 504499 : Messages from check no longer contain the test case name
506       * 505799 : iSight camera does not work in gstreamer
507       * 506643 : crash in fixate_value/gst_value_init_and_copy on empty li...
508       * 507957 : clean-up incomplete function declarations
509       * 508175 : GST_TIMEVAL_TO_TIME() and GST_TIMESPEC_TO_TIME() need to ...
510       * 510187 : gst_plugin_register_static() API review and GST_PLUGIN_DE...
511       * 510747 : Use $(MAKE) instead of make to fix the build if GNU make ...
512       * 511750 : Configure of prereleases 15.2-15.4 fail in OpenEmbedded M...
513
514 API additions since 0.10.15:
515
516 * GstIdentity::signal-handoffs
517 * gst_util_get_timestamp()
518 * gst_base_transform_set_gap_aware()
519 * GstFileSink::buffer-mode
520 * GstFileSink::buffer-size
521 * gst_plugin_register_static()
522
523 API deprecated since 0.10.15:
524
525 * GST_PLUGIN_DEFINE_STATIC()
526
527 Changes since 0.10.14:
528
529       * Changes for asynchronous sink management
530       * New ts-offset property on basesink for adjusting clock synchronisation
531       * New GstController LFO feature
532       * Fixes and improvements in latency measurement for live pipelines
533       * Additional documentation and docs fixes
534       * Faster typefinding
535       * More tag types added
536       * Improvements in various core elements and parent classes
537       * New unit tests
538       * Allow dumping pipelines as dot graphs
539       * GstStructures now support nesting
540       * URIHandler interface can now be implemented in bindings
541       * Many other bug-fixes and improvements
542
543 Bugs fixed since 0.10.14:
544
545       * 496722 : DSP/DSW files in win32/vs6 directory are in unix format
546       * 476514 : [queue] Doesn't forward EOS event in all cases
547       * 456573 : allow dumping pipelines as dot graphs
548       * 475723 : cleanup static caps correctly
549       * 480341 : Memory leak at fakesink (regression in cvs)
550       * 349410 : Problems with type handling
551       * 414539 : [API] Support more GST_TAG*_SORTNAME and remove MusicBrai...
552       * 459717 : [Controller] Add GstLFOControlSource that provides values...
553       * 459809 : [API] add GST_TAG_COMPOSER
554       * 461598 : Commit Hungarian translations from TP
555       * 461599 : Some files missing from POTFILES.in
556       * 464366 : program including gst/gstbuffer.h does not compile with -...
557       * 466595 : gst_index_add_association generates corrupted entries
558       * 469402 : File uri handling on windows broken
559       * 473846 : Deadlock if sink is unable to send first buffer
560       * 474371 : Can't build libsgtcontroller with VS6
561       * 474823 : tee unit test failure
562       * 478347 : GST_STATIC_PAD_TEMPLATE macro causes warnings with g++-4.2
563       * 478401 : gstbasesrc.c ref count bug
564       * 479784 : GST_PLUGIN_DEFINE() doesn't accept BSD and MIT/X11 licences
565       * 485343 : Implement a wait_eos function in basesink
566       * 487969 : allow nested GstStructures
567       * 492077 : Build issues on Windows/MSVC
568       * 493134 : Wrong GstObject signals registration
569       * 493983 : Build issues on Windows
570       * 494343 : pre-release vs6 patch
571       * 480858 : gstqueue code cleaning
572       * 486758 : queue element fails to re-negotiate caps upstream when si...
573       * 488201 : gst_segment_set_newsegment does not accumulate correctly
574       * 492729 : PAUSED- > PLAYING returns ASYNC when triggered from bus han...
575       * 494245 : [basesink] doesn't sync correctly if segment is in BYTES ...
576
577 API added since 0.10.14:
578
579       * gst_base_sink_get_last_buffer()
580       * GstBaseSink::last-buffer
581       * GstURIHandlerInterface::get_type_full
582       * GstURIHandlerInterface::get_protocols_full
583       * New tag: GST_TAG_ARTIST_SORTNAME
584       * New tag: GST_TAG_ALBUM_SORTNAME
585       * New tag: GST_TAG_TITLE_SORTNAME
586       * New tag: GST_TAG_COMPOSER
587       * gst_value_set_structure()
588       * gst_value_get_structure()
589       * GST_VALUE_HOLDS_STRUCTURE macro
590       * gst_bus_pop_filtered()
591       * gst_bus_timed_pop_filtered()
592       * gst_base_sink_wait_eos()
593       * gst_pad_peer_query()
594       * GstBaseSrc::do-timestamp
595       * gst_base_src_set_do_timestamp()
596       * gst_base_src_get_do_timestamp()
597       * GstBaseSink::ts-offset property
598       * gst_base_sink_set_ts_offset()
599       * gst_base_sink_get_ts_offset()
600       * GstBaseSink::async property
601       * gst_base_sink_set_async_enabled()
602       * gst_base_sink_is_async_enabled()
603       * gst_structure_get_uint()
604       * GstLFOControlSource and functions
605
606 Changes since 0.10.13:
607
608       * State change handling improvements
609       * New improved GstController API
610       * Multi-queue fixes and enhancements
611       * Fewer dynamic library relocations
612       * Various other fixes and improvements
613       * Parallel installability with 0.8.x series
614       * Threadsafe design and API
615
616 Bugs fixed since 0.10.13:
617
618       * 457322 : registry is read twice on startup
619       * 406632 : pkgconfigify the check for Check in configure.ac
620       * 423700 : [multiqueue] leaks memory when flushing
621       * 437457 : saving relocations for GstElementDetails
622       * 444648 : [API] add GstParamSpecFraction
623       * 444820 : build error with grammar.tab.c
624       * 448794 : state changes are racy with decodebin after rewrite for 0...
625       * 449197 : [capsfilter] Should set src pad caps on buffer
626       * 449226 : Incomplete ghostpads in xml session save
627       * 449493 : minor quoting fix in gst-feature.m4 macro
628       * 450711 : [GstController] Improve extensibility by providing a GstC...
629       * 451939 : [API] add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI
630       * 459501 : gst_registry_lookup_feature_locked is slow
631       * 462558 : Regression in async state change handling
632       * 462752 : make gst_element_class_set_details_simple args const
633       * 430682 : multiqueue doesn't output data on unlinked pads properly
634       * 462085 : registry feature hash can access invalid memory
635       * 357959 : buffer_alloc is not proxied through tee
636       * 374639 : GstTee doesn't handle pad list resyncs properly
637       * 449414 : [capsfilter] Copy of passed GstCaps taken instead of refe...
638       * 453732 : [PATCH] multiqueue returns wrong internally linked pads
639
640 API added since 0.10.13:
641
642       * Add GstParamSpecFraction, so elements can have fraction
643         properties without lots of painful string parsing (#444648).
644       * Add fail_unless_equals_float() and assert_equals_float()
645       * Add gst_type_register_static_full
646       * Add gst_element_class_set_details_simple
647       * Refactor GstController into the core controller which can take
648         a GstControlSource for providing actual values for timestamps.
649       * add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939)
650       * gst_element_factory_has_interface()
651
652 Changes since 0.10.12:
653
654       * Latency handling infrastructure for live playback scenarios
655       * State change handling changes
656       * GstController property handling improved
657       * Various bug fixes and improvements
658       * Parallel installability with 0.8.x series
659       * Threadsafe design and API
660
661 Bugs fixed since 0.10.12: 
662
663       * 440682 : gst/gstsystemclock unit test occasionally fails
664       * 342564 : Configure options causing compilation to fail
665       * 378255 : Swedish translation updated
666       * 392804 : [API] add GST_CORE_ERROR_DISABLED
667       * 412648 : [filesink] reports wrong (byte) position after seeking
668       * 413123 : No XML dependency patch
669       * 415394 : [identity] post message for imperfect streams if check-pe...
670       * 417992 : Quickly playing/pausing messes up synchronization
671       * 420106 : [basetransform] race on shutdown: setcaps func called aft...
672       * 420206 : Collectpads causes a segv. when stopping after a pad remove
673       * 421480 : Make it possible to build without libxml2 with --disable-...
674       * 421543 : [GstPad] Doesn't check if pad accepts caps after caps change
675       * 422295 : GstController crashes with quadratic and cubic interpolat...
676       * 425400 : Multiqueue leaks memory when releasing sink pads
677       * 431150 : compilation fails with flex 2.5.4
678       * 431940 : [API] add gst_buffer_try_new_and_alloc()
679       * 432876 : current time level in queue
680       * 434926 : Multilib conflicts with gst-launch-0.10 man page
681       * 435880 : [GstBin] Property to allow bins to handle child async cha...
682       * 437563 : URIs with upper-case protocol don't play
683       * 440463 : gstbin unit test sometimes hangs waiting for ASYNC_DONE m...
684       * 441159 : Regression in state change handling
685       * 349180 : gst_parse_launch is not reentrant (or recursively callable)
686       * 414986 : Don't start the async thread for the system clock until n...
687       * 393099 : GstBuffer copy vfunc broken?
688       * 419851 : pad-added and pad-removed signals parameter type incorrect
689       * 420133 : gst_element_sync_state_with_parent should look at pending...
690       * 421177 : Possible deadlock if pad eventfunc is not specified
691
692 API additions since 0.10.12:
693
694       * gst_element_change_state()
695       * GST_STATE_TARGET
696       * GST_BASE_TRANSFORM_LOCK/UNLOCK
697       * GstClock::gst_clock_unadjust_unlocked()
698       * fakesink::num-buffers property
699       * GST_CORE_ERROR_DISABLED
700       * basesrc::prepare_seek_segment vmethod
701       * gst_buffer_try_new_and_alloc()
702       * gst_buffer_copy_metadata()
703       * GstBufferCopyFlags enum
704       * GST_BUFFER_COPY_ALL flag
705       * gst_uri_protocol_is_supported()
706       * gst_base_src_query_latency()
707       * GstQueue::pushing
708       * gst_controller_suggest_next_sync()
709       * gst_object_suggest_next_sync()
710       * basesrc::unlock_stop
711       * basesink::unlock_stop
712       * GstBin::async-handling property
713       * gst_message_new_async_start()
714       * gst_message_parse_async_start()
715       * gst_message_new_async_done()
716       * GST_MESSAGE_ASYNC_START
717       * GST_MESSAGE_ASYNC_DONE
718
719 Changes since 0.10.11:
720
721       * Add a warning if GLib threading support is not properly initialised
722       * Add support for binary registry serialisation
723       * Preliminary support for pull-mode scheduling of entire chains
724       * Add support for HPPA 
725       * Collectpads fixes
726       * Lots of bug fixes
727
728 Bugs fixed since 0.10.11:
729      
730       * 378931 : Bison version check doesn't work on Solaris 9
731       * 399875 : [multiqueue] dynamic growth not implemented.
732       * 339326 : pads not set to FLUSHING when created
733       * 380129 : gst_plugin_feature_load doesn't consistently ref a return...
734       * 381301 : [patch] Make GstBus watch work with any GMainContext
735       * 383382 : Removing pads from collectpads not threadsafe
736       * 383506 : Disallow CLOCK_TIME_NONE as periodic clock id interval
737       * 387073 : gst-launch videotestsrc ! ffmpegcolorspace ! ximagesink d...
738       * 387866 : [docs] Small fix for GstCollectPads docs
739       * 391278 : g_thread_init() called too late, possibly causing memory ...
740       * 391296 : [API] add gst_update_registry() to rescan registry at run...
741       * 391777 : GStreamer does not reset SEGV trap handler
742       * 391909 : Fix compilation with MinGW
743       * 399094 : gst_pad_start_task: small doc typo
744       * 401381 : GstRegistry signals documentation is missing
745       * 401781 : [API] add GST_ROUND_DOWN_* macros
746       * 402393 : [API][GstCollectPads] Allow elements to specify destroy n...
747       * 405284 : Changing state of pipeline can lock up with preroll queue...
748       * 400656 : [PATCH] filesrc seekability detection fix (NFS and 2GB+ f...
749       * 403172 : [filesrc] doesn't handle localhost file locations
750       * 404569 : [filesrc] Unexpected end of file
751       * 161922 : script to provide plugin installation info
752       * 391915 : adapter test doesn't compile with mingw
753       * 395554 : gst_tag_setter_merge_tags works at most once
754       * 403597 : [API] Add ReplayGain reference level tag
755       * 405288 : Configure checks use pkg-config directly
756       * 381492 : [SystemClock] ClockID wait_async notification broken
757       * 382592 : Multiple wait()ers break periodic clock ids
758       * 385084 : endless ghost pad pull/push activate recursion until crash
759       * 388201 : [API] add gst_adapter_copy()
760
761 API additions since 0.10.11:
762
763       * gst_update_registry()
764       * gst_adapter_copy()
765       * GST_ROUND_DOWN_* macros
766       * GstCollectDataDestroyNotify
767       * gst_query_new_latency()
768       * gst_query_set_latency()
769       * gst_query_parse_latency()
770       * gst_message_new_lost_preroll()
771       * gst_message_parse_lost_preroll()
772       * gst_message_new_prerolled()
773       * gst_message_new_latency()
774       * gst_event_new_latency()
775       * gst_event_parse_latency()
776       * GST_TAG_REFERENCE_LEVEL
777       * gst_base_sink_query_latency()
778       * gst_base_sink_get_latency()
779       * gst_bus_timed_pop()
780       * gst_message_new_info()
781       * gst_message_parse_info()
782
783 Bugs fixed since 0.10.10:
784
785       * 363095 : [BaseTransform] Outputs empty buffers
786       * 353301 : aborts in _get_element_by_uri(), probably due to buggy el...
787       * 344639 : Separate threadsafe queuing functionnality in a separate ...
788       * 347785 : [multiqueue] New multiple input-output queue
789       * 352827 : re-negotiation issues with dynamic pipelines and level or...
790       * 357180 : [libs] gst_controller_new* functions don't increase refco...
791       * 318031 : gstreamer should use gmodule-no-export in its .pc file
792       * 340878 : Registry doesn't discard removed plugin features
793       * 345496 : No GstPadDirection in files created by GstXml
794       * 356910 : Basesrc gst_base_src_activate_push not calling base_src_s...
795       * 357593 : Generated gst-element-check.m4 installed from $(srcdir)
796       * 358436 : #include is missing in gstghostpad.c and gstquery.c
797       * 358999 : [PATCH] [GstPad] Flushing on blocked pads not handled cor...
798       * 359850 : Compiling issues on sparc with Forte
799       * 360151 : Fixes compiling with forte: disable warning as error for ...
800       * 360173 : Fixes compiling with forte: warning clean up (part 1)
801       * 360467 : [API] add gst_tag_list_is_empty ()
802       * 360860 : Fixes compiling with forte: warning clean up (part 2)
803       * 361675 : Allow applications to use libxml2 and GStreamer even if  ...
804       * 361720 : grammar project: error generating gstmarshal.c and gstmar...
805       * 361730 : wrong source file list in VC8 project
806       * 361732 : " win32\common\libgstreamer.def " lacks 'gst_caps_merge' entry
807       * 361769 : Deadlock in gstpad.c 
808       * 364388 : size variable is not always initialized in gst_base_src_s...
809       * 366321 : GST_SEGMENT_FORMAT not defined on windows
810       * 370865 : [basesrc] update segment duration in gst_base_src_update_...
811       * 371493 : Incomplete change of printf conversion specifiers in gstr...
812       * 374475 : [PATCH] minor doc typo
813       * 377332 : [PATCH] Warning with check > = 0.9.4
814       * 357617 : [libs] gst_controller_set_from_list can return without un...
815       * 358737 : _gst_event_copy sets the wrong parent_refcount on the chi...
816       * 366212 : Fix some misspellings in gstreamer core
817       * 369366 : MacOSX printf fixes for CVS
818       * 371894 : tests/examples/typefind is broken  
819       * 355499 : ensure_current_registry_forking()  fails if zombie alread...
820       * 352345 : Small race condition in the queue element
821       * 357432 : [libs] GstController needs to keep controlled objects alive
822       * 358613 : sink- > file is never reset for filesink elements, even tho...
823       * 366286 : [PATCH] fix compilation on Windows
824       * 366572 : Bad declaration in headerfile
825       * 367677 : [fdsrc] skips the first byte
826       * 369942 : [PATCH] unblocking blocked pad does not release all block...
827
828 API added since 0.10.10:
829
830       * gst_element_state_change_return_get_name
831       * gst_tag_list_is_empty
832       * gst_pad_is_blocking()
833       * GST_PAD_IS_BLOCKING() macro
834       * GST_PAD_BLOCKING GstPadFlag
835       * gst_base_src_wait_playing
836       * gst_base_sink_wait_preroll
837       * gst_message_new_buffering
838       * gst_message_parse_buffering
839
840 Bugs fixed since 0.10.9:
841      
842       * 349180 : gst_parse_launch is not reentrant (or recursively callable)
843       * 348455 : [filesrc] should not use mmap() by default, since it migh...
844       * 340674 : marry gst-debugs & plot-timeline.py
845       * 350449 : [GstBaseTransform] buffer_alloc should alway try downstream
846       * 352580 : implement proper caps merging
847       * 345444 : Linking to an audioconvert (pad-added callback) multiple ...
848       * 347293 : GstValueList comparison is flawed
849       * 347311 : element_unlink leaks its iterator wich will leak the src ...
850       * 348179 : gst_parse_lauch is not reentrant
851       * 348354 : failure in bison version detection breaks build
852       * 350419 : API: GST_SEGMENT_FORMAT printf extension for GstSegments
853       * 350879 : [init] Mark gstreamer as being initialized during registr...
854       * 350935 : API: add GST_TAG_EXTENDED_COMMENT
855       * 353976 : asssertion about element sanity in gst_registry_xml_write...
856       * 350432 : micro-optimising quarks
857       * 341029 : Ghostpads internal and target should be linked from the b...
858       * 345295 : [PATCH] gstreamer/libs/gst/net for Windows
859       * 347756 : Allow --disable-trace without --disable-parse
860       * 347794 : Do not reset SIGSEGV handler when --gst-disable-segtrap i...
861       * 348918 : application should decide whether or not to use fork() to...
862       * 349943 : [QOS] documentation/code mismatch
863       * 351768 : Unwanted concurent buffer modifications
864       * 352958 : pad_alloc_buffer and stream lock
865       * 353121 : gst_query_new_segment should initialize all structure fields
866       * 353122 : gst_element_get_bus refs the bus unconditionally
867       * 347385 : [ghostpad] gst_ghost_pad_new_from_template() method
868       * 348677 : Upgrade to 0.10.9 breaks existing applications (failed se...
869
870 API added since 0.10.9:
871      
872       * gst_segtrap_is_enabled
873       * gst_segtrap_set_enabled
874       * gst_registry_fork_is_enabled
875       * gst_registry_fork_set_enabled
876       * gst_ghost_pad_new_from_template
877       * gst_ghost_pad_new_no_target_from_template
878       * gst_caps_merge
879       * GST_TAG_EXTENDED_COMMENT
880       * GstClockCLass:wait_jitter
881       * GST_SEGMENT_FORMAT
882       * gst_structure_id_set
883       * gst_structure_id_set_valist
884
885 Changes since 0.10.8:
886
887       * The testsuite can now generate coverage information
888       * Better support for non-linear editing
889       * Removed Glib 2.6 compatibility
890       * Performance improvements on cpus that support branch hints
891       * Bug fixes
892
893 Bugs fixed since 0.10.8:
894
895       * 346730 : some warnings about enums and macros
896       * 341029 : Ghostpads internal and target should be linked from the b...
897       * 346192 : [PATCH] Pad blocking on events
898       * 347384 : [ghostpad] padtemplates shouldn't be set automatically
899       * 344115 : [patch] make more internal data const
900       * 324176 : gst-element-check-0.x.m4 should use versioned gst-inspect
901       * 330379 : Bogus commits to basesink, basetransform, collectpads
902       * 341667 : restore_from_xml breaks pad links again after creating them
903       * 344642 : tools/gst-inspect.c does not compile if --disable-nls is ...
904       * 344748 : Fails with non-writable registry
905       * 344849 : GstController doesn't handle float properties correct
906       * 345086 : [gst-feedback] calls un-versioned tools
907       * 346097 : SIGSEGV when using --gst-plugin-load
908       * 347337 : GDP does not correctly deserialize events without a struc...
909       * 347408 : basesrc causes regressions in pull with 0 bytes
910       * 345720 : Bad performance playing files off CD
911       * 331727 : make probes and Ghostpads more elegant
912       * 343196 : basetransform not handles ro/rw buffer flagging for trans...
913       * 346663 : Segmentation error with fakesrc, fakesink and a filter
914
915 Changes since 0.10.7:
916     
917       * Important fix for registry update causing applets not to load
918
919 Bugs fixed since 0.10.7:
920     
921       * 344474 : Gnome Mixer Applet doesn't want to load
922
923 Changes since 0.10.6:
924     
925       * Registry cache updating is now done in a fork, so no plugins are left
926         opened
927       * New version of data protocol now serializes events
928       * queue fixes
929       * win32 fixes
930
931 Bugs fixed since 0.10.6:
932     
933       * 338335 : [patch] memleak in gst-utils.c (leak pads from iterator)
934       * 343598 : undefined symbol in coreindexers when using --disable-loa...
935       * 336929 : GstCollectPads does not clear/reset segment info after fl...
936       * 337100 : [fakesink] add " preroll-handoff " signal
937       * 339918 : GstTagSetter merge-mode description unclear, and implemen...
938       * 340501 : [filesrc] give primary rank
939       * 341662 : gst-launch print_tags() fix
940       * 342238 : API: gst_element_seek_simple
941       * 342321 : GST_QUERY_POSITION fails if GstBaseSrc in get_range mode
942       * 342777 : rebuilding the registry leaves all plugins in memory
943       * 342820 : gstnetclientclock.c(453): servaddr used before set
944       * 343057 : gst-launch-0.10 segfaults when passed gst-plugin-path and...
945       * 343341 : [API] add GST_TAG_PREVIEW_IMAGE
946       * 343827 : leak in gst_index_gtype_resolver
947       * 343929 : Use of // in public header
948       * 343988 : data protocol needs extending to handle events better
949       * 341479 : Too many plugins loaded even for up-to-date registry
950       * 343334 : GstCollectPads testsuite and fixes
951       * 343538 : GstCollectPads doesn't reset EOS fields when stopped
952
953 API added since 0.10.6:
954
955       * gst_element_seek_simple()
956       * GST_FLOW_CUSTOM_SUCCESS
957       * GST_FLOW_CUSTOM_ERROR
958       * GST_FLOW_IS_SUCCESS
959       * gst_collect_pads_set_flushing()
960       * GST_TAG_PREVIEW_IMAGE
961       * gst_dp_crc()
962       * GstDPPacketizer
963       * GstDPVersion
964       * GstFakeSink::preroll-handoff
965       * GstFakeSink::use-mmap
966
967 Changes since 0.10.5:
968
969       * Fixes for the collectpads helper
970       * Support for proper time recording on server-trickmode streams
971         via the applied_rate parameter of the NewSegment event
972       * Many bug fixes
973
974 Bugs fixed since 0.10.5:
975
976       * 339808 : [patch] mem-leak of bin in gstbin.c
977       * 338339 : [patch] registry cache is always written
978       * 339843 : [patch] fdsink should not handle short writes and non fat...
979       * 340016 : does not build on opensolaris, must always include config...
980       * 340079 : gst-launch wrapper fails with 'No version of tool gst-lau...
981       * 340174 : locking problem in gstbasesink
982       * 340460 : gst-launch no longer supports --version
983       * 340508 : remove glib pre 2.8 hacks and compat stuff
984       * 340604 : gst_mini_object_ref () docs make no mention of writeability
985       * 340608 : leaking caps in padtemplate
986       * 340697 : gstsystemclock hangs when outputting to stdout via fdsink 
987       * 340721 : API: add GST_TAG_IMAGE
988       * 340772 : [qtdemux] bails out on Meet The Robinsons trailer
989       * 341556 : gst-launch: print image tags in a human readable form
990       * 339821 : [patch] serializing a GValue with a NULL buffer crashes
991
992 API added since 0.10.5:
993
994       * gst_adapter_take_buffer()
995       * GST_TAG_IMAGE tag added.
996       * gst_event_new_new_segment_full()
997       * gst_event_parse_new_segment_full()
998       * GstSegment::applied_rate field
999       * gst_segment_set_newsegment_full()
1000
1001 Changes since 0.10.4:
1002
1003       * QoS in BaseTransform
1004       * gcc 4.1 fixes
1005       * BaseTransform reworked
1006       * Bus reworked; signal API added
1007
1008 Bugs fixed since 0.10.4:
1009     
1010       * 131079 : [PATCH] [api] loading a class leaves elementfactory blank
1011       * 317048 : gstreamer Cygwin build fixes
1012       * 325599 : Build fails with GCC 4.1
1013       * 327315 : GStreamer CVS head files to build with GCC 4.1
1014       * 331248 : [basesink] filesink spews warnings when used with flacenc
1015       * 332151 : xml registry loader should use mmap() where possible
1016       * 332390 : [GstQueue/GstPad] queue pauses immediately when linked, p...
1017       * 332986 : Something wrong in caps checking...
1018       * 334109 : pkg-config files must link with the same check library th...
1019       * 334303 : Stale libgnomeui check in configure
1020       * 334434 : Missing functions in def files for dlls
1021       * 335195 : GST_BOILERPLATE_FULL etc isn' optimised
1022       * 335480 : start with debugging disabled
1023       * 335513 : totem goes (and stays) out of sync when running bittorrent
1024       * 336336 : [queue] Queue might block in EOS
1025       * 336945 : [filesink] throws error when writing 0 bytes
1026       * 337103 : small cleanup in gstplugin.c
1027       * 337386 : Pipeline bus is not initially flushing
1028       * 338711 : Internal data flow error with latest updates for FC5 with...
1029       * 326311 : basesink does not call the PAUSED- > PLAYING change_state f...
1030       * 326998 : GstBaseSrc's send_event handler ignores seek requests aft...
1031
1032 API added since 0.10.4:
1033
1034       * gst_controller_unset_all()
1035       * gst_pad_query_peer_position()
1036       * gst_pad_query_peer_duration()
1037       * gst_pad_query_peer_convert()
1038       * GstBaseSink::async_play()
1039       * GstBaseSrc::qos
1040       * gst_base_sink_set_qos_enabled()
1041       * gst_base_sink_is_qos_enabled()
1042       * gst_base_transform_update_qos()
1043       * gst_base_transform_set_qos_enabled()
1044       * gst_base_transform_is_qos_enabled()
1045       * gst_pipeline_get_delay()
1046       * gst_pipeline_set_delay()
1047
1048 Changes since 0.10.3:
1049     
1050       * Parallel installability with 0.8.x series
1051       * Threadsafe design and API
1052       * 33% of library size removed by parse change
1053       * (Experimental) QoS features (use max-lateness on BaseSink subclasses to enable)
1054
1055 Bugs fixed since 0.10.3:
1056     
1057       * 323542 : GStreamer 0.10 hangs at EOS for all songs
1058       * 320340 : triggering a gst_task_join from the streaming task can de...
1059       * 322628 : document thread-unsafety of gst_value_foo() + gst_value_r...
1060       * 324186 : Smarter (deterministic!) typefind decisions
1061       * 324398 : varargs/valist functions aren't bindable
1062       * 328873 : only one gst_bin_recalc_state allowed at a time
1063       * 330899 : CVS directory in make dist tarball
1064       * 330906 : API: add GST_QUERY_TYPE_NAME and GST_MESSAGE_TYPE_NAME
1065       * 330996 : basesrc emits EOS unconditionally when going to READY
1066       * 331255 : Shrinking gst_parse_launch bloat
1067       * 331898 : Basetranform is not reusable
1068       * 332045 : API: GstPipeline needs API to disable  flushing of its bu...
1069       * 332277 : [filesrc] seek does not correct read position in non-mmap...
1070       * 332611 : [basesrc] needs way to prevent expensive start/stop in ch...
1071       * 332723 : New API: gst_type_find_helper_for_buffer
1072       * 333042 : New API: gst_type_find_helper_get_range
1073       * 333266 : Registry file writing rewrite
1074       * 333272 : tests should set G_SLICE=always-malloc now
1075       * 333417 : GST_BOILERPLATE_WITH_INTERFACE can't be used in C++ code
1076       * 333669 : Add pad accessor defines for GstBaseTransform
1077       * 333779 : New API: add gst_uri_has_protocol
1078       * 324818 : gst_registry_get_default doesn't sink newly created registry
1079       * 330125 : _pad_send_event does not check flushing correctly
1080       * 330684 : Add ability to emit sync-message without messing with the...
1081  
1082 API added since 0.10.3:
1083     
1084       * gst_pipeline_set_auto_flush_bus()
1085       * gst_pipeline_get_auto_flush_bus()
1086       * gst_uri_has_protocol()
1087       * gst_pipeline_set_max_lateness()
1088       * gst_pipeline_get_max_lateness()
1089       * gst_pipeline_get_sync()
1090       * gst_pipeline_do_sync()
1091       * GST_BASE_TRANSFORM_SRC_PAD()
1092       * GST_BASE_TRANSFORM_SINK_PAD()
1093       * GstBaseSrc::check_get_range()
1094       * GstBaseSink::max-lateness
1095       * gst_type_find_helper_get_range()
1096       * gst_type_find_helper_for_buffer()
1097       * GST_MESSAGE_TYPE_NAME()
1098       * GST_QUERY_TYPE_NAME()
1099       * gst_bus_enable_sync_message_emission()
1100       * gst_bus_disable_sync_message_emission()
1101
1102 Changes since 0.10.2:
1103
1104       * Documentation updates
1105       * Bug fixes
1106       * Base class improvements
1107       * Extra utility API
1108       * More elements ported from 0.8
1109       * Fixes for win32 build.
1110
1111 Changes since 0.10.1:
1112     
1113       * documentation updates
1114       * bug fixes
1115
1116 Bugs fixed since 0.10.1:
1117     
1118       * 325429 : GST_BOILERPLATE_FULL can't be used when compiling with -W...
1119       * 316086 : MinGW compilation: fileindexer depends on mmap
1120
1121 Changes since 0.10.0:
1122     
1123       * element factory leak fixes
1124       * tests cleanup
1125       * BaseSrc seeking in other format than BYTES
1126       * collectpad fixes
1127
1128 Bugs fixed since 0.10.0:
1129     
1130       * 322441 : getcontext() in common/m4/gst-mcsc.m4 uses incorrect stac...
1131       * 323041 : [BASESRC] basesrc does not handle a seek to non-bytes for...
1132       * 323870 : [tools] gst-feedback needs updating for 0.9/0.10
1133       * 323882 : gst-launch manpage needs updates
1134       * 323905 : use return val of g_list_append
1135
1136 API added since 0.10.0:
1137      
1138       * GST_TYPE_STATIC_CAPS
1139       * GST_TYPE_STATIC_PAD_TEMPLATE
1140       * GstNetTimeProvider::active
1141       * gst_base_src_set_format
1142
1143 Changes from the 0.8 series to 0.10 series:
1144
1145       * Refcounting and API revised for thread safety, see rules in
1146         docs/design/part-MT-refcounting.txt
1147
1148       * Scheduling is now done by the elements, they start/stop
1149         processing threads themselves. This removes the need for 
1150         a separate scheduler.
1151
1152       * State changes now happen from sink to source. This makes sure
1153         that downstream elements are ready to process data when upstream
1154         starts producing.
1155
1156       * EOS/ERROR/... does not change the state of elements anymore. This
1157         means that when the application sets the state on an element, it
1158         remains in this state.
1159
1160       * GMainLoop integration. Information on the state of the pipeline
1161         is now received in the mainloop via the GstBus.
1162
1163       * Events move separate from the datastream, this allows for both
1164         in and out of sync delivery of events.
1165
1166       * Generic _pull() replaced by _pull_region() so that random access
1167         can be made faster.
1168
1169       * data passing happens from PAUSED, called the preroll phase. In this
1170         state no data is rendered but it is queued in the sinks.
1171
1172       * negotiation simplified. Caps are now attached to buffers and travel
1173         along with the datastream. 
1174
1175       * GstBuffer is now subclassable.
1176
1177       * Ghostpads now look and feel like real pads.
1178
1179       * New Seeking/flushing policy.
1180
1181       * Addition of base classes and helper functions in the core to abstract
1182         away the harder parts of plugin development.
1183
1184 Changes since 0.9.7:
1185
1186       * added Traditional Chinese translation
1187
1188 Bugs fixed since 0.9.7:
1189     
1190       * 322874 : [PAD] pad_alloc_buffer should not call set_caps
1191       * 323222 : GStreamer 0.9.7 still checks in dirs containing 0.9
1192       * 323250 : [collectpads] debug category should be called 'collectpad...
1193
1194 Changes since 0.9.6:
1195     
1196       * bumped major/minor to 0.10
1197       * API cleanup
1198       * PluginFeature and TypeFind leak fixes
1199       * cleaned up source tree
1200       * added plugin documentation for core elements
1201       * fixes for stripped core
1202
1203 Bugs fixed since 0.9.6:
1204     
1205       * 320529 : [API] gst_event_new_segment mentions " stream_time " as an ...
1206       * 321917 : quicktime with two video tracks and extra foo, makes tote...
1207       * 322257 : Fix gstnet library name
1208       * 322427 : gst-compprep aborts with 'double free or corruption'
1209       * 322429 : Filesink seeking problem
1210       * 322626 : Strings in gst-launch.c adn gstdebug.c are horrid
1211       * 322708 : gst_plugin_load_file leaks a reference to a GstPlugin
1212       * 322751 : gst_ghost_pad_get_target borks on pads without target
1213       * 322842 : GStreamer-CRITICAL in GstBaseSink and GstBaseTransform
1214
1215 Changes since 0.9.5:
1216     
1217       * API changes and clean-up
1218       * Extensive documentation updates
1219       * remove GLib 2.4 compatibility
1220       * added clock selection
1221       * added network clocking
1222       * added fd:// URI handler
1223       * added more fraction functionality
1224
1225 Bugs fixed since 0.9.5:
1226     
1227       * 143472 : [api] gst_tag_list_foreach() takes a non-const GstTagList*
1228       * 156633 : [API] don't use same API for arrays as for normal lists
1229       * 164168 : circular pipeline fails to negotiate
1230       * 165650 : [API] gst_value_deserialize doesn't work correctly for NU...
1231       * 168438 : [API] GstIndexFilter doesn't receive user_data
1232       * 168494 : [API] gst_index_add_object() does nothing
1233       * 305291 : Obnoxious bug-filing request
1234       * 311489 : Possible gstghostpad locking problems
1235       * 319178 : [API] finish filler events and support them in GstCollect...
1236       * 319388 : 0.9 API changes tracker
1237       * 319389 : state change updates obsolete some functions
1238       * 319392 : GstEventType is not bindings-friendly
1239       * 319395 : Macro name/visibility API bugs
1240       * 319940 : Use GLIB macros for GCC extensions
1241       * 320060 : add a CORE error category for missing ELEMENTS/PLUGINS
1242       * 320097 : GST_BUFFER_FLAG_ORIGINAL should die
1243       * 320113 : [API] duration message changes
1244       * 320299 : gst_pad_send_event should take stream lock for serialized...
1245       * 320324 : [API] GST_FOURCC_FORMAT should drop leading '%'
1246       * 320423 : [API] padding for GstCollectData
1247       * 320766 : [API] collect pads API changes
1248       * 321061 : GstURI not used
1249       * 321235 : [API] GST_PAD_IS_USABLE should be removed
1250       * 321386 : [SEGFAULT] basetransform when doing reverse caps negotiation
1251       * 321452 : GstPad's " template " property is b0rked
1252       * 321528 : capsfilter: assertion `caps != NULL' failed
1253       * 321595 : GstBin doesn't clean the message queue when changing stat...
1254       * 321638 : Don't use // style comments in headers
1255       * 321648 : Wrong type check in gst_message_parse_clock_lost
1256       * 321710 : GstClock resolution functions should take a GstClockTime
1257       * 321712 : GstClock adjust function changes
1258       * 321875 : gst_plugin_check_file disappeared
1259       * 321950 : gst_registry_scan_paths lacks implementation
1260       * 321962 : [easyfix] gst_value_is_fixed uses gst_value_list_* on GST...
1261       * 322027 : [API] Rename gst_caps_structure_fixate_* to gst_structure...
1262       * 322034 : Elements should be updated not to take the stream lock in...
1263       * 322069 : Names of GstTagSetter methods should be more descriptive
1264       * 322134 : API master/slave clocks
1265       * 322139 : our elements are confused about GEnumValue and which is t...
1266   
1267 Changes since 0.9.4:
1268     
1269       * gst_bus_poll and signal watch now see the same messages
1270       * clock sync in BaseSrc class
1271       * API documentation updates
1272       * Bus reworked; signal API added
1273
1274 Bugs fixed since 0.9.4:
1275     
1276       * 317341 : after linking ghost pads, one target pad does not have a ...
1277       * 320774 : basesrc commit broke typefinding
1278
1279 Changes since 0.9.3:
1280
1281       * state lock redefined
1282       * Extensive documentation updates
1283       * BaseTransform reworked
1284       * Bus reworked; signal API added
1285
1286 Bugs fixed since 0.9.3:
1287
1288       * 111146 : new GstThread fails on pipeline with errors
1289       * 169772 : [PATCH] GOption command-line parsing
1290       * 170777 : use GST_TYPE_DATE for GST_TAG_DATE
1291       * 315050 : [API] consider using GstClockTime instead of GTimeVal in ...
1292       * 315126 : filesrc + forced caps should be possible
1293       * 315383 : gst-launch shouldn't run broken pipelines
1294       * 317041 : GstObject flags should be made real flags
1295       * 318447 : gst_bin_iterate_sorted: Invalid call to gst_iterator_new
1296
1297 Changes since 0.9.2:
1298
1299       * gst-register has been removed
1300       * Extensive documentation updates
1301       * BaseTransform reworked
1302       * Bus reworked; signal API added
1303
1304 Bugs fixed since 0.9.2:
1305
1306       * 102980 : support incremental gst-register/compprep updates
1307       * 313897 : [0.9] registry rewrite
1308       * 314710 : gst_buffer_create_sub doesn't copy the GST_BUFFER_FLAGS
1309       * 315895 : gst_pad_query_convert src_val check
1310       * 316155 : MinGW compilation: glib-mkenums root path subtitution pro...
1311       * 316157 : MinGW compilation: Plugin exports
1312
1313 This is GStreamer 0.9.2, "South".
1314
1315 Bugs fixed since 0.9.1:
1316
1317       * 121015 : [api] gst_clock_entry_new() seems broken
1318       * 134227 : [api] gst_clock_id_wait_async, wrong return code for defa...
1319       * 142209 : [build] Large file support broken
1320       * 154785 : Clock does not run if audio stream lacks data for a short...
1321       * 305256 : [API] Change gst_element_seek to not mix enum/flags types
1322       * 309253 : GST_DEBUG_FUNCPTR macro does illegal casting from functio...
1323       * 311004 : ghostpad bugginess
1324       * 311009 : valgrind shows undesired messages
1325       * 311848 : Renegotiation broken
1326       * 314708 : filesrc doesn't set GST_BUFFER_FLAG_READONLY on mmaped bu...