Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gstreamer-plugins-base for 
openSUSE:Factory checked in at 2021-01-20 18:23:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-base (Old)
 and      /work/SRC/openSUSE:Factory/.gstreamer-plugins-base.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gstreamer-plugins-base"

Wed Jan 20 18:23:42 2021 rev:75 rq:864313 version:1.18.3

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/gstreamer-plugins-base/gstreamer-plugins-base.changes
    2020-12-12 20:27:34.937553285 +0100
+++ 
/work/SRC/openSUSE:Factory/.gstreamer-plugins-base.new.28504/gstreamer-plugins-base.changes
 2021-01-20 18:24:19.307348540 +0100
@@ -1,0 +2,20 @@
+Sat Jan 16 19:08:07 UTC 2021 - Bj??rn Lie <[email protected]>
+
+- Update to version 1.18.3:
+  + audiorate: Make buffer writable before changing its metadata
+  + compositor: fix blending of subsampled components
+  + decodebin3:
+    - When reconfiguring a slot make sure that the ghostpad is
+      unlinked
+    - Release selection lock when pushing EOS
+  + encodebasebin: Ensure that parsers are compatible with selected
+    encoders
+  + tagdemux: resize and trim buffer in place to fix interaction
+    with oggdemux
+  + videoaggregator: Pop out old buffers on timeout
+  + video-blend: fix blending 8-bit and 16-bit frames together
+  + appsrc: fix signal documentation
+  + gl: document some GL caps specifics
+  + libvisual: workaround clang compiler warning
+
+-------------------------------------------------------------------

Old:
----
  gst-plugins-base-1.18.2.tar.xz

New:
----
  gst-plugins-base-1.18.3.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gstreamer-plugins-base.spec ++++++
--- /var/tmp/diff_new_pack.KYr0fX/_old  2021-01-20 18:24:20.399349347 +0100
+++ /var/tmp/diff_new_pack.KYr0fX/_new  2021-01-20 18:24:20.399349347 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package gstreamer-plugins-base
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
 %define gst_branch 1.0
 %define gstreamer_req_version %(echo %{version} | sed -e "s/+.*//")
 Name:           gstreamer-plugins-base
-Version:        1.18.2
+Version:        1.18.3
 Release:        0
 Summary:        GStreamer Streaming-Media Framework Plug-Ins
 License:        LGPL-2.1-or-later AND GPL-2.0-or-later

++++++ _service ++++++
--- /var/tmp/diff_new_pack.KYr0fX/_old  2021-01-20 18:24:20.423349365 +0100
+++ /var/tmp/diff_new_pack.KYr0fX/_new  2021-01-20 18:24:20.427349368 +0100
@@ -9,7 +9,7 @@
 <!--
     <param name="changesgenerate">enable</param>
 -->
-    <param name="revision">1.18.2</param>
+    <param name="revision">1.18.3</param>
     <param name="scm">git</param>
   </service>
   <service name="recompress" mode="disabled">

++++++ gst-plugins-base-1.18.2.tar.xz -> gst-plugins-base-1.18.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-plugins-base-1.18.2/ChangeLog 
new/gst-plugins-base-1.18.3/ChangeLog
--- old/gst-plugins-base-1.18.2/ChangeLog       2020-12-06 14:22:09.000000000 
+0100
+++ new/gst-plugins-base-1.18.3/ChangeLog       2021-01-13 22:07:13.000000000 
+0100
@@ -1,3 +1,138 @@
+=== release 1.18.3 ===
+
+2021-01-13 21:07:11 +0000  Tim-Philipp M??ller <[email protected]>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gst-plugins-base.doap:
+       * meson.build:
+         Release 1.18.3
+
+2020-12-07 11:23:49 -0300  Thibault Saunier <[email protected]>
+
+       * gst/encoding/gstencodebin.c:
+         encodebin: Ensure that parsers are compatible with selected encoders
+         See 
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/845
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1007>
+
+2020-12-24 11:44:27 +0200  Sebastian Dr??ge <[email protected]>
+
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: When reconfiguring a slot make sure that the ghostpad is 
unlinked
+         This was only taken care of previously if there was a decoder before.
+         However if previously a decoder was not needed then the ghostpad
+         would've been linked directly to the slot's srcpad.
+         Reconfiguring the slot requires this to be undone so that linking can
+         happen normally.
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/987>
+
+2020-07-14 20:44:18 +0200  Jakub Adam <[email protected]>
+
+       * gst-libs/gst/video/video-blend.c:
+         video-blend: fix blending 8-bit and 16-bit frames together
+         Replace hardcoded 255s with the correct max value for the given color
+         depth. Use 64-bit integer in calculations where overflow may occur.
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1006>
+
+2021-01-05 20:18:24 +1100  Matthew Waters <[email protected]>
+
+       * gst-libs/gst/gl/gstgl_enums.h:
+       * gst-libs/gst/gl/gstglmemory.c:
+       * gst-libs/gst/gl/gstglutils.c:
+         gl: document some GL caps specifics
+         Fixes: 
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/854
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/998>
+
+2021-01-04 13:40:20 +0000  Tim-Philipp M??ller <[email protected]>
+
+       * gst-libs/gst/tag/gsttagdemux.c:
+         tagdemux: resize and trim buffer in place to fix interaction with 
oggdemux
+         Elements operating in pull mode may optionally pass a buffer to
+         pull_range that should be filled with the data. The only element
+         that does that at the moment is oggdemux operating in pull mode.
+         tagdemux currently creates a sub-buffer whenever a buffer pulled
+         from upstream (filesrc, usually) needs to be trimmed. This creates
+         a new buffer, however, so disregards any passed-in buffer from a
+         downstream oggdemux.
+         This would cause assertion failures and playback problems for
+         ogg files that contain ID3 tags at the end.
+         Fixes 
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/848
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/995>
+
+2020-12-29 20:24:51 +0100  Mathieu Duponchelle <[email protected]>
+
+       * gst/compositor/blend.c:
+         compositor/blend: fix blending of subsampled components
+         The correct way to determine the byte offset at a certain yoffset
+         in a subsampled component is to shift the yoffset by the component's
+         hsub
+         This fixes out-of-bounds memory accesses and visible artefacts,
+         example pipeline with the samples from #802:
+         gst-launch-1.0 compositor name=vmixer sink_1::xpos=1910 
sink_1::ypos=1080 ! \
+         videoconvert ! videorate ! xvimagesink \
+         filesrc location=VID_20200723_203606.mp4 ! decodebin name=demux1 ! \
+         queue ! videoflip method=vertical-flip ! vmixer. \
+         filesrc location=bridgeoverstubbledwater.mp4 ! decodebin name=demux2 
! \
+         queue ! vmixer.
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/989>
+
+2020-12-31 17:25:40 +0100  Mathieu Duponchelle <[email protected]>
+
+       * gst-libs/gst/app/gstappsrc.c:
+         appsrc: fix signal documentation
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/993>
+
+2020-12-30 14:56:54 +0100  Edward Hervey <[email protected]>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Pop out old buffers on timeout
+         This situation happens in the situation where an input stream has a 
framerate
+         exceeding the timeout latency (Ex: 1fps with a latency of 500ms) and 
an input
+         stream greater than output framerate (ex: 60fps in, 30 fps out).
+         The problem that would happen is that we would timeout, but then 
buffers from
+         the fast input stream would only be popped out one by one.... until a 
buffer
+         reaches the low-framerate input stream at which point they would 
quickly be
+         popped out/used. The resulting output would be "slow ... fast ... 
slow ... fast"
+         of that input fast stream.
+         In order to avoid this situation, whenever we detect a late buffer, 
check if
+         there's a next one and re-check with that one.
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/991>
+
+2020-12-15 15:07:31 +0200  Sebastian Dr??ge <[email protected]>
+
+       * gst/audiorate/gstaudiorate.c:
+         audiorate: Make buffer writable before changing its metadata
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/978>
+
+2020-12-10 19:06:00 +0200  Jordan Petridis <[email protected]>
+
+       * ext/libvisual/plugin.c:
+         libvisual: workaround clang warning
+         libvisual api expects a priv data pointer to be passed, though we 
know its
+         going to be `GstDebugLevel`.
+         ```
+         ../subprojects/gst-plugins-base/ext/libvisual/plugin.c:33:39: error: 
cast to smaller integer type 'GstDebugLevel' from 'void *' 
[-Werror,-Wvoid-pointer-to-enum-cast]
+         GST_CAT_LEVEL_LOG (libvisual_debug, (GstDebugLevel) (priv), NULL, "%s 
- %s",
+         ```
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/976>
+
+2020-12-11 10:13:59 +0100  Edward Hervey <[email protected]>
+
+       * gst/playback/gstdecodebin3-parse.c:
+         decodebin3: Release selection lock when pushing EOS
+         We can't keep the lock otherwise this would lock other actions. In 
order to keep
+         it safe, we grab a list of peer pads to send EOS to with the lock 
taken, then
+         send to the peer pads with the lock released.
+         Also make sure the selection lock is taken for another call to this 
function
+         Fixes 
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/847
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/973>
+
+2020-12-06 23:56:42 +0000  Tim-Philipp M??ller <[email protected]>
+
+       * meson.build:
+         Back to development
+
 === release 1.18.2 ===
 
 2020-12-06 13:22:08 +0000  Tim-Philipp M??ller <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-plugins-base-1.18.2/NEWS 
