check: use _exit() instead of exit() in fail_unless() so we exit immediately
[platform/upstream/gstreamer.git] / RELEASE
diff --git a/RELEASE b/RELEASE
index 5cb2591..0ce9dbe 100644 (file)
--- a/RELEASE
+++ b/RELEASE
 
-Release notes for GStreamer 0.10.36 "Harder"
-        
+Release notes for GStreamer 1.3.1
+
+
+The GStreamer team is pleased to announce the first release of the unstable
+1.3 release series. The 1.3 release series is adding new features on top of
+the 1.0 and 1.2 series and is part of the API and ABI-stable 1.x release
+series of the GStreamer multimedia framework. The unstable 1.3 release series
+will lead to the stable 1.4 release series in the next weeks, and newly added
+API can still change until that point.
 
 
-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.
 
+Binaries for Android, iOS, Mac OS X and Windows will be provided separately
+during the unstable 1.3 release series.
 
-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.
+The versioning scheme that is used in general is that 1.x.y is API and
+ABI backwards compatible with previous 1.x.y releases. If x is an even
+number it is a stable release series and all releases in this series
+will only contain important bugfixes, e.g. the 1.0 series with 1.0.7. If
+x is odd it is a development release series that will lead to the next
+stable release series 1.x+1 and contains new features and bigger
+changes. During the development release series, new API can still
+change.
+
 
 
 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
+contains a basic set of well-supported plugins
 gst-plugins-good
-contains a set of well-supported plug-ins under our preferred license
+contains a set of well-supported plugins under our preferred license
 gst-plugins-ugly
-contains a set of well-supported plug-ins, but might pose problems for
+contains a set of well-supported plugins, 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
+contains a set of less supported plugins that haven't passed the
+    rigorous quality testing we expect, or are still missing documentation
+    and/or unit tests
+gst-libav
+contains a set of codecs plugins based on libav (formerly gst-ffmpeg)
 
 
 
   
 
-Features of this release
-    
-      * bin: Don't interpret pipelines without sink elements as always being in EOS state
-      * bin: Only post EOS messages after reaching the PLAYING state
-      * buffer: add set/get_qdata() to attach arbitrary metadata to buffers
-      * caps, structure, gstvalue: some optimisations and improvements
-      * miniobject: add weak referencing functionality
-      * gstobject: make gst_object_replace() atomic
-      * pad: Only do the subset check in gst_pad_accept_caps() if the pad claims to accept the caps
-      * pad: make public some ghostpad/proxypad API
-      * preset: allow applications to specify an extra preset directory with application-specific presets
-      * collectpads: add GstCollectPads2 API
-      * basebarse: new detect vfunc so subclassed can do some format detection first
-      * baseparse: new get_sink_caps vfunc so downstream caps restrictions can be propagated upstream
-      * baseparse: answer position query in stream time and try upstream first
-      * baseparse: send duration message when updating internal duration
-      * baseparse: make baseparse-based elements is reusable
-      * baseparse: provide latency query support
-      * basesink: don't compensate for render-delay twice
-      * basesink: try harder to arrange increasing position reporting
-      * basesrc: allow for the size to change dynamically
-      * basetransform: add query vfunc
-      * basetransform: caps negotiation improvements
-      * basetransform: delay serialized events when src caps are not set yet
-      * filesrc: do not mistake short reads for EOS
-      * filesrc/fdsrc: indicate dynamic size handling to basesrc
-      * inputselector: add sync mode that syncs inactive pads to the running time of the active pad
-      * queue2: add bufferlist support
-      * queue2: adjust input data rate estimation
-      * multiqueue: add mode to synchronize deactivated/not-linked streams by the running time
-      * multiqueue: check filled state of queues even if another one is empty
-      * outputselector: don't send last segment/buffer when no segment was configured yet
-      * tools: teach gst-launch about missing-plugin messages
-      * tools: make unversioned wrapper look for -0.10 tools only
-
 Bugs fixed in this release
      
-      * 647940 : [basesrc] - fails to send updated segment event when duration changes
-      * 662777 : Caps negotiation got a lot slow since the last release
-      * 647493 : Regression: gstbus: Not getting all messages posted on the bus
-      * 415754 : [API] GstCollectPads2; muxing sparse/subtitle streams
-      * 459466 : double memory usage for pluginfeature names
-      * 546570 : gst_caps_append/merge should not require caps2 to be writable
-      * 609473 : [miniobject] Add support for weak references
-      * 619844 : [basetransform] transform_caps can ignore pass-through
-      * 628021 : [baseaudiosink] position reporting not increasing
-      * 629300 : gstructure: New API for comparing structures
-      * 643269 : dot file flow direction
-      * 645017 : [inputselector] Add mode to drop buffers only after the active sinkpad's running time is after the current buffer
-      * 645107 : [multiqueue] Implement throttling based on stream's running time
-      * 647756 : [bin] Posting EOS message although not reached PLAYING yet
-      * 648025 : parse-launch: don't unescape inside quotes
-      * 650002 : 'No space left on device' message logged continuously, filling /home slice
-      * 650973 : check: add fail_unless_equals_int64
-      * 652037 : basesrc: less persistent caching of size
-      * 652577 : basesink: s/if/is/
-      * 653137 : Warnings in Gstreamer (core) with Clang compiler
-      * 653172 : Compilation fails when PR_SET_NAME is not defined in prctl.h
-      * 655155 : Build failure for gstcontroller.c -- (-Wall)  assignment discards qualifiers from pointer target type
-      * 655204 : bad interaction between queue and adder
-      * 655381 : GstBitReader and GstByteReader functions missing out argument annotations
-      * 656193 : don't revalidate utf8 elementfactory metadata all the time
-      * 656265 : Fix compiler warnings reported by ICC
-      * 656557 : Add Farsight and Nice support to gst-uninstalled
-      * 657316 : capsfilter is racy when changing the caps during initial pipeline startup
-      * 657318 : basetranform dosn't allow query handlers to be overridden
-      * 657421 : Fix compiler warnings reported by ICC
-      * 658076 : setcaps function for ghost pads never called
-      * 658449 : Fix typos in docs and code comments
-      * 658517 : [ghostpad] Peer query does not work with empty GstPlaySinkVideoConvert
-      * 658518 : basesink: Backport query override support
-      * 658541 : [API change] caps negotiation failures
-      * 658918 : [pad] set caps on pad before checking for peer
-      * 659139 : gstpad: make some debug traces more useful
-      * 659571 : basetransform: delay events we cannot send right away
-      * 659606 : Remaining non-subset caps warnings
-      * 660083 : Fix mingw compiler warnings
-      * 660144 : [GstBaseParse] make start/stop methods optional
-      * 660165 : basetransform: send delayed events earlier
-      * 660760 : .prs presets needs to have a per-application option
-      * 660778 : multiqueue: check filled state of queues even if another one is empty
-      * 660955 : gst_type_register_static_full: guard against large instance sizes that don't fit into a guint16
-      * 662091 : plugin loader: spawn new plugin loader helper after loading N plugins
-      * 662199 : [capsfilter] behavior has changed
-      * 662291 : basetransform: cache transformed caps where appropriate
-      * 662664 : API: add gst_element_class_add_static_pad_template() and fix template pad ref leaks
-      * 663333 : basetransfrom cache should be invalidated whenever there is any change in the peer caps
-      * 663643 : gstvalue: consider lists and ranges equal if they hold the same set
-      * 664221 : [baseparse] ::sink_get_caps() vfunc breaks API/ABI
-      * 664720 : API: add gst_buffer_{set,get}_qdata()
-      * 665921 : filesrc: Incorrect EOF detection in create_read
-      * 666174 : [basetransform] causes segfaults because gst_pad_alloc_buffer_and_set_caps return a buffer with a size of 0
-      * 667284 : registry: add missing #ifndef guard
-      * 667286 : gstpoll: Include correct poll.h based on autoconf  test
-      * 667288 : plugins: Explicitly cast initialization values to the correct type.
-      * 667290 : tools: Include locale.h before any i18n headers.
-      * 667298 : basesink: don't compensate for render-delay twice
-      * 667444 : baseparse: clear adapter in reset so no old data is read when re-using elements
-      * 668289 : regression: playbin2: repeat mode only repeats twice in totem
-      * 668764 : collectpads2: move private stuff into private struct
-      * 669036 : Missing include in gstpreset.h causes build error
-      * 669502 : [baseparse] duration msg spam when upstream knows avg bitrate
-
-API changed in this release
-     
-- API additions:
-    
-      * gst_base_parse_set_latency()
-      * GstBaseParse::detect
-      * GstBaseParse::get_sink_caps
-      * gst_base_src_set_dynamic_size()
-      * GstBaseTransform::query
-      * gst_collect_pads2_add_pad()
-      * gst_collect_pads2_add_pad_full()
-      * gst_collect_pads2_available()
-      * gst_collect_pads2()_collect
-      * gst_collect_pads2_collect_range()
-      * gst_collect_pads2_flush()
-      * gst_collect_pads2_get_type()
-      * gst_collect_pads2_is_active()
-      * gst_collect_pads2_new()
-      * gst_collect_pads2_peek()
-      * gst_collect_pads2_pop()
-      * gst_collect_pads2_read()
-      * gst_collect_pads2_read_buffer()
-      * gst_collect_pads2_remove_pad()
-      * gst_collect_pads2_set_buffer_function()
-      * gst_collect_pads2_set_clip_function()
-      * gst_collect_pads2_set_compare_function()
-      * gst_collect_pads2_set_event_function()
-      * gst_collect_pads2_set_flushing()
-      * gst_collect_pads2_set_function()
-      * gst_collect_pads2_set_waiting()
-      * gst_collect_pads2_start()
-      * gst_collect_pads2_stop()
-      * gst_collect_pads2_take_buffer()
-      * gst_buffer_get_qdata()
-      * gst_buffer_set_qdata()
-      * gst_caps_is_strictly_equal()
-      * gst_caps_is_subset_structure
-      * gst_element_class_add_static_pad_template()
-      * GstElement::state_changed
-      * gst_ghost_pad_activate_pull_default()
-      * gst_ghost_pad_activate_push_default()
-      * gst_ghost_pad_internal_activate_pull_default()
-      * gst_ghost_pad_internal_activate_push_default()
-      * gst_ghost_pad_link_default()
-      * gst_ghost_pad_setcaps_default()
-      * gst_ghost_pad_unlink_default()
-      * gst_mini_object_weak_ref()
-      * gst_mini_object_weak_unref()
-      * gst_preset_get_app_dir()
-      * gst_preset_set_app_dir()
-      * gst_proxy_pad_acceptcaps_default()
-      * gst_proxy_pad_bufferalloc_default()
-      * gst_proxy_pad_chain_default()
-      * gst_proxy_pad_chain_list_default()
-      * gst_proxy_pad_checkgetrange_default()
-      * gst_proxy_pad_event_default()
-      * gst_proxy_pad_fixatecaps_default()
-      * gst_proxy_pad_get_internal()
-      * gst_proxy_pad_getcaps_default()
-      * gst_proxy_pad_getrange_default()
-      * gst_proxy_pad_iterate_internal_links_default()
-      * gst_proxy_pad_query_default()
-      * gst_proxy_pad_query_type_default()
-      * gst_proxy_pad_setcaps_default()
-      * gst_proxy_pad_unlink_default()
-      * gst_structure_can_intersect()
-      * gst_structure_intersect()
-      * gst_structure_is_equal()
-      * gst_structure_is_subset()
-      * gst_tag_list_is_equal()
-      * gst_tag_list_new_from_string()
-      * gst_tag_list_to_string()
-      * fail_unless_equals_int64()
-- API deprecations:
-    
-      * gst_plugin_feature_type_name_filter()
-      * GstTypeNameData
-      * gst_filter_run()
-      * GstFilterFunc
+      * 729440 : docs: DeviceMonitor missing in generated doc
+      * 710621 : utils: Uses non-literal as format string
+      * 726423 : playbin/decodebin: aggregate buffering messages
+      * 726425 : Add new API to notify minimum buffering needed downstream
+      * 679115 : Windows: Make the GStreamer DLLs/data relocatable
+      * 721655 : basesrc activation order logs error in some cases where it should not
+      * 702842 : basesrc: operate in time mode if do-timestamp is true
+      * 705189 : debug-dot-dump: Add the presence/state of a GstTask
+      * 708870 :  " generic " is spelled wrong in GstBaseSrc's documentation
+      * 709253 : caps: subset checks fail with duplicated values in lists
+      * 709262 : GstStructure's documentation incorrectly warns that empty strings don't work in any GstStructure
+      * 709831 : filesrc: Improve unit test coverage by setting property in the " wrong " state...
+      * 710034 : parse: bison finds conflicts / ambiguities
+      * 710342 : docs: various constructors are annotated as " transfer full " , but return floating references
+      * 710442 : netclientclock: constify name parameter for gst_net_client_clock_new()
+      * 710758 : gst-launch: assert if we can't get gst sample
+      * 710876 : pwg: rename the " samplerate " variable to make example code compilable
+      * 711138 : iterator: Don't hold mutex while calling filter functions of recursive filter iterators
+      * 711269 : systemclock: Add method to set the default system clock
+      * 711488 : gst-uninstalled: export gst-plugins-gl DYLD_LIBRARY_PATH
+      * 712385 : netclock: added new round-trip limit property
+      * 712679 : parse: prototype-mismatch
+      * 719614 : docs: add missing docs and fix errors
+      * 720029 : docs/etc: Fix typos
+      * 720036 : info: return existing debug category when registering a category twice (regression)
+      * 720100 : parse: redefinition of malloc - old grammar.y bugs crawl out of the woodwork
+      * 720199 : basesrc: DTS becomes 0 in gst_base_src_do_sync() for first buffer
+      * 720316 : parse: Fails to compile on CentOS due to redefinition of yyscan_t
+      * 720337 : gstreamer-uninstalled: add gstreamer-vaapi to GST_PLUGIN_PATH
+      * 721076 : appsink documentation missing gst_sample_unref
+      * 721096 : pad: Pad BLOCKING probe callback issues
+      * 722289 : capsfilter: Sending CAPS event downstream in pull mode
+      * 722697 : pad: Setting pad offsets breaks the running time in QoS and other events
+      * 722791 : basesrc: not respecting seqnum of eos from send_event
+      * 722891 : multiqueue: Growing of multiqueue does not work correctly if all except one pad are not linked
+      * 723229 : gst-uninstalled call print as function
+      * 723236 : caps: fix gst_caps_get_features return
+      * 723266 : outputselector: respect the 'negotiation-mode' property
+      * 723997 : gstreamer/docs: add missing seqnum file for distribution
+      * 724045 : gst-inspect: Compile error at gst-inspect.c:514:15 since 53d8460bfd
+      * 724571 : In collectpads, the collected function is sometimes called incorrectly.
+      * 724757 : basesrc: Ignores seek made when the last buffer is pushed
+      * 725476 : adapter: Added interfaces for language bindings
+      * 725478 : gstreamer: Ignore gcov intermediate files
+      * 725862 : buffer: invert BUFFER_FLAG_TAG_MEMORY ?
+      * 725917 : multiqueue: do not reset last push result when pushing events
+      * 726461 : collectpads: should send the seek events to the peers of its sink pads, as they can be flushing
+      * 727484 : gstpad: Don't print name of an unowned event
+      * 727701 : debugutils: Handle caps field values being NULL
+      * 727903 : structure: handle 0 denominator
+      * 727945 : funnel: element doesn't forward eos stream
+      * 727949 : bin: Make sure to post EOS message always after reaching the PLAYING state
+      * 729335 : basesink: Should render buffers that arrived on time even if prepare() took some time
+      * 727109 : buffer: Should not set TAG_MEMORY if memory has not been replaced
+
+==== Download ====
+
+You can find source releases of gstreamer in the download
+directory: http://gstreamer.freedesktop.org/src/gstreamer/
+
+The git repository and details how to clone it can be found at
+http://cgit.freedesktop.org/gstreamer/gstreamer/
+
+==== Homepage ====
+
+The project's website is http://gstreamer.freedesktop.org/
+
+==== Support and Bugs ====
 
-Download
+We use GNOME's bugzilla for bug reports and feature requests:
+http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
 
-You can find source releases of gstreamer in the download directory:
-http://gstreamer.freedesktop.org/src/gstreamer/
+Please submit patches via bugzilla as well.
 
-GStreamer Homepage
+For help and support, please subscribe to and send questions to the
+gstreamer-devel mailing list (see below for details).
 
-More details can be found on the project's website:
-http://gstreamer.freedesktop.org/
+There is also a #gstreamer IRC channel on the Freenode IRC network.
 
-Support and Bugs
+==== Developers ====
 
-We use GNOME's bugzilla for bug reports and feature requests:
-http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
+GStreamer is stored in Git, hosted at git.freedesktop.org, and can be cloned
+from there (see link above).
 
-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.
+Interested developers of the core library, plugins, and applications should
+subscribe to the gstreamer-devel list.
 
         
-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
     
-      * Antoine Tremblay
-      * David Schleef
+      * Alessandro Decina
+      * Antoine Jacoutot
+      * Antonio Ospite
+      * Arnaud Vrac
+      * Brendan Long
+      * Carlos Rafael Giani
+      * Chun-wei Fan
+      * David Svensson Fors
       * Edward Hervey
-      * Emmanuel Pacaud
-      * Evan Nemerson
-      * Fabrizio (Misto) Milo
-      * Guillaume Desmottes
+      * Erik Andresen
+      * Fabian Kirsch
+      * Felipe Ortiz
+      * George Kiagiadakis
+      * Haakon Sporsheim
       * Havard Graff
