Release 0.10.18
[platform/upstream/gstreamer.git] / NEWS
1 This is GStreamer 0.10.18 "So far away"
2
3 Changes since 0.10.17:
4         
5       * New GstPoll abstraction simplifies operations on multiple fd's/sockets
6       * Various bug fixes and corrections
7       
8 Bugs fixed since 0.10.17:
9       
10       * 516187 : adding gst_collect_pads_read_buffer () collectpads
11       * 516395 : gst_buffer_create_sub does not copy flags
12       * 520756 : different registry backend configurations cause build errors
13       * 498222 : configure improvements
14       * 499127 : [multiqueue] has no documentation
15       * 505417 : Add GstPoll to core
16       * 509559 : [gstinfo]_gst_debug_init() memory leak
17       * 510194 : segmentation fault when trying to link elements.
18       * 511783 : [API] [check] add gst_check_element_push_buffer_list() etc.
19       * 513964 : [GstPad] gst_pad_get_caps don't return a copy of the caps
20       * 515469 : patch to add gst_index_set_resolver_full
21       * 519584 : gst_element_implements_interface() segfaults with 'filesr...
22       * 519698 : g_free/xmlFree mismatches in gstregistryxml
23       * 520152 : Core uses non-portable size_t and ssize_t
24       * 520671 : GstPoll needs to be ported to Windows
25       * 520808 : GstPoll's API could need some changes for Windows
26       * 520877 : registrybinary.c doesn't build cleanly on Windows/MSVC
27       * 521740 : libgstreamer.def exports not up to date
28       * 522741 : regression: gst_index_entry_free() frees string it does n...
29
30 Changes since 0.10.16:
31
32       * Fix compilation on environments that have POSIX timers but not
33         monotonic clocks
34
35 Bugs fixed since 0.10.16:
36       
37       * 512715 : gst/gstutils.c and HAVE_MONOTONIC_CLOCK
38
39 Changes since 0.10.15:
40
41       * Monotonic/Posix clock support
42       * Dumping of dot-file graph descriptions for debugging
43       * Clean-up of exported symbols
44       * Many bug-fixes and enhancements
45
46 Bugs fixed since 0.10.15:
47
48       * 497859 : --disable-gst-debug option fails compilation
49       * 339279 : [gst.URIHandler] interfaces with class-global virtual met...
50       * 498694 : Patches to avoid g_signal_emit(SIGNAL_HANDOFF) on identit...
51       * 498746 : basesink is forwarding downstream events
52       * 498767 : Hangs after end of tracks since 0.10.15
53       * 498924 : deprecate GST_PLUGIN_DEFINE_STATIC because it's not portable
54       * 499007 : [gst-plot-timeline] more options
55       * 499140 : Add check to ensure .def files are kept up-to-date
56       * 500143 : Some small improvements (limiting realloc and CPU usage )
57       * 500150 : [filesink] add property to enable buffering via setvbuf()
58       * 501560 : gst_(caps|structure)_from_string() crash if structure nam...
59       * 503131 : g_intern_string SUSE 10.2
60       * 503231 : Change to GST_BUFFER_FLAG_GAP meaning can break with base...
61       * 503417 : Build failure due uninitialized variable in function 'gst...
62       * 503590 : gstreamer-0.10.15 fails tests on ppc64
63       * 503675 : broken registry files written to disk
64       * 504499 : Messages from check no longer contain the test case name
65       * 505799 : iSight camera does not work in gstreamer
66       * 506643 : crash in fixate_value/gst_value_init_and_copy on empty li...
67       * 507957 : clean-up incomplete function declarations
68       * 508175 : GST_TIMEVAL_TO_TIME() and GST_TIMESPEC_TO_TIME() need to ...
69       * 510187 : gst_plugin_register_static() API review and GST_PLUGIN_DE...
70       * 510747 : Use $(MAKE) instead of make to fix the build if GNU make ...
71       * 511750 : Configure of prereleases 15.2-15.4 fail in OpenEmbedded M...
72
73 API additions since 0.10.15:
74
75 * GstIdentity::signal-handoffs
76 * gst_util_get_timestamp()
77 * gst_base_transform_set_gap_aware()
78 * GstFileSink::buffer-mode
79 * GstFileSink::buffer-size
80 * gst_plugin_register_static()
81
82 API deprecated since 0.10.15:
83
84 * GST_PLUGIN_DEFINE_STATIC()
85
86 Changes since 0.10.14:
87
88       * Changes for asynchronous sink management
89       * New ts-offset property on basesink for adjusting clock synchronisation
90       * New GstController LFO feature
91       * Fixes and improvements in latency measurement for live pipelines
92       * Additional documentation and docs fixes
93       * Faster typefinding
94       * More tag types added
95       * Improvements in various core elements and parent classes
96       * New unit tests
97       * Allow dumping pipelines as dot graphs
98       * GstStructures now support nesting
99       * URIHandler interface can now be implemented in bindings
100       * Many other bug-fixes and improvements
101
102 Bugs fixed since 0.10.14:
103
104       * 496722 : DSP/DSW files in win32/vs6 directory are in unix format
105       * 476514 : [queue] Doesn't forward EOS event in all cases
106       * 456573 : allow dumping pipelines as dot graphs
107       * 475723 : cleanup static caps correctly
108       * 480341 : Memory leak at fakesink (regression in cvs)
109       * 349410 : Problems with type handling
110       * 414539 : [API] Support more GST_TAG*_SORTNAME and remove MusicBrai...
111       * 459717 : [Controller] Add GstLFOControlSource that provides values...
112       * 459809 : [API] add GST_TAG_COMPOSER
113       * 461598 : Commit Hungarian translations from TP
114       * 461599 : Some files missing from POTFILES.in
115       * 464366 : program including gst/gstbuffer.h does not compile with -...
116       * 466595 : gst_index_add_association generates corrupted entries
117       * 469402 : File uri handling on windows broken
118       * 473846 : Deadlock if sink is unable to send first buffer
119       * 474371 : Can't build libsgtcontroller with VS6
120       * 474823 : tee unit test failure
121       * 478347 : GST_STATIC_PAD_TEMPLATE macro causes warnings with g++-4.2
122       * 478401 : gstbasesrc.c ref count bug
123       * 479784 : GST_PLUGIN_DEFINE() doesn't accept BSD and MIT/X11 licences
124       * 485343 : Implement a wait_eos function in basesink
125       * 487969 : allow nested GstStructures
126       * 492077 : Build issues on Windows/MSVC
127       * 493134 : Wrong GstObject signals registration
128       * 493983 : Build issues on Windows
129       * 494343 : pre-release vs6 patch
130       * 480858 : gstqueue code cleaning
131       * 486758 : queue element fails to re-negotiate caps upstream when si...
132       * 488201 : gst_segment_set_newsegment does not accumulate correctly
133       * 492729 : PAUSED- > PLAYING returns ASYNC when triggered from bus han...
134       * 494245 : [basesink] doesn't sync correctly if segment is in BYTES ...
135
136 API added since 0.10.14:
137
138       * gst_base_sink_get_last_buffer()
139       * GstBaseSink::last-buffer
140       * GstURIHandlerInterface::get_type_full
141       * GstURIHandlerInterface::get_protocols_full
142       * New tag: GST_TAG_ARTIST_SORTNAME
143       * New tag: GST_TAG_ALBUM_SORTNAME
144       * New tag: GST_TAG_TITLE_SORTNAME
145       * New tag: GST_TAG_COMPOSER
146       * gst_value_set_structure()
147       * gst_value_get_structure()
148       * GST_VALUE_HOLDS_STRUCTURE macro
149       * gst_bus_pop_filtered()
150       * gst_bus_timed_pop_filtered()
151       * gst_base_sink_wait_eos()
152       * gst_pad_peer_query()
153       * GstBaseSrc::do-timestamp
154       * gst_base_src_set_do_timestamp()
155       * gst_base_src_get_do_timestamp()
156       * GstBaseSink::ts-offset property
157       * gst_base_sink_set_ts_offset()
158       * gst_base_sink_get_ts_offset()
159       * GstBaseSink::async property
160       * gst_base_sink_set_async_enabled()
161       * gst_base_sink_is_async_enabled()
162       * gst_structure_get_uint()
163       * GstLFOControlSource and functions
164
165 Changes since 0.10.13:
166
167       * State change handling improvements
168       * New improved GstController API
169       * Multi-queue fixes and enhancements
170       * Fewer dynamic library relocations
171       * Various other fixes and improvements
172       * Parallel installability with 0.8.x series
173       * Threadsafe design and API
174
175 Bugs fixed since 0.10.13:
176
177       * 457322 : registry is read twice on startup
178       * 406632 : pkgconfigify the check for Check in configure.ac
179       * 423700 : [multiqueue] leaks memory when flushing
180       * 437457 : saving relocations for GstElementDetails
181       * 444648 : [API] add GstParamSpecFraction
182       * 444820 : build error with grammar.tab.c
183       * 448794 : state changes are racy with decodebin after rewrite for 0...
184       * 449197 : [capsfilter] Should set src pad caps on buffer
185       * 449226 : Incomplete ghostpads in xml session save
186       * 449493 : minor quoting fix in gst-feature.m4 macro
187       * 450711 : [GstController] Improve extensibility by providing a GstC...
188       * 451939 : [API] add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI
189       * 459501 : gst_registry_lookup_feature_locked is slow
190       * 462558 : Regression in async state change handling
191       * 462752 : make gst_element_class_set_details_simple args const
192       * 430682 : multiqueue doesn't output data on unlinked pads properly
193       * 462085 : registry feature hash can access invalid memory
194       * 357959 : buffer_alloc is not proxied through tee
195       * 374639 : GstTee doesn't handle pad list resyncs properly
196       * 449414 : [capsfilter] Copy of passed GstCaps taken instead of refe...
197       * 453732 : [PATCH] multiqueue returns wrong internally linked pads
198
199 API added since 0.10.13:
200
201       * Add GstParamSpecFraction, so elements can have fraction
202         properties without lots of painful string parsing (#444648).
203       * Add fail_unless_equals_float() and assert_equals_float()
204       * Add gst_type_register_static_full
205       * Add gst_element_class_set_details_simple
206       * Refactor GstController into the core controller which can take
207         a GstControlSource for providing actual values for timestamps.
208       * add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939)
209       * gst_element_factory_has_interface()
210
211 Changes since 0.10.12:
212
213       * Latency handling infrastructure for live playback scenarios
214       * State change handling changes
215       * GstController property handling improved
216       * Various bug fixes and improvements
217       * Parallel installability with 0.8.x series
218       * Threadsafe design and API
219
220 Bugs fixed since 0.10.12: 
221
222       * 440682 : gst/gstsystemclock unit test occasionally fails
223       * 342564 : Configure options causing compilation to fail
224       * 378255 : Swedish translation updated
225       * 392804 : [API] add GST_CORE_ERROR_DISABLED
226       * 412648 : [filesink] reports wrong (byte) position after seeking
227       * 413123 : No XML dependency patch
228       * 415394 : [identity] post message for imperfect streams if check-pe...
229       * 417992 : Quickly playing/pausing messes up synchronization
230       * 420106 : [basetransform] race on shutdown: setcaps func called aft...
231       * 420206 : Collectpads causes a segv. when stopping after a pad remove
232       * 421480 : Make it possible to build without libxml2 with --disable-...
233       * 421543 : [GstPad] Doesn't check if pad accepts caps after caps change
234       * 422295 : GstController crashes with quadratic and cubic interpolat...
235       * 425400 : Multiqueue leaks memory when releasing sink pads
236       * 431150 : compilation fails with flex 2.5.4
237       * 431940 : [API] add gst_buffer_try_new_and_alloc()
238       * 432876 : current time level in queue
239       * 434926 : Multilib conflicts with gst-launch-0.10 man page
240       * 435880 : [GstBin] Property to allow bins to handle child async cha...
241       * 437563 : URIs with upper-case protocol don't play
242       * 440463 : gstbin unit test sometimes hangs waiting for ASYNC_DONE m...
243       * 441159 : Regression in state change handling
244       * 349180 : gst_parse_launch is not reentrant (or recursively callable)
245       * 414986 : Don't start the async thread for the system clock until n...
246       * 393099 : GstBuffer copy vfunc broken?
247       * 419851 : pad-added and pad-removed signals parameter type incorrect
248       * 420133 : gst_element_sync_state_with_parent should look at pending...
249       * 421177 : Possible deadlock if pad eventfunc is not specified
250
251 API additions since 0.10.12:
252
253       * gst_element_change_state()
254       * GST_STATE_TARGET
255       * GST_BASE_TRANSFORM_LOCK/UNLOCK
256       * GstClock::gst_clock_unadjust_unlocked()
257       * fakesink::num-buffers property
258       * GST_CORE_ERROR_DISABLED
259       * basesrc::prepare_seek_segment vmethod
260       * gst_buffer_try_new_and_alloc()
261       * gst_buffer_copy_metadata()
262       * GstBufferCopyFlags enum
263       * GST_BUFFER_COPY_ALL flag
264       * gst_uri_protocol_is_supported()
265       * gst_base_src_query_latency()
266       * GstQueue::pushing
267       * gst_controller_suggest_next_sync()
268       * gst_object_suggest_next_sync()
269       * basesrc::unlock_stop
270       * basesink::unlock_stop
271       * GstBin::async-handling property
272       * gst_message_new_async_start()
273       * gst_message_parse_async_start()
274       * gst_message_new_async_done()
275       * GST_MESSAGE_ASYNC_START
276       * GST_MESSAGE_ASYNC_DONE
277
278 Changes since 0.10.11:
279
280       * Add a warning if GLib threading support is not properly initialised
281       * Add support for binary registry serialisation
282       * Preliminary support for pull-mode scheduling of entire chains
283       * Add support for HPPA 
284       * Collectpads fixes
285       * Lots of bug fixes
286
287 Bugs fixed since 0.10.11:
288      
289       * 378931 : Bison version check doesn't work on Solaris 9
290       * 399875 : [multiqueue] dynamic growth not implemented.
291       * 339326 : pads not set to FLUSHING when created
292       * 380129 : gst_plugin_feature_load doesn't consistently ref a return...
293       * 381301 : [patch] Make GstBus watch work with any GMainContext
294       * 383382 : Removing pads from collectpads not threadsafe
295       * 383506 : Disallow CLOCK_TIME_NONE as periodic clock id interval
296       * 387073 : gst-launch videotestsrc ! ffmpegcolorspace ! ximagesink d...
297       * 387866 : [docs] Small fix for GstCollectPads docs
298       * 391278 : g_thread_init() called too late, possibly causing memory ...
299       * 391296 : [API] add gst_update_registry() to rescan registry at run...
300       * 391777 : GStreamer does not reset SEGV trap handler
301       * 391909 : Fix compilation with MinGW
302       * 399094 : gst_pad_start_task: small doc typo
303       * 401381 : GstRegistry signals documentation is missing
304       * 401781 : [API] add GST_ROUND_DOWN_* macros
305       * 402393 : [API][GstCollectPads] Allow elements to specify destroy n...
306       * 405284 : Changing state of pipeline can lock up with preroll queue...
307       * 400656 : [PATCH] filesrc seekability detection fix (NFS and 2GB+ f...
308       * 403172 : [filesrc] doesn't handle localhost file locations
309       * 404569 : [filesrc] Unexpected end of file
310       * 161922 : script to provide plugin installation info
311       * 391915 : adapter test doesn't compile with mingw
312       * 395554 : gst_tag_setter_merge_tags works at most once
313       * 403597 : [API] Add ReplayGain reference level tag
314       * 405288 : Configure checks use pkg-config directly
315       * 381492 : [SystemClock] ClockID wait_async notification broken
316       * 382592 : Multiple wait()ers break periodic clock ids
317       * 385084 : endless ghost pad pull/push activate recursion until crash
318       * 388201 : [API] add gst_adapter_copy()
319
320 API additions since 0.10.11:
321
322       * gst_update_registry()
323       * gst_adapter_copy()
324       * GST_ROUND_DOWN_* macros
325       * GstCollectDataDestroyNotify
326       * gst_query_new_latency()
327       * gst_query_set_latency()
328       * gst_query_parse_latency()
329       * gst_message_new_lost_preroll()
330       * gst_message_parse_lost_preroll()
331       * gst_message_new_prerolled()
332       * gst_message_new_latency()
333       * gst_event_new_latency()
334       * gst_event_parse_latency()
335       * GST_TAG_REFERENCE_LEVEL
336       * gst_base_sink_query_latency()
337       * gst_base_sink_get_latency()
338       * gst_bus_timed_pop()
339       * gst_message_new_info()
340       * gst_message_parse_info()
341
342 Bugs fixed since 0.10.10:
343
344       * 363095 : [BaseTransform] Outputs empty buffers
345       * 353301 : aborts in _get_element_by_uri(), probably due to buggy el...
346       * 344639 : Separate threadsafe queuing functionnality in a separate ...
347       * 347785 : [multiqueue] New multiple input-output queue
348       * 352827 : re-negotiation issues with dynamic pipelines and level or...
349       * 357180 : [libs] gst_controller_new* functions don't increase refco...
350       * 318031 : gstreamer should use gmodule-no-export in its .pc file
351       * 340878 : Registry doesn't discard removed plugin features
352       * 345496 : No GstPadDirection in files created by GstXml
353       * 356910 : Basesrc gst_base_src_activate_push not calling base_src_s...
354       * 357593 : Generated gst-element-check.m4 installed from $(srcdir)
355       * 358436 : #include is missing in gstghostpad.c and gstquery.c
356       * 358999 : [PATCH] [GstPad] Flushing on blocked pads not handled cor...
357       * 359850 : Compiling issues on sparc with Forte
358       * 360151 : Fixes compiling with forte: disable warning as error for ...
359       * 360173 : Fixes compiling with forte: warning clean up (part 1)
360       * 360467 : [API] add gst_tag_list_is_empty ()
361       * 360860 : Fixes compiling with forte: warning clean up (part 2)
362       * 361675 : Allow applications to use libxml2 and GStreamer even if  ...
363       * 361720 : grammar project: error generating gstmarshal.c and gstmar...
364       * 361730 : wrong source file list in VC8 project
365       * 361732 : " win32\common\libgstreamer.def " lacks 'gst_caps_merge' entry
366       * 361769 : Deadlock in gstpad.c 
367       * 364388 : size variable is not always initialized in gst_base_src_s...
368       * 366321 : GST_SEGMENT_FORMAT not defined on windows
369       * 370865 : [basesrc] update segment duration in gst_base_src_update_...
370       * 371493 : Incomplete change of printf conversion specifiers in gstr...
371       * 374475 : [PATCH] minor doc typo
372       * 377332 : [PATCH] Warning with check > = 0.9.4
373       * 357617 : [libs] gst_controller_set_from_list can return without un...
374       * 358737 : _gst_event_copy sets the wrong parent_refcount on the chi...
375       * 366212 : Fix some misspellings in gstreamer core
376       * 369366 : MacOSX printf fixes for CVS
377       * 371894 : tests/examples/typefind is broken  
378       * 355499 : ensure_current_registry_forking()  fails if zombie alread...
379       * 352345 : Small race condition in the queue element
380       * 357432 : [libs] GstController needs to keep controlled objects alive
381       * 358613 : sink- > file is never reset for filesink elements, even tho...
382       * 366286 : [PATCH] fix compilation on Windows
383       * 366572 : Bad declaration in headerfile
384       * 367677 : [fdsrc] skips the first byte
385       * 369942 : [PATCH] unblocking blocked pad does not release all block...
386
387 API added since 0.10.10:
388
389       * gst_element_state_change_return_get_name
390       * gst_tag_list_is_empty
391       * gst_pad_is_blocking()
392       * GST_PAD_IS_BLOCKING() macro
393       * GST_PAD_BLOCKING GstPadFlag
394       * gst_base_src_wait_playing
395       * gst_base_sink_wait_preroll
396       * gst_message_new_buffering
397       * gst_message_parse_buffering
398
399 Bugs fixed since 0.10.9:
400      
401       * 349180 : gst_parse_launch is not reentrant (or recursively callable)
402       * 348455 : [filesrc] should not use mmap() by default, since it migh...
403       * 340674 : marry gst-debugs & plot-timeline.py
404       * 350449 : [GstBaseTransform] buffer_alloc should alway try downstream
405       * 352580 : implement proper caps merging
406       * 345444 : Linking to an audioconvert (pad-added callback) multiple ...
407       * 347293 : GstValueList comparison is flawed
408       * 347311 : element_unlink leaks its iterator wich will leak the src ...
409       * 348179 : gst_parse_lauch is not reentrant
410       * 348354 : failure in bison version detection breaks build
411       * 350419 : API: GST_SEGMENT_FORMAT printf extension for GstSegments
412       * 350879 : [init] Mark gstreamer as being initialized during registr...
413       * 350935 : API: add GST_TAG_EXTENDED_COMMENT
414       * 353976 : asssertion about element sanity in gst_registry_xml_write...
415       * 350432 : micro-optimising quarks
416       * 341029 : Ghostpads internal and target should be linked from the b...
417       * 345295 : [PATCH] gstreamer/libs/gst/net for Windows
418       * 347756 : Allow --disable-trace without --disable-parse
419       * 347794 : Do not reset SIGSEGV handler when --gst-disable-segtrap i...
420       * 348918 : application should decide whether or not to use fork() to...
421       * 349943 : [QOS] documentation/code mismatch
422       * 351768 : Unwanted concurent buffer modifications
423       * 352958 : pad_alloc_buffer and stream lock
424       * 353121 : gst_query_new_segment should initialize all structure fields
425       * 353122 : gst_element_get_bus refs the bus unconditionally
426       * 347385 : [ghostpad] gst_ghost_pad_new_from_template() method
427       * 348677 : Upgrade to 0.10.9 breaks existing applications (failed se...
428
429 API added since 0.10.9:
430      
431       * gst_segtrap_is_enabled
432       * gst_segtrap_set_enabled
433       * gst_registry_fork_is_enabled
434       * gst_registry_fork_set_enabled
435       * gst_ghost_pad_new_from_template
436       * gst_ghost_pad_new_no_target_from_template
437       * gst_caps_merge
438       * GST_TAG_EXTENDED_COMMENT
439       * GstClockCLass:wait_jitter
440       * GST_SEGMENT_FORMAT
441       * gst_structure_id_set
442       * gst_structure_id_set_valist
443
444 Changes since 0.10.8:
445
446       * The testsuite can now generate coverage information
447       * Better support for non-linear editing
448       * Removed Glib 2.6 compatibility
449       * Performance improvements on cpus that support branch hints
450       * Bug fixes
451
452 Bugs fixed since 0.10.8:
453
454       * 346730 : some warnings about enums and macros
455       * 341029 : Ghostpads internal and target should be linked from the b...
456       * 346192 : [PATCH] Pad blocking on events
457       * 347384 : [ghostpad] padtemplates shouldn't be set automatically
458       * 344115 : [patch] make more internal data const
459       * 324176 : gst-element-check-0.x.m4 should use versioned gst-inspect
460       * 330379 : Bogus commits to basesink, basetransform, collectpads
461       * 341667 : restore_from_xml breaks pad links again after creating them
462       * 344642 : tools/gst-inspect.c does not compile if --disable-nls is ...
463       * 344748 : Fails with non-writable registry
464       * 344849 : GstController doesn't handle float properties correct
465       * 345086 : [gst-feedback] calls un-versioned tools
466       * 346097 : SIGSEGV when using --gst-plugin-load
467       * 347337 : GDP does not correctly deserialize events without a struc...
468       * 347408 : basesrc causes regressions in pull with 0 bytes
469       * 345720 : Bad performance playing files off CD
470       * 331727 : make probes and Ghostpads more elegant
471       * 343196 : basetransform not handles ro/rw buffer flagging for trans...
472       * 346663 : Segmentation error with fakesrc, fakesink and a filter
473
474 Changes since 0.10.7:
475     
476       * Important fix for registry update causing applets not to load
477
478 Bugs fixed since 0.10.7:
479     
480       * 344474 : Gnome Mixer Applet doesn't want to load
481
482 Changes since 0.10.6:
483     
484       * Registry cache updating is now done in a fork, so no plugins are left
485         opened
486       * New version of data protocol now serializes events
487       * queue fixes
488       * win32 fixes
489
490 Bugs fixed since 0.10.6:
491     
492       * 338335 : [patch] memleak in gst-utils.c (leak pads from iterator)
493       * 343598 : undefined symbol in coreindexers when using --disable-loa...
494       * 336929 : GstCollectPads does not clear/reset segment info after fl...
495       * 337100 : [fakesink] add " preroll-handoff " signal
496       * 339918 : GstTagSetter merge-mode description unclear, and implemen...
497       * 340501 : [filesrc] give primary rank
498       * 341662 : gst-launch print_tags() fix
499       * 342238 : API: gst_element_seek_simple
500       * 342321 : GST_QUERY_POSITION fails if GstBaseSrc in get_range mode
501       * 342777 : rebuilding the registry leaves all plugins in memory
502       * 342820 : gstnetclientclock.c(453): servaddr used before set
503       * 343057 : gst-launch-0.10 segfaults when passed gst-plugin-path and...
504       * 343341 : [API] add GST_TAG_PREVIEW_IMAGE
505       * 343827 : leak in gst_index_gtype_resolver
506       * 343929 : Use of // in public header
507       * 343988 : data protocol needs extending to handle events better
508       * 341479 : Too many plugins loaded even for up-to-date registry
509       * 343334 : GstCollectPads testsuite and fixes
510       * 343538 : GstCollectPads doesn't reset EOS fields when stopped
511
512 API added since 0.10.6:
513
514       * gst_element_seek_simple()
515       * GST_FLOW_CUSTOM_SUCCESS
516       * GST_FLOW_CUSTOM_ERROR
517       * GST_FLOW_IS_SUCCESS
518       * gst_collect_pads_set_flushing()
519       * GST_TAG_PREVIEW_IMAGE
520       * gst_dp_crc()
521       * GstDPPacketizer
522       * GstDPVersion
523       * GstFakeSink::preroll-handoff
524       * GstFakeSink::use-mmap
525
526 Changes since 0.10.5:
527
528       * Fixes for the collectpads helper
529       * Support for proper time recording on server-trickmode streams
530         via the applied_rate parameter of the NewSegment event
531       * Many bug fixes
532
533 Bugs fixed since 0.10.5:
534
535       * 339808 : [patch] mem-leak of bin in gstbin.c
536       * 338339 : [patch] registry cache is always written
537       * 339843 : [patch] fdsink should not handle short writes and non fat...
538       * 340016 : does not build on opensolaris, must always include config...
539       * 340079 : gst-launch wrapper fails with 'No version of tool gst-lau...
540       * 340174 : locking problem in gstbasesink
541       * 340460 : gst-launch no longer supports --version
542       * 340508 : remove glib pre 2.8 hacks and compat stuff
543       * 340604 : gst_mini_object_ref () docs make no mention of writeability
544       * 340608 : leaking caps in padtemplate
545       * 340697 : gstsystemclock hangs when outputting to stdout via fdsink 
546       * 340721 : API: add GST_TAG_IMAGE
547       * 340772 : [qtdemux] bails out on Meet The Robinsons trailer
548       * 341556 : gst-launch: print image tags in a human readable form
549       * 339821 : [patch] serializing a GValue with a NULL buffer crashes
550
551 API added since 0.10.5:
552
553       * gst_adapter_take_buffer()
554       * GST_TAG_IMAGE tag added.
555       * gst_event_new_new_segment_full()
556       * gst_event_parse_new_segment_full()
557       * GstSegment::applied_rate field
558       * gst_segment_set_newsegment_full()
559
560 Changes since 0.10.4:
561
562       * QoS in BaseTransform
563       * gcc 4.1 fixes
564       * BaseTransform reworked
565       * Bus reworked; signal API added
566
567 Bugs fixed since 0.10.4:
568     
569       * 131079 : [PATCH] [api] loading a class leaves elementfactory blank
570       * 317048 : gstreamer Cygwin build fixes
571       * 325599 : Build fails with GCC 4.1
572       * 327315 : GStreamer CVS head files to build with GCC 4.1
573       * 331248 : [basesink] filesink spews warnings when used with flacenc
574       * 332151 : xml registry loader should use mmap() where possible
575       * 332390 : [GstQueue/GstPad] queue pauses immediately when linked, p...
576       * 332986 : Something wrong in caps checking...
577       * 334109 : pkg-config files must link with the same check library th...
578       * 334303 : Stale libgnomeui check in configure
579       * 334434 : Missing functions in def files for dlls
580       * 335195 : GST_BOILERPLATE_FULL etc isn' optimised
581       * 335480 : start with debugging disabled
582       * 335513 : totem goes (and stays) out of sync when running bittorrent
583       * 336336 : [queue] Queue might block in EOS
584       * 336945 : [filesink] throws error when writing 0 bytes
585       * 337103 : small cleanup in gstplugin.c
586       * 337386 : Pipeline bus is not initially flushing
587       * 338711 : Internal data flow error with latest updates for FC5 with...
588       * 326311 : basesink does not call the PAUSED- > PLAYING change_state f...
589       * 326998 : GstBaseSrc's send_event handler ignores seek requests aft...
590
591 API added since 0.10.4:
592
593       * gst_controller_unset_all()
594       * gst_pad_query_peer_position()
595       * gst_pad_query_peer_duration()
596       * gst_pad_query_peer_convert()
597       * GstBaseSink::async_play()
598       * GstBaseSrc::qos
599       * gst_base_sink_set_qos_enabled()
600       * gst_base_sink_is_qos_enabled()
601       * gst_base_transform_update_qos()
602       * gst_base_transform_set_qos_enabled()
603       * gst_base_transform_is_qos_enabled()
604       * gst_pipeline_get_delay()
605       * gst_pipeline_set_delay()
606
607 Changes since 0.10.3:
608     
609       * Parallel installability with 0.8.x series
610       * Threadsafe design and API
611       * 33% of library size removed by parse change
612       * (Experimental) QoS features (use max-lateness on BaseSink subclasses to enable)
613
614 Bugs fixed since 0.10.3:
615     
616       * 323542 : GStreamer 0.10 hangs at EOS for all songs
617       * 320340 : triggering a gst_task_join from the streaming task can de...
618       * 322628 : document thread-unsafety of gst_value_foo() + gst_value_r...
619       * 324186 : Smarter (deterministic!) typefind decisions
620       * 324398 : varargs/valist functions aren't bindable
621       * 328873 : only one gst_bin_recalc_state allowed at a time
622       * 330899 : CVS directory in make dist tarball
623       * 330906 : API: add GST_QUERY_TYPE_NAME and GST_MESSAGE_TYPE_NAME
624       * 330996 : basesrc emits EOS unconditionally when going to READY
625       * 331255 : Shrinking gst_parse_launch bloat
626       * 331898 : Basetranform is not reusable
627       * 332045 : API: GstPipeline needs API to disable  flushing of its bu...
628       * 332277 : [filesrc] seek does not correct read position in non-mmap...
629       * 332611 : [basesrc] needs way to prevent expensive start/stop in ch...
630       * 332723 : New API: gst_type_find_helper_for_buffer
631       * 333042 : New API: gst_type_find_helper_get_range
632       * 333266 : Registry file writing rewrite
633       * 333272 : tests should set G_SLICE=always-malloc now
634       * 333417 : GST_BOILERPLATE_WITH_INTERFACE can't be used in C++ code
635       * 333669 : Add pad accessor defines for GstBaseTransform
636       * 333779 : New API: add gst_uri_has_protocol
637       * 324818 : gst_registry_get_default doesn't sink newly created registry
638       * 330125 : _pad_send_event does not check flushing correctly
639       * 330684 : Add ability to emit sync-message without messing with the...
640  
641 API added since 0.10.3:
642     
643       * gst_pipeline_set_auto_flush_bus()
644       * gst_pipeline_get_auto_flush_bus()
645       * gst_uri_has_protocol()
646       * gst_pipeline_set_max_lateness()
647       * gst_pipeline_get_max_lateness()
648       * gst_pipeline_get_sync()
649       * gst_pipeline_do_sync()
650       * GST_BASE_TRANSFORM_SRC_PAD()
651       * GST_BASE_TRANSFORM_SINK_PAD()
652       * GstBaseSrc::check_get_range()
653       * GstBaseSink::max-lateness
654       * gst_type_find_helper_get_range()
655       * gst_type_find_helper_for_buffer()
656       * GST_MESSAGE_TYPE_NAME()
657       * GST_QUERY_TYPE_NAME()
658       * gst_bus_enable_sync_message_emission()
659       * gst_bus_disable_sync_message_emission()
660
661 Changes since 0.10.2:
662
663       * Documentation updates
664       * Bug fixes
665       * Base class improvements
666       * Extra utility API
667       * More elements ported from 0.8
668       * Fixes for win32 build.
669
670 Changes since 0.10.1:
671     
672       * documentation updates
673       * bug fixes
674
675 Bugs fixed since 0.10.1:
676     
677       * 325429 : GST_BOILERPLATE_FULL can't be used when compiling with -W...
678       * 316086 : MinGW compilation: fileindexer depends on mmap
679
680 Changes since 0.10.0:
681     
682       * element factory leak fixes
683       * tests cleanup
684       * BaseSrc seeking in other format than BYTES
685       * collectpad fixes
686
687 Bugs fixed since 0.10.0:
688     
689       * 322441 : getcontext() in common/m4/gst-mcsc.m4 uses incorrect stac...
690       * 323041 : [BASESRC] basesrc does not handle a seek to non-bytes for...
691       * 323870 : [tools] gst-feedback needs updating for 0.9/0.10
692       * 323882 : gst-launch manpage needs updates
693       * 323905 : use return val of g_list_append
694
695 API added since 0.10.0:
696      
697       * GST_TYPE_STATIC_CAPS
698       * GST_TYPE_STATIC_PAD_TEMPLATE
699       * GstNetTimeProvider::active
700       * gst_base_src_set_format
701
702 Changes from the 0.8 series to 0.10 series:
703
704       * Refcounting and API revised for thread safety, see rules in
705         docs/design/part-MT-refcounting.txt
706
707       * Scheduling is now done by the elements, they start/stop
708         processing threads themselves. This removes the need for 
709         a separate scheduler.
710
711       * State changes now happen from sink to source. This makes sure
712         that downstream elements are ready to process data when upstream
713         starts producing.
714
715       * EOS/ERROR/... does not change the state of elements anymore. This
716         means that when the application sets the state on an element, it
717         remains in this state.
718
719       * GMainLoop integration. Information on the state of the pipeline
720         is now received in the mainloop via the GstBus.
721
722       * Events move separate from the datastream, this allows for both
723         in and out of sync delivery of events.
724
725       * Generic _pull() replaced by _pull_region() so that random access
726         can be made faster.
727
728       * data passing happens from PAUSED, called the preroll phase. In this
729         state no data is rendered but it is queued in the sinks.
730
731       * negotiation simplified. Caps are now attached to buffers and travel
732         along with the datastream. 
733
734       * GstBuffer is now subclassable.
735
736       * Ghostpads now look and feel like real pads.
737
738       * New Seeking/flushing policy.
739
740       * Addition of base classes and helper functions in the core to abstract
741         away the harder parts of plugin development.
742
743 Changes since 0.9.7:
744
745       * added Traditional Chinese translation
746
747 Bugs fixed since 0.9.7:
748     
749       * 322874 : [PAD] pad_alloc_buffer should not call set_caps
750       * 323222 : GStreamer 0.9.7 still checks in dirs containing 0.9
751       * 323250 : [collectpads] debug category should be called 'collectpad...
752
753 Changes since 0.9.6:
754     
755       * bumped major/minor to 0.10
756       * API cleanup
757       * PluginFeature and TypeFind leak fixes
758       * cleaned up source tree
759       * added plugin documentation for core elements
760       * fixes for stripped core
761
762 Bugs fixed since 0.9.6:
763     
764       * 320529 : [API] gst_event_new_segment mentions " stream_time " as an ...
765       * 321917 : quicktime with two video tracks and extra foo, makes tote...
766       * 322257 : Fix gstnet library name
767       * 322427 : gst-compprep aborts with 'double free or corruption'
768       * 322429 : Filesink seeking problem
769       * 322626 : Strings in gst-launch.c adn gstdebug.c are horrid
770       * 322708 : gst_plugin_load_file leaks a reference to a GstPlugin
771       * 322751 : gst_ghost_pad_get_target borks on pads without target
772       * 322842 : GStreamer-CRITICAL in GstBaseSink and GstBaseTransform
773
774 Changes since 0.9.5:
775     
776       * API changes and clean-up
777       * Extensive documentation updates
778       * remove GLib 2.4 compatibility
779       * added clock selection
780       * added network clocking
781       * added fd:// URI handler
782       * added more fraction functionality
783
784 Bugs fixed since 0.9.5:
785     
786       * 143472 : [api] gst_tag_list_foreach() takes a non-const GstTagList*
787       * 156633 : [API] don't use same API for arrays as for normal lists
788       * 164168 : circular pipeline fails to negotiate
789       * 165650 : [API] gst_value_deserialize doesn't work correctly for NU...
790       * 168438 : [API] GstIndexFilter doesn't receive user_data
791       * 168494 : [API] gst_index_add_object() does nothing
792       * 305291 : Obnoxious bug-filing request
793       * 311489 : Possible gstghostpad locking problems
794       * 319178 : [API] finish filler events and support them in GstCollect...
795       * 319388 : 0.9 API changes tracker
796       * 319389 : state change updates obsolete some functions
797       * 319392 : GstEventType is not bindings-friendly
798       * 319395 : Macro name/visibility API bugs
799       * 319940 : Use GLIB macros for GCC extensions
800       * 320060 : add a CORE error category for missing ELEMENTS/PLUGINS
801       * 320097 : GST_BUFFER_FLAG_ORIGINAL should die
802       * 320113 : [API] duration message changes
803       * 320299 : gst_pad_send_event should take stream lock for serialized...
804       * 320324 : [API] GST_FOURCC_FORMAT should drop leading '%'
805       * 320423 : [API] padding for GstCollectData
806       * 320766 : [API] collect pads API changes
807       * 321061 : GstURI not used
808       * 321235 : [API] GST_PAD_IS_USABLE should be removed
809       * 321386 : [SEGFAULT] basetransform when doing reverse caps negotiation
810       * 321452 : GstPad's " template " property is b0rked
811       * 321528 : capsfilter: assertion `caps != NULL' failed
812       * 321595 : GstBin doesn't clean the message queue when changing stat...
813       * 321638 : Don't use // style comments in headers
814       * 321648 : Wrong type check in gst_message_parse_clock_lost
815       * 321710 : GstClock resolution functions should take a GstClockTime
816       * 321712 : GstClock adjust function changes
817       * 321875 : gst_plugin_check_file disappeared
818       * 321950 : gst_registry_scan_paths lacks implementation
819       * 321962 : [easyfix] gst_value_is_fixed uses gst_value_list_* on GST...
820       * 322027 : [API] Rename gst_caps_structure_fixate_* to gst_structure...
821       * 322034 : Elements should be updated not to take the stream lock in...
822       * 322069 : Names of GstTagSetter methods should be more descriptive
823       * 322134 : API master/slave clocks
824       * 322139 : our elements are confused about GEnumValue and which is t...
825   
826 Changes since 0.9.4:
827     
828       * gst_bus_poll and signal watch now see the same messages
829       * clock sync in BaseSrc class
830       * API documentation updates
831       * Bus reworked; signal API added
832
833 Bugs fixed since 0.9.4:
834     
835       * 317341 : after linking ghost pads, one target pad does not have a ...
836       * 320774 : basesrc commit broke typefinding
837
838 Changes since 0.9.3:
839
840       * state lock redefined
841       * Extensive documentation updates
842       * BaseTransform reworked
843       * Bus reworked; signal API added
844
845 Bugs fixed since 0.9.3:
846
847       * 111146 : new GstThread fails on pipeline with errors
848       * 169772 : [PATCH] GOption command-line parsing
849       * 170777 : use GST_TYPE_DATE for GST_TAG_DATE
850       * 315050 : [API] consider using GstClockTime instead of GTimeVal in ...
851       * 315126 : filesrc + forced caps should be possible
852       * 315383 : gst-launch shouldn't run broken pipelines
853       * 317041 : GstObject flags should be made real flags
854       * 318447 : gst_bin_iterate_sorted: Invalid call to gst_iterator_new
855
856 Changes since 0.9.2:
857
858       * gst-register has been removed
859       * Extensive documentation updates
860       * BaseTransform reworked
861       * Bus reworked; signal API added
862
863 Bugs fixed since 0.9.2:
864
865       * 102980 : support incremental gst-register/compprep updates
866       * 313897 : [0.9] registry rewrite
867       * 314710 : gst_buffer_create_sub doesn't copy the GST_BUFFER_FLAGS
868       * 315895 : gst_pad_query_convert src_val check
869       * 316155 : MinGW compilation: glib-mkenums root path subtitution pro...
870       * 316157 : MinGW compilation: Plugin exports
871
872 This is GStreamer 0.9.2, "South".
873
874 Bugs fixed since 0.9.1:
875
876       * 121015 : [api] gst_clock_entry_new() seems broken
877       * 134227 : [api] gst_clock_id_wait_async, wrong return code for defa...
878       * 142209 : [build] Large file support broken
879       * 154785 : Clock does not run if audio stream lacks data for a short...
880       * 305256 : [API] Change gst_element_seek to not mix enum/flags types
881       * 309253 : GST_DEBUG_FUNCPTR macro does illegal casting from functio...
882       * 311004 : ghostpad bugginess
883       * 311009 : valgrind shows undesired messages
884       * 311848 : Renegotiation broken
885       * 314708 : filesrc doesn't set GST_BUFFER_FLAG_READONLY on mmaped bu...