index ebcf625baf354da375b964127ec5bf9209a95c0c..698ad4e2f96e58078de28a755417a9542bf872ad 100644 (file)
--- a/RELEASE
+++ b/RELEASE
-Release notes for GStreamer 0.10.24 "It matters"
+Release notes for GStreamer 0.10.32 "Take Me to the Bonus Level"
The 0.10.x series is a stable series targeted at end users.
-It is not API or ABI compatible with the stable 0.8.x series.
-It is, however, parallel installable with the 0.8.x series.
-
-
-The 0.10.x series has been reworked for threadsafety. It also features
-various feature additions and enhancements.
This module, gstreamer, only contains core functionality.
Features of this release
- * Fully support nested structures in caps
- * Support frame-by-frame stepping in sinks
- * Add buffer-lists to pass around groups of buffers
- * Use TaskPools for managing worker threads
- * New stream-status API for finer thread control
- * Code optimisations
- * Many other bug-fixes and enhancements
+ * GLib requirement is now >= 2.22
+ * New core element: valve (moved from -bad)
+ * New core element: input-selector (N.B. without "select-all" property, use fsfunnel instead) (moved from -bad)
+ * New core element: output-selector (with different negotiation behaviour by default, set pad-negotiation-mode=active for previous behaviour) (moved from -bad)
+ * Performance improvements for many heavily-used code paths: GstPad, GstPoll, GstClock, GstTask, basesink, basesrc, queue2, multiqueue (use atomic ops make many code-paths
+ * gobject-introspection: add annotations for most core API
+ * clock: make sync clock wait lockfree
+ * fdsrc/fdsink: reenable on MSVC
+ * registry: fix GStatBuf definition for win32 when building against older glib (fixes unnecessary rescanning of plugins at start-up)
+ * element: add a more flexible way to get request pads from elements
+ * multiqueue: return upon input when already eos
+ * object: fix creation of default name (when creating more than 100000 elements)
+ * pluginloader: fix hangs on OSX
+ * poll: fixes for (p)select backend (used e.g. on OSX)
+ * poll: refactor and make more lockfree; fixes for win32 and OSX (pselect backend)
+ * registry: don't replace valid existing plugins by blacklisted ones
+ * tags: don't produce duplicated entries when merging same value twice
+ * basesink: preroll fixes for async=false case
+ * basesink: rework position reporting code
+ * basetransform: handle downstream giving a buffer with new caps but invalid size
Bugs fixed in this release
- * 580579 : crash in Volume Control: aucunes idées désolé.
- * 527488 : [GstXML] can't load elements with request pads from XML
- * 570233 : allow plugins caching data in the registry
- * 584389 : don't recreate plugin feature and element factories on fi...
- * 534208 : [API] add gst_structure_get()
- * 545787 : [API] add gst_plugin_register_static_full() for bindings
- * 554460 : thumbnailer crash in gst_fake_sink_event() on FLUSH_START...
- * 559643 : Don't allow empty or NULL strings in taglists
- * 560345 : gst_tag_list_get_string() may return NULL or empty string
- * 560442 : GNOME Goal: Remove deprecated GLib symbols
- * 572285 : Buffer Lists
- * 577926 : Remove old xml registry
- * 578908 : [fdsink] implement seeking on seekable fds
- * 580177 : glibc 2.10 deprecates register_printf_function
- * 580716 : race condition in gst_element_lost_state
- * 581198 : [tags] Add gst_tag_setter_add_tag_value() and gst_tag_lis...
- * 581281 : [GstURIHandler] Doesn't use get_type_full() at all
- * 582010 : audiotestsrc is-live=1 ! pulsesink unreliable
- * 582564 : [controller] Use ordered GSequence instead of GList in th...
- * 582588 : [API] Add a way to get the pad corresponding to a taglist
- * 582878 : [GstClock] ABI breakage in GIT on x86
- * 583187 : [API] add gst_adapter_masked_scan_uint32() and gst_adapte...
- * 583419 : Bad translatable string in gst-launch.c
- * 583456 : framestep functionality
- * 583554 : Slow down or lock if date time is changed to the past
- * 584835 : MSVC compiler fails with 'static inline' function
- * 584838 : basesrc: confusing QUERY_SEEKING handling
- * 585039 : rtpool-test can't find pthreads
- * 585075 : Compilation with MSVC fails for files including config.h ...
- * 585137 : gst_xml_write_file() fails serialising GstStructure property
- * 585592 : [API] add gst_byte_reader_masked_scan_uint32()
- * 585733 : Wrong #include order in gstsegment.c
- * 585748 : [API] add gst_tag_list_new_full() to create taglist with ...
- * 586566 : Add GAP Flag support to gstcapsfilter
- * 586568 : [bytereader] add misc. string functions and gst_byte_read...
- * 587973 : use G_DIR_SEPARATOR_S instead of " /' "
- * 587976 : Fix for gst-inspect and gst-launch when option parsing is...
- * 588744 : [check] Stream consistency checker utility
- * 588745 : [basesrc] Serialize tags in the dataflow
- * 589127 : gsttask leaks the pool
- * 590056 : [collectpads] race resulting in double flush-stop being o...
- * 590622 : [bytereader] buffer size checks subject to wrap-around ov...
- * 579177 : GstInfo: maintain ABI compatibility
- * 581321 : typefind element leaks force-caps property
- * 584118 : [gstadapter][doc] Improve documentation of gst_adapter_ma...
- * 585433 : [queue] Can lock down if min-threshold conflicts with max...
- * 585569 : rtsp/rtp streaming fails when skipping explicit PAUSED st...
- * 585834 : Support for GstBufferList in ghostpads
- * 585960 : Support for GstBufferList in gstbasesink
- * 587052 : [filesink.c] Support for files > 4GB on windows makes file...
+ * 635785 : basesrc: fix deadlock
+ * 638599 : GST_PTR_FORMAT causes crashes if GLib-internal printf is used but system provides register_printf_specifier
+ * 503592 : gstpad.c does many ref/unref of peer pad in dataflow
+ * 564056 : Protect against umask(0177)
+ * 607513 : input-selector segfaults in g_object_notify()
+ * 632168 : [gsttask] MSVC thread names for task debugging
+ * 632447 : reduce static memory allocated by the registry
+ * 632557 : [macros] Define restrict keyword if not available
+ * 632778 : Optimisations to GstBaseSink
+ * 632779 : gstdataqueue: Only emit g_cond_signal when needed
+ * 632780 : queue: Remove useless checks from e406f7
+ * 633918 : [fakesink] [PATCH] print sink-message events like a message and its structure
+ * 634965 : sinks render buffers in state PAUSED when async is FALSE
+ * 635001 : basesink: fix position reporting in PAUSED
+ * 636268 : configure test fails on FreeBSD
+ * 636455 : basesrc: Avoid taking object locks for just checking tag presence
+ * 637057 : [plugin-scanner] gstpoll fails with select backend
+ * 637300 : [API] request pad based on caps
+ * 637549 : build fails: ./.libs/libgstbase-0.10.so: undefined reference to `gst_clock_single_shot_id_reinit'
+ * 637776 : merging the same tag values again produces lists containing duplicates
+ * 638381 : {input,output}-selector: double-check API before release
+ * 638399 : a few typos in GStreamer
+ * 638900 : [GstPoll] Doesn't compile with MinGW
+ * 638941 : registry scan/loading race and inconsistency
API changed in this release
- API additions:
-* GST_DEBUG_CATEGORY_GET() macro
-* gst_byte_reader_dup_data
-* gst_byte_reader_dup_string
-* gst_byte_reader_dup_string_utf8
-* gst_byte_reader_dup_string_utf16
-* gst_byte_reader_dup_string_utf32
-* gst_byte_reader_skip_string
-* gst_byte_reader_skip_string_utf8
-* gst_byte_reader_skip_string_utf16
-* gst_byte_reader_skip_string_utf32
-* gst_byte_reader_peek_string
-* gst_byte_reader_peek_string_utf8
-* gst_byte_reader_get_string
-* gst_byte_reader_get_string_utf8
-* add gst_tag_list_new_full()
-* add gst_tag_list_new_full_valist()
-* add gst_byte_reader_masked_scan_uint32()
-* add gst_plugin_get_cache_data, gst_plugin_set_cache_data
-* gst_structure_get()
-* gst_structure_id_get()
-* gst_structure_get_valist()
-* gst_structure_id_get_valist()
-* GstSegment::gst_segment_set_running_time()
-* Add GST_MESSAGE_SRC_NAME() macro
-* GstSegment::gst_segment_to_position()
-* GstEvent::gst_event_new_step()
-* GstEvent::gst_event_parse_step()
-* GstMessage::gst_message_new_step_done()
-* GstMessage::gst_message_parse_step_done()
-* gst_structure_id_new()
-* Add gst_message_{new,parse}_tag_full() to get/set the source pad
-* GstAdapter::gst_adapter_masked_scan_uint32()
-* GstElement::gst_element_lost_state_full()
-* GstAdapter::gst_adapter_prev_timestamp()
-* gst_plugin_register_static_full()
-* gst_tag_list_add_value()
-* gst_tag_setter_add_tag_value()
-* add GST_TAG_CONTAINER_FORMAT tag
-* GstTask::gst_task_set_state()
-* GstObject::gst_object_ref_sink()
+ * gst_clock_single_shot_id_reinit()
+ * gst_element_request_pad()
+ * GstElementClass::request_new_pad_full()
+ * gst_poll_get_read_gpollfd()
+ * gst_value_list_merge()
+ * GST_CLOCK_DONE
Download
will create more lists as necessary.
-Applications
-
-Applications ported to GStreamer 0.10 include Totem, RhythmBox, Sound-Juicer,
-Gnome Media, Flumotion, Amarok, Jamboree, Pitivi, Istanbul, AnnoAmp, Elisa, and others.
-Let us know if you want to be added to this list.
-
-
Contributors to this release
- * Andoni Morales
- * Arnout Vandecappelle
+ * Andoni Morales Alastruey
* Benjamin Gaignard
- * Branko Subasic
- * Chad Hanna
- * Christopher Halse Rogers
+ * Benjamin Otte
+ * David Hoyt
* David Schleef
* Edward Hervey
- * Hannes Bistry
+ * Havard Graff
* Jan Schmidt
- * Jonas Holmberg
- * Josep Torra
- * José Alburquerque
- * Marc-Andre Lureau
+ * Kipp Cannon
+ * Koop Mast
+ * Lasse Laukkanen
* Mark Nauwelaerts
- * Ognyan Tonchev
+ * Michael Smith
+ * Olivier Crete
* Olivier Crête
- * Philip Jägenstedt
- * René Stadler
- * Robin Stocker
+ * Raimo Järvi
* Sebastian Dröge
* Stefan Kost
* Thiago Santos
- * Thomas Vander Stichele
* Tim-Philipp Müller
+ * Tommi Myöhänen
* Wim Taymans
- * Руслан Ижбулатов
+ * Zhang Wanming
+ * Christian Schaller
+ * Sjoerd Simons
\ No newline at end of file