new/gst-plugins-base-1.18.3/NEWS
--- old/gst-plugins-base-1.18.2/NEWS    2020-12-06 14:22:09.000000000 +0100
+++ new/gst-plugins-base-1.18.3/NEWS    2021-01-13 22:07:13.000000000 +0100
@@ -2,13 +2,13 @@
 
 GStreamer 1.18.0 was originally released on 8 September 2020.
 
-The latest bug-fix release in the 1.18 series is 1.18.2 and was released
-on 6 December 2020.
+The latest bug-fix release in the 1.18 series is 1.18.3 and was released
+on 13 January 2021.
 
 See https://gstreamer.freedesktop.org/releases/1.18/ for the latest
 version of this document.
 
-Last updated: Monday 26 October 2020, 11:00 UTC (log)
+Last updated: Wednesday 13 January 2021, 20:00 UTC (log)
 
 Introduction
 
@@ -2576,6 +2576,147 @@
 -   List of Merge Requests applied in 1.18.2
 -   List of Issues fixed in 1.18.2
 
+1.18.3
+
+The third 1.18 bug-fix release (1.18.3) was released on 13 January 2021.
+
+This release only contains bugfixes and it should be safe to update from
+1.18.x.
+
+Highlighted bugfixes in 1.18.3
+
+-   fix ogg playback regression for ogg files that also have ID3 or APE
+    tags
+-   compositor: fix artefacts and invalid memory access when blending
+    subsampled formats
+-   exported mini object ref/unref/copy functions for use in bindings
+    such as gstreamer-sharp
+-   Add support for Apple silicon (M1) to cerbero package builder
+-   Ship RIST plugin in binary packages
+-   various stability, performance and reliability improvements
+-   memory leak fixes
+-   build fixes
+
+gstreamer
+
+-   gst: Add non-inline ref/unref/copy/replace methods for various mini
+    objects (buffer, bufferlist, caps, context, event, memory, message,
+    promise, query, sample, taglist, uri) for use in bindings such as
+    gstreamer-sharp
+-   harness: don???t use GST_DEBUG_OBJECT with GstHarness which is not a
+    GObject
+
+gst-plugins-base
+
+-   audiorate: Make buffer writable before changing its metadata
+-   compositor: fix blending of subsampled components
+-   decodebin3: When reconfiguring a slot make sure that the ghostpad is
+    unlinked
+-   decodebin3: Release selection lock when pushing EOS
+-   encodebasebin: Ensure that parsers are compatible with selected
+    encoders
+-   tagdemux: resize and trim buffer in place to fix interaction with
+    oggdemux
+-   videoaggregator: Pop out old buffers on timeout
+-   video-blend: fix blending 8-bit and 16-bit frames together
+-   appsrc: fix signal documentation
+-   gl: document some GL caps specifics
+-   libvisual: workaround clang compiler warning
+
+gst-plugins-good
+
+-   deinterlace: fix build of assembly optimisations on macOS
+-   splitmuxsink: Avoid deadlock when releasing a pad from a running
+    muxer
+-   splitmuxsink: fix bogus fragment split
+-   v4l2object: Map correct video format for RGBA
+-   videoflip: fix possible crash when changing video-direction/method
+    while running
+
+gst-plugins-bad
+
+-   assrender: fix mutex handling in certain flushing/error situations
+-   dvbsuboverlay: Add support for dynamic resolution update
+-   dashsink: fix critical log of dynamic pipeline
+-   d3d11shader: Fix ID3DBlob object leak
+-   d3d11videosink: Prepare window once streaming started
+-   decklinkaudiosrc: Fix duration of the first audio frame after each
+    discont
+-   intervideosrc: fix negotiation of interlaced caps
+-   msdk: needn???t close mfx session when failed, fixes double free /
+    potential crash
+-   msdk: check GstMsdkContext instead of mfxSession instance
+-   srt: fix locking when retrieving stats
+-   rtmp2src: fix leaks when connection is cancelled during startup or
+    connection fails
+
+gst-plugins-ugly
+
+-   no changes
+
+gst-libav
+
+-   avauddec: Drain decoder on decoding failure, fixes timestamps after
+    decoding errors
+
+gst-rtsp-server
+
+-   rtsp-media: Only count senders when counting blocked streams
+-   rtsp-client: Only unref client watch context on finalize, to avoid
+    deadlock
+
+gstreamer-vaapi
+
+-   no changes
+
+gstreamer-sharp
+
+-   no changes
+
+gst-omx
+
+-   no changes
+
+gst-python
+
+-   no changes
+
+gst-editing-services
+
+-   launch: Ensure to add required ref to profiles from project
+-   tests: fix meson test env setup to make sure we use the right
+    gst-plugin-scanner
+
+gst-integration-testsuites
+
+-   no changes
+
+gst-build
+
+-   meson: Update zlib.wrap to use wrapdb instead of github fork
+
+Cerbero build tool and packaging changes in 1.18.3
+
+-   Add support for Apple silicon
+-   Build and ship RIST plugin
+
+Contributors to 1.18.3
+
+Andoni Morales Alastruey, Edward Hervey, Haihao Xiang, Haihua Hu, Hou
+Qi, Ignacio Casal Quinteiro, Jakub Adam, Jan Alexander Steffens
+(heftig), Jan Schmidt, Jordan Petridis, Lawrence Troup, Lim Siew Hoon,
+Mathieu Duponchelle, Matthew Waters, Nicolas Dufresne, Raju Babannavar,
+Sebastian Dr??ge, Seungha Yang, Thibault Saunier, Tim-Philipp M??ller,
+Tobias Ronge, Vivia Nikolaidou,
+
+??? and many others who have contributed bug reports, translations, sent
+suggestions or helped testing. Thank you all!
+
+List of merge requests and issues fixed in 1.18.3
+
+-   List of Merge Requests applied in 1.18.3
+-   List of Issues fixed in 1.18.3
+
 Schedule for 1.20
 
 Our next major feature release will be 1.20, and 1.19 will be the
