-Release notes for GStreamer 0.10.29 "It's a Trap"
+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
- * improve plugin loading robustness: do not ever unload a plugin after calling into it: should fix mystery crashers during registry loading when a plugin init function returns FALSE (e.g. when some supporting library fails to initialise or a wrapper plugin found no features to wrap and wrongly returned FALSE)
- * configurable memory alignment for GstBuffers
- * add QoS message to inform apps of lost data, dropped frames etc.
- * basesink, basetransform: add support for new QoS message
- * basetransform: accept non-fixed caps suggestions
- * basesrc: fix gst_base_src_new_seamless_segment()
- * GstController fixes and optimisations
- * set thread name for pad tasks on Linux
- * pipeline, bin: fix refcount issue when removing elements during a state change
- * queue2: implement seeking in download mode
- * queue2: implement flushing in download buffering
- * queue2: improve buffer level measurement in download mode
- * fdsrc: allow specifying the size in bytes on the uri
- * build fixes: better checks for uint128_t, inline assembly on OSX, compilation if HAVE_REGISTER_PRINTF_SPECIFIER is undefined, gobject-introspection
- * two symbols were removed that had been exported but never been used or been declared in any header file: gst_element_default_error and gst_element_request_compatible_pad
+ * 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
- * 576234 : [basetransform] Suggesting non-fixed caps or no size doesn't work for upstream negotiation
- * 520697 : [API] Add GST_TAG_USER_RATING
- * 590718 : docs build failures with -jN: cp: cannot create regular file `build/image.entities': File exists
- * 595958 : Position not updated after a backwards gst_event_new_step()
- * 596832 : configurable buffer alignment
- * 600718 : autoconf fails with gobject-introspection
- * 600877 : [uridecodebin] Needs to disable download buffering for non-fast-start files
- * 603710 : Can't compile with introspection support
- * 603831 : build with libtool 1.x.y only works if --disable-shave is used
- * 609046 : basetransform now ignores suggestions from capsfilter
- * 609170 : basesrc pushes two newsegment
- * 610256 : Use G_VALUE_COLLECT_INIT if available
- * 611075 : Typo in debug_dump_pad function
- * 611911 : Set thread names on pipeline threads
- * 612370 : gstutils.c inline asm typo, compilation fails
- * 612410 : [API][tags] add new geo tags
- * 612733 : Build fails because HAVE_REGISTER_PRINTF_SPECIFIER is undefined
- * 612881 : [utils] gst_pad_proxy_setcaps() doesn't handler iterator resyncs
- * 613215 : delayed set in gst-launch are not recursive
- * 613593 : git-update.sh script does not work on fresh git repository clones
- * 614167 : gstinfo: no previous prototype for 'xxx' when buildign with --disable-gst-debug
- * 614629 : utils: Use G_GNUC_CONST instead of G_GNUC_PURE for conversion functions
- * 614767 : libgstreamer build failure on OS X x86_64
- * 614833 : out of srcdir build fails for libs/gst/check
- * 615698 : " warning: cast increases required alignment of target type " with gcc 4.2.1 on arm
- * 615756 : [bin] refcount issue when removing element in error
- * 615880 : Add some more custom flow returns
- * 615881 : [LFOControlSource] Use correct setter for double GValues
- * 616846 : Crash in gst_interpolation_control_source_find_control_point_iter
+ * 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_MESSAGE_QOS
-* gst_message_new_qos()
-* gst_message_parse_qos()
-* gst_message_parse_qos_stats()
-* gst_message_parse_qos_values()
-* gst_message_set_qos_stats()
-* gst_message_set_qos_values()
-* GST_FLOW_CUSTOM_SUCCESS_1
-* GST_FLOW_CUSTOM_SUCCESS_2
-* GST_FLOW_CUSTOM_ERROR_1
-* GST_FLOW_CUSTOM_ERROR_2
-* GST_TAG_USER_RATING
-* GST_TAG_GEO_LOCATION_COUNTRY
-* GST_TAG_GEO_LOCATION_CITY
-* GST_TAG_GEO_LOCATION_SUBLOCATION
-- API deprecations:
-
-* gst_element_class_set_details()
+ * 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
- * Alan Knowles
- * André Dieb Martins
+ * Andoni Morales Alastruey
+ * Benjamin Gaignard
* Benjamin Otte
+ * David Hoyt
* David Schleef
* Edward Hervey
- * Jeremy Huddleston
- * Jonas Holmberg
- * Leo Singer
- * Mart Raudsepp
- * Philip Withnall
- * Philippe Normand
- * Robert Swain
+ * Havard Graff
+ * Jan Schmidt
+ * Kipp Cannon
+ * Koop Mast
+ * Lasse Laukkanen
+ * Mark Nauwelaerts
+ * Michael Smith
+ * Olivier Crete
+ * Olivier Crête
+ * Raimo Järvi
* Sebastian Dröge
* Stefan Kost
* Thiago Santos
* Tim-Philipp Müller
+ * Tommi Myöhänen
* Wim Taymans
+ * Zhang Wanming
+ * Christian Schaller
+ * Sjoerd Simons
\ No newline at end of file