Release notes for GStreamer 0.10.32 "Take Me to the Bonus Level" The GStreamer team is proud to announce a new release in the 0.10.x stable series of the core of the GStreamer streaming media framework. The 0.10.x series is a stable series targeted at end users. This module, gstreamer, only contains core functionality. For actual media playback, you will need other modules. gst-plugins-base contains a basic set of well-supported plug-ins gst-plugins-good contains a set of well-supported plug-ins under our preferred license gst-plugins-ugly contains a set of well-supported plug-ins, but might pose problems for distributors gst-plugins-bad contains a set of less supported plug-ins that haven't passed the rigorous quality testing we expect Features of this release * 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 * 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 * 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 changes in this release - API additions: * 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 ==== You can find source releases of gstreamer in the download directory: https://gstreamer.freedesktop.org/src/gstreamer/ The git repository and details how to clone it can be found at http://cgit.freedesktop.org/gstreamer/gstreamer/ ==== Homepage ==== The project's website is https://gstreamer.freedesktop.org/ ==== Support and Bugs ==== We use GNOME's bugzilla for bug reports and feature requests: http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer Please submit patches via bugzilla as well. For help and support, please subscribe to and send questions to the gstreamer-devel mailing list (see below for details). Find us on IRC at #gstreamer. ==== Developers ==== GStreamer is stored in Git, hosted at git.freedesktop.org, and can be cloned from there (see link above). Interested developers of the core library, plugins, and applications should subscribe to the gstreamer-devel list. Contributors to this release * Andoni Morales Alastruey * Benjamin Gaignard * Benjamin Otte * David Hoyt * David Schleef * Edward Hervey * 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