| |
| Release notes for GStreamer 0.10.26 "Think Twice" |
| |
| |
| |
| 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. |
| 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. |
| 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 |
| |
| * Threadsafe design and API |
| * registry: do plugin scanning (on *nix) using an external helper binary |
| * lots of performance improvements all over the place (ghostpads, |
| multiqueue, pad construction, superfluous type checks, registry loading) |
| * add GstByteWriter, a simple generic byte writer |
| * filesink: Use _wfopen on win32 to open files with non-ascii filenames correctly. |
| * queue2: add option to remove the temp-file (enabled by default) |
| * it is now allowed to use gst_caps_set_simple() on non-simple caps |
| * queue2: move from gst-plugins-base into the coreelements plugin in core |
| (this means you may need to remove libgstqueue2.so manually if you |
| installed from source and don't do make uninstall before upgrading, or |
| combine an older -base with a newer core) |
| * multiqueue: add support for buffering mode where we post BUFFERING |
| messages based on the level of the queues |
| * typefind: speed up typefinding a lot by first trying the typefinder for |
| the file's extension |
| * buffer: remove private/internal subbuffer subclass and keep track of |
| the parent buffer directly in the GstBuffer structure (this removes |
| quite a bit of special-casing and will allow for future improvements/ |
| extensions that are harder to do if there's a separate subbuffer class. |
| * collectpads: add ability to install clipping functions |
| * new tags for TV/Radio shows/episodes, lyrics, composer sortname and |
| grouping |
| * miniobject: avoid race when recycling buffers |
| * basesrc: fix race in PLAYING->PAUSED->PLAYING |
| |
| Bugs fixed in this release |
| |
| * 476514 : [multiqueue] Doesn't forward EOS event in all cases |
| * 590941 : API: add gst_pad_get_caps() variant that avoids unneeded caps copies |
| * 595602 : g_child_proxy_get_valist doesn't initialize GValue correctly |
| * 535069 : basesrc no longer support non-flushing seeks on itself |
| * 560442 : GNOME Goal: Remove deprecated GLib symbols |
| * 595511 : Annotations for gst_element_query_{position,duration} |
| * 595886 : gst_pad_fixate_caps() does not return fixed caps in case of multiple structures |
| * 595964 : [multiqueue] can hang pipeline during startup |
| * 596366 : proxy_getcaps reverses direction of getcaps |
| * 597407 : GstPipeline calculates base_time incorrectly when a new clock appears during PAUSED state |
| * 597550 : basesrc: sometimes no buffers produced after PLAYING - PAUSED - PLAYING |
| * 597690 : Improve caps setters API |
| * 598297 : make check fails when any --disable option which changes the API has been used |
| * 598526 : bytewriter: fails to compile with gcc 4.2.4 on Ubuntu Hardy 64 bits |
| * 598700 : scripts: Parallelise git-update.sh build script |
| * 598895 : [GstRegistry] Use hash table for feature lookups |
| * 598896 : [GstRegistry] Cache lists of ElementFactory and TypeFindFactory |
| * 599147 : typefind : Avoid having to re-sort the typefind factory list |
| * 599759 : [qtdemux] Add support for more tags |
| * 600313 : Visualisations stop updating after seek |
| * 600922 : gst-launch: wake up less often to check for Ctrl-C |
| * 601587 : MiniObject race condition |
| * 601668 : [gstregistry] gstregistry.c uses a variable from gst.c |
| * 601669 : [tests] tests/examples/manual depends on libgstcheck |
| * 602093 : libgstcheck fails to export some symbols when built under et_EE locale |
| * 602275 : [API] Add new sink-message event |
| * 602419 : [basesink] Regression with position reporting |
| * 603059 : Totem crashes when DVD is encrypted but libdvdcss isn't available |
| * 603787 : [registry] Doesn't use GMappedFile |
| * 604091 : tee: cleanup requestpads in dispose |
| * 604093 : gst-inspect/launch: move gst_tools_print_version to avoid glib warning |
| * 605251 : tee causes segfault if there is no source pad |
| * 605930 : [shave] common/shave not existing yet when configure checks need it |
| * 606435 : gsttee not threadsafe |
| * 607283 : segfaults and/or miniobject warnings with GLib > = 2.23.2 |
| * 607317 : [PATCH] fix unaligned detection for x86-64 when cross compiling |
| * 607431 : update common modules before freeze |
| * 607481 : Should define G_THREADS_MANDATORY everywhere |
| * 607739 : [queue2] Temporary file is removed although code claims the opposite |
| * 607842 : Audio comes out with short breaks after resume pipeline (paused- > playing) |
| * 608136 : multiqueue handles UNEXPECTED flowreturn wrongly |
| * 608398 : Initializing the glib thread system seems not to work |
| * 608442 : [filesrc] typo in warning message |
| * 608726 : bytewriter: mistake in .h/.c function naming |
| * 609166 : Buffer list docs ascii art |
| * 590669 : [API] need GstByteWriter or GstChunkWriter |
| * 601698 : Rename new plugin-scanner helper executable before release |
| * 604565 : [gstcheck] Update check to 0.9.8 |
| * 596877 : New internal libcheck breaks the Solaris build |
| |
| API changed in this release |
| |
| - API additions: |
| |
| * GST_DEBUG_REGISTER_FUNCPTR() |
| * gst_base_src_new_seamless_segment() |
| * gst_event_new_sink_message() |
| * gst_event_parse_sink_message() |
| * gst_util_fraction_add() |
| * gst_util_fraction_multiply() |
| * gst_util_greatest_common_divisor() |
| * gst_util_double_to_fraction() |
| * gst_util_fraction_to_double() |
| * gst_registry_get_feature_list_cookie() |
| * gst_default_registry_get_feature_list_cookie() |
| * gst_pad_get_caps_reffed() |
| * gst_pad_peer_get_caps_reffed() |
| * gst_structure_id_has_field() |
| * gst_structure_id_has_field_typed() |
| * gst_plugin_feature_list_copy() |
| * gst_caps_set_value() |
| * gst_byte_writer_ensure_free_space() |
| * gst_byte_writer_free() |
| * gst_byte_writer_free_and_get_buffer() |
| * gst_byte_writer_free_and_get_data() |
| * gst_byte_writer_get_remaining() |
| * gst_byte_writer_init() |
| * gst_byte_writer_init_with_buffer() |
| * gst_byte_writer_init_with_data() |
| * gst_byte_writer_init_with_size() |
| * gst_byte_writer_new() |
| * gst_byte_writer_new_with_buffer() |
| * gst_byte_writer_new_with_data() |
| * gst_byte_writer_new_with_size() |
| * gst_byte_writer_put_data() |
| * gst_byte_writer_put_float32_be() |
| * gst_byte_writer_put_float32_le() |
| * gst_byte_writer_put_float64_be() |
| * gst_byte_writer_put_float64_le() |
| * gst_byte_writer_put_int16_be() |
| * gst_byte_writer_put_int16_le() |
| * gst_byte_writer_put_int24_be() |
| * gst_byte_writer_put_int24_le() |
| * gst_byte_writer_put_int32_be() |
| * gst_byte_writer_put_int32_le() |
| * gst_byte_writer_put_int64_be() |
| * gst_byte_writer_put_int64_le() |
| * gst_byte_writer_put_int8() |
| * gst_byte_writer_put_string_utf16() |
| * gst_byte_writer_put_string_utf32() |
| * gst_byte_writer_put_string_utf8() |
| * gst_byte_writer_put_uint16_be() |
| * gst_byte_writer_put_uint16_le() |
| * gst_byte_writer_put_uint24_be() |
| * gst_byte_writer_put_uint24_le() |
| * gst_byte_writer_put_uint32_be() |
| * gst_byte_writer_put_uint32_le() |
| * gst_byte_writer_put_uint64_be() |
| * gst_byte_writer_put_uint64_le() |
| * gst_byte_writer_put_uint8() |
| * gst_byte_writer_reset() |
| * gst_byte_writer_reset_and_get_buffer() |
| * gst_byte_writer_reset_and_get_data() |
| * gst_bit_reader_get_size() |
| * gst_byte_reader_get_size() |
| * gst_data_queue_new_full() |
| * gst_collect_pads_set_clip_function() |
| * gst_type_find_helper_get_range_ext() |
| - API deprecations: |
| |
| * gst_registry_xml_read_cache() |
| * gst_registry_xml_write_cache() |
| |
| 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. |
| |
| |
| 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 Alastruey |
| * Bastien Nocera |
| * Benjamin Otte |
| * Christian Schaller |
| * David Schleef |
| * Edward Hervey |
| * Frederic Crozat |
| * Havard Graff |
| * Håvard Graff |
| * Jan Schmidt |
| * Javier Jardón |
| * Johan Bilien |
| * LRN |
| * Mark Nauwelaerts |
| * Michael Smith |
| * Ole André Vadla Ravnås |
| * Olivier Crête |
| * Peter Kjellerstedt |
| * Peter van Hardenberg |
| * Priit Laes |
| * Rob Clark |
| * Robert Swain |
| * Sebastian Dröge |
| * Stefan Kost |
| * Thiago Santos |
| * Thiago Sousa Santos |
| * Thijs Vermeir |
| * Tim-Philipp Müller |
| * Tommi Myöhänen |
| * Wim Taymans |
| * Руслан Ижбулатов |
| |