summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2016-07-06 13:45:17 +0300
committerSebastian Dröge <sebastian@centricular.com>2016-07-06 13:45:17 +0300
commit777f83e6c6eaa36bcf3bfcdce8559a2ca5bd5418 (patch)
treef46acf5722ee8bc9e7e35ddee7b37faee73e1f2a
parent756bd269e18f5e82bbcd7dd8684842fd51e52810 (diff)
Release 1.9.11.9.1
-rw-r--r--ChangeLog433
-rw-r--r--NEWS787
-rw-r--r--RELEASE30
-rw-r--r--configure.ac8
-rw-r--r--gst-editing-services.doap9
5 files changed, 466 insertions, 801 deletions
diff --git a/ChangeLog b/ChangeLog
index f0c863d9..5760e419 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,438 @@
+=== release 1.9.1 ===
+
+2016-07-06 Sebastian Dröge <slomo@coaxion.net>
+
+ * configure.ac:
+ releasing 1.9.1
+
+2016-06-29 00:39:02 +0000 Justin Kim <justin.kim@collabora.com>
+
+ * tools/ges-launch.c:
+ ges-launch: unref GApplication properly
+ Differential Revision: https://phabricator.freedesktop.org/D380
+
+2016-06-29 00:38:36 +0000 Justin Kim <justin.kim@collabora.com>
+
+ * ges/ges-project.c:
+ project_: improve get_uri doc
+ The return value of ges_project_get_uri should be freed
+ after usage.
+ Differential Revision: https://phabricator.freedesktop.org/D1142
+
+2016-06-21 11:49:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * common:
+ Automatic update of common submodule
+ From ac2f647 to f363b32
+
+2016-06-20 21:29:44 -0400 Thibault Saunier <tsaunier@gnome.org>
+
+ * tests/check/Makefile.am:
+ tests: Make sure to run python tests against the build in tree
+
+2016-06-18 16:16:00 -0400 Thibault Saunier <tsaunier@gnome.org>
+
+ * ges/ges-clip.c:
+ * ges/ges-container.c:
+ * ges/ges-timeline.c:
+ * ges/ges-uri-clip.c:
+ * tests/check/ges/basic.c:
+ * tests/check/python/test_clip.py:
+ ges: Don't remove track elements from clips when removing from layer
+ And reuse the same previously created element when adding the clip
+ back to a layer, avoiding losing all setting done on clip children
+ in that situation
+ This is a behaviour change but previous behaviour was actually totally
+ unexpected and people working around that weird behaviour will moste
+ probably not care about that change
+ Differential Revision: https://phabricator.freedesktop.org/D1094
+
+2016-06-20 14:00:07 -0400 Thibault Saunier <tsaunier@gnome.org>
+
+ * ges/ges-title-clip.c:
+ * tests/check/python/test_clip.py:
+ title_: Do not forget to link up child_added/removed vmethod
+ Otherwise effect handling is broken
+ Differential Revision: https://phabricator.freedesktop.org/D1099
+
+2016-06-19 20:02:06 -0400 Thibault Saunier <tsaunier@gnome.org>
+
+ * ges/ges-auto-transition.c:
+ * tests/check/python/test_group.py:
+ auto-transitions: Do not remove auto transitions when moving neighboor from the same group
+ Differential Revision: https://phabricator.freedesktop.org/D1097
+
+2016-05-14 19:33:05 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+ * ges/ges-container.c:
+ * ges/ges-timeline-element.c:
+ ges: fix various leaks with usage of ges_timeline_element_lookup_child
+ Some callers forgot to unref out child, pspec or both leading to leaks.
+ https://bugzilla.gnome.org/show_bug.cgi?id=766449
+
+2016-05-14 19:02:57 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+ * ges/ges-video-track.c:
+ video-track: don't leak restriction caps in _sync_capsfilter_with_track()
+ https://bugzilla.gnome.org/show_bug.cgi?id=766450
+
+2016-06-06 17:44:15 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ges/ges-uri-asset.c:
+ ges-uri-asset: GstDiscoverer can return a valid info but a non-OK result, consider this an error
+ The asynchronous case in ges_uri_clip_asset_request_async() already considered
+ it an error, do the same in ges_uri_clip_asset_request_sync().
+ https://bugzilla.gnome.org/show_bug.cgi?id=767293
+
+2016-05-31 12:09:44 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * plugins/nle/nlecomposition.c:
+ nlecomposition: Fix race condition in seek handling causing deadlocks
+ We might receive another seek from the application while the action task is
+ handling a previous seek (and thus setting seeking_itself to TRUE). To prevent
+ this seek to go through directly instead of being added as an action, also
+ check if the seek event was received from our action task thread or some other
+ thread.
+ https://bugzilla.gnome.org/show_bug.cgi?id=767053
+
+2016-05-31 09:29:44 -0400 Thibault Saunier <tsaunier@gnome.org>
+
+ * ges/ges-meta-container.c:
+ ges: Emit GESMetontainer::notify-meta even if value is unset
+
+2016-05-30 10:51:51 -0400 Thibault Saunier <tsaunier@gnome.org>
+
+ * ges/ges-meta-container.c:
+ ges: Allow passing `NULL` as a value to ges_meta_container_set_meta
+ Fixes T7430
+
+2016-05-25 10:32:46 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ges/Makefile.am:
+ g-i: pass compiler env to g-ir-scanner
+ It's what introspection.mak does as well. Should
+ fix spurious build failures on gnome-continuous
+ (caused by g-ir-scanner getting compiler details
+ via python which is broken in some environments
+ so passing the compiler details bypasses that).
+
+2016-05-16 12:06:37 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+ * ges/ges-uri-clip.c:
+ * ges/ges-uri-clip.h:
+ uri-clip: make uri parameter of ges_uri_clip_new () const
+ To avoid compiler warning when using const string to create a new
+ GESUriClip as string is not modified and only passed to functions which
+ take a const string.
+ https://bugzilla.gnome.org/show_bug.cgi?id=766523
+
+2016-05-16 12:53:32 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+ * ges/gstframepositioner.c:
+ framepositionner: add a weak ref on track element to know when it is finalized
+ Otherwise if frame positionner is disposed after track element has been
+ finalized, it will raise a critical message because we will try to
+ disconnect a signal handler on a freed track element object.
+ https://bugzilla.gnome.org/show_bug.cgi?id=766525
+
+2016-05-16 17:36:36 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+ * ges/ges-audio-source.c:
+ audio-source: unref private capsfilter reference on dispose
+ Otherwise a capsfilter reference will be leaked since it has been got
+ using gst_bin_get_by_name.
+ https://bugzilla.gnome.org/show_bug.cgi?id=766524
+
+2016-05-16 17:35:29 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+ * ges/ges-audio-source.c:
+ audio-source: fix indentation
+ https://bugzilla.gnome.org/show_bug.cgi?id=766524
+
+2016-05-07 20:29:22 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+ * plugins/nle/nlecomposition.c:
+ nlecomposition: ensure elements pending to be added are not leaked
+ When nlecomposition is finalized with pending add action or io,
+ associated elements are not unreffed as they should since caller gives
+ us the reference when calling gst_bin_add causing them to be leaked.
+ So to make sure we don't leak a reference on element when adding one to
+ the bin, each stage (action and pending_io) hold a reference on element
+ and release it when stage is done.
+ https://bugzilla.gnome.org/show_bug.cgi?id=766455
+
+2016-05-14 18:06:56 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+ * plugins/nle/nlecomposition.c:
+ nlecomposition: fix nle_composition_remove_object info message
+ We don't add internal bin, we remove it.
+ https://bugzilla.gnome.org/show_bug.cgi?id=766455
+
+2016-05-15 01:04:17 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+ * ges/ges-asset.c:
+ * ges/ges-audio-test-source.c:
+ * ges/ges-audio-track.c:
+ * ges/ges-audio-transition.c:
+ * ges/ges-audio-uri-source.c:
+ * ges/ges-clip.c:
+ * ges/ges-effect-clip.c:
+ * ges/ges-effect.c:
+ * ges/ges-extractable.c:
+ * ges/ges-group.c:
+ * ges/ges-image-source.c:
+ * ges/ges-layer.c:
+ * ges/ges-meta-container.c:
+ * ges/ges-multi-file-source.c:
+ * ges/ges-pipeline.c:
+ * ges/ges-project.c:
+ * ges/ges-test-clip.c:
+ * ges/ges-text-overlay-clip.c:
+ * ges/ges-text-overlay.c:
+ * ges/ges-timeline-element.c:
+ * ges/ges-timeline.c:
+ * ges/ges-title-clip.c:
+ * ges/ges-title-source.c:
+ * ges/ges-track-element.c:
+ * ges/ges-track.c:
+ * ges/ges-transition-clip.c:
+ * ges/ges-uri-asset.c:
+ * ges/ges-uri-clip.c:
+ * ges/ges-utils.c:
+ * ges/ges-video-test-source.c:
+ * ges/ges-video-track.c:
+ * ges/ges-video-transition.c:
+ * ges/ges-video-uri-source.c:
+ ges: add some g-i annotations according to documentation
+ Mainly (transfer xxx) and (nullable). Also fix some typo.
+ https://bugzilla.gnome.org/show_bug.cgi?id=766459
+
+2016-05-15 01:03:49 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+ * ges/ges-asset.c:
+ asset: fix ges_asset_set_proxy() return value documentation
+ https://bugzilla.gnome.org/show_bug.cgi?id=766459
+
+2016-05-06 22:28:26 -0300 Thibault Saunier <tsaunier@gnome.org>
+
+ * ges/ges-timeline-element.c:
+ element: Also accept GParamSpec.owner_type name as a child property prefix
+ Makes it simpler for python users to be able to retrieve children
+ properties iterating over them.
+
+2016-05-06 18:21:17 -0300 Thibault Saunier <tsaunier@gnome.org>
+
+ * ges/ges-track-element.c:
+ track-element: gi: skip now deprecated children property getter/setter
+ Those are implemented with the exact same API at the GESTimelineElement
+ level now, and user of those APIs with high level languages will get the
+ exact same API.
+
+2016-05-06 15:44:28 -0300 Thibault Saunier <tsaunier@gnome.org>
+
+ * ges/ges-xml-formatter.c:
+ formatter: Prefix all children properties in the XML formatter
+ Otherwise it will fail on properties that are mandatorily prefixed
+ like the newly added deinterlacing properties
+
+2016-05-06 15:18:50 -0300 Thibault Saunier <tsaunier@gnome.org>
+
+ * ges/ges-group.c:
+ * ges/ges-internal.h:
+ * ges/ges-timeline.c:
+ * ges/ges-timeline.h:
+ ges: Remove timeline_emit_group_removed which slipped in the API by mistake
+ This is formally an API break but I am sure no one ever used that and
+ we should make sure the method is removed as soon as possible because
+ it has no reason to be exposed.
+
+2016-04-29 11:36:00 -0300 Thibault Saunier <tsaunier@gnome.org>
+
+ * ges/ges-container.c:
+ container: Handle setting children properties that need prefixing
+
+2016-04-29 10:29:00 -0300 Thibault Saunier <tsaunier@gnome.org>
+
+ * ges/ges-video-source.c:
+ video-source: Expose deinterlace-[fields, mode, tff] child properties
+ Letting some control over the deinterlacing to the users
+
+2016-04-30 18:38:33 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ges/ges-effect.h:
+ * ges/ges-meta-container.c:
+ * ges/ges-timeline.c:
+ ges: fix misc g-i annotations
+
+2016-04-30 18:20:00 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+ * ges/Makefile.am:
+ g-i: use only "ges/ges.h" as c-include for introspection
+ This is the only header which shall be included by user. Otherwise some
+ language using gir to generate binding, e.g Vala, will includes all
+ headers files in alphabetical order which causes compilation errors due
+ to incomplete type.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765856
+
+2016-04-30 16:43:26 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+ * ges/ges-timeline.c:
+ timeline: rename "track-element" to "track_element" in select-tracks-for-object documentation
+ because "track-element" is not a valid identifier for a parameter and
+ will cause generated binding using GIR to be invalid. For instance in
+ Vala.
+ https://bugzilla.gnome.org/show_bug.cgi?id=765853
+
+2016-04-29 10:05:10 -0300 Thibault Saunier <tsaunier@gnome.org>
+
+ * ges/ges-video-source.c:
+ video-source: Do not ever plugin avdeinterlace
+ It is not feature compatible with deinterlace and is not safe to use
+
+2016-04-28 13:39:41 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ges/ges-types.h:
+ ges: #include glib.h for G_BEGIN_DECLS
+
+2016-04-28 13:39:27 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ges/ges-multi-file-source.h:
+ ges-multi-file-source: Fix case of standard gobject macros
+
+2016-04-28 13:37:49 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/libs/Makefile.am:
+ * docs/libs/ges-sections.txt:
+ ges: Add some more functions to the docs and don't scan internal headers
+ Someone still should look through the unused.txt for more things to add or
+ hide.
+
+2016-04-25 15:11:00 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ges/ges-formatter.h:
+ * ges/ges-internal.h:
+ * ges/ges-pitivi-formatter.h:
+ * ges/ges-structured-interface.h:
+ * ges/ges-types.h:
+ ges: Add G_BEGIN_DECLS around all relevant declarations in headers
+
+2016-04-22 16:06:50 -0300 Thibault Saunier <tsaunier@gnome.org>
+
+ * ges/ges-timeline-element.c:
+ * ges/ges-timeline.c:
+ * ges/ges-title-clip.c:
+ * ges/ges-title-source.c:
+ * tests/check/ges/titles.c:
+ title: Do not concider inpoints
+ It does not make sense for titles
+ Handle element with no inpoint handling in the timeline
+ Fixes https://phabricator.freedesktop.org/T7319
+
+2016-04-14 10:05:16 +0100 Julien Isorce <j.isorce@samsung.com>
+
+ * common:
+ Automatic update of common submodule
+ From 6f2d209 to ac2f647
+
+2016-04-13 12:32:53 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/ges/timelineedition.c:
+ tests: Rename positionner to positioner in the tests too
+
+2016-04-13 12:31:05 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ges/Makefile.am:
+ * ges/ges-smart-video-mixer.c:
+ * ges/ges-source.c:
+ * ges/ges-video-source.c:
+ * ges/ges-video-transition.c:
+ * ges/ges.c:
+ * ges/gstframepositioner.c:
+ * ges/gstframepositioner.h:
+ * ges/gstframepositionner.c:
+ * ges/gstframepositionner.h:
+ ges: Fix typo by renaming positionner to positioner
+ It's fortunately private API
+
+2016-04-13 12:26:13 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ges/gstframepositionner.c:
+ framepositionner: Initialize all fields of the meta during initialization
+ GstMetas are not allocated with all fields initialized to zeroes.
+
+2016-04-09 21:12:00 -0300 Thibault Saunier <tsaunier@gnome.org>
+
+ * ges/ges-track-element.c:
+ ges: Do not try to set read only properties
+ When copying and splitting clips
+ Fixes T7375
+
+2016-04-09 18:13:33 -0300 Thibault Saunier <tsaunier@gnome.org>
+
+ * ges/ges-video-transition.c:
+ transition: Lower done some debug loggin level
+
+2016-03-27 23:40:16 +0200 Thibault Saunier <tsaunier@gnome.org>
+
+ * plugins/nle/nlecomposition.c:
+ Minor fix
+
+2016-04-01 10:09:39 +0200 Thibault Saunier <tsaunier@gnome.org>
+
+ * ges/ges-enums.c:
+ * ges/ges-enums.h:
+ * ges/ges-title-source.c:
+ titlesource: Add support for absolute positionning
+
+2016-04-04 10:53:13 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/.gitignore:
+ * tests/check/ges/.gitignore:
+ tests: Add some things to .gitignore
+
+2016-04-03 18:06:00 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+ * examples/.gitignore:
+ examples/gitignore: ignore assets and play_timeline_with_one_clip binaries
+ https://bugzilla.gnome.org/show_bug.cgi?id=764550
+
+2016-03-30 09:26:18 +0200 Edward Hervey <bilboed@bilboed.com>
+
+ * ges/ges.c:
+ GES: Properly split the GOptionGroup initialization
+ Debugging must be configuring first (before any parsing), and then
+ the types are initialized at the end.
+ Fixes issues with debugging categories not being available at the
+ start
+
+2016-03-07 08:49:14 +0900 Vineeth TM <vineeth.tm@samsung.com>
+
+ * ges/ges-smart-adder.c:
+ * ges/ges-smart-video-mixer.c:
+ * ges/ges-track.c:
+ * ges/gstframepositionner.c:
+ * plugins/nle/nlecomposition.c:
+ * plugins/nle/nleoperation.c:
+ * plugins/nle/nlesource.c:
+ * plugins/nle/nleurisource.c:
+ editing-services: use new gst_element_class_add_static_pad_template()
+ https://bugzilla.gnome.org/show_bug.cgi?id=763195
+
+2016-03-24 13:33:52 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * configure.ac:
+ Back to development
+
=== release 1.8.0 ===
-2016-03-24 Sebastian Dröge <slomo@coaxion.net>
+2016-03-24 13:05:16 +0200 Sebastian Dröge <sebastian@centricular.com>
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
* configure.ac:
- releasing 1.8.0
+ * gst-editing-services.doap:
+ Release 1.8.0
=== release 1.7.91 ===
diff --git a/NEWS b/NEWS
index ee7f213e..4c3baabd 100644
--- a/NEWS
+++ b/NEWS
@@ -1,786 +1 @@
-# GStreamer 1.8 Release Notes
-
-**GStreamer 1.8.0 was released on 24 March 2016.**
-
-The GStreamer team is proud to announce a new major feature release in the
-stable 1.x API series of your favourite cross-platform multimedia framework!
-
-As always, this release is again packed with new features, bug fixes and other
-improvements.
-
-See [https://gstreamer.freedesktop.org/releases/1.8/][latest] for the latest
-version of this document.
-
-*Last updated: Thursday 24 March 2016, 10:00 UTC [(log)][gitlog]*
-
-[latest]: https://gstreamer.freedesktop.org/releases/1.8/
-[gitlog]: https://cgit.freedesktop.org/gstreamer/www/log/src/htdocs/releases/1.8/release-notes-1.8.md
-
-## Highlights
-
-- **Hardware-accelerated zero-copy video decoding on Android**
-
-- **New video capture source for Android using the android.hardware.Camera API**
-
-- **Windows Media reverse playback** support (ASF/WMV/WMA)
-
-- **New tracing system** provides support for more sophisticated debugging tools
-
-- **New high-level GstPlayer playback convenience API**
-
-- **Initial support for the new [Vulkan][vulkan] API**, see
- [Matthew Waters' blog post][vulkan-in-gstreamer] for more details
-
-- **Improved Opus audio codec support**: Support for more than two channels; MPEG-TS demuxer/muxer can now handle Opus;
- [sample-accurate][opus-sample-accurate] encoding/decoding/transmuxing with
- Ogg, Matroska, ISOBMFF (Quicktime/MP4), and MPEG-TS as container;
- [new codec utility functions for Opus header and caps handling][opus-codec-utils]
- in pbutils library. The Opus encoder/decoder elements were also moved to
- gst-plugins-base (from -bad), and the opus RTP depayloader/payloader to -good.
-
- [opus-sample-accurate]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiometa.html#GstAudioClippingMeta
- [opus-codec-utils]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstpbutilscodecutils.html
-
-- **GStreamer VAAPI module now released and maintained as part of the GStreamer project**
-
- [vulkan]: https://www.khronos.org/vulkan
- [vulkan-in-gstreamer]: http://ystreet00.blogspot.co.uk/2016/02/vulkan-in-gstreamer.html
-
-## Major new features and changes
-
-### Noteworthy new API, features and other changes
-
-- New GstVideoAffineTransformationMeta meta for adding a simple 4x4 affine
- transformation matrix to video buffers
-
-- [g\_autoptr()](https://developer.gnome.org/glib/stable/glib-Miscellaneous-Macros.html#g-autoptr)
- support for all types is exposed in GStreamer headers now, in combination
- with a sufficiently-new GLib version (i.e. 2.44 or later). This is primarily
- for the benefit of application developers who would like to make use of
- this, the GStreamer codebase itself will not be using g_autoptr() for
- the time being due to portability issues.
-
-- GstContexts are now automatically propagated to elements added to a bin
- or pipeline, and elements now maintain a list of contexts set on them.
- The list of contexts set on an element can now be queried using the new functions
- [gst\_element\_get\_context()](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-get-context)
- and [gst\_element\_get\_contexts()](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-get-contexts). GstContexts are used to share context-specific configuration objects
- between elements and can also be used by applications to set context-specific
- configuration objects on elements, e.g. for OpenGL or Hardware-accelerated
- video decoding.
-
-- New [GST\_BUFFER\_DTS\_OR\_PTS()](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html#GST-BUFFER-DTS-OR-PTS:CAPS)
- convenience macro that returns the decode timestamp if one is set and
- otherwise returns the presentation timestamp
-
-- New GstPadEventFullFunc that returns a GstFlowReturn instead of a gboolean.
- This new API is mostly for internal use and was added to fix a race condition
- where occasionally internal flow error messages were posted on the bus when
- sticky events were propagated at just the wrong moment whilst the pipeline
- was shutting down. This happened primarily when the pipeline was shut down
- immediately after starting it up. GStreamer would not know that the reason
- the events could not be propagated was because the pipeline was shutting down
- and not some other problem, and now the flow error allows GStreamer to know
- the reason for the failure (and that there's no reason to post an error
- message). This is particularly useful for queue-like elements which may need
- to asynchronously propagate a previous flow return from downstream.
-
-- Pipeline dumps in form of "dot files" now also show pad properties that
- differ from their default value, the same as it does for elements. This is
- useful for elements with pad subclasses that provide additional properties,
- e.g. videomixer or compositor.
-
-- Pad probes are now guaranteed to be called in the order they were added
- (before they were called in reverse order, but no particular order was
- documented or guaranteed)
-
-- Plugins can now have dependencies on device nodes (not just regular files)
- and also have a prefix filter. This is useful for plugins that expose
- features (elements) based on available devices, such as the video4linux
- plugin does with video decoders on certain embedded systems.
-
-- gst\_segment\_to\_position() has been deprecated and been replaced by the
- better-named gst\_segment\_position\_from\_running\_time(). At the same time
- gst\_segment\_position\_from\_stream\_time() was added, as well as \_full()
- variants of both to deal with negative stream time.
-
-- GstController: the interpolation control source gained a new monotonic cubic
- interpolation mode that, unlike the existing cubic mode, will never overshoot
- the min/max y values set.
-
-- GstNetAddressMeta: can now be read from buffers in language bindings as well,
- via the new gst\_buffer\_get\_net\_address\_meta() function
-
-- ID3 tag PRIV frames are now extraced into a new GST\_TAG\_PRIVATE\_DATA tag
-
-- gst-launch-1.0 and gst\_parse\_launch() now warn in the most common case if
- a dynamic pad link could not be resolved, instead of just silently
- waiting to see if a suitable pad appears later, which is often perceived
- by users as hanging -- they are now notified when this happens and can check
- their pipeline.
-
-- GstRTSPConnection now also parses custom RTSP message headers and retains
- them for the application instead of just ignoring them
-
-- rtspsrc handling of authentication over tunneled connections (e.g. RTSP over HTTP)
- was fixed
-
-- gst\_video\_convert\_sample() now crops if there is a crop meta on the input buffer
-
-- The debugging system printf functions are now exposed for general use, which
- supports special printf format specifiers such as GST\_PTR\_FORMAT and
- GST\_SEGMENT\_FORMAT to print GStreamer-related objects. This is handy for
- systems that want to prepare some debug log information to be output at a
- later point in time. The GStreamer-OpenGL subsystem is making use of these
- new functions, which are [gst\_info\_vasprintf()][gst_info_vasprintf],
- [gst\_info\_strdup\_vprintf()][gst_info_strdup_vprintf] and
- [gst\_info\_strdup\_printf()][gst_info_strdup_printf].
-
-- videoparse: "strides", "offsets" and "framesize" properties have been added to
- allow parsing raw data with strides and padding that do not match GStreamer
- defaults.
-
-- GstPreset reads presets from the directories given in GST\_PRESET\_PATH now.
- Presets are read from there after presets in the system path, but before
- application and user paths.
-
-[gst_info_vasprintf]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#gst-info-vasprintf
-[gst_info_strdup_vprintf]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#gst-info-strdup-vprintf
-[gst_info_strdup_printf]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#gst-info-strdup-printf
-
-### New Elements
-
-- [netsim](): a new (resurrected) element to simulate network jitter and
- packet dropping / duplication.
-
-- New VP9 RTP payloader/depayloader elements: rtpvp9pay/rtpvp9depay
-
-- New [videoframe_audiolevel]() element, a video frame synchronized audio level element
-
-- New spandsp-based tone generator source
-
-- New NVIDIA NVENC-based H.264 encoder for GPU-accelerated video encoding on
- suitable NVIDIA hardware
-
-- [rtspclientsink](), a new RTSP RECORD sink element, was added to gst-rtsp-server
-
-- [alsamidisrc](), a new ALSA MIDI sequencer source element
-
-### Noteworthy element features and additions
-
-- *identity*: new ["drop-buffer-flags"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-identity.html#GstIdentity--drop-buffer-flags)
- property to drop buffers based on buffer flags. This can be used to drop all
- non-keyframe buffers, for example.
-
-- *multiqueue*: various fixes and improvements, in particular special handling
- for sparse streams such as substitle streams, to make sure we don't overread
- them any more. For sparse streams it can be normal that there's no buffer for
- a long period of time, so having no buffer queued is perfectly normal. Before
- we would often unnecessarily try to fill the subtitle stream queue, which
- could lead to much more data being queued in multiqueue than necessary.
-
-- *multiqueue*/*queue*: When dealing with time limits, these elements now use the
- new ["GST_BUFFER_DTS_OR_PTS"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html#GST-BUFFER-DTS-OR-PTS:CAPS)
- and ["gst_segment_to_running_time_full()"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSegment.html#gst-segment-to-running-time-full)
- API, resulting in more accurate levels, especially when dealing with non-raw
- streams (where reordering happens, and we want to use the increasing DTS as
- opposed to the non-continuously increasing PTS) and out-of-segment input/output.
- Previously all encoded buffers before the segment start, which can happen when
- doing ACCURATE seeks, were not taken into account in the queue level calculation.
-
-- *multiqueue*: New ["use-interleave"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-multiqueue.html#GstMultiQueue--use-interleave)
- property which allows the size of the queues to be optimized based on the input
- streams interleave. This should only be used with input streams which are properly
- timestamped. It will be used in the future decodebin3 element.
-
-- *queue2*: new ["avg-in-rate"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-queue2.html#GstQueue2--avg-in-rate)
- property that returns the average input rate in bytes per second
-
-- audiotestsrc now supports all audio formats and is no longer artificially
- limited with regard to the number of channels or sample rate
-
-- gst-libav (ffmpeg codec wrapper): map and enable JPEG2000 decoder
-
-- multisocketsink can, on request, send a custom GstNetworkMessage event
- upstream whenever data is received from a client on a socket. Similarly,
- socketsrc will, on request, pick up GstNetworkMessage events from downstream
- and send any data contained within them via the socket. This allows for
- simple bidirectional communication.
-
-- matroska muxer and demuxer now support the ProRes video format
-
-- Improved VP8/VP9 decoding performance on multi-core systems by enabling
- multi-threaded decoding in the libvpx-based decoders on such systems
-
-- appsink has a new ["wait-on-eos"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-appsink.html#GstAppSink--wait-on-eos)
- property, so in cases where it is uncertain if an appsink will have a consumer for
- its buffers when it receives an EOS this can be set to FALSE to ensure that the
- appsink will not hang.
-
-- rtph264pay and rtph265pay have a new "config-interval" mode -1 that will
- re-send the setup data (SPS/PPS/VPS) before every keyframe to ensure
- optimal coverage and the shortest possibly start-up time for a new client
-
-- mpegtsmux can now mux H.265/HEVC video as well
-
-- The MXF muxer was ported to 1.x and produces more standard conformant files now
- that can be handled by more other software; The MXF demuxer got improved
- support for seek tables (IndexTableSegments).
-
-### Plugin moves
-
-- The rtph265pay/depay RTP payloader/depayloader elements for H.265/HEVC video
- from the rtph265 plugin in -bad have been moved into the existing rtp plugin
- in gst-plugins-good.
-
-- The mpg123 plugin containing a libmpg123 based audio decoder element has
- been moved from -bad to -ugly.
-
-- The Opus encoder/decoder elements have been moved to gst-plugins-base and
- the RTP payloader to gst-plugins-good, both coming from gst-plugins-bad.
-
-### New tracing tools for developers
-
-A new tracing subsystem API has been added to GStreamer, which provides
-external tracers with the possibility to strategically hook into GStreamer
-internals and collect data that can be evaluated later. These tracers are a
-new type of plugin features, and GStreamer core ships with a few example
-tracers (latency, stats, rusage, log) to start with. Tracers can be loaded
-and configured at start-up via an environment variable (GST\_TRACER\_PLUGINS).
-
-Background: While GStreamer provides plenty of data on what's going on in a
-pipeline via its debug log, that data is not necessarily structured enough to
-be generally useful, and the overhead to enable logging output for all data
-required might be too high in many cases. The new tracing system allows tracers
-to just obtain the data needed at the right spot with as little overhead as
-possible, which will be particularly useful on embedded systems.
-
-Of course it has always been possible to do performance benchmarks and debug
-memory leaks, memory consumption and invalid memory access using standard
-operating system tools, but there are some things that are difficult to track
-with the standard tools, and the new tracing system helps with that. Examples
-are things such as latency handling, buffer flow, ownership transfer of
-events and buffers from element to element, caps negotiation, etc.
-
-For some background on the new tracing system, watch Stefan Sauer's
-GStreamer Conference talk ["A new tracing subsystem for GStreamer"][tracer-0]
-and for a more specific example how it can be useful have a look at
-Thiago Santos's lightning talk ["Analyzing caps negotiation using GstTracer"][tracer-1]
-and his ["GstTracer experiments"][tracer-2] blog post. There was also a Google
-Summer of Code project in 2015 that used tracing system for a graphical
-GStreamer debugging tool ["gst-debugger"][tracer-3].
-
-This is all still very much work in progress, but we hope this will provide the
-foundation for a whole suite of new debugging tools for GStreamer pipelines.
-
-[tracer-0]: https://gstconf.ubicast.tv/videos/a-new-tracing-subsystem-for-gstreamer/
-[tracer-1]: https://gstconf.ubicast.tv/videos/analyzing-caps-negotiation-using-gsttracer/
-[tracer-2]: http://blog.thiagoss.com/2015/07/23/gsttracer-experiments/
-[tracer-3]: https://git.gnome.org/browse/gst-debugger
-
-### GstPlayer: a new high-level API for cross-platform multimedia playback
-
-GStreamer has had reasonably high-level API for multimedia playback
-in the form of the playbin element for a long time. This allowed application
-developers to just configure a URI to play, and playbin would take care of
-everything else. This works well, but there is still way too much to do on
-the application-side to implement a fully-featured playback application, and
-too much general GStreamer pipeline API exposed, making it less accessible
-to application developers.
-
-Enter GstPlayer. GstPlayer's aim is to provide an even higher-level abstraction
-of a fully-featured playback API but specialised for its specific use case. It
-also provides easy integration with and examples for Gtk+, Qt, Android, OS/X,
-iOS and Windows. Watch Sebastian's [GstPlayer talk at the GStreamer Conference][gstplayer-talk]
-for more information, or check out the [GstPlayer API reference][gstplayer-api]
-and [GstPlayer examples][gstplayer-examples].
-
-[gstplayer-api]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/player.html
-[gstplayer-talk]: https://gstconf.ubicast.tv/videos/gstplayer-a-simple-cross-platform-api-for-all-your-media-playback-needs-part-1/
-[gstplayer-examples]: https://github.com/sdroege/gst-player/
-
-### Adaptive streaming: DASH, HLS and MSS improvements
-
-- dashdemux now supports loading external xml nodes pointed from its MPD.
-
-- Content protection nodes parsing support for PlayReady WRM in mssdemux.
-
-- Reverse playback was improved to respect seek start and stop positions.
-
-- Adaptive demuxers (hlsdemux, dashdemux, mssdemux) now support the SNAP_AFTER
- and SNAP_BEFORE seek flags which will jump to the nearest fragment boundary
- when executing a seek, which means playback resumes more quickly after a seek.
-
-### Audio library improvements
-
-- audio conversion, quantization and channel up/downmixing functionality
- has been moved from the audioconvert element into the audio library and
- is now available as public API in form of [GstAudioConverter][audio-0],
- [GstAudioQuantize][audio-1] and [GstAudioChannelMixer][audio-2].
- Audio resampling will follow in future releases.
-
-- [gst\_audio\_channel\_get\_fallback\_mask()][audio-3] can be used
- to retrieve a default channel mask for a given number of channels as last
- resort if the layout is unknown
-
-- A new [GstAudioClippingMeta][audio-4] meta was added for specifying clipping
- on encoded audio buffers
-
-- A new GstAudioVisualizer base class for audio visualisation elements;
- most of the existing visualisers have been ported over to the new base class.
- This new base class lives in the pbutils library rather than the audio library,
- since we'd have had to make libgstaudio depend on libgstvideo otherwise,
- which was deemed undesirable.
-
-[audio-0]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-GstAudioConverter.html
-[audio-1]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-GstAudioQuantize.html
-[audio-2]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-mix-new
-[audio-3]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-get-fallback-mask
-[audio-4]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiometa.html#GstAudioClippingMeta
-
-### GStreamer OpenGL support improvements
-
-#### Better OpenGL Shader support
-
-[GstGLShader][shader] has been revamped to allow more OpenGL shader types
-by utilizing a new GstGLSLStage object. Each stage holds an OpenGL pipeline
-stage such as a vertex, fragment or a geometry shader that are all compiled
-separately into a program that is executed.
-
-The glshader element has also received a revamp as a result of the changes in
-the library. It does not take file locations for the vertex and fragment
-shaders anymore. Instead it takes the strings directly leaving the file
-management to the application.
-
-A new [example][liveshader-example] was added utilizing the new shader
-infrastructure showcasing live shader edits.
-
-[shader]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/gst-plugins-bad-libs-gstglshader.html
-[liveshader-example]: https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/tests/examples/gtk/glliveshader.c
-
-#### OpenGL GLMemory rework
-
-[GstGLMemory] was extensively reworked to support the addition of multiple
-texture targets required for zero-copy integration with the Android
-MediaCodec elements. This work was also used to provide IOSurface based
-GLMemory on OS X for zero-copy with OS X's VideoToolbox decoder (vtdec) and
-AV Foundation video source (avfvideosrc). There are also patches in bugzilla
-for GstGLMemoryEGL specifically aimed at improving the decoding performance on
-the Raspberry Pi.
-
-[GstGLMemory]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/gst-plugins-bad-libs-gstglmemory.html
-
-A texture-target field was added to video/x-raw(memory:GLMemory) caps to signal
-the texture target contained in the GLMemory. Its values can be 2D, rectangle
-or external-oes. glcolorconvert can convert between the different formats as
-required and different elements will accept or produce different targets. e.g.
-glimagesink can take and render external-oes textures directly as required for
-effecient zero-copy on android.
-
-A generic GL allocation framework was also implemented to support the generic
-allocation of OpenGL buffers and textures which is used extensively by
-GstGLBufferPool.
-
-#### OpenGL DMABuf import uploader
-
-There is now a DMABuf uploader available for automatic selection that will
-attempt to import the upstream provided DMABuf. The uploader will import into
-2D textures with the necesarry format. YUV to RGB conversion is still provided
-by glcolorconvert to avoid the laxer restrictions with external-oes textures.
-
-#### OpenGL queries
-
-Queries of various aspects of the OpenGL runtime such as timers, number of
-samples or the current timestamp are not possible. The GstGLQuery object uses a
-delayed debug system to delay the debug output to later to avoid expensive calls
-to the glGet\* family of functions directly after finishing a query. It is
-currently used to output the time taken to perform various operations of texture
-uploads and downloads in GstGLMemory.
-
-#### New OpenGL elements
-
-glcolorbalance has been created mirroring the videobalance elements.
-glcolorbalance provides the exact same interface as videobalance so can be used
-as a GPU accelerated replacement. glcolorbalance has been added to glsinkbin so
-usage with playsink/playbin will use it automatically instead of videobalance
-where possible.
-
-glvideoflip, which is the OpenGL equiavalant of videoflip, implements the exact
-same interface and functionality as videoflip.
-
-#### EGL implementation now selects OpenGL 3.x
-
-The EGL implementation can now select OpenGL 3.x contexts.
-
-#### OpenGL API removal
-
-The GstGLDownload library object was removed as it was not used by anything.
-Everything is performed by GstGLMemory or in the gldownloadelement.
-
-The GstGLUploadMeta library object was removed as it was not being used and we
-don't want to promote the use of GstVideoGLTextureUploadMeta.
-
-#### OpenGL: Other miscellaneous changes
-
-- The EGL implementation can now select OpenGL 3.x contexts. This brings
- OpenGL 3.x to e.g. wayland and other EGL systems.
-
-- glstereomix/glstereosplit are now built and are usable on OpenGL ES systems
-
-- The UYVY/YUY2 to RGBA and RGBA to UYVY/YUY2 shaders were fixed removing the
- sawtooth pattern and luma bleeding.
-
-- We now utilize the GL\_APPLE\_sync extension on iOS devices which improves
- performance of OpenGL applications, especially with multiple OpenGL
- contexts.
-
-- glcolorconvert now uses a bufferpool to avoid costly
- glGenTextures/glDeleteTextures for every frame.
-
-- glvideomixer now has full glBlendFunc and glBlendEquation support per input.
-
-- gltransformation now support navigation events so your weird transformations
- also work with DVD menus.
-
-- qmlglsink can now run on iOS, OS X and Android in addition to the already
- supported Linux platform.
-
-- glimagesink now posts unhandled keyboard and mouse events (on backends that
- support user input, current only X11) on the bus for the application.
-
-### Initial GStreamer Vulkan support
-
-Some new elements, vulkansink and vulkanupload have been implemented utilizing
-the new Vulkan API. The implementation is currently limited to X11 platforms
-(via xcb) and does not perform any scaling of the stream's contents to the size
-of the available output.
-
-A lot of infrasctructure work has been undertaken to support using Vulkan in
-GStreamer in the future. A number of GstMemory subclasses have been created for
-integrating Vulkan's GPU memory handling along with VkBuffer's and VkImage's
-that can be passed between elements. Some GStreamer refcounted wrappers for
-global objects such as VkInstance, VkDevice, VkQueue, etc have also been
-implemented along with GstContext integration for sharing these objects with the
-application.
-
-### GStreamer VAAPI support for hardware-accelerated video decoding and encoding on Intel (and other) platforms
-
-#### GStreamer VAAPI is now part of upstream GStreamer
-
-The GStreamer-VAAPI module which provides support for hardware-accelerated
-video decoding, encoding and post-processing on Intel graphics hardware
-on Linux has moved from its previous home at the [Intel Open Source Technology Center][iostc]
-to the upstream GStreamer repositories, where it will in future be maintained
-as part of the upstream GStreamer project and released in lockstep with the
-other GStreamer modules. The current maintainers will continue to spearhead
-the development at the new location:
-
-[http://cgit.freedesktop.org/gstreamer/gstreamer-vaapi/][gst-vaapi-git]
-
-[gst-vaapi-git]: http://cgit.freedesktop.org/gstreamer/gstreamer-vaapi/
-
-GStreamer-VAAPI relies heavily on certain GStreamer infrastructure API that
-is still in flux such as the OpenGL integration API or the codec parser
-libraries, and one of the goals of the move was to be able to leverage
-new developments early and provide tighter integration with the latest
-developments of those APIs and other graphics-related APIs provided by
-GStreamer, which should hopefully improve performance even further and in
-some cases might also provide better stability.
-
-Thanks to everyone involved in making this move happen!
-
-#### GStreamer VAAPI: Bug tracking
-
-Bugs had already been tracked on [GNOME bugzilla](bgo) but will be moved
-from the gstreamer-vaapi product into a new gstreamer-vaapi component of
-the GStreamer product in bugzilla. Please file new bugs against the new
-component in the GStreamer product from now on.
-
-#### GStreamer VAAPI: Pending patches
-
-The code base has been re-indented to the GStreamer code style, which
-affected some files more than others. This means that some of the patches
-in bugzilla might not apply any longer, so if you have any unmerged patches
-sitting in bugzilla please consider checking if they still apply cleany and
-refresh them if not. Sorry for any inconvenience this may cause.
-
-#### GStreamer VAAPI: New versioning scheme and supported GStreamer versions
-
-The version numbering has been changed to match the GStreamer version
-numbering to avoid confusion: there is a new gstreamer-vaapi 1.6.0 release
-and a 1.6 branch that is roughly equivalent to the previous 0.7.0 version.
-Future releases 1.7.x and 1.8.x will be made alongside GStreamer releases.
-
-While it was possible and supported by previous releases to build against
-a whole range of different GStreamer versions (such as 1.2, 1.4, 1.6 or 1.7/1.8),
-in the future there will only be one target branch, so that git master will
-track GStreamer git master, 1.8.x will target GStreamer 1.8, and
-1.6.x will target the 1.6 series.
-
-[iostc]: http://01.org
-[bgo]: http://bugzilla.gnome.og
-
-#### GStreamer VAAPI: Miscellaneous changes
-
-All GStreamer-VAAPI functionality is now provided solely by its GStreamer
-elements. There is no more public library exposing GstVaapi API, this API
-was only ever meant for private use by the elements. Parts of it may be
-resurrected again in future if needed, but for now it has all been made
-private.
-
-GStreamer-VAAPI now unconditionally uses the codecparser library in
-gst-plugins-bad instead of shipping its own internal copy. Similarly,
-it no longer ships its own codec parsers but relies on the upstream
-codec parser elements.
-
-The GStreamer-VAAPI encoder elements have been renamed from vaapiencode_foo
-to vaapifooenc, so encoders are now called vaapih264enc, vaapih265enc,
-vaapimpeg2enc, vaapijpegenc, and vaapivp8enc. With this change we now follow
-the standard names in GStreamer, and the plugin documentation is generated
-correctly.
-
-In the case of the decoders, only the jpeg decoder has been split from the
-general decoding element vaapidecode: vaapijpegdec. This is the first step to
-split per codec each decoding element. The vaapijpegdec has also been given
-marginal rank for the time being.
-
-#### GStreamer VAAPI: New features in 1.8: 10-bit H.265/HEVC decoding support
-
-Support for decoding 10-bit H.265/HEVC has been added. For the time being
-this only works in combination with vaapisink though, until support for the
-P010 video format used internally is added to GStreamer and to the
-vaGetImage()/vaPutimage() API in the vaapi-intel-driver.
-
-Several fixes for memory leaks, build errors, and in the internal
-video parsing.
-
-Finally, vaapisink now posts the unhandled keyboard and mouse events to the
-application.
-
-### GStreamer Video 4 Linux Support
-
-Colorimetry support has been enhanced even more. It will now properly select
-default values when not specified by the driver. The range of color formats
-supported by GStreamer has been greatly improved. Notably, support for
-multi-planar I420 has been added along with all the new and non-ambiguous RGB
-formats that got added in recent kernels.
-
-The device provider now exposes a variety of properties as found in the udev
-database.
-
-The video decoder is now able to negotiate the downstream format.
-
-Elements that are dynamically created from /dev/video\* now track changes on
-these devices to ensure the registry stay up to date.
-
-All this and various bug fixes that improve both stability and correctness.
-
-### GStreamer Editing Services
-
-Added APIs to handle asset proxying support. Proxy creation is not the
-responsibility of GES itself, but GES provides all the needed features
-for it to be cleanly handled at a higher level.
-
-Added support for changing playback rate. This means that now, whenever a
-user adds a 'pitch' element (as it is the only known element to change playback
-rate through properties), GES will handle everything internally. This change
-introduced a new media-duration-factor property in NleObject which will
-lead to tweaking of seek events so they have the proper playback range to be
-requested upstream.
-
-Construction of NLE objects has been reworked making copy/pasting fully
-functional and allowing users to set properties on effects right after
-creating them.
-
-Rework of the title source to add more flexibility in text positioning,
-and letting the user get feedback about rendered text positioning.
-
-Report nlecomposition structural issues (coming from user programing mistakes)
-into ERROR messages on the bus.
-
-Add GI/pythyon testsuite in GES itself, making sure the API is working as expected
-in python, and allowing writing tests faster.
-
-### GstValidate
-
-Added support to run tests inside gdb.
-
-Added a 'smart' reporting mode where we give as much information as possible about
-critical errors.
-
-Uses GstTracer now instead of a LD\_PRELOAD library.
-
-## Miscellaneous
-
-- encodebin now works with "encoder-muxers" such as wavenc
-
-- gst-play-1.0 acquired a new keyboard shortcut: '0' seeks back to the start
-
-- gst-play-1.0 supports two new command line switches: -v for verbose output
- and --flags to configure the playbin flags to use.
-
-## Build and Dependencies
-
-- The GLib dependency requirement was bumped to 2.40
-
-- The -Bsymbolic configure check now works with clang as well
-
-- ffmpeg is now required as libav provider, incompatible changes were
- introduced that make it no longer viable to support both FFmpeg and Libav
- as libav providers. Most major distros have switched to FFmpeg or are in
- the process of switching to it anyway, so we don't expect this to be a
- problem, and there is still an internal copy of ffmpeg that can be used
- as fallback if needed.
-
-- The internal ffmpeg snapshot is now FFMpeg 3.0, but it should be possible
- to build against 2.8 as well for the time being.
-
-## Platform-specific improvements
-
-### Android
-
-- Zero-copy video decoding on Android using the hardware-accelerated decoders
- has been implemented, and is fully integrated with the GStreamer OpenGL stack
-
-- ahcsrc, a new camera source element, has been merged and can be used to
- capture video on android devices. It uses the android.hardware.Camera Java
- API to capture from the system's cameras.
-
-- The OpenGL-based QML video sink can now also be used on Android
-
-- New tinyalsasink element, which is mainly useful for Android but can also
- be used on other platforms.
-
-### OS/X and iOS
-
-- The system clock now uses mach\_absolute\_time() on OSX/iOS, which is
- the preferred high-resolution monotonic clock to be used on Apple platforms
-
-- The OpenGL-based QML video sink can now also be used on OS X and iOS (with
- some Qt build system massaging)
-
-- New IOSurface based memory implementation in avfvideosrc and vtdec on OS X
- for zerocopy with OpenGL. The previously used OpenGL extension
- GL_APPLE_ycbcr_422 is not compatible with GL 3.x core contexts.
-
-- New GstAppleCoreVideoMemory wrapping CVPixelBuffer's
-
-- avfvideosrc now supports renegotiation.
-
-### Windows
-
-- Various bugs with UDP and multicast were fixed on Windows, mostly related to
- gst-rtsp-server.
-
-- A few bugs in directsoundsrc and directsoundsink were fixed that could cause
- the element to lock up. Also the "mute" property on the sink was fixed, and
- a new "device" property for device selection was added to the source.
-
-## Known Issues
-
-- Building GStreamer applications with the Android NDK r11 is currently not
- supported due to incompatible changes in the NDK. This is expected to be
- fixed for 1.8.1.
- [Bugzilla #763999](https://bugzilla.gnome.org/show_bug.cgi?id=763999)
-
-- vp8enc crashes on 32 bit Windows, but was working fine in 1.6. 64 bit
- Windows is unaffected.
- [Bugzilla #763663](https://bugzilla.gnome.org/show_bug.cgi?id=763663)
-
-## Contributors
-
-Adam Miartus, Alban Bedel, Aleix Conchillo Flaqué, Aleksander Wabik,
-Alessandro Decina, Alex Ashley, Alex Dizengof, Alex Henrie, Alistair Buxton,
-Andreas Cadhalpun, Andreas Frisch, André Draszik, Anthony G. Basile,
-Antoine Jacoutot, Anton Bondarenko, Antonio Ospite, Arjen Veenhuizen,
-Arnaud Vrac, Arun Raghavan, Athanasios Oikonomou, Aurélien Zanelli, Ben Iofel,
-Bob Holcomb, Branko Subasic, Carlos Rafael Giani, Chris Bass, Csaba Toth,
-Daniel Kamil Kozar, Danilo Cesar Lemes de Paula, Dave Craig, David Fernandez,
-David Schleef, David Svensson Fors, David Waring, David Wu, Duncan Palmer,
-Edward Hervey, Egor Zaharov, Etienne Peron, Eunhae Choi, Evan Callaway,
-Evan Nemerson, Fabian Orccon, Florent Thiéry, Florin Apostol, Frédéric Wang,
-George Kiagiadakis, George Yunaev, Göran Jönsson, Graham Leggett,
-Guillaume Desmottes, Guillaume Marquebielle, Haihua Hu, Havard Graff,
-Heinrich Fink, Holger Kaelberer, HoonHee Lee, Hugues Fruchet, Hyunil Park,
-Hyunjun Ko, Ilya Konstantinov, James Stevenson, Jan Alexander Steffens (heftig),
-Jan Schmidt, Jason Litzinger, Jens Georg, Jimmy Ohn, Joan Pau Beltran,
-Joe Gorse, John Chang, John Slade, Jose Antonio Santos Cadenas, Josep Torra,
-Julian Bouzas, Julien Isorce, Julien Moutte, Justin Kim, Kazunori Kobayashi,
-Koop Mast, Lim Siew Hoon, Linus Svensson, Lubosz Sarnecki, Luis de Bethencourt,
-Lukasz Forynski, Manasa Athreya, Marcel Holtmann, Marcin Kolny, Marcus Prebble,
-Mark Nauwelaerts, Maroš Ondrášek, Martin Kelly, Matej Knopp, Mathias Hasselmann,
-Mathieu Duponchelle, Matt Crane, Matthew Marsh, Matthew Waters, Matthieu Bouron,
-Mersad Jelacic, Michael Olbrich, Miguel París Díaz, Mikhail Fludkov,
-Mischa Spiegelmock, Nicola Murino, Nicolas Dufresne, Nicolas Huet,
-Nirbheek Chauhan, Ognyan Tonchev, Olivier Crête, Pablo Anton, Pankaj Darak,
-Paolo Pettinato, Patricia Muscalu, Paul Arzelier, Pavel Bludov, Perry Hung,
-Peter Korsgaard, Peter Seiderer, Petr Viktorin, Philippe Normand,
-Philippe Renon, Philipp Zabel, Philip Van Hoof, Philip Withnall, Piotr Drąg,
-plamot, Polochon\_street, Prashant Gotarne, Rajat Verma, Ramiro Polla,
-Ravi Kiran K N, Reynaldo H. Verdejo Pinochet, Robert Swain, Romain Picard,
-Roman Nowicki, Ross Burton, Ryan Hendrickson, Santiago Carot-Nemesio,
-Scott D Phillips, Sebastian Dröge, Sebastian Rasmussen, Sergey Borovkov,
-Seungha Yang, Sjors Gielen, Song Bing, Sreerenj Balachandran, Srimanta Panda,
-Stavros Vagionitis, Stefan Sauer, Steven Hoving, Stian Selnes, Suhwang Kim,
-Thiago Santos, Thibault Saunier, Thijs Vermeir, Thomas Bluemel, Thomas Roos,
-Thomas Vander Stichele, Tim-Philipp Müller, Tim Sheridan, Ting-Wei Lan,
-Tom Deseyn, Vanessa Chipirrás Navalón, Víctor Manuel Jáquez Leal,
-Vincent Dehors, Vincent Penquerc'h, Vineeth T M, Vivia Nikolaidou,
-Wang Xin-yu (王昕宇), William Manley, Wim Taymans, Wonchul Lee, Xavi Artigas,
-Xavier Claessens, Youness Alaoui,
-
-... and many others who have contributed bug reports, translations, sent
-suggestions or helped testing.
-
-## Bugs fixed in 1.8
-
-More than [~700 bugs][bugs-fixed-in-1.8] have been fixed during
-the development of 1.8.
-
-This list does not include issues that have been cherry-picked into the
-stable 1.6 branch and fixed there as well, all fixes that ended up in the
-1.6 branch are also included in 1.8.
-
-This list also does not include issues that have been fixed without a bug
-report in bugzilla, so the actual number of fixes is much higher.
-
-[bugs-fixed-in-1.8]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=107311&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.6.1&target_milestone=1.6.2&target_milestone=1.6.3&target_milestone=1.7.0&target_milestone=1.7.1&target_milestone=1.7.2&target_milestone=1.7.3&target_milestone=1.7.4&target_milestone=1.7.90&target_milestone=1.7.91&target_milestone=1.7.92&target_milestone=1.7.x&target_milestone=1.8.0
-
-## Stable 1.8 branch
-
-After the 1.8.0 release there will be several 1.8.x bug-fix releases which
-will contain bug fixes which have been deemed suitable for a stable branch,
-but no new features or intrusive changes will be added to a bug-fix release
-usually. The 1.8.x bug-fix releases will be made from the git 1.8 branch, which
-is a stable branch.
-
-### 1.8.0
-
-1.8.0 was released on 24 March 2016.
-
-### 1.8.1
-
-The first 1.8 bug-fix release (1.8.1) is planned for April 2016.
-
-## Schedule for 1.10
-
-Our next major feature release will be 1.10, and 1.9 will be the unstable
-development version leading up to the stable 1.10 release. The development
-of 1.9/1.10 will happen in the git master branch.
-
-The plan for the 1.10 development cycle is yet to be confirmed, but it is
-expected that feature freeze will be around late July or early August,
-followed by several 1.9 pre-releases and the new 1.10 stable release
-in September.
-
-1.10 will be backwards-compatible to the stable 1.8, 1.6, 1.4, 1.2 and 1.0
-release series.
-
-- - -
-
-*These release notes have been prepared by Tim-Philipp Müller with
-contributions from Sebastian Dröge, Nicolas Dufresne, Edward Hervey, Víctor
-Manuel Jáquez Leal, Arun Raghavan, Thiago Santos, Thibault Saunier, Jan
-Schmidt and Matthew Waters.*
-
-*License: [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)*
+This is GStreamer 1.9.1
diff --git a/RELEASE b/RELEASE
index 3313f08f..8d761440 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,18 +1,25 @@
-Release notes for GStreamer Editing Services 1.8.0
+Release notes for GStreamer Editing Services 1.9.1
-The GStreamer team is pleased to announce the first release of the new stable
-1.8 release series. The 1.8 release series is adding new features on top of
-the 1.0, 1.2, 1.4 and 1.6 series and is part of the API and ABI-stable 1.x
-release series of the GStreamer multimedia framework.
+The GStreamer team is pleased to announce the first release of the unstable
+1.9 release series. The 1.9 release series is adding new features on top of
+the 1.0, 1.2, 1.4, 1.6 and 1.8 series and is part of the API and ABI-stable 1.x release
+series of the GStreamer multimedia framework. The unstable 1.9 release series
+will lead to the stable 1.10 release series in the next weeks. Any newly added
+API can still change until that point.
-Binaries for Android, iOS, Mac OS X and Windows will be provided shortly after
-the source release by the GStreamer project during the stable 1.8 release
-series.
+Binaries for Android, iOS, Mac OS X and Windows will be provided in the next days.
+Bugs fixed in this release
+
+ * 763195 : editing-services: use new gst_element_class_add_static_pad_template()
+ * 764550 : examples/gitignore: ignore assets and play_timeline_with_one_clip binaries
+ * 766523 : uri-clip: make uri parameter of ges_uri_clip_new () const
+ * 766525 : framepositionner: add a weak ref on track element to know when it is finalized
+
==== Download ====
You can find source releases of gst-editing-services in the download
@@ -48,8 +55,13 @@ subscribe to the gstreamer-devel list.
Contributors to this release
+ * Aurélien Zanelli
+ * Edward Hervey
+ * Julien Isorce
* Justin Kim
- * Lubosz Sarnecki
+ * Nicolas Dufresne
* Sebastian Dröge
* Thibault Saunier
+ * Tim-Philipp Müller
+ * Vineeth TM
  \ No newline at end of file
diff --git a/configure.ac b/configure.ac
index d9250984..1a920d82 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ AC_PREREQ(2.62)
dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, cvs and prerelease does Werror too
-AC_INIT(GStreamer Editing Services, 1.9.0.1,
+AC_INIT(GStreamer Editing Services, 1.9.1,
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
gstreamer-editing-services)
@@ -51,11 +51,11 @@ dnl we override it here if we need to for the release candidate of new series
GST_API_VERSION=1.0
AC_SUBST(GST_API_VERSION)
-AS_LIBTOOL(GST, 900, 0, 900)
+AS_LIBTOOL(GST, 901, 0, 901)
dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.9.0.1
-GSTPB_REQ=1.9.0.1
+GST_REQ=1.9.1
+GSTPB_REQ=1.9.1
dnl *** autotools stuff ****
diff --git a/gst-editing-services.doap b/gst-editing-services.doap
index eb7a56a7..26ec3f8e 100644
--- a/gst-editing-services.doap
+++ b/gst-editing-services.doap
@@ -32,6 +32,15 @@ GStreamer library for creating audio and video editors
<release>
<Version>
+ <revision>1.9.1</revision>
+ <branch>master</branch>
+ <created>2016-06-06</created>
+ <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-editing-services/gst-editing-services-1.9.1.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.8.0</revision>
<branch>master</branch>
<created>2016-03-24</created>