-      * Idar Tollefsen
+      * Jan Alexander Steffens (heftig)
       * Jan Schmidt
-      * Josep Torra
-      * João Paulo Pizani Flor
+      * Jose Antonio Santos Cadenas
+      * Linus Svensson
+      * Luis de Bethencourt
       * Mark Nauwelaerts
+      * Mathieu Duponchelle
+      * Matthieu Bouron
+      * Nicola Murino
       * Nicolas Dufresne
-      * Peteris Krisjanis
-      * Philip Jägenstedt
-      * Piotr Fusik
-      * Raimo Järvi
-      * Raluca Elena Podiuc
-      * René Stadler
+      * Olivier Crête
+      * Pedro Côrte-Real
+      * Per x Johansson
+      * Philip Withnall
+      * Philippe Normand
       * Reynaldo H. Verdejo Pinochet
-      * Robert Swain
       * Sebastian Dröge
-      * Shaun Hoopes
-      * Sjoerd Simons
-      * Stas Sergeev
-      * Stefan Kost
+      * Sebastian Rasmussen
+      * Showayb Zahda
+      * Srimanta Panda
       * Stefan Sauer
+      * Stewart Brodie
+      * Stian Selnes
       * Thiago Santos
+      * Thibault Saunier
       * Tim-Philipp Müller
+      * Todd Agulnick
       * Vincent Penquerc'h
+      * Víctor Manuel Jáquez Leal
+      * William Jon McCann
+      * William Manley
       * Wim Taymans
+      * Xavi Artigas
+      * YanpingZhang
  
\ No newline at end of file