@@ -2583,8 +2724,9 @@
 development of 1.19/1.20 will happen in the git master branch.
 
 The plan for the 1.20 development cycle is yet to be confirmed, but it
-is now expected that feature freeze will take place some time in January
-2021, with the first 1.20 stable release around February/March 2021.
+is now expected that feature freeze will take place some time in
+January/February 2021, with the first 1.20 stable release hopefully
+around February/March 2021.
 
 1.20 will be backwards-compatible to the stable 1.18, 1.16, 1.14, 1.12,
 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-plugins-base-1.18.2/RELEASE 
new/gst-plugins-base-1.18.3/RELEASE
--- old/gst-plugins-base-1.18.2/RELEASE 2020-12-06 14:22:09.000000000 +0100
+++ new/gst-plugins-base-1.18.3/RELEASE 2021-01-13 22:07:13.000000000 +0100
@@ -1,4 +1,4 @@
-This is GStreamer gst-plugins-base 1.18.2.
+This is GStreamer gst-plugins-base 1.18.3.
 
 The GStreamer team is thrilled to announce a new major feature release
 of your favourite cross-platform multimedia framework!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-plugins-base-1.18.2/ext/libvisual/plugin.c 
new/gst-plugins-base-1.18.3/ext/libvisual/plugin.c
--- old/gst-plugins-base-1.18.2/ext/libvisual/plugin.c  2020-12-06 
14:22:09.000000000 +0100
+++ new/gst-plugins-base-1.18.3/ext/libvisual/plugin.c  2021-01-13 
22:07:13.000000000 +0100
@@ -30,8 +30,8 @@
 static void
 libvisual_log_handler (const char *message, const char *funcname, void *priv)
 {
-  GST_CAT_LEVEL_LOG (libvisual_debug, (GstDebugLevel) (priv), NULL, "%s - %s",
-      funcname, message);
+  GST_CAT_LEVEL_LOG (libvisual_debug, (GstDebugLevel) GPOINTER_TO_INT (priv),
+      NULL, "%s - %s", funcname, message);
 }
 
 /*
@@ -86,13 +86,14 @@
 #endif
 
   visual_log_set_verboseness (VISUAL_LOG_VERBOSENESS_LOW);
-  visual_log_set_info_handler (libvisual_log_handler, (void *) GST_LEVEL_INFO);
+  visual_log_set_info_handler (libvisual_log_handler,
+      GINT_TO_POINTER (GST_LEVEL_INFO));
   visual_log_set_warning_handler (libvisual_log_handler,
-      (void *) GST_LEVEL_WARNING);
+      GINT_TO_POINTER (GST_LEVEL_WARNING));
   visual_log_set_critical_handler (libvisual_log_handler,
-      (void *) GST_LEVEL_ERROR);
+      GINT_TO_POINTER (GST_LEVEL_ERROR));
   visual_log_set_error_handler (libvisual_log_handler,
-      (void *) GST_LEVEL_ERROR);
+      GINT_TO_POINTER (GST_LEVEL_ERROR));
 
   if (!visual_is_initialized ())
     if (visual_init (NULL, NULL) != 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-plugins-base-1.18.2/gst/audiorate/gstaudiorate.c 
new/gst-plugins-base-1.18.3/gst/audiorate/gstaudiorate.c
--- old/gst-plugins-base-1.18.2/gst/audiorate/gstaudiorate.c    2020-12-06 
14:22:09.000000000 +0100
+++ new/gst-plugins-base-1.18.3/gst/audiorate/gstaudiorate.c    2021-01-13 
22:07:13.000000000 +0100
@@ -647,6 +647,8 @@
   if (gst_buffer_get_size (buf) == 0)
     goto beach;
 
+  buf = gst_buffer_make_writable (buf);
+
   /* Now calculate parameters for whichever buffer (either the original
    * or truncated one) we're pushing. */
   GST_BUFFER_OFFSET (buf) = audiorate->next_offset;
@@ -660,14 +662,12 @@
   if (audiorate->discont) {
     /* we need to output a discont buffer, do so now */
     GST_DEBUG_OBJECT (audiorate, "marking DISCONT on output buffer");
-    buf = gst_buffer_make_writable (buf);
     GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_DISCONT);
     audiorate->discont = FALSE;
   } else if (GST_BUFFER_IS_DISCONT (buf)) {
     /* else we make everything continuous so we can safely remove the DISCONT
      * flag from the buffer if there was one */
     GST_DEBUG_OBJECT (audiorate, "removing DISCONT from buffer");
-    buf = gst_buffer_make_writable (buf);
     GST_BUFFER_FLAG_UNSET (buf, GST_BUFFER_FLAG_DISCONT);
   }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-plugins-base-1.18.2/gst/compositor/blend.c 
new/gst-plugins-base-1.18.3/gst/compositor/blend.c
--- old/gst-plugins-base-1.18.2/gst/compositor/blend.c  2020-12-06 
14:22:09.000000000 +0100
+++ new/gst-plugins-base-1.18.3/gst/compositor/blend.c  2021-01-13 
22:07:13.000000000 +0100
@@ -374,7 +374,7 @@
   comp_xpos = (xpos == 0) ? 0 : GST_VIDEO_FORMAT_INFO_SCALE_WIDTH (info, 1, 
xpos); \
   comp_ypos = (ypos == 0) ? 0 : GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT (info, 1, 
ypos); \
   comp_xoffset = (xoffset == 0) ? 0 : GST_VIDEO_FORMAT_INFO_SCALE_WIDTH (info, 
1, xoffset); \
-  comp_yoffset = (yoffset == 0) ? 0 : GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT 
(info, 1, yoffset); \
+  comp_yoffset = (yoffset == 0) ? 0 : yoffset >> info->h_sub[1]; \
   _blend_##format_name (b_src + comp_xoffset + comp_yoffset * 
src_comp_rowstride, \
       b_dest + comp_xpos + comp_ypos * dest_comp_rowstride, \
       src_comp_rowstride, \
@@ -390,7 +390,7 @@
   comp_xpos = (xpos == 0) ? 0 : GST_VIDEO_FORMAT_INFO_SCALE_WIDTH (info, 2, 
xpos); \
   comp_ypos = (ypos == 0) ? 0 : GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT (info, 2, 
ypos); \
   comp_xoffset = (xoffset == 0) ? 0 : GST_VIDEO_FORMAT_INFO_SCALE_WIDTH (info, 
2, xoffset); \
-  comp_yoffset = (yoffset == 0) ? 0 : GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT 
(info, 2, yoffset); \
+  comp_yoffset = (yoffset == 0) ? 0 : yoffset >> info->h_sub[2]; \
   _blend_##format_name (b_src + comp_xoffset + comp_yoffset * 
src_comp_rowstride, \
       b_dest + comp_xpos + comp_ypos * dest_comp_rowstride, \
       src_comp_rowstride, \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-plugins-base-1.18.2/gst/encoding/gstencodebin.c 
new/gst-plugins-base-1.18.3/gst/encoding/gstencodebin.c
--- old/gst-plugins-base-1.18.2/gst/encoding/gstencodebin.c     2020-12-06 
14:22:09.000000000 +0100
+++ new/gst-plugins-base-1.18.3/gst/encoding/gstencodebin.c     2021-01-13 
22:07:13.000000000 +0100
@@ -876,14 +876,25 @@
 
 /* Create a parser for the given stream profile */
 static inline GstElement *
-_get_parser (GstEncodeBin * ebin, GstEncodingProfile * sprof)
+_get_parser (GstEncodeBin * ebin, GstEncodingProfile * sprof,
+    GstElement * encoder)
 {
   GList *parsers1, *parsers, *tmp;
   GstElement *parser = NULL;
   GstElementFactory *parserfact = NULL;
-  GstCaps *format;
+  GstCaps *format = NULL;
 
-  format = gst_encoding_profile_get_format (sprof);
+  if (encoder) {
+    GstPadTemplate *template = gst_element_get_pad_template (encoder, "src");
+
+    if (template)
+      format = gst_pad_template_get_caps (template);
+  }
+
+  if (!format || gst_caps_is_any (format)) {
+    gst_clear_caps (&format);
+    format = gst_encoding_profile_get_format (sprof);
+  }
 
   GST_DEBUG ("Getting list of parsers for format %" GST_PTR_FORMAT, format);
 
@@ -1266,7 +1277,7 @@
     goto err;
   }
 
-  parser = _get_parser (ebin, sprof);
+  parser = _get_parser (ebin, sprof, encoder);
   sgroup->smart_capsfilter = gst_element_factory_make ("capsfilter", NULL);
   reencoder_bin = gst_bin_new (NULL);
   g_object_set (sgroup->smart_capsfilter, "caps", format, NULL);
@@ -1450,9 +1461,8 @@
     goto outfilter_link_failure;
   last = sgroup->outfilter;
 
-
-  sgroup->parser = _get_parser (ebin, sprof);
-
+  sgroup->encoder = _get_encoder (ebin, sprof);
+  sgroup->parser = _get_parser (ebin, sgroup->profile, sgroup->encoder);
   if (sgroup->parser != NULL) {
     GST_DEBUG ("Got a parser %s", GST_ELEMENT_NAME (sgroup->parser));
     gst_bin_add (GST_BIN (ebin), sgroup->parser);
@@ -1561,8 +1571,7 @@
 
   /* 1. Create the encoder */
   GST_LOG ("Adding encoder");
-  sgroup->encoder = _get_encoder (ebin, sprof);
-  if (sgroup->encoder != NULL) {
+  if (sgroup->encoder) {
     gst_bin_add ((GstBin *) ebin, sgroup->encoder);
     tosync = g_list_append (tosync, sgroup->encoder);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-plugins-base-1.18.2/gst/playback/gstdecodebin3-parse.c 
new/gst-plugins-base-1.18.3/gst/playback/gstdecodebin3-parse.c
--- old/gst-plugins-base-1.18.2/gst/playback/gstdecodebin3-parse.c      
2020-12-06 14:22:09.000000000 +0100
+++ new/gst-plugins-base-1.18.3/gst/playback/gstdecodebin3-parse.c      
2021-01-13 22:07:13.000000000 +0100
@@ -120,22 +120,37 @@
 check_all_streams_for_eos (GstDecodebin3 * dbin)
 {
   GList *tmp;
+  GList *outputpads = NULL;
 
   if (!all_inputs_are_eos (dbin))
     return;
 
   /* We know all streams are EOS, properly clean up everything */
+
+  /* We grab all peer pads *while* the selection lock is taken and then we will
+     push EOS downstream with the selection lock released */
   for (tmp = dbin->input_streams; tmp; tmp = tmp->next) {
     DecodebinInputStream *input = (DecodebinInputStream *) tmp->data;
     GstPad *peer = gst_pad_get_peer (input->srcpad);
 
+    /* Keep a reference to the peer pad */
+    if (peer)
+      outputpads = g_list_append (outputpads, peer);
+  }
+
+  SELECTION_UNLOCK (dbin);
+  /*  */
+  for (tmp = outputpads; tmp; tmp = tmp->next) {
+    GstPad *peer = (GstPad *) tmp->data;
+
     /* Send EOS and then remove elements */
-    if (peer) {
-      gst_pad_send_event (peer, gst_event_new_eos ());
-      gst_object_unref (peer);
-    }
-    GST_FIXME_OBJECT (input->srcpad, "Remove input stream");
+    gst_pad_send_event (peer, gst_event_new_eos ());
+    GST_FIXME_OBJECT (peer, "Remove input stream");
+    gst_object_unref (peer);
   }
+  SELECTION_LOCK (dbin);
+
+  g_list_free (outputpads);
 }
 
 /* Get the intersection of parser caps and available (sorted) decoders */
@@ -533,7 +548,9 @@
       gst_pad_remove_probe (ppad->pad, ppad->event_probe);
       g_free (ppad);
 
+      SELECTION_LOCK (dbin);
       check_all_streams_for_eos (dbin);
+      SELECTION_UNLOCK (dbin);
     }
       break;
     default:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-plugins-base-1.18.2/gst/playback/gstdecodebin3.c 
new/gst-plugins-base-1.18.3/gst/playback/gstdecodebin3.c
--- old/gst-plugins-base-1.18.2/gst/playback/gstdecodebin3.c    2020-12-06 
14:22:09.000000000 +0100
+++ new/gst-plugins-base-1.18.3/gst/playback/gstdecodebin3.c    2021-01-13 
22:07:13.000000000 +0100
@@ -2209,6 +2209,15 @@
 
     gst_bin_remove ((GstBin *) dbin, output->decoder);
     output->decoder = NULL;
+  } else if (output->linked) {
+    /* Otherwise if we have no decoder yet but the output is linked make
+     * sure that the ghost pad is really unlinked in case no decoder was
+     * needed previously */
+    if (!gst_ghost_pad_set_target ((GstGhostPad *) output->src_pad, NULL)) {
+      GST_ERROR_OBJECT (dbin, "Could not release ghost pad");
+      gst_caps_unref (new_caps);
+      goto cleanup;
+    }
   }
 
   gst_caps_unref (new_caps);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-plugins-base-1.18.2/gst-libs/gst/app/gstappsrc.c 
new/gst-plugins-base-1.18.3/gst-libs/gst/app/gstappsrc.c
--- old/gst-plugins-base-1.18.2/gst-libs/gst/app/gstappsrc.c    2020-12-06 
14:22:09.000000000 +0100
+++ new/gst-plugins-base-1.18.3/gst-libs/gst/app/gstappsrc.c    2021-01-13 
22:07:13.000000000 +0100
@@ -468,7 +468,7 @@
           G_PARAM_STATIC_STRINGS));
 
   /**
-   * GstAppSrc:need-data:
+   * GstAppSrc::need-data:
    * @appsrc: the appsrc element that emitted the signal
    * @length: the amount of bytes needed.
    *
@@ -487,7 +487,7 @@
       NULL, NULL, NULL, G_TYPE_NONE, 1, G_TYPE_UINT);
 
   /**
-   * GstAppSrc:enough-data:
+   * GstAppSrc::enough-data:
    * @appsrc: the appsrc element that emitted the signal
    *
    * Signal that the source has enough data. It is recommended that the
@@ -500,7 +500,7 @@
       NULL, NULL, NULL, G_TYPE_NONE, 0, G_TYPE_NONE);
 
   /**
-   * GstAppSrc:seek-data:
+   * GstAppSrc::seek-data:
    * @appsrc: the appsrc element that emitted the signal
    * @offset: the offset to seek to
    *
@@ -516,7 +516,7 @@
       NULL, NULL, NULL, G_TYPE_BOOLEAN, 1, G_TYPE_UINT64);
 
    /**
-    * GstAppSrc:push-buffer:
+    * GstAppSrc::push-buffer:
     * @appsrc: the appsrc
     * @buffer: a buffer to push
     *
@@ -534,7 +534,7 @@
       GST_TYPE_FLOW_RETURN, 1, GST_TYPE_BUFFER);
 
    /**
-    * GstAppSrc:push-buffer-list:
+    * GstAppSrc::push-buffer-list:
     * @appsrc: the appsrc
     * @buffer_list: a buffer list to push
     *
@@ -555,7 +555,7 @@
       GST_TYPE_FLOW_RETURN, 1, GST_TYPE_BUFFER_LIST);
 
   /**
-    * GstAppSrc:push-sample:
+    * GstAppSrc::push-sample:
     * @appsrc: the appsrc
     * @sample: a sample from which extract buffer to push
     *
@@ -581,7 +581,7 @@
 
 
    /**
-    * GstAppSrc:end-of-stream:
+    * GstAppSrc::end-of-stream:
     * @appsrc: the appsrc
     *
     * Notify @appsrc that no more buffer are available.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-plugins-base-1.18.2/gst-libs/gst/gl/gstgl_enums.h 
new/gst-plugins-base-1.18.3/gst-libs/gst/gl/gstgl_enums.h
--- old/gst-plugins-base-1.18.2/gst-libs/gst/gl/gstgl_enums.h   2020-12-06 
14:22:09.000000000 +0100
+++ new/gst-plugins-base-1.18.3/gst-libs/gst/gl/gstgl_enums.h   2021-01-13 
22:07:13.000000000 +0100
@@ -24,9 +24,17 @@
 /**
  * GstGLTextureTarget:
  * @GST_GL_TEXTURE_TARGET_NONE: no texture target
- * @GST_GL_TEXTURE_TARGET_2D: 2D texture target
+ * @GST_GL_TEXTURE_TARGET_2D: 2D texture target (`GL_TEXTURE_2D`)
  * @GST_GL_TEXTURE_TARGET_RECTANGLE: rectangle texture target
+ *     (`GL_TEXTURE_RECTANGLE`)
  * @GST_GL_TEXTURE_TARGET_EXTERNAL_OES: external oes texture target
+ *     (`GL_TEXTURE_EXTERNAL_OES`)
+ *
+ * The OpenGL texture target that an OpenGL texture can be bound to.  The
+ * gst_gl_value_set_texture_target_from_mask(),
+ * gst_gl_value_get_texture_target_mask(), and
+ * gst_gl_value_set_texture_target() functions can be used for handling texture
+ * targets with #GValue's when e.g. dealing with #GstCaps.
  *
  * Since: 1.8
  */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-plugins-base-1.18.2/gst-libs/gst/gl/gstglmemory.c 
