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