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