new/gst-plugins-base-1.18.3/gst-libs/gst/gl/gstglmemory.c
--- old/gst-plugins-base-1.18.2/gst-libs/gst/gl/gstglmemory.c   2020-12-06 
14:22:09.000000000 +0100
+++ new/gst-plugins-base-1.18.3/gst-libs/gst/gl/gstglmemory.c   2021-01-13 
22:07:13.000000000 +0100
@@ -43,6 +43,12 @@
  * with #GstGLVideoAllocationParams.
  *
  * Data is uploaded or downloaded from the GPU as is necessary.
+ *
+ * The #GstCaps that is used for #GstGLMemory based buffers should contain
+ * the %GST_CAPS_FEATURE_MEMORY_GL_MEMORY as a #GstCapsFeatures and should
+ * contain a 'texture-target' field with one of the #GstGLTextureTarget values
+ * as a string, i.e. some combination of 'texture-target=(string){2D,
+ * rectangle, external-oes}'.
  */
 
 #define USING_OPENGL(context) (gst_gl_context_check_gl_version (context, 
GST_GL_API_OPENGL, 1, 0))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-plugins-base-1.18.2/gst-libs/gst/gl/gstglutils.c 
new/gst-plugins-base-1.18.3/gst-libs/gst/gl/gstglutils.c
--- old/gst-plugins-base-1.18.2/gst-libs/gst/gl/gstglutils.c    2020-12-06 
14:22:09.000000000 +0100
+++ new/gst-plugins-base-1.18.3/gst-libs/gst/gl/gstglutils.c    2021-01-13 
22:07:13.000000000 +0100
@@ -661,7 +661,8 @@
  *
  * See gst_gl_value_set_texture_target_from_mask() for what entails a mask
  *
- * Returns: the mask of #GstGLTextureTarget's in @value
+ * Returns: the mask of #GstGLTextureTarget's in @value or
+ *     %GST_GL_TEXTURE_TARGET_NONE on failure
  */
 GstGLTextureTarget
 gst_gl_value_get_texture_target_mask (const GValue * targets)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-plugins-base-1.18.2/gst-libs/gst/tag/gsttagdemux.c 
new/gst-plugins-base-1.18.3/gst-libs/gst/tag/gsttagdemux.c
--- old/gst-plugins-base-1.18.2/gst-libs/gst/tag/gsttagdemux.c  2020-12-06 
14:22:09.000000000 +0100
+++ new/gst-plugins-base-1.18.3/gst-libs/gst/tag/gsttagdemux.c  2021-01-13 
22:07:13.000000000 +0100
@@ -377,7 +377,8 @@
   guint trim_start = 0;
   guint out_size, bsize;
   guint64 out_offset, boffset;
-  gboolean need_sub = FALSE;
+  gboolean need_fixup = FALSE;
+  gboolean is_writable;
 
   bsize = out_size = gst_buffer_get_size (buf);
   boffset = out_offset = GST_BUFFER_OFFSET (buf);
@@ -402,7 +403,7 @@
 
       if (out_offset + out_size > v1tag_offset) {
         out_size = v1tag_offset - out_offset;
-        need_sub = TRUE;
+        need_fixup = TRUE;
       }
     }
   }
@@ -421,11 +422,16 @@
     } else {
       out_offset -= tagdemux->priv->strip_start;
     }
-    need_sub = TRUE;
+    need_fixup = TRUE;
   }
 
