porting: update porting document
[platform/upstream/gstreamer.git] / RELEASE
diff --git a/RELEASE b/RELEASE
index 42e1db0..3cfb820 100644 (file)
--- a/RELEASE
+++ b/RELEASE
@@ -1,5 +1,5 @@
 
-Release notes for GStreamer 0.10.30 "Safety First"
+Release notes for GStreamer 0.10.32 "Take Me to the Bonus Level"
         
 
 
@@ -9,12 +9,6 @@ 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.
@@ -37,115 +31,64 @@ contains a set of less supported plug-ins that haven't passed the
 
 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
+      * 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
      
-      * 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
+      * 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_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()
+      * 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
 
@@ -170,33 +113,31 @@ 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
+      * Andoni Morales Alastruey
       * Benjamin Gaignard
       * Benjamin Otte
+      * David Hoyt
       * David Schleef
-      * Eduardo Dobay
       * Edward Hervey
-      * Johan Dahlin
+      * Havard Graff
+      * Jan Schmidt
+      * Kipp Cannon
+      * Koop Mast
+      * Lasse Laukkanen
       * Mark Nauwelaerts
-      * Martin Bisson
+      * Michael Smith
+      * Olivier Crete
       * Olivier Crête
-      * Philippe Normand
+      * Raimo Järvi
       * Sebastian Dröge
       * Stefan Kost
       * Thiago Santos
       * Tim-Philipp Müller
-      * Tristan Matthews
+      * Tommi Myöhänen
       * Wim Taymans
-      * Zaheer Abbas Merali
-      * Руслан Ижбулатов
\ No newline at end of file
+      * Zhang Wanming
+      * Christian Schaller
+      * Sjoerd Simons