Release 1.9.1
authorSebastian Dröge <sebastian@centricular.com>
Wed, 6 Jul 2016 10:48:07 +0000 (13:48 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Wed, 6 Jul 2016 10:48:07 +0000 (13:48 +0300)
ChangeLog
NEWS
common
configure.ac
gstreamer-vaapi.doap

index 0804da3..eb543a0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+=== release 1.9.1 ===
+
+2016-07-06  Sebastian Dröge <slomo@coaxion.net>
+
+       * configure.ac:
+         releasing 1.9.1
+
+2016-07-05 20:59:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * tests/elements/test-vaapisink.c:
+         tests: elements: rotate orientation event
+
+2016-07-01 16:01:54 +0900  Hyunjun Ko <zzoon@igalia.com>
+
+       * configure.ac:
+       * tests/Makefile.am:
+       * tests/elements/Makefile.am:
+       * tests/elements/test-vaapisink.c:
+         tests: elements: Add testsuite for vaapisink
+         https://bugzilla.gnome.org/show_bug.cgi?id=765798
+
+2016-07-01 16:00:46 +0900  Hyunjun Ko <zzoon@igalia.com>
+
+       * gst-libs/gst/vaapi/gstvaapitypes.h:
+       * gst-libs/gst/vaapi/gstvaapivalue.c:
+       * gst/vaapi/gstvaapisink.c:
+       * gst/vaapi/gstvaapisink.h:
+         vaapisink: add support for GST_TAG_IMAGE_ORIENTATION
+         https://bugzilla.gnome.org/show_bug.cgi?id=765798
+
+2016-06-29 13:57:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipostproc.c:
+         vaapipostproc: return caps template if no display
+         This patch is a fix for my bad review of commit 6d73ca8d. The element should
+         be able to return the available raw caps handled by the VA display, but that
+         only should happen when there a VA display. If there's none, the element
+         should use the caps template.
+         https://bugzilla.gnome.org/show_bug.cgi?id=768161
+
+2016-06-29 16:42:18 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/vaapi/gstvaapipostproc.c:
+         vaapipostproc: don't require a vaapi display for all caps queries
+         This delays the requirement of having a GstVaapiDisplay until later
+         https://bugzilla.gnome.org/show_bug.cgi?id=768161
+
+2016-06-28 15:48:39 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapiutils.c:
+         utils: report VP9 profiles
+         Add VP9Profile0-3 name mapping.
+
+2016-06-28 14:05:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapi.c:
+         vaapi: nest includes under USE_ENCODER macro
+         This is a missed changeset from commit 1c05c53, since also header includes
+         should be nested.
+
+2016-06-28 11:54:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapi.c:
+         vaapi: nest encoders under USE_ENCODER macro
+         Though USE_{JPEG,VP8,VP9,H265}_ENCODER macros definition depend on USE_ENCODER
+         macro, it is clearer to nest them, showing explicitly the dependency relation.
+
+2016-06-24 12:05:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapivideocontext.c:
+         vaapivideocontext: check if query context is NULL
+         Under certain conditions the element might receive a positive context query
+         but without a context instance. This situation will lead to a segmentation
+         fault when traversing the context list in the pipeline.
+         https://bugzilla.gnome.org/show_bug.cgi?id=767946
+
+2016-06-20 13:22:36 -0700  Scott D Phillips <scott.d.phillips@intel.com>
+
+       * gst-libs/gst/vaapi/Makefile.am:
+       * gst-libs/gst/vaapi/glibcompat.h:
+       * gst-libs/gst/vaapi/sysdeps.h:
+         remove unused glibcompat.h
+         glibcompat.h is no longer doing anything. Remove it.
+         Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
+         https://bugzilla.gnome.org/show_bug.cgi?id=767886
+
+2016-06-22 14:28:44 -0700  Scott D Phillips <scott.d.phillips@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
+         encoder: h264: Use high profile by default
+         Change defaults for max-bframes, cabac, and dct8x8 to be enabled
+         by default. This will cause the default profile to be high instead
+         of baseline. In most situations this is the right decision, and
+         the profile can still be lowered in the case of caps restrictions.
+         Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
+         https://bugzilla.gnome.org/show_bug.cgi?id=757941
+
+2016-06-22 12:15:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecodebin.c:
+         vaapidecodebin: element warning if missing element
+         Raise an element warning if a required element is not available, thus the
+         pipeline will post a warning message and the application will be informed.
+
+2016-06-22 15:11:56 +0300  Hyunjun Ko <zzoon@igalia.com>
+
+       * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
+         decoder: h265: fix to release all dpb pictures
+         Without this, all dpb pictures are not released during flush,
+         because we used the global dpb_count variable for checking the
+         dpb fullness which get decremented in dpb_remove_index()
+         routine during each loop iteration.
+         https://bugzilla.gnome.org/show_bug.cgi?id=767934
+
+2016-06-21 11:48:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * common:
+         Automatic update of common submodule
+         From ac2f647 to f363b32
+
+2016-06-20 19:53:26 +0900  Hyunjun Ko <zzoon@igalia.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+       * gst/vaapi/gstvaapipostproc.c:
+         vaapi: fix minor leaks
+         https://bugzilla.gnome.org/show_bug.cgi?id=767868
+
+2016-06-17 17:00:03 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapi.c:
+         vaapi: remove an already included header
+         gst/gst.h is already included in gstcompat.h
+
+2016-06-17 16:53:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecodebin.c:
+         vaapidecodebin: add vp9 in sink pad template
+
+2016-06-15 20:19:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapisink.c:
+         vaapisink: return caps template if no display
+         If vaapisink received a caps query before getting a VA display, it returned
+         only the surfaces related caps. This behavior broke the autovideosink
+         negotiation.
+         This patch returns the pad's template caps if no VA display, otherwise the
+         caps are crafted as before.
+         https://bugzilla.gnome.org/show_bug.cgi?id=767699
+
+2016-06-15 11:25:23 -0700  Scott D Phillips <scott.d.phillips@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
+         decoder: vp9: Update comment about context resets
+         Clarify that vaapi context resets are never needed for vp9, but
+         that ensure_context() needs called when the size increases so that
+         new surfaces can be allocated.
+         Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
+         https://bugzilla.gnome.org/show_bug.cgi?id=767474
+
+2016-05-17 15:34:23 -0700  Scott D Phillips <scott.d.phillips@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapicontext.c:
+       * gst-libs/gst/vaapi/gstvaapicontext.h:
+       * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
+         gstvaapicontext: control reset_on_resize with option
+         Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
+         https://bugzilla.gnome.org/show_bug.cgi?id=767474
+
+2016-06-14 09:45:22 -0700  Scott D Phillips <scott.d.phillips@intel.com>
+
+       * gst/vaapi/gstvaapivideobufferpool.c:
+         vaapivideobufferpool: add video meta to config when needed
+         In cases where we know the video meta must be present, add it to
+         the pool configuration.
+         Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
+         https://bugzilla.gnome.org/show_bug.cgi?id=766184
+
+2016-06-13 10:48:41 -0700  Scott D Phillips <scott.d.phillips@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+         plugins: retry pool config
+         if gst_buffer_pool_set_config returns FALSE, check the modified
+         config and retry set_config if the config is still acceptable.
+         Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
+         https://bugzilla.gnome.org/show_bug.cgi?id=766184
+
+2016-06-08 18:42:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapivideomemory.h:
+         vaapivideomemory: internal attributes to methods
+         Mark as internal the functions used by VA-API dmabuf allocator.
+
+2016-06-02 15:41:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+         plugins: remove precondition for decide_allocation()
+         There's no need to check for the display in the plugin object when
+         decide_allocation() vmethod is called, because the display will created or
+         re-created along the method execution.
+
+2016-06-08 18:44:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+         plugins: avoid possible memory leaks
+         Get the pool config just before use it, to avoid a memory leak if the
+         allocator cannot be instantiated. Similarly, return FALSE if the configuration
+         cannot be set, avoid keep a not used allocator in the pool.
+
+2016-05-31 11:52:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+         plugins: use GstParentBufferMeta
+         Instead of using the VASurface proxy's notify, which is internal gstvaapi API,
+         use the GStreamer's GstParentBufferMeta.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765435
+
+2016-05-31 08:26:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+         plugins: cache VASurfaces from dmabufs
+         This patch avoids the creation of a VASurface each time a new input buffer is
+         processed, caching them in the input buffer itself.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765435
+
+2016-05-30 23:55:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
+       * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
+       * gst/vaapi/gstvaapipluginbase.c:
+         libs: change gst_vaapi_surface_new_with_dma_buf_handle()
+         Instead of passing the data already in GstVideoInfo, let's just pass the
+         GstVideoInfo structure.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765435
+
+2016-05-25 12:31:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+       * gst/vaapi/gstvaapipluginbase.h:
+         plugins: use an unique allocator per pad
+         Instead of instantiating an allocator per vaapivideobufferpool, only one
+         allocator is instantiated per element's pad and shared among future pools.
+         If the pad's caps changes, the allocator is reset.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765435
+
+2016-05-25 10:58:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+       * gst/vaapi/gstvaapivideobufferpool.c:
+       * gst/vaapi/gstvaapivideobufferpool.h:
+         vaapivideobufferpool: share options flag with pluginbase
+         Originally, vaapivideobufferpool has a set of boolean variables for the
+         buffer configuration options.
+         This pach changes these boolean variables for a single bitwise, just as
+         it is used in pluginbase. Hence, the internal enum was moved to
+         vaapivideobufferpool header.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765435
+
+2016-05-10 15:57:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+         plugins: add gst_vaapi_plugin_base_create_pool()
+         This patch refactors the code in pluginbase in order to centralize the buffer
+         pool instantiation. As the buffer pool config may have different options, these
+         are gathered using a bitwise flag.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765435
+
+2016-05-20 18:46:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+         pluginbase negotiates allocator with bufferpool
+         Originally vaapivideobufferpool instantiates its own allocator regardless the
+         received configuration, and it relies in custom configuration options to
+         choose which kind of allocator instantiate.
+         This patch transfers the responsibility of the allocator instantiate to
+         vaapipluginbase and pass it to the vaapivideobufferpool through its
+         configuration.
+         * gst/vaapi/gstvaapipluginbase.c
+         + set_dmabuf_allocator(): inserts a dmabuf allocator in the bufferpool
+         + ensure_sinkpad_buffer_pool(): set a normal vaapi video allocator in
+         bufferpool configuration
+         + gst_vaapi_plugin_base_propose_allocation(): call set_dmabuf_allocator() if
+         needed.
+         + gst_vaapi_plugin_base_decide_allocation(): set a normal vaapi video
+         allocator in bufferpool configuration
+         * gst/vaapi/gstvaapivideobufferpool.c
+         + gst_vaapi_video_buffer_pool_set_config(): instead of instantiate the
+         allocator, process the received one through its configuration.
+         * gst/vaapi/gstvaapivideobufferpool.h: removed
+         GST_BUFFER_POOL_OPTION_DMABUF_MEMORY since it is not used anymore.
+         * gst/vaapi/gstvaapivideomemory.c
+         + gst_vaapi_is_dmabuf_allocator(): new helper function to identify a dmabuf
+         allocator with the vaapi qdata.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765435
+
+2016-05-20 14:39:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapivideobufferpool.c:
+         vaapivideobufferpool: keep only current video info
+         Instead of keeping old and new GstVideoInfo video structure, we only keep one,
+         the current one, the negotiated. The old one is not needed at all.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765435
+
+2016-05-23 15:38:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+       * gst/vaapi/gstvaapipluginutil.c:
+       * gst/vaapi/gstvaapipluginutil.h:
+       * gst/vaapi/gstvaapivideomemory.c:
+         pluginutil: add gst_video_info_force_nv12_if_encoded()
+         This lines repeat a couple times in the code, so it would be better to put it
+         a helper function.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765435
+
+2016-05-20 14:15:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginutil.c:
+       * gst/vaapi/gstvaapipluginutil.h:
+       * gst/vaapi/gstvaapipostproc.c:
+       * gst/vaapi/gstvaapivideobufferpool.c:
+         pluginutil: add gst_video_info_changed() helper
+         This function is shared among different elements, so let factorized it.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765435
+
+2016-06-08 10:14:16 +0900  Hyunjun Ko <zzoon@igalia.com>
+
+       * gst/vaapi/gstvaapipostprocutil.c:
+         vaapipostproc: Add colorimetry attributes to src caps
+         https://bugzilla.gnome.org/show_bug.cgi?id=766596
+
+2016-06-08 10:17:46 +0900  Hyunjun Ko <zzoon@igalia.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+         vaapidecode: remove chroma-site and colorimetry from src caps
+         https://bugzilla.gnome.org/show_bug.cgi?id=766596
+
+2016-06-07 14:19:50 -0700  Scott D Phillips <scott.d.phillips@intel.com>
+
+       * gst/vaapi/gstvaapipostproc.c:
+       * gst/vaapi/gstvaapipostproc.h:
+         vaapipostproc: add postproc_lock to protect data members
+         Add a mutex to postproc to protect concurrent access to data members.
+         Previously set_caps() could release the allowed_srcpad_caps while
+         transform_caps was in the middle of using it.
+         Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
+         https://bugzilla.gnome.org/show_bug.cgi?id=766940
+
+2016-05-30 11:30:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
+       * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
+         encoder: vp9: Add simple algorithms for reference picture selection
+         Added two modes(as properties) for reference picture selection:
+         ref-mode-0: AltRef and GoldRef pointing to the recent keyframe
+         and LastRef is pointing to the previous frame.
+         ref-mode-1: Previous frame (n) as LastRef , n-1 th frame as GoldRef
+         and n-2 th frame as AltRef
+         https://bugzilla.gnome.org/show_bug.cgi?id=766048
+
+2016-05-30 11:25:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
+         encoder: vp9: Define Max frame width and height
+         https://bugzilla.gnome.org/show_bug.cgi?id=766048
+
+2016-05-30 11:25:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
+       * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
+         encoder: vp9: Add more propertis for tuning encode quality
+         Added three tuning properties:
+         1: filter_level
+         2: sharpness_level
+         3: luma ac quant-table index
+         https://bugzilla.gnome.org/show_bug.cgi?id=766048
+
+2016-05-30 11:24:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst/vaapi/Makefile.am:
+       * gst/vaapi/gstvaapi.c:
+       * gst/vaapi/gstvaapiencode_vp9.c:
+       * gst/vaapi/gstvaapiencode_vp9.h:
+         Add vp9 encode element to "vaapi" plugin
+         https://bugzilla.gnome.org/show_bug.cgi?id=766048
+
+2016-05-30 11:23:12 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/vaapi/Makefile.am:
+       * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
+       * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
+         Add vp9 encoder support in libgstvaapi
+         https://bugzilla.gnome.org/show_bug.cgi?id=766048
+
+2016-05-30 11:22:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * configure.ac:
+         build: Add check for VP9 encode API support in libva
+         https://bugzilla.gnome.org/show_bug.cgi?id=766048
+
+2016-05-26 11:42:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
+         gstvaapisurface_drm: fix internal documentation
+
+2016-05-26 11:41:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
+         gstvaapisurface_drm: fix code-style
+
+2016-05-25 12:28:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+         plugins: remove unused header
+         Remove the include of gst/allocators/allocators.h since it is not used.
+
+2016-05-25 10:36:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapivideobufferpool.h:
+         vaapivideobufferpool: remove GL_TEXTURE_UPLOAD_META
+         Since gstreamer-vaapi is coupled with gstreamer releases, there is no need to
+         keep compatibility definition.
+         This patch removes the definition of
+         GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META since it is in
+         gst-plugins-base version 1.2.2
+
+2016-05-23 22:49:11 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+         plugins: add gst_vaapi_buffer_pool_caps_is_equal()
+         This is a helper function to improve the readability of
+         ensure_sinkpad_buffer_pool(). It makes clearer when the buffer pool needs to be
+         re-instantiated.
+
+2016-05-24 16:29:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+         plugins: deactivate buffer pool before unref
+         This buffer pool may still be processing buffers when a caps renegotiation is
+         done. This one-liner patch deactivates the pool to drain it before it
+         de-allocation.
+
+2016-05-24 16:22:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+         plugins: no sinkpad bufferpool when decoder
+         Right now, the decoders create a buffer pool for their sink pad which is not
+         used at all, because the decoders have never proposed it to upstream.
+         This patch avoids the buffer pool instantiating when the element inherits from
+         the GstVideoDecoder class.
+
+2016-05-24 13:39:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+         plugins: avoid to get/set pool config twice
+         This patch is a bit of optimization, since the bufferpool configuration is get
+         when the pool is created. Hence, we only need to request it when the pool from
+         the allocation query is reused.
+
+2016-05-13 13:14:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+         plugins: destroy pool earlier if non-vaapi
+         If the offered pool in decide_allocation() vmethod doesn't have the
+         VAAPI_VIDEO_META option, it is destroyed immediatly and the pointer cleared,
+         so it could be created later.
+
+2016-05-23 22:30:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapivideobufferpool.c:
+         vaapivideobufferpool: split caps validation
+         When validating the caps from bufferpool config, this patch distinguishes the
+         error from no caps received (NULL) from the invalid caps (cannot be converted
+         into GstVideoInfo structure).
+
+2016-05-23 22:21:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+       * gst/vaapi/gstvaapipluginbase.c:
+         plugins: check for caps in query earlier
+         Check for caps as soon gst_query_parse_allocation() returns.
+
+2016-05-23 23:13:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+       * gst/vaapi/gstvaapipluginbase.h:
+         plugins: remove unused variables
+         This variables stopped to be used since commit 001a5c63, which removed the
+         gstvaapiuploader.
+
+2016-05-23 18:47:46 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+         plugins: fix potential memleak from commit 9159328
+         If gst_video_info_from_caps() fails it is required to unref the instantiated
+         pool.
+
+2016-05-23 18:04:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipostproc.c:
+         vaapipostproc: handle if gst_video_info_from_caps() fails
+         Return FALSE is the received caps cannot be transformed into a GstVideoInfo
+         structure.
+
+2016-05-23 17:55:35 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+         plugins: handle if gst_video_info_from_caps() fails
+         Let's play safe and return error if, somehow, the received caps are wrong.
+
+2016-05-23 17:47:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+         plugins: relate errors to instance
+         Use GST_{ERROR,WARNING}_OBJECT instead of GST_{ERROR,WARNING}, thus the logs
+         will show the name of the vaapipluginbase instance that failed.
+         Also, the code-style is fixed, where some error labels need to be surrounded
+         by braces.
+
+2016-05-20 21:01:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+       * gst/vaapi/gstvaapipluginutil.c:
+       * gst/vaapi/gstvaapisink.c:
+         plugins: use GstVideoInfo accessors
+         Instead of access to GstVideInfo members directly, use their accessors
+         macros. This patch makes more resistance to future changes in GStreamer core.
+
+2016-05-20 19:33:39 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
+       * gst/vaapi/gstvaapipluginbase.c:
+       * gst/vaapi/gstvaapipostproc.c:
+       * tests/simple-encoder.c:
+         remove spurious gst_video_info_init()
+         gst_video_info_set_format() and gst_video_info_from_caps() call, internally,
+         gst_video_info_init(), hence it is not required to call it before them. This
+         patch removes these spurious calls.
+
+2016-05-20 19:15:11 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+         vaapipluginbase: code-style: rename goto label
+         The error labels have error_ prefix, but this one.
+
+2016-05-19 16:34:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapivideomemory.c:
+         vaapivideomemory: use allocator custom alloc flag
+         Instead of a dummy alloc() vmethod, the allocator instance set the flag
+         GST_ALLOCATOR_FLAG_CUSTOM_ALLOC, which is used by the framework to avoid call
+         gst_allocator_alloc() on the allocator.
+
+2016-05-06 13:17:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapivideobufferpool.c:
+         vaapivideobufferpool: relate errors to instance
+         Use GST_ERROR_OBJECT instead of GST_ERROR, thus the logs will show the name of
+         the vaapivideobufferpool instance that failed.
+
+2016-05-10 16:14:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+         plugins: remove gst_vaapi_plugin_base_set_pool_config()
+         This function helper make sense for GStreamer 1.2, but it is not helpful for
+         greater version since the validation is already done in the API implementation.
+         Thus, it is removed.
+
+2016-05-18 17:05:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.c:
+         gstvaapipluginbase: Fix typo in doc
+
+2016-05-13 11:45:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
+         encoder : h264: Disable b-frame encode in low-power mode
+         This is a workaround since vaapi-intel-driver doesn't have
+         support for B-frame encode when utilizing low-power-enc
+         hardware block.
+         Fixme :We should query the VAConfigAttribEncMaxRefFrames
+         instead of blindly disabling b-frame support and set b/p frame count,
+         buffer pool size etc based on the query result.
+         https://bugzilla.gnome.org/show_bug.cgi?id=766050
+
+2016-05-13 11:44:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
+       * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
+         encoder: h264 : Use "tune=low-power" for enabling lowpower encode
+         Remove the duplicate property "low-power-enc" and use the
+         tune property for enabling low power encoding mode.
+         https://bugzilla.gnome.org/show_bug.cgi?id=766050
+
+2016-05-11 12:06:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapiencoder.c:
+         gstvaapiencoder:Use internal api to dervie configured VAEntrypoint
+         https://bugzilla.gnome.org/show_bug.cgi?id=766050
+
+2016-05-11 12:05:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapiencoder.c:
+       * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
+       * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
+         encoder: h264: Add support of low power/high performance encoding mode
+         Added a new property "low-power-enc" for enabling low power
+         encoding mode. Certain encoding tools may not be available
+         with the VAEntrypointEncSliceLP.
+         https://bugzilla.gnome.org/show_bug.cgi?id=766050
+
+2016-05-11 12:04:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapitypes.h:
+       * gst-libs/gst/vaapi/gstvaapiutils.c:
+       * gst-libs/gst/vaapi/gstvaapivalue.c:
+         Add mapping for Macroblock level rate control (VA_RC_MB)
+
+2016-05-11 12:03:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapidisplay.c:
+         gstvaapidisplay: Add VAEntrypointEncSliceLP support
+         https://bugzilla.gnome.org/show_bug.cgi?id=766050
+
+2016-05-11 11:59:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapiprofile.c:
+       * gst-libs/gst/vaapi/gstvaapiprofile.h:
+         gstvaapiprofile : Add VAEntrypointEncSliceLP definitions
+         This is for implementations that supports low_power/high_performance
+         variant for slice level encode.
+         https://bugzilla.gnome.org/show_bug.cgi?id=766050
+
+2016-05-05 18:23:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipostprocutil.c:
+         vaapipostproc: negotiate frame size fixation
+         Refactor _fixate_frame_size(). Now, instead of fixating the frame size only
+         using the sink caps, also it use the next capsfilter.
+         This code is a shameless copy of gst_video_scale_fixate_caps() from
+         https://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst/videoscale/gstvideoscale.c?id=1.8.1#n634
+         https://bugzilla.gnome.org/show_bug.cgi?id=758548
+
+2016-05-06 10:50:10 +0200  Scott D Phillips <scott.d.phillips@intel.com>
+
+       * gst/vaapi/gstvaapipostprocutil.c:
+         vaapipostproc: don't use GstVideoInfo for src caps
+         Instead of using gst_video_info_to_caps () to generated the fixed src caps,
+         this patch enables the first step for caps negotiation with a possible
+         following caps filter.
+         _get_preferred_caps() will traverse the possible src caps looking for the one
+         wit the preferred feature and the preferred color format. Then the color
+         format, the frame size and the frame rate are fixated.
+         https://bugzilla.gnome.org/show_bug.cgi?id=758548
+
+2016-05-05 15:32:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipostproc.c:
+       * gst/vaapi/gstvaapipostprocutil.c:
+       * gst/vaapi/gstvaapipostprocutil.h:
+         vaapipostproc: move gst_vaapipostproc_fixate_srccaps()
+         Move gst_vaapipostproc_fixate_srccaps() to gstvaapiposptprocutil.
+         No functional changes.
+         https://bugzilla.gnome.org/show_bug.cgi?id=758548
+
+2016-05-05 15:19:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipostproc.c:
+         vaapipostproc: simplify code
+         Change a convoluted snippet to find the preferred color format in the peer
+         caps.
+         https://bugzilla.gnome.org/show_bug.cgi?id=758548
+
+2016-05-05 15:16:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipostproc.c:
+         vaapipostproc: use othercaps for preferred caps
+         Instead of the allowed_srcpad_caps variable, this patch uses the othercaps
+         from fixate_caps() vmethod to find the preferred caps feature and color
+         format.
+         https://bugzilla.gnome.org/show_bug.cgi?id=758548
+
+2016-05-05 13:46:11 +0200  Scott D Phillips <scott.d.phillips@intel.com>
+
+       * gst/vaapi/gstvaapipostproc.c:
+         vaapipostproc: add fixate_caps() vmethod
+         Instead of fixating the srcpad caps in transform_caps() vmethod, this patch
+         implements the fixate_caps() vmethod and moves code around.
+         https://bugzilla.gnome.org/show_bug.cgi?id=758548
+
+2016-05-05 12:07:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/Makefile.am:
+       * gst/vaapi/gstvaapipostproc.c:
+       * gst/vaapi/gstvaapipostprocutil.c:
+       * gst/vaapi/gstvaapipostprocutil.h:
+         vaapipostproc: set early properties restrictions
+         When running transform_caps() vmethod, returning the srcpad caps, the caps are
+         early restricted to the element properties set: width, height, format and
+         force keep aspect.
+         A new file was added gstvaapipostprocutil.{c,h} where the utilities functions
+         are stored.
+         https://bugzilla.gnome.org/show_bug.cgi?id=758548
+
+2016-04-25 13:45:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipostproc.c:
+         vaapipostproc: log the caps transformation
+         https://bugzilla.gnome.org/show_bug.cgi?id=758548
+
+2016-04-27 21:20:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipostproc.c:
+         vaapipostproc: no GLTextureUpload in sinkpad
+         As the vaapipostproc does not process frames with the VideoGLTextureUpload
+         meta, the feature is removed from the sink pad template.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765931
+
+2015-09-28 08:49:39 +0100  Julien Isorce <j.isorce@samsung.com>
+
+       * gst/vaapi/gstvaapivideobufferpool.c:
+         vaapibufferpool: do not create texture upload meta if dmabuf
+         https://bugzilla.gnome.org/show_bug.cgi?id=755072
+
+2016-05-06 12:16:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * git.mk:
+         build: update git.mk
+
+2016-04-29 13:11:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginbase.h:
+         plugin: fix macro processor check
+         Instead of #ifdef it should be used #if becasuse USE_GST_GL_HELPERS is always
+         defined in config.h, but it would be 0 or 1 depending on the configure output.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765702
+
+2016-04-29 12:53:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * tests/test-display.c:
+         tests: display: guard possible unused variables
+         https://bugzilla.gnome.org/show_bug.cgi?id=765702
+
+2016-04-29 12:48:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * tests/codec.c:
+       * tests/decoder.c:
+       * tests/image.c:
+       * tests/output.c:
+       * tests/simple-decoder.c:
+       * tests/test-decode.c:
+       * tests/test-display.c:
+       * tests/test-filter.c:
+       * tests/test-h264.c:
+       * tests/test-jpeg.c:
+       * tests/test-mpeg2.c:
+       * tests/test-mpeg4.c:
+       * tests/test-subpicture-data.c:
+       * tests/test-subpicture.c:
+       * tests/test-surfaces.c:
+       * tests/test-textures.c:
+       * tests/test-vc1.c:
+       * tests/test-windows.c:
+         tests: inforce gstreamer code-style
+
+2016-04-27 17:10:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
+         encoder: h265: Enable cu_qp_delta_enabled_flag for CBR
+         It seems driver requires enablement of cu_qp_delta_enabled_flag
+         for modifying QP values to controll the CBR mode bitrate.
+         https://bugzilla.gnome.org/show_bug.cgi?id=749852
+
+2016-04-27 17:06:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
+         encoder: h265: Add CBR Encoding support
+         https://bugzilla.gnome.org/show_bug.cgi?id=749852
+
+2015-11-27 05:09:10 +0000  Julien Isorce <j.isorce@samsung.com>
+
+       * gst-libs/gst/vaapi/gstvaapisurface.c:
+         gstvaapisurface: explicitely clear TILING flag if dmabuf
+         https://bugzilla.gnome.org/show_bug.cgi?id=755072
+
+2015-10-04 23:44:16 +0100  Julien Isorce <j.isorce@samsung.com>
+
+       * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
+         gstvaapisurface_drm: release image when done
+         Otherwise intel-vaapi-driver will fail to process the exported surface because
+         it will find it is currently derived, so considered as busy.
+         https://bugzilla.gnome.org/show_bug.cgi?id=755072
+
+2015-09-26 06:25:12 +0100  Julien Isorce <j.isorce@samsung.com>
+
+       * gst/vaapi/gstvaapipostproc.c:
+         vaapipostproc: already have a surface proxy if dmabuf
+         https://bugzilla.gnome.org/show_bug.cgi?id=755072
+
+2016-03-11 08:58:51 +0000  Julien Isorce <j.isorce@samsung.com>
+
+       * gst/vaapi/gstvaapipostproc.c:
+         various gst-indent
+
+2016-04-21 15:14:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+       * gst/vaapi/gstvaapipluginbase.c:
+       * gst/vaapi/gstvaapipluginbase.h:
+         vaapidecode: search driver in whitelist
+         If the backend driver vendor string is not in a white-list, and the
+         environment variable GST_VAAPI_ALL_DRIVERS is not set either, the decoder will
+         change it state from NULL to READY, hence the auto-plug mechanism will look
+         for another decoder.
+         This patch assumes the GstContext has already being shared along the pipeline
+         and the element has a valid GstVaapiDisplay instance.
+         https://bugzilla.gnome.org/show_bug.cgi?id=764673
+
+2016-04-21 12:57:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+       * gst/vaapi/gstvaapiencode.c:
+       * gst/vaapi/gstvaapipluginbase.c:
+       * gst/vaapi/gstvaapipluginbase.h:
+       * gst/vaapi/gstvaapipostproc.c:
+       * gst/vaapi/gstvaapisink.c:
+         plugins: rework set_context() vmethod definition
+         In bug 757598 was added the set_context() vmethod chain up in
+         GstVaapiPluginBase. But it is buggy, since the parent_class address is
+         assigned to the last element which called gst_vaapi_plugin_base_class_init().
+         No error has shown up since none of the element's base classes redefined
+         set_context() vmethod from GstElement, so always the correct function was
+         called. Still this code is wrong and this patch make it right.
+         Since set_context() is the same code, a macro is used to implement that code
+         in all the gst-vaapi elements.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765368
+
+2016-04-15 17:57:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipostproc.c:
+         vaapipostproc: resize if negotiated and allocation caps are different
+         Since commit 859a2b2, in vaapidecode, allocation query can be different from
+         the negotiated caps.
+         When connecting the vaapidecoder to the vaapipostprocessor, the last one will
+         resize the frame to the negotiated, if and only if, some other parameter is
+         activated to avoid the passthrough. If it is not, the surface won't be mapped
+         into a image. If not, the image won't be resized and the output buffer would be
+         mapped.
+         This patch will break the passthrough if the allocation query is different
+         from the negotiation caps, forcing the resizing.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765095
+
+2016-04-05 13:09:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+         vaapidecode: improve code readability
+         No functional changes.
+
+2016-04-05 13:37:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+         vaapidecode: move GstCapsFeatures near to its use
+         Move the handling of the GstCapsFeatures just after it is used, in order to
+         avoid handling its memory.
+
+2016-04-05 13:07:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+         vaapidecode: caps negotiation checks
+         Check that GLUploadTexture is not negotatiated if gstreamer-vaapi is not
+         compiled with GL support.
+
+2016-03-10 16:43:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+       * gst/vaapi/gstvaapipluginbase.c:
+       * gst/vaapi/gstvaapipluginbase.h:
+       * gst/vaapi/gstvaapipostproc.c:
+         plugins: remove param in gst_vaapi_plugin_base_decide_allocation()
+
+2016-03-10 16:42:04 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+         vaapidecode: bail early if not caps in decide_allocation()
+
+2016-03-29 14:17:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+       * gst/vaapi/gstvaapipluginbase.c:
+       * gst/vaapi/gstvaapipluginutil.c:
+       * gst/vaapi/gstvaapipluginutil.h:
+       * gst/vaapi/gstvaapipostproc.c:
+         plugin: use allowed caps filter from element
+         Instead of using the srcpad template caps for filtering the peer caps, the
+         function gst_vaapi_find_preferred_caps_feature(), now receives a new parameter
+         for the element's allowed caps.
+         With this modification, the vaapipostproc element simplifies a bit its code.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765223
+
+2016-04-18 17:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+       * gst/vaapi/gstvaapipluginbase.c:
+       * gst/vaapi/gstvaapipluginutil.c:
+       * gst/vaapi/gstvaapipluginutil.h:
+       * gst/vaapi/gstvaapipostproc.c:
+         plugin: remove function parameter
+         The native format parameter in gst_vaapi_find_preferred_caps_feature() can be
+         saved if the out format is used for both: in and out. Thus the code is more
+         readable.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765223
+
+2016-04-18 17:17:58 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+         vaapidecode: warns if driver will do color conversions
+         If the downstream feature is system memory, the surface has to be mapped,
+         hence a warning message is logged saying that the driver has to do color
+         conversions. This might be troublesome because not all the color conversion
+         combinations are supported by the VA-API drivers, and there is not a reliable
+         way to know them before hand.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765223
+
+2016-03-29 13:28:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginutil.c:
+         plugin: honour negotiated format
+         Instead of setting the requested format by the caller, the function
+         gst_vaapi_find_preferred_caps_feature() now returns, in the output parameter,
+         the negotiated format.
+         A new helper function was added: gst_vaapi_find_preferred_format(), which,
+         given the format list from the negotiated caps, will choose the best one, if
+         possible, given the native format.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765223
+
+2016-03-28 19:26:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginutil.c:
+         plugin: simplify caps feature selection
+         This patch simplifies the function gst_vaapi_find_preferred_caps_feature().
+         Instead of intersecting custom caps to find the preferred feature, the peer
+         caps are traversed in order to find the preferred feature, according to an
+         ordered feature priority list.
+         In the case of GLTextureUploadMeta, the colour format is computed using
+         GstVideoInfo of the selected fixed caps.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765223
+
+2016-03-31 16:39:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+         vaapidecode: use macros for GstVideoInfo
+         Instead of accessing directly to the members of the structure, use the macros.
+
+2016-04-14 17:02:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+         vaapidecode: refactor is_display_resolution_changed()
+         Make the comparisons more readable and simple.
+         https://bugzilla.gnome.org/show_bug.cgi?id=764316
+
+2016-04-14 16:43:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+       * gst/vaapi/gstvaapidecode.h:
+         vaapidecode: keep only display_{width,height}
+         Instead of keeping the structure GstVideoInfo when we are using its width and
+         height, we only keep these two guints.
+         https://bugzilla.gnome.org/show_bug.cgi?id=764316
+
+2016-04-14 16:31:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+         vaapidecode: decoded_info is valid at src caps update
+         As decoded_info is assured to be valid when gst_vaapidecode_update_src_caps()
+         is called, then we don't need to verify or replace it with the sinkpad info
+         (reference state).
+         https://bugzilla.gnome.org/show_bug.cgi?id=764316
+
+2016-04-14 16:22:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+         vaapidecode: always a valid format in decoded_info
+         Always set a valid format in decoded_info class variable.
+         https://bugzilla.gnome.org/show_bug.cgi?id=764316
+
+2016-03-25 15:31:28 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+         vaapidecode: code style fixes
+         No functional changes.
+         https://bugzilla.gnome.org/show_bug.cgi?id=764316
+
+2016-04-14 16:10:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+         vaapidecode: init {decoded,display}_info at open()
+         It is required to initialize {decoded,display}_info variables when the decoder
+         is open, not only at instance initialization.
+         https://bugzilla.gnome.org/show_bug.cgi?id=764316
+
+2016-03-28 15:30:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+       * gst/vaapi/gstvaapidecode.h:
+         vaapidecode: remove spurious class variables
+         active, do_pool_renego and do_outstate_renego class variables were used to
+         indicate when negotiate downstream once, but now that each time a new surface
+         resolution is pop out a renegotation verified, these variable are not required
+         anymore.
+         https://bugzilla.gnome.org/show_bug.cgi?id=764316
+
+2016-04-14 15:46:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+       * gst/vaapi/gstvaapipluginbase.c:
+       * gst/vaapi/gstvaapipluginbase.h:
+       * gst/vaapi/gstvaapipostproc.c:
+         remove custom allocation query
+         When resolving bug 753914, a custom allocation query was added, overlapping
+         the responsibilities of GstVideoDecoder.
+         But with the merge of the patches from bug 764421 this overlapping was not
+         required anymore. This patch restores this situation setting the
+         allocation_caps in the GstVideoCodecState when needed.
+         https://bugzilla.gnome.org/show_bug.cgi?id=764316
+
+2016-04-14 10:04:47 +0100  Julien Isorce <j.isorce@samsung.com>
+
+       * common:
+         Automatic update of common submodule
+         From 6f2d209 to ac2f647
+
+2016-04-13 15:44:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+       * gst/vaapi/gstvaapidecodebin.c:
+       * gst/vaapi/gstvaapipostproc.c:
+         plugins: disable GL_TEXTURE_UPLOAD if no EGL/GLX
+         The plugins should not expose the feature meta:GstVideoGLTextureUploadMeta in
+         their caps templates if they were not compiled either with GLX or EGL support.
+
+2016-04-13 20:33:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapipluginutil.c:
+         plugins: fix compilation when EGL/GLX is disabled
+         The compiler might complain of gst_vaapi_create_display_from_handle() being
+         unused if both EGL and GLX are disabled. This patch avoid that compilation
+         error.
+
+2016-04-13 14:09:00 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
+         libs: fix deleting a GstVaapiCodedBufferPool object
+         Call gst_vaapi_video_pool_finalize() in coded_buffer_pool_finalize().
+         Otherwise it is not called when the pool is destroyed and all objects
+         referenced by the GstVaapiVideoPool are never released.
+         https://bugzilla.gnome.org/show_bug.cgi?id=764993
+
+2016-04-07 18:03:42 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapisurface.c:
+         surface: destroy derived image
+         If gst_vaapi_image_new_with_image() fails, the created derived image should be
+         destroyed, otherwise the surface cannot be processed because is being used.
+         https://bugzilla.gnome.org/show_bug.cgi?id=764607
+
+2016-03-18 20:00:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+         vaapidecode: add stop function
+         Clear any status on the current stream:
+         stored frames, caps and decoder configuration
+         https://bugzilla.gnome.org/show_bug.cgi?id=763460
+
+2016-04-01 14:00:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
+         decoder: vp9: Align with the ABI changes in vp9 codecparser
+         The subsampling_x, subsampling_y, bit_depth, color_space and color_range
+         fileds are moved from GstVp9FrameHdr to the global GstVp9Parser structure.
+         These fields are only present in keyframe or intra-only frame, no need to
+         duplicate them for inter-frames.
+         https://bugzilla.gnome.org/show_bug.cgi?id=764082
+
+2016-04-01 13:59:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
+         decoder: vp9 : Add 10bit decoding support (Profile2)
+         https://bugzilla.gnome.org/show_bug.cgi?id=764082
+
+2016-04-01 13:57:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapiprofile.c:
+       * gst-libs/gst/vaapi/gstvaapiprofile.h:
+         gstvaapiporfile: Add more VP9 profile definitions
+         https://bugzilla.gnome.org/show_bug.cgi?id=764082
+
+2016-02-03 20:34:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * Makefile.am:
+       * configure.ac:
+         build: possibility to disable tests
+         The configuration option --disable-examples will disable the compilation of
+         the sample apps in tests/ directory.
+
+2016-03-29 14:25:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapiencode_h264.c:
+       * gst/vaapi/gstvaapiencode_h265.c:
+       * gst/vaapi/gstvaapiencode_jpeg.c:
+       * gst/vaapi/gstvaapiencode_mpeg2.c:
+       * gst/vaapi/gstvaapiencode_vp8.c:
+       * gst/vaapi/gstvaapipluginutil.h:
+       * gst/vaapi/gstvaapisink.c:
+         unify caps template for VAAPI encoders and decoders
+         There is no difference in VAAPI surface caps between encoders and decoders.
+         Thus, the patch makes a simplification by removing encoders specific caps and
+         shares the same definition of VAAPI surfaces caps for all the elements.
+
+2016-03-10 17:42:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+         vaapidecode: move gst_vaapidecode_negotiate() code
+         With it we can remove a function declaration, making the code a bit
+         more readable.
+         https://bugzilla.gnome.org/show_bug.cgi?id=764316
+
+2016-03-29 13:50:00 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
+       * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
+       * gst/vaapi/gstvaapidecode.c:
+         docs: generate vaapijpegdec documentation
+         https://bugzilla.gnome.org/show_bug.cgi?id=764314
+
+2016-03-30 14:37:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
+         decoder: h265: Fix offset calculation when there is more than one vps/sps/pps present in codec_data
+         The array_completeness, reserved bit and num_nal_units fields
+         in HEVCDecoderConfigurationRecord will be present for each VPS/SPS/PPS array list,
+         but not for each occurance of similar headers.
+         https://bugzilla.gnome.org/show_bug.cgi?id=764274
+
+2016-03-29 15:34:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/vaapi/video-format.c:
+         video-format: Keep the HW order preference while mapping to GstVideoFormats
+
+2016-03-29 15:02:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+       * gst/vaapi/gstvaapipluginbase.c:
+       * gst/vaapi/gstvaapipluginutil.c:
+       * gst/vaapi/gstvaapipluginutil.h:
+       * gst/vaapi/gstvaapivideomemory.c:
+         gst/vaapi: keep precedence for NV12 over I420
+         Use NV12 as default "assumption" format all over.
+         NV12 is the default high priority format used my most of the
+         vaapi-drivers.
+
+2016-03-29 14:34:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+         vaapidecode: Use video format derived from decoded surface as default src pad format
+         Use the surface format derived from first decoded surface
+         to negotiate the downstream video format capabilities.
+         https://bugzilla.gnome.org/show_bug.cgi?id=759181
+
+2016-03-29 14:34:00 +0300  Scott D Phillips <scott.d.phillips@intel.com>
+
+       * gst-libs/gst/vaapi/gstvaapiimage.c:
+       * gst-libs/gst/vaapi/video-format.c:
+       * gst/vaapi/gstvaapidecode.c:
+       * gst/vaapi/gstvaapipluginutil.h:
+       * gst/vaapi/gstvaapisink.c:
+         Add P010 video format support
+         The P010 video format is the native format used by the vaapi intel driver
+         for HEVCMain10 decode . Add support for planes and images of this video format.
+         https://bugzilla.gnome.org/show_bug.cgi?id=759181
+
+2016-03-27 09:11:00 +0000  Stephen <elfarto@elfarto.com>
+
+       * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
+         libs: x11: allows 30-bit colour depth
+         The colour depth is clamped to 24 when it is not equal {15,16,24,32}. But this
+         fails with the NVIDIA binary driver as it doesn't advertise a TrueColor visual
+         with a depth of 24 (only 30 and 32). Allowing the depth to be 30, lets everything
+         work as expected.
+         https://bugzilla.gnome.org/show_bug.cgi?id=764256
+
+2016-03-28 13:13:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapivideometa_texture.c:
+         gltextureupload: use an array for texture type
+         Instead of using a single value for the texture type, use an array with 4
+         elements, just as the GstVideoGLTextureUploadMeta, avoiding a buffer
+         overflow.
+         https://bugzilla.gnome.org/show_bug.cgi?id=764231
+
+2016-03-24 15:09:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+       * gst/vaapi/gstvaapipluginbase.c:
+         vaapidecode: Fix decide_allocation handling
+         Set the already configured pool in decide_allocation query
+         in cases where pool renegotiation is not required.
+         https://bugzilla.gnome.org/show_bug.cgi?id=753914
+
+2016-03-24 15:09:15 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+         vaapidecode: Derive and save the decoded surface format
+         After the decoding of first frame, try to extract the exact
+         decoded surface format using vaDeriveImage and keep this
+         as the format in decoded_info.
+         https://bugzilla.gnome.org/show_bug.cgi?id=753914
+
+2016-03-24 15:08:50 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+       * gst/vaapi/gstvaapidecode.h:
+       * gst/vaapi/gstvaapipluginbase.c:
+       * gst/vaapi/gstvaapipluginbase.h:
+       * gst/vaapi/gstvaapipostproc.c:
+         Make vaapidecode to advertise the cropped values in srcpad, but negotiate pool only if needed
+         -- Maintaing decoded surface resoluton and actual display resoultion separately
+         -- Before pushing every frames downstream, check for the requirement of pool negoation and
+         output_state negotiation: This is needed to avoid multiple issuses with cropping,
+         multi-resoluton video handling, more complex multi resolution decode scenarios for vp9decode,
+         possible wrong behaviour from upstream element to report uncropped values etc. Due to these reasons,
+         We can't just reliably use the resolution change notification from libgstvaapi for pool renegotiation too.
+         This is slight overhead, but safe enough. Optimization could be possible though.
+         https://bugzilla.gnome.org/show_bug.cgi?id=753914
+
+2016-03-24 15:08:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst/vaapi/gstvaapidecode.c:
+         vaapidecode: Delay the output format setting until we have a decoded surface
+         This will help to consoidate the out caps negotiation to a single place,
+         which will make the code simpler, allows to get the exact decoded format
+         if needed and the selected chroma type too.
+         https://bugzilla.gnome.org/show_bug.cgi?id=753914
+
+2016-03-24 13:36:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
+
+       * gst/vaapi/gstvaapidecode.h:
+         vaapidecode: GST_VAAPIDECODE macro is a cast
+         This patch is the continuation of commit 1e1d3b1d because the function
+         gst_vaapidecode_get_type() got undefined since then.
+         Now, the macro GST_VAAPIDECODE is a simple cast to the GstVaapiDecode
+         structure. The rest of the GObject handling macros were deleted too.
+
+2016-03-24 13:34:18 +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:11:05 +0200  Sebastian Dröge <sebastian@centricular.com>
 
+       * ChangeLog:
+       * NEWS:
        * configure.ac:
-         releasing 1.8.0
+       * gstreamer-vaapi.doap:
+         Release 1.8.0
 
 === release 1.7.91 ===
 
diff --git a/NEWS b/NEWS
index ee7f213..4c3baab 100644 (file)
--- 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/common b/common
index f363b32..ac2f647 160000 (submodule)
--- a/common
+++ b/common
@@ -1 +1 @@
-Subproject commit f363b3205658a38e84fa77f19dee218cd4445275
+Subproject commit ac2f647695e7bd4b433ea108ee1d0e23901797d4
index 7b1d632..3513ad1 100644 (file)
@@ -1,8 +1,8 @@
 # gstreamer-vaapi package version number
 m4_define([gst_vaapi_major_version], [1])
 m4_define([gst_vaapi_minor_version], [9])
-m4_define([gst_vaapi_micro_version], [0])
-m4_define([gst_vaapi_nano_version],  [1])
+m4_define([gst_vaapi_micro_version], [1])
+m4_define([gst_vaapi_nano_version],  [0])
 m4_define([gst_vaapi_version],
           [gst_vaapi_major_version.gst_vaapi_minor_version.gst_vaapi_micro_version])
 m4_if(gst_vaapi_nano_version, [0], [],
@@ -16,17 +16,17 @@ dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
 dnl - interfaces added -> increment AGE
 dnl - interfaces removed -> AGE = 0
 # gstreamer-vaapi library (libtool) version number
-m4_define([gst_vaapi_lt_current],       [900])
+m4_define([gst_vaapi_lt_current],       [901])
 m4_define([gst_vaapi_lt_revision],      [0])
-m4_define([gst_vaapi_lt_age],           [900])
+m4_define([gst_vaapi_lt_age],           [901])
 
 # glib version number
 m4_define([glib_version], [2.32])
 
 # gstreamer version number
-m4_define([gst_version],                [1.9.0.1])
-m4_define([gst_plugins_base_version],   [1.9.0.1])
-m4_define([gst_plugins_bad_version],    [1.9.0.1])
+m4_define([gst_version],                [1.9.1])
+m4_define([gst_plugins_base_version],   [1.9.1])
+m4_define([gst_plugins_bad_version],    [1.9.1])
 
 # Wayland minimum version number
 m4_define([wayland_api_version], [1.0.2])
index 2b928a3..6f91557 100644 (file)
 
  <release>
   <Version>
+   <revision>1.9.1</revision>
+   <branch>master</branch>
+   <created>2016-06-06</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.9.1.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.8.0</revision>
    <branch>master</branch>
    <created>2016-03-24</created>