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