tee: Check for the removed pad flag also in the slow pushing path
[platform/upstream/gstreamer.git] / RELEASE
diff --git a/RELEASE b/RELEASE
index 41ca358..518b691 100644 (file)
--- a/RELEASE
+++ b/RELEASE
+This is GStreamer core 1.16.1.
 
-Release notes for GStreamer 0.10.33 "Prior Spaceflight Experience is an Advantage"
-        
-
-
-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
-    
-      * atomicqueue: add an atomic/lock-free queue structure based
-      * bufferlist: improve _add*() performance
-      * bus: in _add_watch() honour any per-thread default main context set via g_main_thread_push_thread_default()
-      * caps: new gst_caps_intersect_full() to intersect in different modes
-      * clock: add functions to re-init existing periodic GstClockIDs
-      * event: add QoS type (overflow, underflow, throttle) for QoS events
-      * ghostpad: The internally linked pad of the proxypad is the ghostpad
-      * gstpoll: retry reading the control socket to release properly all wakeups
-      * message: new progress message API for asynchronous operations
-      * pad: unlock before freeing the pad cache to avoid deadlock
-      * pad: better handling for when parent goes away during data/query/event flow
-      * parse-launch: allow element names to begin with digits
-      * pluginloader: call gst-plugin-scanner with the right arch on OSX, fixing hangs with firefox
-      * registry: fixes elements (features) disappearing if a plugin or plugin file is renamed
-      * structure: Add "(date)" as a type abbreviation of GDate
-      * structure: Don't allow invalid GDates in all structures and don't allow NULL GDates in taglists
-      * taglist: add a new "encoded-by" tag
-      * uri: add gst_filename_to_uri() that takes relative filenames
-      * utils: add gst_element_factory_can_{src|sink}_{any|all}_caps() to replace can_{sink,src}_caps()
-      * baseparse: new GstBaseParse class for parsers
-      * basesink: improve rate, duration, and average duration calculation
-      * basesink: use new QoS types and add add "throttle-time" property
-      * basesrc: Handle tag and custom downstream events the same
-      * basesrc: keep downstream caps order when fixating, to honour downstream preferences when negotiating
-      * basesrc: Return FALSE if we don't handle an event
-      * basesrc: Send synchronized custom downstream/both events downstream from the streaming thread
-      * basetransform: Be smarter with pad allocs
-      * basetransform: Check for pad alloc caps when suggestion is not fixed
-      * basetransform: Retain caps order when getting caps, to honour downstream preferences when negotiating
-      * funnel: new N-to-1 pipe fitting element imported from farsight
-      * fakesink: print buffer flags
-      * filesink: Fix escaping of URIs
-      * file{sink,src}: Check if non-URI characters are escaped, but only for the URI not the location property
-      * filesrc, filesink: fix URI creation regression for non-absolute locations
-      * filesrc: Fix escaping of file uris
-      * inputselector: Hold the selector lock while reading properties of the active pad
-      * inputselector: Make sure that EOS is always sent downstream for the active pad
-      * inputselector: Return GST_FLOW_OK until the selected pad pushed something downstream
-      * inputselector: Stop waiting for a pad switch when the pad is flushing
-      * multiqueue: fix some potential corner-case deadlocks and some leaks
-      * multiqueue: handle arbitrary sink + source pad naming
-      * queue2: don't read beyond the end of file upstream in pull mode; leak fixes
-      * plugins: make query and event functions more thread-safe, protect against parent-pad disappearing
-      * gst-launch: add GstIndex support
-
-Bugs fixed in this release
-     
-      * 642356 : [Index] review api and add an example
-      * 402141 : gst_element_factory_can_{sink,src}_caps seems to be broken
-      * 518857 : [API] GstBaseParse: new base class for parsers
-      * 604094 : registry: do not remove features when removing a cached plugin that no longer is present
-      * 615357 : [macosx] Handle multi-arch plugin-scanner
-      * 617045 : [caps] New method for intersecting caps while retaining order
-      * 639674 : parse-launch: improve parsing resilience (for escapes at end of string)
-      * 639962 : design docs: Fix a few typos and a think
-      * 640071 : pluginloader: do not leak the description string of blacklisted plugin
-      * 640437 : design docs: fix 2 typos in part-MT-refcounting
-      * 640502 : fix a few typos
-      * 640622 : gst_element_link_pads_full function return wrong error information
-      * 640675 : high cpu-load with 0.10.32 release
-      * 640850 : GstElement: Fix warning with GCC 4.6
-      * 641212 : gst-uninstalled: use $GST_PREFIX variable
-      * 641928 : gst_pad_push fast path races with pad deactivation
-      * 642071 : Incorrect comparing of number of source and sink links when parsing a launch string
-      * 642130 : [basetransform] Check for pad alloc caps when suggestion is not fixed
-      * 642271 : crash in gst_caps_structure_intersect, encoder_match_media_type
-      * 642373 : [basetransform] Avoid too may pad allocs
-      * 642393 : [filesrc] Fails setting the same uri it's setting in the uri queries.
-      * 642504 : [mingw/cygwin build] correctly export plugin description
-      * 642522 : gstvalue.c does not include a deserialize function for uchar
-      * 642869 : gst_index_new: documentation typo
-      * 643301 : Adding a buffer to a buffer list iterates the list
-      * 643455 : [regression] Lots of dropouts in Empathy voip calls
-      * 644935 : [inputselector] During switching of streams it can happen that all pads returned not-linked last
-      * 645022 : GstTask: typo in GST_TASK_BROADCAST - g_cond_breadcast should probably be g_cond_broadcast
-      * 645267 : build: fix build with -Werror with GCC 4.6.0
-      * 645595 : bytereader, bytewriter: fix warnings when using inline functions with g++
-      * 645746 : [gstpoll] Regression causes 100% cpu usage in multifdsink
-      * 645877 : commit 14d7db1 causes cpu spinning and other bus weirdness
-      * 645931 : [gstmultiqueue] fix arbitrary sink + source pad naming
-      * 646118 : [gstmultiqueue] if arbitrary sink number is specified by caller, use this as single queue id
-      * 646341 : [baseparse] Add a queued flow return so parsers can keep frames in a queue
-      * 646531 : GST_BOILERPLATE: don't use " type " as both a variable name and a macro argument
-      * 646566 : Protect against Pad-Parent disappearing
-      * 646569 : poll: don't call WSAWaitForMultipleEvents with no events
-      * 646624 : GstBin: regression: creating too many bins fails, exhausting allowed file descriptor limit
-      * 646811 : baseparse: deadlock in gst_base_parse_set_index
-      * 646971 : iterator: resync to avoid infinite loop
-      * 647005 : GstBus: Only create the socketpair for async message delivery if required
-      * 647131 : recent multiqueue changes break DVD playback (again)
-      * 647293 : Fix pad callbacks so they handle when parent goes away
-      * 647763 : [bus] Bus is leaked if a watch is installed in the default main context
-      * 647844 : baseparse: Remove unused but set variable
-      * 647922 : [introspection] Needs to call gst_init() before anything else
-      * 648199 : pad: potential deadlock / crash when freeing cache
-      * 648215 : basetransform: unref in wrong place
-      * 648220 : Regression: videoscale fails to negotiate for PAR transformation
-      * 648297 : [bus] regression: critical assertion failure
-      * 649195 : [miniobject] Fix dup_mini_object function to handle NULL gvalues
-      * 635718 : [basesrc] custom, non-OOB events aren't pushed downstream
-      * 625396 : gst_debug_remove_log_function doesn't remove default log handler
-      * 640771 : amarok doesn't start with new phonon gstreamer
-      * 646972 : queue2: Fixes memory leak on out_flushing error in gst_queue2_create_read
-      * 640665 : basesink: drops too many buffers when there's no duration
-
-API changed in this release
-     
-- API additions:
-    
-      * gst_atomic_queue_length()
-      * gst_atomic_queue_new()
-      * gst_atomic_queue_peek()
-      * gst_atomic_queue_pop()
-      * gst_atomic_queue_push()
-      * gst_atomic_queue_ref()
-      * gst_atomic_queue_unref()
-      * gst_buffer_list_iterator_get_type()
-      * gst_caps_intersect_full()
-      * gst_caps_intersect_mode_get_type()
-      * gst_clock_periodic_id_reinit()
-      * gst_element_factory_can_sink_all_caps()
-      * gst_element_factory_can_sink_any_caps()
-      * gst_element_factory_can_src_all_caps()
-      * gst_element_factory_can_src_any_caps()
-      * gst_event_new_qos_full()
-      * gst_event_parse_qos_full()
-      * gst_filename_to_uri()
-      * gst_message_new_progress()
-      * gst_message_parse_progress()
-      * gst_parse_context_get_type()
-      * gst_progress_type_get_type()
-      * gst_qos_type_get_type()
-      * GST_TAG_ENCODED_BY
-      * gst_base_parse_add_index_entry()
-      * gst_base_parse_convert_default()
-      * gst_base_parse_frame_free()
-      * gst_base_parse_frame_get_type()
-      * gst_base_parse_frame_init()
-      * gst_base_parse_frame_new()
-      * gst_base_parse_get_type()
-      * gst_base_parse_push_frame()
-      * gst_base_parse_set_average_bitrate()
-      * gst_base_parse_set_duration()
-      * gst_base_parse_set_frame_rate()
-      * gst_base_parse_set_has_timing_info()
-      * gst_base_parse_set_min_frame_size()
-      * gst_base_parse_set_passthrough()
-      * gst_base_parse_set_syncable()
-      * gst_base_sink_get_throttle_time()
-      * gst_base_sink_set_throttle_time()
-- API deprecations:
-    
-      * gst_element_factory_can_src_caps()
-      * gst_element_factory_can_sink_caps()
-
-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
-      * Andoni Morales Alastruey
-      * Andreas Frisch
-      * Arun Raghavan
-      * Bastien Nocera
-      * Cai Yuanqing
-      * Chen Rui
-      * Daniel Macks
-      * David Schleef
-      * Edward Hervey
-      * Fraxinas
-      * Havard Graff
-      * Idar Tollefsen
-      * Jan Schmidt
-      * Janne Grunau
-      * Jason D. Clinton
-      * Jonas Holmberg
-      * Jonathan Matthew
-      * Josep Torra
-      * Joshua M. Doe
-      * Julien Moutte
-      * Luis de Bethencourt
-      * Mark Nauwelaerts
-      * Mart Raudsepp
-      * Michael Smith
-      * Miguel Angel Cabrera Moya
-      * Ole André Vadla Ravnås
-      * Olivier Crête
-      * Peter Collingbourne
-      * Philip Jägenstedt
-      * René Stadler
-      * Robert Swain
-      * Sebastian Dröge
-      * Sreerenj Balachandran
-      * Stefan Kost
-      * Stian Selnes
-      * Thiago Santos
-      * Thijs Vermeir
-      * Thomas Kristensen
-      * Tim-Philipp Müller
-      * Vincent Penquerc'h
-      * Wim Taymans
-      * Yang Xichuan
-      * Zaheer Abbas Merali
-      * Zhang Wanming
\ No newline at end of file
+The GStreamer team is pleased to announce another bug-fix release in the
+stable 1.x API series of your favourite cross-platform multimedia framework!
+
+The 1.16 release series adds new features on top of the 1.14 series and is
+part of the API and ABI-stable 1.x release series of the GStreamer multimedia
+framework.
+
+Full release notes will one day be found at:
+
+  https://gstreamer.freedesktop.org/releases/1.16/
+
+Binaries for Android, iOS, Mac OS X and Windows will usually be provided
+shortly after the release.
+
+This module will not be very useful by itself and should be used in conjunction
+with other GStreamer modules for a complete multimedia experience.
+
+ - gstreamer: provides the core GStreamer libraries and some generic plugins
+
+ - gst-plugins-base: a basic set of well-supported plugins and additional
+                     media-specific GStreamer helper libraries for audio,
+                     video, rtsp, rtp, tags, OpenGL, etc.
+
+ - gst-plugins-good: a set of well-supported plugins under our preferred
+                     license
+
+ - gst-plugins-ugly: a set of well-supported plugins which might pose
+                     problems for distributors
+
+ - gst-plugins-bad: a set of plugins of varying quality that have not made
+                    their way into one of core/base/good/ugly yet, for one
+                    reason or another. Many of these are are production quality
+                    elements, but may still be missing documentation or unit
+                    tests; others haven't passed the rigorous quality testing
+                    we expect yet.
+
+ - gst-libav: a set of codecs plugins based on the ffmpeg library. This is
+                    where you can find audio and video decoders and encoders
+                    for a wide variety of formats including H.264, AAC, etc.
+
+ - gstreamer-vaapi: hardware-accelerated video decoding and encoding using
+                    VA-API on Linux. Primarily for Intel graphics hardware.
+
+ - gst-omx: hardware-accelerated video decoding and encoding, primarily for
+                    embedded Linux systems that provide an OpenMax
+                    implementation layer such as the Raspberry Pi.
+
+ - gst-rtsp-server: library to serve files or streaming pipelines via RTSP
+
+ - gst-editing-services: library an plugins for non-linear editing
+
+==== Download ====
+
+You can find source releases of gstreamer in the download
+directory: https://gstreamer.freedesktop.org/src/gstreamer/
+
+The git repository and details how to clone it can be found at
+https://gitlab.freedesktop.org/gstreamer/
+
+==== Homepage ====
+
+The project's website is https://gstreamer.freedesktop.org/
+
+==== Support and Bugs ====
+
+We have recently moved from GNOME Bugzilla to GitLab on freedesktop.org
+for bug reports and feature requests:
+
+  https://gitlab.freedesktop.org/gstreamer
+
+Please submit patches via GitLab as well, in form of Merge Requests. See
+
+  https://gstreamer.freedesktop.org/documentation/contribute/
+
+for more details.
+
+For help and support, please subscribe to and send questions to the
+gstreamer-devel mailing list (see below for details).
+
+There is also a #gstreamer IRC channel on the Freenode IRC network.
+
+==== Developers ====
+
+GStreamer source code repositories can be found on GitLab on freedesktop.org:
+
+  https://gitlab.freedesktop.org/gstreamer
+
+and can also be cloned from there and this is also where you can submit
+Merge Requests or file issues for bugs or feature requests.
+
+Interested developers of the core library, plugins, and applications should
+subscribe to the gstreamer-devel list:
+
+  https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel