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