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' ])