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 changed 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: http://gstreamer.freedesktop.org/src/gstreamer/ GStreamer Homepage More details can be found on the project's website: http://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 Developers 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. 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