Release notes for GStreamer 0.10.30 "Safety First" 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 * GLib requirement was bumped to 2.20, automake requirement to 1.10 * bin: unlock gst_element_get_state() on error, instead of hanging forever if no timeout is given * clock: fix refcounting bug in gst_clock_set_master * caps: make sure _normalize() is applied on all structures * info: add new TRACE log level and move refcounting there from LOG level * pad: don't check twice for changed caps per push * pad: fix iterator aggregation of all pads in the internal links fallback * tagsetter: protect tagsetter operations with a lock * value: support short fourccs (esp. serialisation/deserialisation) * adapter: fix _try_to_merge_up(); optimize progressive masked scans * basesink: implement percentage position and duration queries * basesink: fix segment query return value * basetransform: add accept_caps vmethod * basetransform: re-evaluate proxy_alloc when reconfigured * basetransform: assume in_size equals out_size if there's no transform_size/get_unit_size vfunc * fdsink, filesink: make sync property work correctly * typefind: make sure buffers' metadata is writable before setting caps on them * queue2: fix merging of ranges * queue2: don't wait for data when EOS * queue2: don't ignore failure to open the temporary file location * tools: make gst-launch print things correctly to stderr/stdout and make --quiet work correctly * introspection: add many more gobject-introspection annotations * xml: serialisation/deserialisation to/from XML has been deprecated, since it's always been broken for all but the most trivial pipelines, and will likely never be fixed Bugs fixed in this release * 623586 : gst/tagsetter check fails * 463435 : Skip #include < libxml/parser.h > in gstconfig.h.in when not needed * 505770 : gst_element_get_state() should unblock if element posts an error * 615820 : implement percentage position and duration queries * 615941 : [tags] Add GST_TAG_DEVICE_MANUFACTURER and GST_TAG_DEVICE_MODEL * 616586 : Use GObject's boxed type for GError * 617223 : [tags] Add tags for direction of capture and movement * 617625 : Commandline utility wrappers (gst-run) don't work on Windows * 618644 : gst_pad_get_caps() Return pad template if parent element is in GST_STATE_NULL * 619508 : [tag] Add image orientation tag * 619815 : GST_PLUGIN_LOADING_WHITELIST env var for unit tests * 619828 : [API] adapter: add masked_scan_uint32_peek * 620460 : info: add new TRACE log level and move refcounting there from LOG level * 620490 : [basesink] segment query unconditionally returns FALSE * 621006 : Deprecate unused gst_object_{get|set}_name_prefix() * 621282 : Display of short fourccs is in hex instead of text * 621332 : BaseTransform should disable proxy alloc if downstream changes caps * 621334 : GstBaseTransform should not require a transform_size function * 621505 : Disable memory poisoning by default for releases * 621527 : gstcaps: New gst_caps_steal_structure() method * 621530 : filesink ignores sync=true * 621595 : --quiet doesnt make gst-launch be completely quiet, also messages should not go to stdout * 621773 : Add introspection annotations * 621867 : gst-launch: rename new --no-play command line option * 621896 : [API][taglist] Add gst_tag_list_peek_string_index * 622504 : [GstPad] Provide more fine-grained linking methods * 622546 : distcheck fails in docs/plugins/ * 622685 : [GstXml] Deprecate GstXml * 622967 : [queue2] Problems with progressive downloading * 623301 : gst_caps_normalize : doesn't normalize completely * 623589 : Fix races/refcounting bugs with slave clocks * 624113 : [tags] wrong behaviour in merge function for strings * 622025 : Can't build gstreamer due to Gst-0.10.gir: error: Can't resolve type 'PadIntLinkFunction' for field Gst.Pad.intlinkfunc API changed in this release - API additions: * gst_caps_steal_structure() * gst_clock_id_wait_async_full() * gst_element_link_pads_full() * GstPadLinkCheck * gst_pad_link_check_get_type() * gst_pad_link_full() * gst_structure_fixate_field_string() * GST_TAG_DEVICE_MANUFACTURER * GST_TAG_DEVICE_MODEL * GST_TAG_IMAGE_ORIENTATION * GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION * GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION * GST_TAG_GEO_LOCATION_MOVEMENT_SPEED * gst_tag_list_peek_string_index() * GST_TRACE * GST_TRACE_OBJECT * GST_CAT_TRACE * GST_CAT_TRACE_OBJECT * GST_LEVEL_TRACE * gst_adapter_masked_scan_uint32_peek * GstBaseSink::enable-last-buffer * gst_base_sink_is_last_buffer_enabled() * gst_base_sink_set_last_buffer_enabled() * GstBaseTransform::accept_caps() - API deprecations: * gst_object_get_name_prefix() * gst_object_set_name_prefix() * gst_caps_load_thyself() * gst_caps_save_thyself() * gst_class_signal_emit_by_name() * gst_object_save_thyself() * gst_object_restore_thyself() * gst_pad_load_and_link() * gst_xml_get_element() * gst_xml_get_topelements() * gst_xml_get_type() * gst_xml_make_element() * gst_xml_new() * gst_xml_parse_doc() * gst_xml_parse_file() * gst_xml_parse_memory() * gst_xml_write() * gst_xml_write_file() 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 * Alessandro Decina * Alexander Saprykin * Benjamin Gaignard * Benjamin Otte * David Schleef * Eduardo Dobay * Edward Hervey * Johan Dahlin * Mark Nauwelaerts * Martin Bisson * Olivier Crête * Philippe Normand * Sebastian Dröge * Stefan Kost * Thiago Santos * Tim-Philipp Müller * Tristan Matthews * Wim Taymans * Zaheer Abbas Merali * Руслан Ижбулатов