-  if (need_sub) {
-    if (out_size != bsize || !gst_buffer_is_writable (buf)) {
+  if (!need_fixup)
+    goto done;
+
+  is_writable = gst_buffer_is_writable (buf);
+
+  if (out_size != bsize || !is_writable) {
+    if (!is_writable) {
       GstBuffer *sub;
 
       GST_DEBUG_OBJECT (tagdemux, "Sub-buffering to trim size %d offset %"
@@ -444,15 +450,23 @@
       *buf_ref = buf = sub;
       *buf_size = out_size;
     } else {
-      GST_DEBUG_OBJECT (tagdemux, "Adjusting buffer from size %d offset %"
+      GST_DEBUG_OBJECT (tagdemux, "Resizing buffer to trim size %d offset %"
           G_GINT64_FORMAT " to %d offset %" G_GINT64_FORMAT,
           bsize, boffset, out_size, out_offset);
-    }
 
-    GST_BUFFER_OFFSET (buf) = out_offset;
-    GST_BUFFER_OFFSET_END (buf) = out_offset + out_size;
+      gst_buffer_resize (buf, trim_start, out_size);
+    }
+  } else {
+    GST_DEBUG_OBJECT (tagdemux, "Adjusting buffer from size %d offset %"
+        G_GINT64_FORMAT " to %d offset %" G_GINT64_FORMAT,
+        bsize, boffset, out_size, out_offset);
   }
 
+  GST_BUFFER_OFFSET (buf) = out_offset;
+  GST_BUFFER_OFFSET_END (buf) = out_offset + out_size;
+
+done:
+
   return TRUE;
 
 no_out_buffer_end:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-plugins-base-1.18.2/gst-libs/gst/video/gstvideoaggregator.c 
new/gst-plugins-base-1.18.3/gst-libs/gst/video/gstvideoaggregator.c
--- old/gst-plugins-base-1.18.2/gst-libs/gst/video/gstvideoaggregator.c 
2020-12-06 14:22:09.000000000 +0100
+++ new/gst-plugins-base-1.18.3/gst-libs/gst/video/gstvideoaggregator.c 
2021-01-13 22:07:13.000000000 +0100
@@ -1515,7 +1515,7 @@
 static GstFlowReturn
 gst_video_aggregator_fill_queues (GstVideoAggregator * vagg,
     GstClockTime output_start_running_time,
-    GstClockTime output_end_running_time)
+    GstClockTime output_end_running_time, gboolean timeout)
 {
   GList *l;
   gboolean eos = TRUE;
@@ -1549,6 +1549,9 @@
     if (buf) {
       GstClockTime start_time, end_time;
 
+    check_again:
+      GST_TRACE_OBJECT (pad, "Next buffer %" GST_PTR_FORMAT, buf);
+
       start_time = GST_BUFFER_TIMESTAMP (buf);
       if (start_time == -1) {
         gst_buffer_unref (buf);
@@ -1589,6 +1592,13 @@
           gst_buffer_unref (buf);
           gst_aggregator_pad_drop_buffer (bpad);
           pad->priv->start_time = start_time;
+          if (timeout) {
+            /* If we're called for a timeout, we want to make sure we drain as
+             * much as possible any late data */
+            buf = gst_aggregator_pad_peek_buffer (bpad);
+            if (buf)
+              goto check_again;
+          }
           need_more_data = TRUE;
           continue;
         }
@@ -1996,7 +2006,7 @@
   } else {
     flow_ret =
         gst_video_aggregator_fill_queues (vagg, output_start_running_time,
-        output_end_running_time);
+        output_end_running_time, timeout);
   }
 
   if (flow_ret == GST_AGGREGATOR_FLOW_NEED_DATA && !timeout) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-plugins-base-1.18.2/gst-libs/gst/video/video-blend.c 
new/gst-plugins-base-1.18.3/gst-libs/gst/video/video-blend.c
--- old/gst-plugins-base-1.18.2/gst-libs/gst/video/video-blend.c        
2020-12-06 14:22:09.000000000 +0100
+++ new/gst-plugins-base-1.18.3/gst-libs/gst/video/video-blend.c        
2021-01-13 22:07:13.000000000 +0100
@@ -243,6 +243,7 @@
 
 /*
  * A OVER B alpha compositing operation, with:
+ *  max: maximum value a color can have
  *  alphaG: global alpha to apply on the source color
  *     -> only needed for premultiplied source
  *  alphaA: source pixel alpha
@@ -254,24 +255,30 @@
  */
 
 /* Source non-premultiplied, Destination non-premultiplied */
-#define OVER00(alphaG, alphaA, colorA, alphaB, colorB, alphaD) \
-  ((colorA * alphaA + colorB * alphaB * (255 - alphaA) / 255) / alphaD)
+#define OVER00_8BIT(max, alphaG, alphaA, colorA, alphaB, colorB, alphaD) \
+  ((colorA * alphaA + colorB * alphaB * (max - alphaA) / max) / alphaD)
+
+#define OVER00_16BIT(max, alphaG, alphaA, colorA, alphaB, colorB, alphaD) \
+  ((colorA * alphaA + (guint64) colorB * alphaB * (max - alphaA) / max) / 
alphaD)
 
 /* Source premultiplied, Destination non-premultiplied */
-#define OVER10(alphaG, alphaA, colorA, alphaB, colorB, alphaD) \
-  ((colorA * alphaG + colorB * alphaB * (255 - alphaA) / 255) / alphaD)
+#define OVER10_8BIT(max, alphaG, alphaA, colorA, alphaB, colorB, alphaD) \
+  ((colorA * alphaG + colorB * alphaB * (max - alphaA) / max) / alphaD)
+
+#define OVER10_16BIT(max, alphaG, alphaA, colorA, alphaB, colorB, alphaD) \
+  ((colorA * alphaG + (guint64) colorB * alphaB * (max - alphaA) / max) / 
alphaD)
 
 /* Source non-premultiplied, Destination premultiplied */
-#define OVER01(alphaG, alphaA, colorA, alphaB, colorB, alphaD) \
-  ((colorA * alphaA + colorB * (255 - alphaA)) / 255)
+#define OVER01(max, alphaG, alphaA, colorA, alphaB, colorB, alphaD) \
+  ((colorA * alphaA + colorB * (max - alphaA)) / max)
 
 /* Source premultiplied, Destination premultiplied */
-#define OVER11(alphaG, alphaA, colorA, alphaB, colorB, alphaD) \
-  ((colorA * alphaG + colorB * (255 - alphaA)) / 255)
+#define OVER11(max, alphaG, alphaA, colorA, alphaB, colorB, alphaD) \
+  ((colorA * alphaG + colorB * (max - alphaA)) / max)
 
 #define BLENDC(op, max, global_alpha, aa, ca, ab, cb, dest_alpha) \
 G_STMT_START { \
-  int c = op((global_alpha), (aa), (ca), (ab), (cb), (dest_alpha)); \
+  int c = op((max), (global_alpha), (aa), (ca), (ab), (cb), (dest_alpha)); \
   cb = MIN(c, (max)); \
 } G_STMT_END
 
@@ -302,8 +309,6 @@
   g_assert (dest != NULL);
   g_assert (src != NULL);
 
-  global_alpha_val = 255.0 * global_alpha;
-
   dest_premultiplied_alpha =
       GST_VIDEO_INFO_FLAGS (&dest->info) & GST_VIDEO_FLAG_PREMULTIPLIED_ALPHA;
   src_premultiplied_alpha =
@@ -347,6 +352,8 @@
   /* Source is always 8 bit but destination might be 8 or 16 bit */
   bpp = 4 * (GST_VIDEO_FORMAT_INFO_BITS (dunpackinfo) / 8);
 
+  global_alpha_val = (bpp == 4) ? 255.0 * global_alpha : 65535.0 * 
global_alpha;
+
   matrix = matrix_identity;
   if (GST_VIDEO_INFO_IS_RGB (&src->info) != GST_VIDEO_INFO_IS_RGB 
(&dest->info)) {
     if (GST_VIDEO_INFO_IS_RGB (&src->info)) {
@@ -408,7 +415,7 @@
       guint final_alpha;                                                       
               \
       dest_type * dest = (dest_type *) tmpdestline;                            
               \
                                                                                
               \
-      asrc = ((guint) tmpsrcline[j]) * alpha_val / 255;                        
               \
+      asrc = ((guint) tmpsrcline[j]) * alpha_val / max;                        
               \
       asrc = asrc << shift;                                                    
               \
       if (asrc == 0)                                                           
               \
         continue;                                                              
               \
@@ -432,9 +439,9 @@
         } else if (!src_premultiplied_alpha && dest_premultiplied_alpha) {
           BLENDLOOP (OVER01, guint8, 255, 0, 255);
         } else if (src_premultiplied_alpha && !dest_premultiplied_alpha) {
-          BLENDLOOP (OVER10, guint8, 255, 0, 255);
+          BLENDLOOP (OVER10_8BIT, guint8, 255, 0, 255);
         } else {
-          BLENDLOOP (OVER00, guint8, 255, 0, 255);
+          BLENDLOOP (OVER00_8BIT, guint8, 255, 0, 255);
         }
       } else {
         if (src_premultiplied_alpha && dest_premultiplied_alpha) {
@@ -442,23 +449,23 @@
         } else if (!src_premultiplied_alpha && dest_premultiplied_alpha) {
           BLENDLOOP (OVER01, guint8, 255, 0, global_alpha_val);
         } else if (src_premultiplied_alpha && !dest_premultiplied_alpha) {
-          BLENDLOOP (OVER10, guint8, 255, 0, global_alpha_val);
+          BLENDLOOP (OVER10_8BIT, guint8, 255, 0, global_alpha_val);
         } else {
-          BLENDLOOP (OVER00, guint8, 255, 0, global_alpha_val);
+          BLENDLOOP (OVER00_8BIT, guint8, 255, 0, global_alpha_val);
         }
       }
     } else {
       g_assert (bpp == 8);
 
-      if (G_LIKELY (global_alpha_val == 255)) {
+      if (G_LIKELY (global_alpha_val == 65535)) {
         if (src_premultiplied_alpha && dest_premultiplied_alpha) {
-          BLENDLOOP (OVER11, guint16, 65535, 8, 255);
+          BLENDLOOP (OVER11, guint16, 65535, 8, 65535);
         } else if (!src_premultiplied_alpha && dest_premultiplied_alpha) {
-          BLENDLOOP (OVER01, guint16, 65535, 8, 255);
+          BLENDLOOP (OVER01, guint16, 65535, 8, 65535);
         } else if (src_premultiplied_alpha && !dest_premultiplied_alpha) {
-          BLENDLOOP (OVER10, guint16, 65535, 8, 255);
+          BLENDLOOP (OVER10_16BIT, guint16, 65535, 8, 65535);
         } else {
-          BLENDLOOP (OVER00, guint16, 65535, 8, 255);
+          BLENDLOOP (OVER00_16BIT, guint16, 65535, 8, 65535);
         }
       } else {
         if (src_premultiplied_alpha && dest_premultiplied_alpha) {
@@ -466,9 +473,9 @@
         } else if (!src_premultiplied_alpha && dest_premultiplied_alpha) {
           BLENDLOOP (OVER01, guint16, 65535, 8, global_alpha_val);
         } else if (src_premultiplied_alpha && !dest_premultiplied_alpha) {
-          BLENDLOOP (OVER10, guint16, 65535, 8, global_alpha_val);
+          BLENDLOOP (OVER10_16BIT, guint16, 65535, 8, global_alpha_val);
         } else {
-          BLENDLOOP (OVER00, guint16, 65535, 8, global_alpha_val);
+          BLENDLOOP (OVER00_16BIT, guint16, 65535, 8, global_alpha_val);
         }
       }
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-plugins-base-1.18.2/gst-plugins-base.doap 
new/gst-plugins-base-1.18.3/gst-plugins-base.doap
--- old/gst-plugins-base-1.18.2/gst-plugins-base.doap   2020-12-06 
14:22:09.000000000 +0100
+++ new/gst-plugins-base-1.18.3/gst-plugins-base.doap   2021-01-13 
22:07:13.000000000 +0100
@@ -36,6 +36,16 @@
 
  <release>
   <Version>
+   <revision>1.18.3</revision>
+   <branch>1.18</branch>
+   <name></name>
+   <created>2021-01-13</created>
+   <file-release 
rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.18.3.tar.xz";
 />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.18.2</revision>
    <branch>1.18</branch>
    <name></name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-plugins-base-1.18.2/meson.build 
new/gst-plugins-base-1.18.3/meson.build
--- old/gst-plugins-base-1.18.2/meson.build     2020-12-06 14:22:09.000000000 
+0100
+++ new/gst-plugins-base-1.18.3/meson.build     2021-01-13 22:07:13.000000000 
+0100
@@ -1,5 +1,5 @@
 project('gst-plugins-base', 'c',
-  version : '1.18.2',
+  version : '1.18.3',
   meson_version : '>= 0.48',
   default_options : [ 'warning_level=1',
                       'buildtype=debugoptimized' ])

Reply via email to