Release 0.10.32
[glsdk/gstreamer0-10.git] / RELEASE
diff --git a/RELEASE b/RELEASE
index e409c43929bb5a80c97020f9546f940365e7fdd4..698ad4e2f96e58078de28a755417a9542bf872ad 100644 (file)
--- a/RELEASE
+++ b/RELEASE
@@ -1,5 +1,5 @@
 
-Release notes for GStreamer 0.10.31 "Safety Pins"
+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,233 +31,64 @@ contains a set of less supported plug-ins that haven't passed the
 
 Features of this release
     
-      * bin: add "message-forward" property to force forwarding of messages that would usually be filtered such as ASYNC_DONE or EOS
-      * bin: improve tracking of source elements for more efficient event dispatch
-      * bufferlist: add function to add a list of buffers
-      * clock: fix racy shutdown clock id leak
-      * element: add support for arbitrary element class / factory details
-      * element: link_many should activate pads if needed
-      * gst: add math-compat.h header
-      * datetime: add GstDateTime API
-      * elementfactory: add utility functions to filter features by type
-      * plugin: load the gst-python plugin loader with G_MODULE_BIND_LAZY
-      * query: add buffering ranges API to retrieve informations about the areas of the stream currently buffered
-      * value: add int64 range type
-      * info: write debugging output to file if GST_DEBUG_FILE environment variable is set
-      * pad: use more efficient g_object_notify_by_pspec() for caps notifies if compiling against new-enough GLib
-      * pipeline: If the currently used clock gets lost update it the next time when going from PAUSED to playing
-      * plugin: add release datetime field to GstPluginDesc and set it if GST_PACKAGE_RELEASE_DATETIME is defined
-      * utils: speed up pad linking utility functions by not trying pads that will never work
-      * adapter: add function to get a list of buffers; support 0-sized buffers
-      * adapter: optimize gst_adapter_take() and gst_adapter_peek() a little
-      * basesink: only answer the SEGMENT query in pull mode
-      * basesrc: return values in stream time for the POSITION query
-      * basetransform: allow the subclass to add new fields to caps when getting new caps from downstream
-      * basetransform: avoid useless memcpy
-      * basetransform: upstream caps-renegotiation fixes
-      * bitreader: add inlined and unchecked versions of the most important functions
-      * bytewriter: add inline and unchecked variants of all important functions
-      * bytewriter: fix possible infinite loop caused by an overflow
-      * queue: add "silent" property to suppress signal emission (for better performance)
-      * queue: avoid unnecessary g_cond_signal() (for better performance)
-      * queue: push newsegment event when linking in PLAYING
-      * queue2: extend ring buffer to support RAM mode
-      * queue2: in download mode, prevent range corruption due to race
-      * queue2: don't send seeks beyond the end of the file upstream in pull mode (fixes apple trailers and youtube/html5 playback in webkit)
-      * multiqueue: flush the data queue if downstream return WRONG_STATE too
-      * gst-inspect: print GST_PARAM_MUTABLE_* property flags
+      * 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 (use atomic ops make many code-paths
+      * 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
      
-      * 396774 : Make GstElementDetails extensible
-      * 482147 : [queue] Issue with current time level if source task is not started
-      * 579127 : gst-launch: disable CLOCK_LOST message handling
-      * 594504 : Need a GType of " Date AND Time AND Timezone " 
-      * 600004 : underrun signal emits when i tested queue overrun test case from file /gstreamerXXXX/tests/check/element/queue.c
-      * 610366 : [gstcollectpads][doc] Add a reminder for 'data' doc
-      * 611918 : leaky queue might not push newsegment event
-      * 618919 : Registry/Plugin Loading Memory Leak
-      * 619522 : basetransform fix for upstream caps-renegotiation
-      * 621299 : make simple queues faster
-      * 621332 : BaseTransform should disable proxy alloc if downstream changes caps
-      * 622740 : GstPad: Do not call gst_pad_accept_caps() when caps change
-      * 623040 : Add release_datetime field to GstPluginDesc
-      * 623121 : [queue2] downloaded areas of the media are not exposed
-      * 623491 : make *_get_type() thread safe
-      * 623541 : [basetransform] Implement POSITION query
-      * 623622 : [basesink/basesrc] Should return values in stream time for POSITION query
-      * 623806 : [pipeline] Doesn't update the clock if the currently used one gets lost and the start time did not change
-      * 623875 : gstregistrybinary.c compatibility with glib > = 2.25.0
-      * 624203 : gstutils: Make gst_pad_proxy_getcaps() return empty caps if it's what the other side has
-      * 625239 : FTBFS: ./gstreamer-decl.txt:9461: warning: GstTagList has multiple definitions.
-      * 625295 : [info] regression: doesn't flush output stream after every debug print any longer
-      * 625368 : gstdatetime.c doesn't compile in VS 2008
-      * 625862 : [docs] unused symbol GST_CAT_LEVEL_LOG_valist breaks the build
-      * 626027 : [tag] Add GST_TAG_APPLICATION_NAME
-      * 626181 : GstElementFactory: add listing/filtering API
-      * 626651 : [tag] Photography/capture settings tags
-      * 626784 : element: link_many might assert elements are in paused or playing
-      * 627438 : gst: Add a gst_is_initialized() API
-      * 627826 : GstInt64Range type
-      * 627910 : Warnings emitted when -Wcast-qual used
-      * 627959 : [queue2] on-disk buffering failing for AVI container
-      * 628014 : Deprecate GST_FLOW_IS_FATAL/GST_FLOW_IS_SUCCESS
-      * 628174 : New gstvalue checks cause trouble in thoggen
-      * 628176 : [basetransform] Problems with buffer handling in inplace mode
-      * 628408 : Use GDateTime that has been released
-      * 629241 : Build broken with introspection using gobject-introspection from master
-      * 629410 : GstBaseTransform: position query refers to sink pad, not source pad
-      * 629494 : Latest gst-launch.c doesn't build in Visual Studio 2008
-      * 629553 : GstAdapter: timestamp not updated when empty buffer is pushed
-      * 629831 : [API] add gst_structure_take_value() and gst_structure_id_take_value()
-      * 629946 : Enumerations have incorrect names of enum values (GEnumValue.value_name)
-      * 630257 : GST_DEBUG_DUMP_DOT_DIR not working anymore
-      * 630436 : basesink: renderdelay needs to be subtracted in adjust_time()
-      * 630437 : basetransform: Make a WARNING into a DEBUG statement
-      * 630439 : clock: fix racy shutdown clock id leak
-      * 631755 : Fix build with glib 2.21.3
-      * 631853 : [queue2] deadlock when using temp-location and dispatch-properties
-      * 632236 : [gst-inspect] unhelpful uri handler output
-      * 632433 : [basesink] hangs/drops going to PLAYING following flushing step in PAUSED
-      * 632977 : [queue2] qtdemux causes soup to request seeks past the end of the range
-      * 633147 : Simple reverse negotiation pipeline is broken.
-      * 633886 : Visual Studio emits warnings about double defined _USE_MATH_DEFINES
-      * 635031 : [datetime] Fix unix epoch handling
-      * 635389 : Include information on exported packages in GIRs
-      * 635869 : GST_BOILERPLATE_FULL causes warnings in user C++ code
-      * 633176 : recent multiqueue changes break DVD playback
+      * 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_is_initialized
-      * gst_buffer_list_iterator_add_list
-      * GstBin:message-forward
-      * GST_TYPE_DATE_TIME
-      * gst_date_time_get_day
-      * gst_date_time_get_hour
-      * gst_date_time_get_microsecond
-      * gst_date_time_get_minute
-      * gst_date_time_get_month
-      * gst_date_time_get_second
-      * gst_date_time_get_time_zone_offset
-      * gst_date_time_get_type
-      * gst_date_time_get_year
-      * gst_date_time_new
-      * gst_date_time_new_from_unix_epoch_local_time
-      * gst_date_time_new_from_unix_epoch_utc
-      * gst_date_time_new_local_time
-      * gst_date_time_new_now_local_time
-      * gst_date_time_new_now_utc
-      * gst_date_time_ref
-      * gst_date_time_unref
-      * gst_tag_list_get_date_time
-      * gst_tag_list_get_date_time_index
-      * GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR
-      * GST_TAG_APPLICATION_DATA
-      * GST_TAG_APPLICATION_NAME
-      * GST_TAG_DATE_TIME
-      * GST_ELEMENT_IS_SOURCE
-      * gst_element_class_set_documentation_uri
-      * gst_element_class_set_icon_name
-      * gst_element_factory_get_documentation_uri
-      * gst_element_factory_get_icon_name
-      * gst_element_factory_list_filter
-      * gst_element_factory_list_get_elements
-      * gst_element_factory_list_is_type
-      * GstElementFactoryListType
-      * GST_ELEMENT_FACTORY_TYPE_ANY
-      * GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS
-      * GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER
-      * GST_ELEMENT_FACTORY_TYPE_DECODABLE
-      * GST_ELEMENT_FACTORY_TYPE_DECODER
-      * GST_ELEMENT_FACTORY_TYPE_DEMUXER
-      * GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER
-      * GST_ELEMENT_FACTORY_TYPE_ENCODER
-      * GST_ELEMENT_FACTORY_TYPE_FORMATTER
-      * GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS
-      * GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO
-      * GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE
-      * GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA
-      * GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE
-      * GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO
-      * GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY
-      * GST_ELEMENT_FACTORY_TYPE_MUXER
-      * GST_ELEMENT_FACTORY_TYPE_PARSER
-      * GST_ELEMENT_FACTORY_TYPE_PAYLOADER
-      * GST_ELEMENT_FACTORY_TYPE_SINK
-      * GST_ELEMENT_FACTORY_TYPE_SRC
-      * GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER
-      * GST_ELEMENT_FACTORY_KLASS_DECODER
-      * GST_ELEMENT_FACTORY_KLASS_ENCODER
-      * GST_ELEMENT_FACTORY_KLASS_SINK
-      * GST_ELEMENT_FACTORY_KLASS_SRC
-      * GST_ELEMENT_FACTORY_KLASS_MUXER
-      * GST_ELEMENT_FACTORY_KLASS_DEMUXER
-      * GST_ELEMENT_FACTORY_KLASS_PARSER
-      * GST_ELEMENT_FACTORY_KLASS_PAYLOADER
-      * GST_ELEMENT_FACTORY_KLASS_DEPAYLOADER
-      * GST_ELEMENT_FACTORY_KLASS_FORMATTER
-      * GST_ELEMENT_FACTORY_KLASS_MEDIA_VIDEO
-      * GST_ELEMENT_FACTORY_KLASS_MEDIA_AUDIO
-      * GST_ELEMENT_FACTORY_KLASS_MEDIA_IMAGE
-      * GST_ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE
-      * GST_ELEMENT_FACTORY_KLASS_MEDIA_METADATA
-      * gst_plugin_feature_list_debug
-      * gst_plugin_feature_rank_compare_func
-      * gst_query_add_buffering_range
-      * gst_query_get_n_buffering_ranges
-      * gst_query_parse_nth_buffering_range
-      * gst_structure_get_date_time
-      * gst_structure_id_take_value
-      * gst_structure_take_value
-      * GST_TYPE_INT64_RANGE
-      * gst_int64_range_get_type
-      * gst_util_fraction_compare
-      * gst_value_get_int64_range_max
-      * gst_value_get_int64_range_min
-      * gst_value_set_int64_range
-      * GST_VALUE_HOLDS_DATE_TIME
-      * gst_adapter_take_list
-      * gst_bit_reader_skip_unchecked
-      * gst_bit_reader_skip_to_byte_unchecked
-      * gst_bit_reader_get_bits_uint16_unchecked
-      * gst_bit_reader_get_bits_uint32_unchecked
-      * gst_bit_reader_get_bits_uint64_unchecked
-      * gst_bit_reader_get_bits_uint8_unchecked
-      * gst_bit_reader_peek_bits_uint16_unchecked
-      * gst_bit_reader_peek_bits_uint32_unchecked
-      * gst_bit_reader_peek_bits_uint64_unchecked
-      * gst_bit_reader_peek_bits_uint8_unchecked
-      * gst_byte_writer_put_int8_unchecked
-      * gst_byte_writer_put_int16_be_unchecked
-      * gst_byte_writer_put_int16_le_unchecked
-      * gst_byte_writer_put_int24_be_unchecked
-      * gst_byte_writer_put_int24_le_unchecked
-      * gst_byte_writer_put_int32_be_unchecked
-      * gst_byte_writer_put_int32_le_unchecked
-      * gst_byte_writer_put_int64_be_unchecked
-      * gst_byte_writer_put_int64_le_unchecked
-      * gst_byte_writer_put_uint8_unchecked
-      * gst_byte_writer_put_uint16_be_unchecked
-      * gst_byte_writer_put_uint16_le_unchecked
-      * gst_byte_writer_put_uint24_be_unchecked
-      * gst_byte_writer_put_uint24_le_unchecked
-      * gst_byte_writer_put_uint32_be_unchecked
-      * gst_byte_writer_put_uint32_le_unchecked
-      * gst_byte_writer_put_uint64_be_unchecked
-      * gst_byte_writer_put_uint64_le_unchecked
-      * gst_byte_writer_put_float32_be_unchecked
-      * gst_byte_writer_put_float32_le_unchecked
-      * gst_byte_writer_put_float64_be_unchecked
-      * gst_byte_writer_put_float64_le_unchecked
-      * gst_byte_writer_put_data_unchecked
-      * gst_byte_writer_fill_unchecked
-- API deprecations:
-    
-      * GST_FLOW_IS_FATAL
-      * GST_FLOW_IS_SUCCESS
+      * 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
 
@@ -288,43 +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
-      * Arun Raghavan
-      * Colin Walters
+      * Andoni Morales Alastruey
+      * Benjamin Gaignard
+      * Benjamin Otte
       * David Hoyt
       * David Schleef
       * Edward Hervey
-      * Evan Nemerson
       * Havard Graff
       * Jan Schmidt
-      * Jeffrey S. Smith
-      * Jonas Holmberg
-      * Jonathan Matthew
+      * Kipp Cannon
+      * Koop Mast
+      * Lasse Laukkanen
       * Mark Nauwelaerts
-      * Michael Bunk
-      * Ognyan Tonchev
+      * Michael Smith
+      * Olivier Crete
       * Olivier Crête
-      * Philippe Normand
-      * Rob Clark
-      * Robert Swain
+      * Raimo Järvi
       * Sebastian Dröge
-      * Shixin Zeng
       * Stefan Kost
       * Thiago Santos
-      * Thijs Vermeir
       * Tim-Philipp Müller
-      * Trond Andersen
-      * Vincent Penquerc'h
-      * Vladimir Eremeev
+      * Tommi Myöhänen
       * Wim Taymans
-      * reynaldo
+      * Zhang Wanming
+      * Christian Schaller
+      * Sjoerd Simons
  
\ No newline at end of file