Release 0.10.13 "With or without you"
[platform/upstream/gstreamer.git] / NEWS
1 This is GStreamerĀ 0.10.13 "With or without you"
2
3 Changes since 0.10.12:
4
5       * Latency handling infrastructure for live playback scenarios
6       * State change handling changes
7       * GstController property handling improved
8       * Various bug fixes and improvements
9       * Parallel installability with 0.8.x series
10       * Threadsafe design and API
11
12 Bugs fixed since 0.10.12: 
13
14       * 440682 : gst/gstsystemclock unit test occasionally fails
15       * 342564 : Configure options causing compilation to fail
16       * 378255 : Swedish translation updated
17       * 392804 : [API] add GST_CORE_ERROR_DISABLED
18       * 412648 : [filesink] reports wrong (byte) position after seeking
19       * 413123 : No XML dependency patch
20       * 415394 : [identity] post message for imperfect streams if check-pe...
21       * 417992 : Quickly playing/pausing messes up synchronization
22       * 420106 : [basetransform] race on shutdown: setcaps func called aft...
23       * 420206 : Collectpads causes a segv. when stopping after a pad remove
24       * 421480 : Make it possible to build without libxml2 with --disable-...
25       * 421543 : [GstPad] Doesn't check if pad accepts caps after caps change
26       * 422295 : GstController crashes with quadratic and cubic interpolat...
27       * 425400 : Multiqueue leaks memory when releasing sink pads
28       * 431150 : compilation fails with flex 2.5.4
29       * 431940 : [API] add gst_buffer_try_new_and_alloc()
30       * 432876 : current time level in queue
31       * 434926 : Multilib conflicts with gst-launch-0.10 man page
32       * 435880 : [GstBin] Property to allow bins to handle child async cha...
33       * 437563 : URIs with upper-case protocol don't play
34       * 440463 : gstbin unit test sometimes hangs waiting for ASYNC_DONE m...
35       * 441159 : Regression in state change handling
36       * 349180 : gst_parse_launch is not reentrant (or recursively callable)
37       * 414986 : Don't start the async thread for the system clock until n...
38       * 393099 : GstBuffer copy vfunc broken?
39       * 419851 : pad-added and pad-removed signals parameter type incorrect
40       * 420133 : gst_element_sync_state_with_parent should look at pending...
41       * 421177 : Possible deadlock if pad eventfunc is not specified
42
43 API additions since 0.10.12:
44
45       * gst_element_change_state()
46       * GST_STATE_TARGET
47       * GST_BASE_TRANSFORM_LOCK/UNLOCK
48       * GstClock::gst_clock_unadjust_unlocked()
49       * fakesink::num-buffers property
50       * GST_CORE_ERROR_DISABLED
51       * basesrc::prepare_seek_segment vmethod
52       * gst_buffer_try_new_and_alloc()
53       * gst_buffer_copy_metadata()
54       * GstBufferCopyFlags enum
55       * GST_BUFFER_COPY_ALL flag
56       * gst_uri_protocol_is_supported()
57       * gst_base_src_query_latency()
58       * GstQueue::pushing
59       * gst_controller_suggest_next_sync()
60       * gst_object_suggest_next_sync()
61       * basesrc::unlock_stop
62       * basesink::unlock_stop
63       * GstBin::async-handling property
64       * gst_message_new_async_start()
65       * gst_message_parse_async_start()
66       * gst_message_new_async_done()
67       * GST_MESSAGE_ASYNC_START
68       * GST_MESSAGE_ASYNC_DONE
69
70 Changes since 0.10.11:
71
72       * Add a warning if GLib threading support is not properly initialised
73       * Add support for binary registry serialisation
74       * Preliminary support for pull-mode scheduling of entire chains
75       * Add support for HPPA 
76       * Collectpads fixes
77       * Lots of bug fixes
78
79 Bugs fixed since 0.10.11:
80      
81       * 378931 : Bison version check doesn't work on Solaris 9
82       * 399875 : [multiqueue] dynamic growth not implemented.
83       * 339326 : pads not set to FLUSHING when created
84       * 380129 : gst_plugin_feature_load doesn't consistently ref a return...
85       * 381301 : [patch] Make GstBus watch work with any GMainContext
86       * 383382 : Removing pads from collectpads not threadsafe
87       * 383506 : Disallow CLOCK_TIME_NONE as periodic clock id interval
88       * 387073 : gst-launch videotestsrc ! ffmpegcolorspace ! ximagesink d...
89       * 387866 : [docs] Small fix for GstCollectPads docs
90       * 391278 : g_thread_init() called too late, possibly causing memory ...
91       * 391296 : [API] add gst_update_registry() to rescan registry at run...
92       * 391777 : GStreamer does not reset SEGV trap handler
93       * 391909 : Fix compilation with MinGW
94       * 399094 : gst_pad_start_task: small doc typo
95       * 401381 : GstRegistry signals documentation is missing
96       * 401781 : [API] add GST_ROUND_DOWN_* macros
97       * 402393 : [API][GstCollectPads] Allow elements to specify destroy n...
98       * 405284 : Changing state of pipeline can lock up with preroll queue...
99       * 400656 : [PATCH] filesrc seekability detection fix (NFS and 2GB+ f...
100       * 403172 : [filesrc] doesn't handle localhost file locations
101       * 404569 : [filesrc] Unexpected end of file
102       * 161922 : script to provide plugin installation info
103       * 391915 : adapter test doesn't compile with mingw
104       * 395554 : gst_tag_setter_merge_tags works at most once
105       * 403597 : [API] Add ReplayGain reference level tag
106       * 405288 : Configure checks use pkg-config directly
107       * 381492 : [SystemClock] ClockID wait_async notification broken
108       * 382592 : Multiple wait()ers break periodic clock ids
109       * 385084 : endless ghost pad pull/push activate recursion until crash
110       * 388201 : [API] add gst_adapter_copy()
111
112 API additions since 0.10.11:
113
114       * gst_update_registry()
115       * gst_adapter_copy()
116       * GST_ROUND_DOWN_* macros
117       * GstCollectDataDestroyNotify
118       * gst_query_new_latency()
119       * gst_query_set_latency()
120       * gst_query_parse_latency()
121       * gst_message_new_lost_preroll()
122       * gst_message_parse_lost_preroll()
123       * gst_message_new_prerolled()
124       * gst_message_new_latency()
125       * gst_event_new_latency()
126       * gst_event_parse_latency()
127       * GST_TAG_REFERENCE_LEVEL
128       * gst_base_sink_query_latency()
129       * gst_base_sink_get_latency()
130       * gst_bus_timed_pop()
131       * gst_message_new_info()
132       * gst_message_parse_info()
133
134 Bugs fixed since 0.10.10:
135
136       * 363095 : [BaseTransform] Outputs empty buffers
137       * 353301 : aborts in _get_element_by_uri(), probably due to buggy el...
138       * 344639 : Separate threadsafe queuing functionnality in a separate ...
139       * 347785 : [multiqueue] New multiple input-output queue
140       * 352827 : re-negotiation issues with dynamic pipelines and level or...
141       * 357180 : [libs] gst_controller_new* functions don't increase refco...
142       * 318031 : gstreamer should use gmodule-no-export in its .pc file
143       * 340878 : Registry doesn't discard removed plugin features
144       * 345496 : No GstPadDirection in files created by GstXml
145       * 356910 : Basesrc gst_base_src_activate_push not calling base_src_s...
146       * 357593 : Generated gst-element-check.m4 installed from $(srcdir)
147       * 358436 : #include is missing in gstghostpad.c and gstquery.c
148       * 358999 : [PATCH] [GstPad] Flushing on blocked pads not handled cor...
149       * 359850 : Compiling issues on sparc with Forte
150       * 360151 : Fixes compiling with forte: disable warning as error for ...
151       * 360173 : Fixes compiling with forte: warning clean up (part 1)
152       * 360467 : [API] add gst_tag_list_is_empty ()
153       * 360860 : Fixes compiling with forte: warning clean up (part 2)
154       * 361675 : Allow applications to use libxml2 and GStreamer even if  ...
155       * 361720 : grammar project: error generating gstmarshal.c and gstmar...
156       * 361730 : wrong source file list in VC8 project
157       * 361732 : " win32\common\libgstreamer.def " lacks 'gst_caps_merge' entry
158       * 361769 : Deadlock in gstpad.c 
159       * 364388 : size variable is not always initialized in gst_base_src_s...
160       * 366321 : GST_SEGMENT_FORMAT not defined on windows
161       * 370865 : [basesrc] update segment duration in gst_base_src_update_...
162       * 371493 : Incomplete change of printf conversion specifiers in gstr...
163       * 374475 : [PATCH] minor doc typo
164       * 377332 : [PATCH] Warning with check > = 0.9.4
165       * 357617 : [libs] gst_controller_set_from_list can return without un...
166       * 358737 : _gst_event_copy sets the wrong parent_refcount on the chi...
167       * 366212 : Fix some misspellings in gstreamer core
168       * 369366 : MacOSX printf fixes for CVS
169       * 371894 : tests/examples/typefind is broken  
170       * 355499 : ensure_current_registry_forking()  fails if zombie alread...
171       * 352345 : Small race condition in the queue element
172       * 357432 : [libs] GstController needs to keep controlled objects alive
173       * 358613 : sink- > file is never reset for filesink elements, even tho...
174       * 366286 : [PATCH] fix compilation on Windows
175       * 366572 : Bad declaration in headerfile
176       * 367677 : [fdsrc] skips the first byte
177       * 369942 : [PATCH] unblocking blocked pad does not release all block...
178
179 API added since 0.10.10:
180
181       * gst_element_state_change_return_get_name
182       * gst_tag_list_is_empty
183       * gst_pad_is_blocking()
184       * GST_PAD_IS_BLOCKING() macro
185       * GST_PAD_BLOCKING GstPadFlag
186       * gst_base_src_wait_playing
187       * gst_base_sink_wait_preroll
188       * gst_message_new_buffering
189       * gst_message_parse_buffering
190
191 Bugs fixed since 0.10.9:
192      
193       * 349180 : gst_parse_launch is not reentrant (or recursively callable)
194       * 348455 : [filesrc] should not use mmap() by default, since it migh...
195       * 340674 : marry gst-debugs & plot-timeline.py
196       * 350449 : [GstBaseTransform] buffer_alloc should alway try downstream
197       * 352580 : implement proper caps merging
198       * 345444 : Linking to an audioconvert (pad-added callback) multiple ...
199       * 347293 : GstValueList comparison is flawed
200       * 347311 : element_unlink leaks its iterator wich will leak the src ...
201       * 348179 : gst_parse_lauch is not reentrant
202       * 348354 : failure in bison version detection breaks build
203       * 350419 : API: GST_SEGMENT_FORMAT printf extension for GstSegments
204       * 350879 : [init] Mark gstreamer as being initialized during registr...
205       * 350935 : API: add GST_TAG_EXTENDED_COMMENT
206       * 353976 : asssertion about element sanity in gst_registry_xml_write...
207       * 350432 : micro-optimising quarks
208       * 341029 : Ghostpads internal and target should be linked from the b...
209       * 345295 : [PATCH] gstreamer/libs/gst/net for Windows
210       * 347756 : Allow --disable-trace without --disable-parse
211       * 347794 : Do not reset SIGSEGV handler when --gst-disable-segtrap i...
212       * 348918 : application should decide whether or not to use fork() to...
213       * 349943 : [QOS] documentation/code mismatch
214       * 351768 : Unwanted concurent buffer modifications
215       * 352958 : pad_alloc_buffer and stream lock
216       * 353121 : gst_query_new_segment should initialize all structure fields
217       * 353122 : gst_element_get_bus refs the bus unconditionally
218       * 347385 : [ghostpad] gst_ghost_pad_new_from_template() method
219       * 348677 : Upgrade to 0.10.9 breaks existing applications (failed se...
220
221 API added since 0.10.9:
222      
223       * gst_segtrap_is_enabled
224       * gst_segtrap_set_enabled
225       * gst_registry_fork_is_enabled
226       * gst_registry_fork_set_enabled
227       * gst_ghost_pad_new_from_template
228       * gst_ghost_pad_new_no_target_from_template
229       * gst_caps_merge
230       * GST_TAG_EXTENDED_COMMENT
231       * GstClockCLass:wait_jitter
232       * GST_SEGMENT_FORMAT
233       * gst_structure_id_set
234       * gst_structure_id_set_valist
235
236 Changes since 0.10.8:
237
238       * The testsuite can now generate coverage information
239       * Better support for non-linear editing
240       * Removed Glib 2.6 compatibility
241       * Performance improvements on cpus that support branch hints
242       * Bug fixes
243
244 Bugs fixed since 0.10.8:
245
246       * 346730 : some warnings about enums and macros
247       * 341029 : Ghostpads internal and target should be linked from the b...
248       * 346192 : [PATCH] Pad blocking on events
249       * 347384 : [ghostpad] padtemplates shouldn't be set automatically
250       * 344115 : [patch] make more internal data const
251       * 324176 : gst-element-check-0.x.m4 should use versioned gst-inspect
252       * 330379 : Bogus commits to basesink, basetransform, collectpads
253       * 341667 : restore_from_xml breaks pad links again after creating them
254       * 344642 : tools/gst-inspect.c does not compile if --disable-nls is ...
255       * 344748 : Fails with non-writable registry
256       * 344849 : GstController doesn't handle float properties correct
257       * 345086 : [gst-feedback] calls un-versioned tools
258       * 346097 : SIGSEGV when using --gst-plugin-load
259       * 347337 : GDP does not correctly deserialize events without a struc...
260       * 347408 : basesrc causes regressions in pull with 0 bytes
261       * 345720 : Bad performance playing files off CD
262       * 331727 : make probes and Ghostpads more elegant
263       * 343196 : basetransform not handles ro/rw buffer flagging for trans...
264       * 346663 : Segmentation error with fakesrc, fakesink and a filter
265
266 Changes since 0.10.7:
267     
268       * Important fix for registry update causing applets not to load
269
270 Bugs fixed since 0.10.7:
271     
272       * 344474 : Gnome Mixer Applet doesn't want to load
273
274 Changes since 0.10.6:
275     
276       * Registry cache updating is now done in a fork, so no plugins are left
277         opened
278       * New version of data protocol now serializes events
279       * queue fixes
280       * win32 fixes
281
282 Bugs fixed since 0.10.6:
283     
284       * 338335 : [patch] memleak in gst-utils.c (leak pads from iterator)
285       * 343598 : undefined symbol in coreindexers when using --disable-loa...
286       * 336929 : GstCollectPads does not clear/reset segment info after fl...
287       * 337100 : [fakesink] add " preroll-handoff " signal
288       * 339918 : GstTagSetter merge-mode description unclear, and implemen...
289       * 340501 : [filesrc] give primary rank
290       * 341662 : gst-launch print_tags() fix
291       * 342238 : API: gst_element_seek_simple
292       * 342321 : GST_QUERY_POSITION fails if GstBaseSrc in get_range mode
293       * 342777 : rebuilding the registry leaves all plugins in memory
294       * 342820 : gstnetclientclock.c(453): servaddr used before set
295       * 343057 : gst-launch-0.10 segfaults when passed gst-plugin-path and...
296       * 343341 : [API] add GST_TAG_PREVIEW_IMAGE
297       * 343827 : leak in gst_index_gtype_resolver
298       * 343929 : Use of // in public header
299       * 343988 : data protocol needs extending to handle events better
300       * 341479 : Too many plugins loaded even for up-to-date registry
301       * 343334 : GstCollectPads testsuite and fixes
302       * 343538 : GstCollectPads doesn't reset EOS fields when stopped
303
304 API added since 0.10.6:
305
306       * gst_element_seek_simple()
307       * GST_FLOW_CUSTOM_SUCCESS
308       * GST_FLOW_CUSTOM_ERROR
309       * GST_FLOW_IS_SUCCESS
310       * gst_collect_pads_set_flushing()
311       * GST_TAG_PREVIEW_IMAGE
312       * gst_dp_crc()
313       * GstDPPacketizer
314       * GstDPVersion
315       * GstFakeSink::preroll-handoff
316       * GstFakeSink::use-mmap
317
318 Changes since 0.10.5:
319
320       * Fixes for the collectpads helper
321       * Support for proper time recording on server-trickmode streams
322         via the applied_rate parameter of the NewSegment event
323       * Many bug fixes
324
325 Bugs fixed since 0.10.5:
326
327       * 339808 : [patch] mem-leak of bin in gstbin.c
328       * 338339 : [patch] registry cache is always written
329       * 339843 : [patch] fdsink should not handle short writes and non fat...
330       * 340016 : does not build on opensolaris, must always include config...
331       * 340079 : gst-launch wrapper fails with 'No version of tool gst-lau...
332       * 340174 : locking problem in gstbasesink
333       * 340460 : gst-launch no longer supports --version
334       * 340508 : remove glib pre 2.8 hacks and compat stuff
335       * 340604 : gst_mini_object_ref () docs make no mention of writeability
336       * 340608 : leaking caps in padtemplate
337       * 340697 : gstsystemclock hangs when outputting to stdout via fdsink 
338       * 340721 : API: add GST_TAG_IMAGE
339       * 340772 : [qtdemux] bails out on Meet The Robinsons trailer
340       * 341556 : gst-launch: print image tags in a human readable form
341       * 339821 : [patch] serializing a GValue with a NULL buffer crashes
342
343 API added since 0.10.5:
344
345       * gst_adapter_take_buffer()
346       * GST_TAG_IMAGE tag added.
347       * gst_event_new_new_segment_full()
348       * gst_event_parse_new_segment_full()
349       * GstSegment::applied_rate field
350       * gst_segment_set_newsegment_full()
351
352 Changes since 0.10.4:
353
354       * QoS in BaseTransform
355       * gcc 4.1 fixes
356       * BaseTransform reworked
357       * Bus reworked; signal API added
358
359 Bugs fixed since 0.10.4:
360     
361       * 131079 : [PATCH] [api] loading a class leaves elementfactory blank
362       * 317048 : gstreamer Cygwin build fixes
363       * 325599 : Build fails with GCC 4.1
364       * 327315 : GStreamer CVS head files to build with GCC 4.1
365       * 331248 : [basesink] filesink spews warnings when used with flacenc
366       * 332151 : xml registry loader should use mmap() where possible
367       * 332390 : [GstQueue/GstPad] queue pauses immediately when linked, p...
368       * 332986 : Something wrong in caps checking...
369       * 334109 : pkg-config files must link with the same check library th...
370       * 334303 : Stale libgnomeui check in configure
371       * 334434 : Missing functions in def files for dlls
372       * 335195 : GST_BOILERPLATE_FULL etc isn' optimised
373       * 335480 : start with debugging disabled
374       * 335513 : totem goes (and stays) out of sync when running bittorrent
375       * 336336 : [queue] Queue might block in EOS
376       * 336945 : [filesink] throws error when writing 0 bytes
377       * 337103 : small cleanup in gstplugin.c
378       * 337386 : Pipeline bus is not initially flushing
379       * 338711 : Internal data flow error with latest updates for FC5 with...
380       * 326311 : basesink does not call the PAUSED- > PLAYING change_state f...
381       * 326998 : GstBaseSrc's send_event handler ignores seek requests aft...
382
383 API added since 0.10.4:
384
385       * gst_controller_unset_all()
386       * gst_pad_query_peer_position()
387       * gst_pad_query_peer_duration()
388       * gst_pad_query_peer_convert()
389       * GstBaseSink::async_play()
390       * GstBaseSrc::qos
391       * gst_base_sink_set_qos_enabled()
392       * gst_base_sink_is_qos_enabled()
393       * gst_base_transform_update_qos()
394       * gst_base_transform_set_qos_enabled()
395       * gst_base_transform_is_qos_enabled()
396       * gst_pipeline_get_delay()
397       * gst_pipeline_set_delay()
398
399 Changes since 0.10.3:
400     
401       * Parallel installability with 0.8.x series
402       * Threadsafe design and API
403       * 33% of library size removed by parse change
404       * (Experimental) QoS features (use max-lateness on BaseSink subclasses to enable)
405
406 Bugs fixed since 0.10.3:
407     
408       * 323542 : GStreamer 0.10 hangs at EOS for all songs
409       * 320340 : triggering a gst_task_join from the streaming task can de...
410       * 322628 : document thread-unsafety of gst_value_foo() + gst_value_r...
411       * 324186 : Smarter (deterministic!) typefind decisions
412       * 324398 : varargs/valist functions aren't bindable
413       * 328873 : only one gst_bin_recalc_state allowed at a time
414       * 330899 : CVS directory in make dist tarball
415       * 330906 : API: add GST_QUERY_TYPE_NAME and GST_MESSAGE_TYPE_NAME
416       * 330996 : basesrc emits EOS unconditionally when going to READY
417       * 331255 : Shrinking gst_parse_launch bloat
418       * 331898 : Basetranform is not reusable
419       * 332045 : API: GstPipeline needs API to disable  flushing of its bu...
420       * 332277 : [filesrc] seek does not correct read position in non-mmap...
421       * 332611 : [basesrc] needs way to prevent expensive start/stop in ch...
422       * 332723 : New API: gst_type_find_helper_for_buffer
423       * 333042 : New API: gst_type_find_helper_get_range
424       * 333266 : Registry file writing rewrite
425       * 333272 : tests should set G_SLICE=always-malloc now
426       * 333417 : GST_BOILERPLATE_WITH_INTERFACE can't be used in C++ code
427       * 333669 : Add pad accessor defines for GstBaseTransform
428       * 333779 : New API: add gst_uri_has_protocol
429       * 324818 : gst_registry_get_default doesn't sink newly created registry
430       * 330125 : _pad_send_event does not check flushing correctly
431       * 330684 : Add ability to emit sync-message without messing with the...
432  
433 API added since 0.10.3:
434     
435       * gst_pipeline_set_auto_flush_bus()
436       * gst_pipeline_get_auto_flush_bus()
437       * gst_uri_has_protocol()
438       * gst_pipeline_set_max_lateness()
439       * gst_pipeline_get_max_lateness()
440       * gst_pipeline_get_sync()
441       * gst_pipeline_do_sync()
442       * GST_BASE_TRANSFORM_SRC_PAD()
443       * GST_BASE_TRANSFORM_SINK_PAD()
444       * GstBaseSrc::check_get_range()
445       * GstBaseSink::max-lateness
446       * gst_type_find_helper_get_range()
447       * gst_type_find_helper_for_buffer()
448       * GST_MESSAGE_TYPE_NAME()
449       * GST_QUERY_TYPE_NAME()
450       * gst_bus_enable_sync_message_emission()
451       * gst_bus_disable_sync_message_emission()
452
453 Changes since 0.10.2:
454
455       * Documentation updates
456       * Bug fixes
457       * Base class improvements
458       * Extra utility API
459       * More elements ported from 0.8
460       * Fixes for win32 build.
461
462 Changes since 0.10.1:
463     
464       * documentation updates
465       * bug fixes
466
467 Bugs fixed since 0.10.1:
468     
469       * 325429 : GST_BOILERPLATE_FULL can't be used when compiling with -W...
470       * 316086 : MinGW compilation: fileindexer depends on mmap
471
472 Changes since 0.10.0:
473     
474       * element factory leak fixes
475       * tests cleanup
476       * BaseSrc seeking in other format than BYTES
477       * collectpad fixes
478
479 Bugs fixed since 0.10.0:
480     
481       * 322441 : getcontext() in common/m4/gst-mcsc.m4 uses incorrect stac...
482       * 323041 : [BASESRC] basesrc does not handle a seek to non-bytes for...
483       * 323870 : [tools] gst-feedback needs updating for 0.9/0.10
484       * 323882 : gst-launch manpage needs updates
485       * 323905 : use return val of g_list_append
486
487 API added since 0.10.0:
488      
489       * GST_TYPE_STATIC_CAPS
490       * GST_TYPE_STATIC_PAD_TEMPLATE
491       * GstNetTimeProvider::active
492       * gst_base_src_set_format
493
494 Changes from the 0.8 series to 0.10 series:
495
496       * Refcounting and API revised for thread safety, see rules in
497         docs/design/part-MT-refcounting.txt
498
499       * Scheduling is now done by the elements, they start/stop
500         processing threads themselves. This removes the need for 
501         a separate scheduler.
502
503       * State changes now happen from sink to source. This makes sure
504         that downstream elements are ready to process data when upstream
505         starts producing.
506
507       * EOS/ERROR/... does not change the state of elements anymore. This
508         means that when the application sets the state on an element, it
509         remains in this state.
510
511       * GMainLoop integration. Information on the state of the pipeline
512         is now received in the mainloop via the GstBus.
513
514       * Events move separate from the datastream, this allows for both
515         in and out of sync delivery of events.
516
517       * Generic _pull() replaced by _pull_region() so that random access
518         can be made faster.
519
520       * data passing happens from PAUSED, called the preroll phase. In this
521         state no data is rendered but it is queued in the sinks.
522
523       * negotiation simplified. Caps are now attached to buffers and travel
524         along with the datastream. 
525
526       * GstBuffer is now subclassable.
527
528       * Ghostpads now look and feel like real pads.
529
530       * New Seeking/flushing policy.
531
532       * Addition of base classes and helper functions in the core to abstract
533         away the harder parts of plugin development.
534
535 Changes since 0.9.7:
536
537       * added Traditional Chinese translation
538
539 Bugs fixed since 0.9.7:
540     
541       * 322874 : [PAD] pad_alloc_buffer should not call set_caps
542       * 323222 : GStreamer 0.9.7 still checks in dirs containing 0.9
543       * 323250 : [collectpads] debug category should be called 'collectpad...
544
545 Changes since 0.9.6:
546     
547       * bumped major/minor to 0.10
548       * API cleanup
549       * PluginFeature and TypeFind leak fixes
550       * cleaned up source tree
551       * added plugin documentation for core elements
552       * fixes for stripped core
553
554 Bugs fixed since 0.9.6:
555     
556       * 320529 : [API] gst_event_new_segment mentions " stream_time " as an ...
557       * 321917 : quicktime with two video tracks and extra foo, makes tote...
558       * 322257 : Fix gstnet library name
559       * 322427 : gst-compprep aborts with 'double free or corruption'
560       * 322429 : Filesink seeking problem
561       * 322626 : Strings in gst-launch.c adn gstdebug.c are horrid
562       * 322708 : gst_plugin_load_file leaks a reference to a GstPlugin
563       * 322751 : gst_ghost_pad_get_target borks on pads without target
564       * 322842 : GStreamer-CRITICAL in GstBaseSink and GstBaseTransform
565
566 Changes since 0.9.5:
567     
568       * API changes and clean-up
569       * Extensive documentation updates
570       * remove GLib 2.4 compatibility
571       * added clock selection
572       * added network clocking
573       * added fd:// URI handler
574       * added more fraction functionality
575
576 Bugs fixed since 0.9.5:
577     
578       * 143472 : [api] gst_tag_list_foreach() takes a non-const GstTagList*
579       * 156633 : [API] don't use same API for arrays as for normal lists
580       * 164168 : circular pipeline fails to negotiate
581       * 165650 : [API] gst_value_deserialize doesn't work correctly for NU...
582       * 168438 : [API] GstIndexFilter doesn't receive user_data
583       * 168494 : [API] gst_index_add_object() does nothing
584       * 305291 : Obnoxious bug-filing request
585       * 311489 : Possible gstghostpad locking problems
586       * 319178 : [API] finish filler events and support them in GstCollect...
587       * 319388 : 0.9 API changes tracker
588       * 319389 : state change updates obsolete some functions
589       * 319392 : GstEventType is not bindings-friendly
590       * 319395 : Macro name/visibility API bugs
591       * 319940 : Use GLIB macros for GCC extensions
592       * 320060 : add a CORE error category for missing ELEMENTS/PLUGINS
593       * 320097 : GST_BUFFER_FLAG_ORIGINAL should die
594       * 320113 : [API] duration message changes
595       * 320299 : gst_pad_send_event should take stream lock for serialized...
596       * 320324 : [API] GST_FOURCC_FORMAT should drop leading '%'
597       * 320423 : [API] padding for GstCollectData
598       * 320766 : [API] collect pads API changes
599       * 321061 : GstURI not used
600       * 321235 : [API] GST_PAD_IS_USABLE should be removed
601       * 321386 : [SEGFAULT] basetransform when doing reverse caps negotiation
602       * 321452 : GstPad's " template " property is b0rked
603       * 321528 : capsfilter: assertion `caps != NULL' failed
604       * 321595 : GstBin doesn't clean the message queue when changing stat...
605       * 321638 : Don't use // style comments in headers
606       * 321648 : Wrong type check in gst_message_parse_clock_lost
607       * 321710 : GstClock resolution functions should take a GstClockTime
608       * 321712 : GstClock adjust function changes
609       * 321875 : gst_plugin_check_file disappeared
610       * 321950 : gst_registry_scan_paths lacks implementation
611       * 321962 : [easyfix] gst_value_is_fixed uses gst_value_list_* on GST...
612       * 322027 : [API] Rename gst_caps_structure_fixate_* to gst_structure...
613       * 322034 : Elements should be updated not to take the stream lock in...
614       * 322069 : Names of GstTagSetter methods should be more descriptive
615       * 322134 : API master/slave clocks
616       * 322139 : our elements are confused about GEnumValue and which is t...
617   
618 Changes since 0.9.4:
619     
620       * gst_bus_poll and signal watch now see the same messages
621       * clock sync in BaseSrc class
622       * API documentation updates
623       * Bus reworked; signal API added
624
625 Bugs fixed since 0.9.4:
626     
627       * 317341 : after linking ghost pads, one target pad does not have a ...
628       * 320774 : basesrc commit broke typefinding
629
630 Changes since 0.9.3:
631
632       * state lock redefined
633       * Extensive documentation updates
634       * BaseTransform reworked
635       * Bus reworked; signal API added
636
637 Bugs fixed since 0.9.3:
638
639       * 111146 : new GstThread fails on pipeline with errors
640       * 169772 : [PATCH] GOption command-line parsing
641       * 170777 : use GST_TYPE_DATE for GST_TAG_DATE
642       * 315050 : [API] consider using GstClockTime instead of GTimeVal in ...
643       * 315126 : filesrc + forced caps should be possible
644       * 315383 : gst-launch shouldn't run broken pipelines
645       * 317041 : GstObject flags should be made real flags
646       * 318447 : gst_bin_iterate_sorted: Invalid call to gst_iterator_new
647
648 Changes since 0.9.2:
649
650       * gst-register has been removed
651       * Extensive documentation updates
652       * BaseTransform reworked
653       * Bus reworked; signal API added
654
655 Bugs fixed since 0.9.2:
656
657       * 102980 : support incremental gst-register/compprep updates
658       * 313897 : [0.9] registry rewrite
659       * 314710 : gst_buffer_create_sub doesn't copy the GST_BUFFER_FLAGS
660       * 315895 : gst_pad_query_convert src_val check
661       * 316155 : MinGW compilation: glib-mkenums root path subtitution pro...
662       * 316157 : MinGW compilation: Plugin exports
663
664 This is GStreamer 0.9.2, "South".
665
666 Bugs fixed since 0.9.1:
667
668       * 121015 : [api] gst_clock_entry_new() seems broken
669       * 134227 : [api] gst_clock_id_wait_async, wrong return code for defa...
670       * 142209 : [build] Large file support broken
671       * 154785 : Clock does not run if audio stream lacks data for a short...
672       * 305256 : [API] Change gst_element_seek to not mix enum/flags types
673       * 309253 : GST_DEBUG_FUNCPTR macro does illegal casting from functio...
674       * 311004 : ghostpad bugginess
675       * 311009 : valgrind shows undesired messages
676       * 311848 : Renegotiation broken
677       * 314708 : filesrc doesn't set GST_BUFFER_FLAG_READONLY on mmaped bu...