-GStreamer: Release notes for GStreamer 0.10.4 "Light"
+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 enchancements.
This module, gstreamer, only contains core functionality.
+
Features of this release
- * Parallel installability with 0.8.x series
- * Threadsafe design and API
- * 33% of library size removed by parse change
- * (Experimental) QoS features (use max-lateness on BaseSink subclasses to enable)
+ * 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
-
- * 323542 : GStreamer 0.10 hangs at EOS for all songs
- * 320340 : triggering a gst_task_join from the streaming task can de...
- * 322628 : document thread-unsafety of gst_value_foo() + gst_value_r...
- * 324186 : Smarter (deterministic!) typefind decisions
- * 324398 : varargs/valist functions aren't bindable
- * 328873 : only one gst_bin_recalc_state allowed at a time
- * 330899 : CVS directory in make dist tarball
- * 330906 : API: add GST_QUERY_TYPE_NAME and GST_MESSAGE_TYPE_NAME
- * 330996 : basesrc emits EOS unconditionally when going to READY
- * 331255 : Shrinking gst_parse_launch bloat
- * 331898 : Basetranform is not reusable
- * 332045 : API: GstPipeline needs API to disable flushing of its bu...
- * 332277 : [filesrc] seek does not correct read position in non-mmap...
- * 332611 : [basesrc] needs way to prevent expensive start/stop in ch...
- * 332723 : New API: gst_type_find_helper_for_buffer
- * 333042 : New API: gst_type_find_helper_get_range
- * 333266 : Registry file writing rewrite
- * 333272 : tests should set G_SLICE=always-malloc now
- * 333417 : GST_BOILERPLATE_WITH_INTERFACE can't be used in C++ code
- * 333669 : Add pad accessor defines for GstBaseTransform
- * 333779 : New API: add gst_uri_has_protocol
- * 324818 : gst_registry_get_default doesn't sink newly created registry
- * 330125 : _pad_send_event does not check flushing correctly
- * 330684 : Add ability to emit sync-message without messing with the...
+
+ * 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_pipeline_set_auto_flush_bus()
-* gst_pipeline_get_auto_flush_bus()
-* gst_uri_has_protocol()
-* gst_pipeline_set_max_lateness()
-* gst_pipeline_get_max_lateness()
-* gst_pipeline_get_sync()
-* gst_pipeline_do_sync()
-* GST_BASE_TRANSFORM_SRC_PAD()
-* GST_BASE_TRANSFORM_SINK_PAD()
-* GstBaseSrc::check_get_range()
-* GstBaseSink::max-lateness
-* gst_type_find_helper_get_range()
-* gst_type_find_helper_for_buffer()
-* GST_MESSAGE_TYPE_NAME()
-* GST_QUERY_TYPE_NAME()
-* gst_bus_enable_sync_message_emission()
-* gst_bus_disable_sync_message_emission()
+ * 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
Developers
-CVS is hosted on cvs.freedesktop.org.
-All code is in CVS and can be checked out from there.
+GStreamer is stored in Git, hosted at git.freedesktop.org, and can be cloned from there.
Interested developers of the core library, plug-ins, and applications should
subscribe to the gstreamer-devel list. If there is sufficient interest we
will create more lists as necessary.
-Applications
-
-Applications ported to GStreamer 0.10 include: totem, gnome-media, RhythmBox,
-Sound-juicer, Jamboree, Flumotion.
-
-
-
Contributors to this release
- * Andy Wingo
- * Christophe Fergeau
+ * Andoni Morales Alastruey
+ * Benjamin Gaignard
+ * Benjamin Otte
+ * David Hoyt
+ * David Schleef
+ * Edward Hervey
+ * Havard Graff
* Jan Schmidt
- * Julien MOUTTE
- * Loïc Minier
+ * Kipp Cannon
+ * Koop Mast
+ * Lasse Laukkanen
+ * Mark Nauwelaerts
* Michael Smith
- * Renchi Raju
- * Ross Burton
- * Sebastien Moutte
- * Thomas Vander Stichele
+ * Olivier Crete
+ * Olivier Crête
+ * Raimo Järvi
+ * Sebastian Dröge
+ * Stefan Kost
+ * Thiago Santos
* Tim-Philipp Müller
- * Torsten Schoenfeld
- * Vincent Torri
+ * Tommi Myöhänen
* Wim Taymans
+ * Zhang Wanming
+ * Christian Schaller
+ * Sjoerd Simons
\ No newline at end of file